[ marip @ 02.12.2011. 08:40 ] @
| Zdravo,
Da li neko moze da mi pomogne i kaze sta ne valja u sledecem kodu. Problem je sto se unos stringa s1 preskace.
Zadatak radi kada se broj godina unosi na kraju. U cemu je problem?(U pitanju je c++, CodeBlocks, a isto se ponasa
i u Devcpp). Hvala unapred!
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
main()
{
char s1[100], s2[100];
int i;
cout<<"unesi broj godina";
cin>>i;
cout<<"Unesi ime: "<<endl;
gets(s1);
cout<<"Unesi prezime: "<<endl;
gets(s2);
cout<<"unesi broj godina";
cin>>i;
}
|
[ X Files @ 02.12.2011. 10:10 ] @
Pogledaj ovde:
http://www.elitesecurity.org/p2183856
http://www.elitesecurity.org/p946134
...itd.
Verovatno treba da dodaš
fflush(stdin); odmah posle
cin>>i;.
[ vatri @ 02.12.2011. 13:47 ] @
Meni ovo izbaci gresku:
Code:
g++ t.cpp -o t
/tmp/ccCOZn3s.o: In function `main':
t.cpp:(.text+0x6f): warning: the `gets' function is dangerous and should not be used.
Ako upisem
cin >> s1 umjesto
gets(s1) - radi.
[ itf @ 02.12.2011. 15:10 ] @
Probaj i cin.getline ...
[ marip @ 18.12.2011. 07:13 ] @
Hvala svima na odgovorima i pomoci.
fflush(stdin); je resio moje probleme!
Pozdrav!
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.