Stránka: 1 z 1
| [ Príspevkov: 15 ] | |
| Autor | Správa |
|---|
Registrovaný: 07.06.13 Prihlásený: 20.12.25 Príspevky: 57 Témy: 19 | 19 |
ano, ano, je to určite primitívne a neviem ešte aké, ale chýbal som na prednáškach a nemám to dobre vysvetlené tak neviem ako to urobiť a chcem niekoho z vás poprosiť o pomoc. za ulohu mam toto: Kód: Riešte úlohu v téme, a dodržte nasledovné pokyny: Zvoľte vhodný dátový typ pre atribúty štruktúry (čísla - int, double; text - string). Môžete pridať aj ďalšie atribúty. Štruktúru použite v programe, ktorý dynamicky vytvorí premennú danej štruktúry (pomocou new) a načíta jej údaje z klávesnice. Údaje z premennej vypíšte pomocou vlastnej funkcie, ktorej parametrom bude smerník na vašu štruktúru. Pred ukončením programu ju vymažte (pomocou delete). Odovzdajte len hlavný zdrojový súbor. Môžete získať 2 body. Abstrakt: Deklarujte štruktúru s názvom Polozka (napr. na faktúre), ktorá má nasledovné údaje: názov, množstvo (ks), cena za kus. vôbec nechápem ako to myslí a kde mam použiť to delete. vlastne to celé akosi nechápem. mam zatial toto a neviem vôbec ako dalej Kód: #include <iostream> #include <string> using namespace std;
struct faktura { char nazov[20]; short mnozstvo; double cena; };
int main() { faktura * pa = new faktura; cout << "zadaj nazov polozky: "; cin.get >> (*pa).nazov; cout << "zadaj mnozstvo: "; cin >> (pa->mnozstvo); cout << "zadaj cenu: "; cin >> (pa->cena);
cout << "polozka: " << (*pa).nazov << "\n"; cout << "mnozstvo: " << pa->mnozstvo << "\n"; cout << "cena: " << pa->cena << "\n";
return 0; } ano určite je to celé zle ale bol by som velmi vďačný keby mi niekto pomohol.
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | 3 |
Tak podľa zadania - nie faktura, ale Polozka (len to premenuj) - nazov môžeš reprezentovať typom string a načítať normálne cin >> pa->nazov - máš vytvoriť funkciu na výpis štruktúry, takže Kód: void vypis( Polozka * p ) { // vypis vsetkeho } - Na koniec máš svoju položku vymazať, takže delete polozka; Tak by to malo byť v poriadku 
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 07.06.13 Prihlásený: 20.12.25 Príspevky: 57 Témy: 19 | 19 |
ok dík, zadám
void vypis (polozka * pa) {...}
a potom do tela funkcie vypis() čo patrí do zátvoriek ?
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | 3 |
Jednoduchý výpis názvu, množstva a ceny cez cout.
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 07.06.13 Prihlásený: 20.12.25 Príspevky: 57 Témy: 19 | 19 |
zle som položil otázku myslel som už v main mam to zatial takto. Kód: #include <iostream> #include <string> using namespace std;
struct polozka { string nazov; short mnozstvo; double cena;
};
void vypis(polozka * pa) { cout << "polozka: " << pa->nazov << "\n"; cout << "mnozstvo: " << pa->mnozstvo << "\n"; cout << "cena: " << pa->cena << "\n"; }
int main() { polozka * pa = new polozka; cout << "zadaj nazov polozky: "; cin.get >> pa->nazov; cout << "zadaj mnozstvo: "; cin >> (pa->mnozstvo); cout << "zadaj cenu: "; cin >> (pa->cena);
vypis()
delete pa;
return 0; }
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | 3 |
Jáj, no predsa Polozka, resp. objekt typu Polozka, takze pa. Kód: vypis(pa); hotovo.
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 07.06.13 Prihlásený: 20.12.25 Príspevky: 57 Témy: 19 | 19 |
presne tak som to aj mal len pre istotu lebo mi to stále hádže error ale už viem problém je v string, hádže to toto: bolo mi to hned podozrivé lebo float a double mam modrou farbou v programe a string sa napíše taku zelenou presne ako napr. polozka akože určite asi ked to už odovzdám tak je to dobre len chcem vedet kde mam problém Kód: >c:\users\grims\documents\visual studio 2013\projects\domuloha\domuloha\domuloha.cpp(32): error C2784: 'std::basic_istream<_Elem,_Traits> &std::operator >>(std::basic_istream<_Elem,_Traits> &,std::basic_string<_Elem,_Traits,_Alloc> &)' : could not deduce template argument for 'std::basic_istream<_Elem,_Traits> &' from 'overloaded-function' 1> c:\program files (x86)\microsoft visual studio 12.0\vc\include\string(135) : see declaration of 'std::operator >>' 1>c:\users\grims\documents\visual studio 2013\projects\domuloha\domuloha\domuloha.cpp(32): error C2784: 'std::basic_istream<_Elem,_Traits> &std::operator >>(std::basic_istream<_Elem,_Traits> &&,std::basic_string<_Elem,_Traits,_Alloc> &)' : could not deduce template argument for 'std::basic_istream<_Elem,_Traits> &&' from 'overloaded-function' 1> c:\program files (x86)\microsoft visual studio 12.0\vc\include\string(21) : see declaration of 'std::operator >>' 1>c:\users\grims\documents\visual studio 2013\projects\domuloha\domuloha\domuloha.cpp(32): error C2784: 'std::basic_istream<_Elem,_Traits> &std::operator >>(std::basic_istream<_Elem,_Traits> &&,_Ty &)' : could not deduce template argument for 'std::basic_istream<_Elem,_Traits> &&' from 'overloaded-function' 1> c:\program files (x86)\microsoft visual studio 12.0\vc\include\istream(1103) : see declaration of 'std::operator >>' 1>c:\users\grims\documents\visual studio 2013\projects\domuloha\domuloha\domuloha.cpp(32): error C2784: 'std::basic_istream<char,_Traits> &std::operator >>(std::basic_istream<char,_Traits> &,unsigned char &)' : could not deduce template argument for 'std::basic_istream<char,_Traits> &' from 'overloaded-function' 1> c:\program files (x86)\microsoft visual studio 12.0\vc\include\istream(1093) : see declaration of 'std::operator >>' 1>c:\users\grims\documents\visual studio 2013\projects\domuloha\domuloha\domuloha.cpp(32): error C2784: 'std::basic_istream<char,_Traits> &std::operator >>(std::basic_istream<char,_Traits> &,unsigned char *)' : could not deduce template argument for 'std::basic_istream<char,_Traits> &' from 'overloaded-function' 1> c:\program files (x86)\microsoft visual studio 12.0\vc\include\istream(1086) : see declaration of 'std::operator >>' 1>c:\users\grims\documents\visual studio 2013\projects\domuloha\domuloha\domuloha.cpp(32): error C2784: 'std::basic_istream<char,_Traits> &std::operator >>(std::basic_istream<char,_Traits> &,signed char &)' : could not deduce template argument for 'std::basic_istream<char,_Traits> &' from 'overloaded-function' 1> c:\program files (x86)\microsoft visual studio 12.0\vc\include\istream(1079) : see declaration of 'std::operator >>' 1>c:\users\grims\documents\visual studio 2013\projects\domuloha\domuloha\domuloha.cpp(32): error C2784: 'std::basic_istream<char,_Traits> &std::operator >>(std::basic_istream<char,_Traits> &,signed char *)' : could not deduce template argument for 'std::basic_istream<char,_Traits> &' from 'overloaded-function' 1> c:\program files (x86)\microsoft visual studio 12.0\vc\include\istream(1072) : see declaration of 'std::operator >>' 1>c:\users\grims\documents\visual studio 2013\projects\domuloha\domuloha\domuloha.cpp(32): error C2784: 'std::basic_istream<_Elem,_Traits> &std::operator >>(std::basic_istream<_Elem,_Traits> &,_Elem &)' : could not deduce template argument for 'std::basic_istream<_Elem,_Traits> &' from 'overloaded-function' 1> c:\program files (x86)\microsoft visual studio 12.0\vc\include\istream(1047) : see declaration of 'std::operator >>' 1>c:\users\grims\documents\visual studio 2013\projects\domuloha\domuloha\domuloha.cpp(32): error C2784: 'std::basic_istream<_Elem,_Traits> &std::operator >>(std::basic_istream<_Elem,_Traits> &,_Elem *)' : could not deduce template argument for 'std::basic_istream<_Elem,_Traits> &' from 'overloaded-function' 1> c:\program files (x86)\microsoft visual studio 12.0\vc\include\istream(1006) : see declaration of 'std::operator >>' 1>c:\users\grims\documents\visual studio 2013\projects\domuloha\domuloha\domuloha.cpp(32): error C2677: binary '>>' : no global operator found which takes type 'std::string' (or there is no acceptable conversion) ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | 3 |
Prečo načitavaš cin.get >> pa->nazov ? Čo ťa k tomu viedlo? Vieš, čo to znamená?
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 07.06.13 Prihlásený: 20.12.25 Príspevky: 57 Témy: 19 | 19 |
ano opravené, díky, viem čo to znamená a aj viem ako sa to tam dostalo, chyba z nepozornosti, ja som program kopíroval z príkladu aby som to nemusel celé písať sám 
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | 3 |
Za málo.
Inak to zafarbenie, short a double sú primitívne dátové typy(rovnako ako int, char, float atď), ktoré sú väčšinou zafarbené nejakou farbou. string a polozka sú štruktúry, resp. triedy (string je trieda, polozka je štruktúra. V C++ je medzi nimi veľmi malý rozdiel)
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 07.06.13 Prihlásený: 20.12.25 Príspevky: 57 Témy: 19 | 19 |
aha tak to preto, dobre dakujem za vysvetlenie ja sa idem pustit do dalšej časti ulohy keby máš nejakú radu aj k tomu alebo máš záujem pomôcť tak tu je zadanie  Kód: Pokračovanie 1.úlohy. Riešte úlohu v téme, a dodržte nasledovné pokyny: Štruktúru použite v programe, ktorý vytvorí zoznam smerníkov na vaše štruktúry. Zoznam naplňte a potom vypíšte. Najskôr sa spýtate na počet jeho položiek, a potom ich postupne vytvorte (pomocou new), načítajte ich údaje a vložte do zoznamu. Druhým možným riešením je: pýtať sa, či chcem pridať ďalšiu položku a opakovať to, kým neodpoviem nie. Po výpise treba odstrániť všetky položky zo zoznamu (ak nie je prázdny). Nezabudnite, že každá položka v zoznamu je smerníkom na štruktúru, a preto treba každú z nich vymazať samostatne pomocou delete. Použitie vlastných funkcií je žiaduce, ale nie povinné. Odovzdajte len hlavný zdrojový súbor. Môžete získať 4 body. Abstrakt: Ako zoznam použite vector. Deklarujte štruktúru s názvom Polozka (napr. na faktúre), ktorá má nasledovné údaje: názov, množstvo (ks), cena za kus.
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | 3 |
Nemám záujem riešiť takéto veci. Ak ale budeš mať nejaký konkrétny problém, rád poradím 
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 07.06.13 Prihlásený: 20.12.25 Príspevky: 57 Témy: 19 | 19 |
dobre teda ked na nejaký narazím tak dám vedet vela času ale nemam musím odovzdať do 23:55 // Spojený príspevok Ned 06.04.14 22:32urobil som to takto, funguje to a vyzerá to dobre len neviem či som podla zadania urobil tak ako to chcú, pozrieš sa na to ?  Kód: #include <iostream> #include <string> #include <vector> using namespace std;
struct polozka { string nazov; short mnozstvo; double cena;
};
void NacitatZoznam(vector<polozka *> & zoznam) { polozka *pa; int z;
do { pa = new polozka;
cout << "Nazov: "; cin >> pa->nazov; cout << "Mnozstvo: "; cin >> pa->mnozstvo; cout << "cena: "; cin >> pa->cena;
zoznam.push_back(pa);
cout << "Dalsia polozka? 1-ano, 0-nie: "; cin >> z;
} while (z == 1); }
void VypisatZoznam(vector<polozka *> & zoznam) { cout << "Zoznam poloziek:\n"; vector<polozka *>::iterator it;
for (it = zoznam.begin(); it != zoznam.end(); ++it) cout << (*it)->nazov << ", mnozstvo: " << (*it)->mnozstvo << ", cena za kus: " << (*it)->cena << endl; cout << endl; } void VymazatZoznam(vector<polozka *> & zoznam) { vector<polozka *>::iterator it; polozka * pPolozka = NULL;
for (it = zoznam.begin(); it != zoznam.end(); ++it) { pPolozka = *it; if (pPolozka != NULL) delete pPolozka; } zoznam.clear(); }
int main() { vector<polozka *> pa;
NacitatZoznam(pa);
VypisatZoznam(pa);
VymazatZoznam(pa); return 0; }
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | 3 |
Vyzerá to dobre  Ak to funguje (nespúšťal som to), tak by to malo byť ok.
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 07.06.13 Prihlásený: 20.12.25 Príspevky: 57 Témy: 19 | 19 |
ano funguje to skušal som zadat 5 položiek  , dobre ďakujem za pomoc  to je všetko
|
|
Stránka: 1 z 1
| [ Príspevkov: 15 ] | |
|