prosim poradte mi jak mam dosadit cin.getline aby to fungovalo:
#include <iostream>
#include <cstring>
struct auta{
std::string znacka;
int datum;
};
int main()
{
using namespace std;
int pocet;
int num = 0;
cout << "zadejte pocet aut ktere mate: ";
cin >> pocet;
auta *uka = new auta[pocet];
while (num < pocet){
cout << "\nzadejte informace o aute cislo "
<< num + 1
<< "\nzadejte znacku: ";
cin >> (uka[num]).znacka; //tady
cout << "\nzadejte rok vyroby: ";
cin >> (uka[num]).datum; //a tady
++num;};
num = 0;
while (num < pocet){
cout << "\ninformace o vasem "
<< num + 1
<< ". aute: \n"
<< (uka[num]).znacka << endl
<< (uka[num]).datum;
++num;};
string konec = "konec";
cout << "\n\n\npro ukonceni programu napiste \"konec\"\n";
for (string konecc;konec != konecc;cin.clear())
cin >> konecc;
}
dik za to ze se tu aspon podivate :D
Fórum › C / C++
Cin.getline
No ja bych misto tohoto:
for (string konecc;konec != konecc;cin.clear())
cin >> konecc;
dal neco, jako toto:
char *buff[20];
cin.getline(buff, 20);
if(!strcmp(buff, "konec"))
ukonceni
else
nejake pokracovani, kdyz nebyl zadan konec
dik nikto za pomoc a dynnyk dik za kritiku, ale ja to tam mam proto protoze pak uz nic neni a toto se mi zdalo jako nejlepsi reseni a nevic tot tvoje je kapku vetsi a jsem to chtel co nejmensi(aby mi to na obrazovce nebralo moc mista)
To Hlavinka : Problem je v tom, ze cin >> nejaky_int; (alebo podobne) nechava na vstupe znak noveho riadku a potom getline() hned konci lebo prvy znak co uvidi je '\n'
Ten odstranis pomocou cin.get();
Za cin >> num; a cin>>uka[num].datum dopis cin.get().
Ta velikost je hodne relativni :D Ja kdyz na to kouknu a odmyslim tu else cast a definovani toho string konec, tak mi to velikostne prijde prakticky stejne :)
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Cin a poté nefungující getline(cin,string) — založil Jana24
Cin.getline — založil RybaRak-WM
Cin.getline — založil Avidius
Cin.getline — založil tupec
Cin.get() cin.line() — založil H3ll
Moderátoři diskuze