Results 1 to 5 of 5
Thread: Ïðîáëåì ñ getline
Hybrid View
-
2nd April 2012 14:27 #1
Ïðîáëåì ñ getline
Çäðàâåéòå.
Íàïèñàõ òàçè ïðîãðàìà, íî êîãàòî âúâåäà èìåòî è íàòèñíà åíòúð, ïîäïðîãðàìàòà ñïèðà è ïðîãðàìàòà ïðîäúëæàâà íàòàòúê.  äðóãè çàäà÷è, êúäåòî íå ïîëçâàì ïîäïðîãðàìè, öÿëàòà ïðîãðàìà ñïèðà ñëåä getline îïåðàòîðà.
Íÿêîé èìà ëè èäåÿ îò êàêâî ìîæå äà ñå ïðè÷èíÿâà òîâà è êàê äà ãî îïðàâÿ?Code:#include<iostream> #include<string.h> using namespace std; struct employee { int Number, Ots, Pts, Age,; string Name; float Salary; }; void Input (struct employee emp[], int n) { int i; for(i=0;i<n;i++) { cin>>emp[i].Number; getline(cin,emp[i].Name); cin>>emp[i].Ots; cin>>emp[i].Pts; cin>>emp[i].Age; cin>>emp[i].Salary; } } void AgeSalary (struct employee emp[], int n, int min) { int i; cin>>min; for(i=0;i<n;i++) if((emp[i].Age<60)&&(emp[i].Salary<min)) { cout<<emp[i].Number<<endl; cout<<emp[i].Name<<endl; cout<<emp[i].Ots<<endl; cout<<emp[i].Pts<<endl; cout<<emp[i].Age<<endl; cout<<emp[i].Salary<<endl; } } float AveSalary (struct employee emp[], int n) { int i; float S; for(i=0;i<n;i++) S+=emp[i].Salary; return S/n; } void MinSalary (struct employee emp[], int n, int min) { int i; for(i=0;i<n;i++) if(emp[i].Salary<min) emp[i].Salary*=2; } void Output (struct employee emp[], int n) { int i; for(i=0;i<n;i++) { cout<<emp[i].Number<<endl; cout<<emp[i].Name<<endl; cout<<emp[i].Ots<<endl; cout<<emp[i].Pts<<endl; cout<<emp[i].Age<<endl; cout<<emp[i].Salary<<endl; } } int main () { int n, min; cin>>n; cin>>min; struct employee emp[n]; Input (emp, n); AgeSalary (emp, n, min); cout<<AveSalary (emp, n)<<endl; MinSalary (emp, n, min); Output (emp, n); return 0; system ("pause"); }
Laa shay'a waqi'un moutlaq bale kouloun moumkine.
Nulla é reale, tutto é lecito.
-
2nd April 2012 15:41 #2
return 0;
system ("pause");
Çäðàâåé,
system ("pause") òðÿáâà äà ìèíå ïðåäè return 0;
-
11th April 2012 17:13 #3
Áëàãîäàðÿ, ÷å ïèñà, íî íå òîâà å ïðîáëåìà. Ïðîáëåìà å, ÷å ñëåä âúâåæäàíå ÷ðåç getline ïîäïðîãðàìàòà ñïèðà ïðåäè äà å ñòèãíàëà äî êðàÿ ñè. Íå ìîãà äà ãî îáÿñíÿ ïî-äîáðå, íî àêî êîìïèëèðàø ùå âèäèø êàêâî ñå îïèòâàì äà êàæà. Áëàãîäàðÿ ïðåäâàðèòåëíî àêî íÿêîé íàìåðè ðåøåíèå.
Laa shay'a waqi'un moutlaq bale kouloun moumkine.
Nulla é reale, tutto é lecito.
-
11th April 2012 18:03 #4
Ïðîáëåìúò òè å, ÷å cin îñòàâÿ /n â ïîòîêà, à òîâà å default delimiting character çà getline(). Ñëîæè cin.ignore() ìåæäó äâàòà ðåäà.
cin>>emp[i].Number;
cin.ignore(1024, '\n');
getline(cin,emp[i].Name);DX58SO | x5670@4.2 | Megahalems | 3x4 EBJ40EG8BFWB-JS-F@1400 MHz | MSI GTX 970 1488/8000 | THNSNH256GBST + 3 x WD1600HLHX RAID 0 | X-Fi Titanium | P1-1250-BEFX
The big trouble with dumb bastards is that they are too dumb to believe there is such a thing as being smart. Kurt Vonnegut
-
11th April 2012 18:49 #5
Òàêà âå÷å ðàáîòè êàêòî òðÿáâà. Ìíîãî òè áëàãîäàðÿ.
Laa shay'a waqi'un moutlaq bale kouloun moumkine.
Nulla é reale, tutto é lecito.




Reply With Quote
Lenovo ThinkPad 15 èëè IdeaPad 15
5th May 2023, 22:16 in Ìîáèëíè êîìïþòðè