Forum » Programiranje » c++ problem z chari
c++ problem z chari
kretze ::
dober dan jas imam probleme z chari v tej nalogi....zanima me če sem sploh na pravi poti ali pa moram to nalogo ršit z čim drugim(z stringi)
/* Ime in priimek: Datum: #include <iostream> #include <stdlib.h> #include <string> using namespace std; class fc_barcelona { private: char ime[50]; int stevilo_golov[50]; int count; public: void cnt() { count = 0; } void vnesi_podatke() { cout << "vnesi ime igralca "; cin >> ime; cout << "vnesi stevilo golov "; cin >> stevilo_golov[count]; count++; } void skupno_stevilo_golov() { int skupaj = 0; for (int i = 0; i < count; i++) skupaj += stevilo_golov[i]; cout << "skupno stevilo golov je " << skupaj; } void odtsrani() { char a[50]; cout << "vnesi ime "; cin >> a; for (int i = 0; i < count;i++) if (a[i] =ime[i]) stevilo_golov[i] = 0; } void izpis() { cout << "\nIme stevilo_golov\n"; for (int i = 0; i < count; i++) { cout << "\n" << ime; cout << " " << stevilo_golov[i]; } } }; int main() { fc_barcelona fcb; fcb.cnt(); int x; do { cout << "vnesi ustrezno stevilo"; cout << "\n1:vnesi podatke"; cout << "\n2:izpis skupnega stevila golov"; cout << "\n3:odstrani"; cout << "\n4:izpis"; cout << "\n5:izhod"; cout << "tvoj izbor je "; cin >> x; switch (x) { case 1: fcb.vnesi_podatke(); break; case 2: fcb.skupno_stevilo_golov(); break; case 3: fcb.remove(); break; case 4: fcb.izpis(); case 5: break; default: cout << "napacen vnos"; } } while (x != 5); system("pause");// return 0; }
smacker ::
char array je string. Napiši besedilo naloge in kakšen problem maš (compiler error oz. kaj naredi program narobe). Malo se potrudi če želiš pomoč, najlažje je 120 vrstic kode prilimat pa napisat "meni to ne dela".
kretze ::
ja errorjev ni compailer tudi kodo spusti skozi samo pri izpisi mi vedno samo zadnje ime izpiše prejšnjih pa ne
smacker ::
Ja ker maš samo en primerek razreda fc_barcelona in ga vedno znova prepisuješ. Ni problem v characterjih, rabil boš polje/seznam/vektor primerkov.
kretze ::
besedilo pa je tako da moreš narest taki program da dodajaš imena igralcev pa števila golov..nato izpišeš število skupni golov igralcev moraš pa met tudi to funkcijo da izbrišeš kakšnega igralca..
janezekk ::
Glede na nalogo in kodo pomoje niso niti blizu slovarja (predvidevam, da dela za šolo). Uporabi seznam ali vektor za hranjenje imen.
kretze ::
ja za šola je ja...lahko napišeš kak primer za hranjenje imen?? pa če bi šlo brez vektorja ker še nismo tak daleč
janezekk ::
Če ste že imeli sezname, ga lahko uporabiš (list). Sicer pa pač uporabiš navadno polje stringov, torej namesto char uporabiš string.
#include <iostream> #include <stdlib.h> #include <string> using namespace std; class fc_barcelona { private: string ime[50]; int stevilo_golov[50]; int count; public: void cnt() { count = 0; } void vnesi_podatke() { cout << "vnesi ime igralca "; cin >> ime[count]; cout << "vnesi stevilo golov "; cin >> stevilo_golov[count]; count++; } void skupno_stevilo_golov() { int skupaj = 0; for (int i = 0; i < count; i++) skupaj += stevilo_golov[i]; cout << "skupno stevilo golov je " << skupaj; } void odtsrani() { string a[50]; cout << "vnesi ime "; cin >> a[count]; for (int i = 0; i < count;i++) if (a[i] == ime[i]) stevilo_golov[i] = 0; } void izpis() { cout << "\nIme stevilo_golov\n"; for (int i = 0; i < count; i++) { cout << "\n" << ime[i]; cout << " " << stevilo_golov[i]; } } }; int main() { fc_barcelona fcb; fcb.cnt(); int x; do { cout << "vnesi ustrezno stevilo"; cout << "\n1:vnesi podatke"; cout << "\n2:izpis skupnega stevila golov"; cout << "\n3:odstrani"; cout << "\n4:izpis"; cout << "\n5:izhod"; cout << "tvoj izbor je "; cin >> x; switch (x) { case 1: fcb.vnesi_podatke(); break; case 2: fcb.skupno_stevilo_golov(); break; case 3: fcb.odtsrani(); break; case 4: fcb.izpis(); case 5: break; default: cout << "napacen vnos"; } } while (x != 5); system("pause");// return 0; }
BivšiUser2 ::
ja za šola je ja...lahko napišeš kak primer za hranjenje imen?? pa če bi šlo brez vektorja ker še nismo tak daleč
In zakaj ne greš sam dlje od drugih in uporabiš vektorje?
SloTech - če nisi z nami, si persona non grata.
Zgodovina sprememb…
- spremenil: BivšiUser2 ()
janezekk ::
BivšiUser2 je izjavil:
ja za šola je ja...lahko napišeš kak primer za hranjenje imen?? pa če bi šlo brez vektorja ker še nismo tak daleč
In zakaj ne greš sam dlje od drugih in uporabiš vektorje?
Če slučajno nimate prepovedano uporabiti stvari, ki jih še niste delali v šoli, definitivno. In ne samo v tem primeru, povsod delaj sam naprej. V šoli vas bodo namreč naučili zgolj osnove in še zdaleč ne vsega. Čim več samostojnega dela in vaje, pa ti bodo naloge v šoli mala malica.
kretze ::
nesmemo delati z vektorji listi itd..janezekk hvala za kodo samo mi ne dela funkcija odstrani pa nevem zakaj ne...aja pa bi lahko kdo dal kak primer (ni nujno da ma kaj veze s to kodo) lista ker se sliši zanimivo
janezekk ::
nesmemo delati z vektorji listi itd..janezekk hvala za kodo samo mi ne dela funkcija odstrani pa nevem zakaj ne...aja pa bi lahko kdo dal kak primer (ni nujno da ma kaj veze s to kodo) lista ker se sliši zanimivo
Funkcije odstrani semantično niti nisem gledal. Predvidevam, da mora delovati tako, da odstrani igralca z vpisanim imenom? V tem primeru je koda funkcije odstrani sledeča:
void odtsrani() { string name; cout << "vnesi ime "; cin >> name; for (int i = 0; i < count;i++) if (ime[i] == name) { for(int j = i; j<count; j++) { ime[j] = ime[j+1]; stevilo_golov[j] = stevilo_golov[j+1]; } count--; } }
Sicer sem zelo proti temu, kar trenutno počnem (delam namesto tebe), ker dejansko delam škodo tebi. Ampak nima veze. Za liste in delo z njimi si pa poglej tule: http://www.cplusplus.com/reference/list...
Pri programiranju je Google tvoj najboljši prijatelj, če tega še nisi ugotovil sam.
Zgodovina sprememb…
- spremenilo: janezekk ()
smacker ::
Glede na to da poznate struct/class, ste ziher meli tud arraye. List/vector ni nič druga kot array ki nima vnaprej določene velikosti: http://www.cplusplus.com/reference/vect...
Glede na znanje ki ga kažeš s svojo kodo, se drži arrayev - lažje za razumet
Glede na znanje ki ga kažeš s svojo kodo, se drži arrayev - lažje za razumet
janezekk ::
Z drugimi besedami sta to dinamična arraya, ti pa trenutno delaš s statičnimi - zgolj v vednost. Če bi recimo vedel, da potrebuješ array n velikosti, kjer n recimo določi uporabnik, pa bi lahko uporabil tudi dinamični array (brez knjižnice):
string* ime = new string[n];
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | c++ rabim pomočOddelek: Programiranje | 1826 (1229) | Isotropic |
» | [C++] problem z binarnimi datotekamiOddelek: Programiranje | 955 (820) | mallard |
» | Pomoč pri programiranju v C++Oddelek: Programiranje | 1824 (1391) | amacar |
» | C++ sort -> helpOddelek: Programiranje | 1501 (1436) | robotek87 |
» | [C++] Functor za izračun osnovne statistike podatk. strukture (vector,list...)Oddelek: Programiranje | 1500 (1413) | Vesoljc |