Díky za užitočné poznámky, no ja viem, že kebyže dám dlhší reťazec tak program zlyhá, ale to ešte ošetrím. A mal by si nejaký elegatný návrh na ošetrenie, lebo kebyže to robím ja tak to by bolo dosť tak neelgatne si myslím
EDIT:
Tu mám celý program:
Kód: Vybrať všetko
#include <iostream>
using namespace std;
int main()
{
char firma[30];
cout << "Zadaj nazov firmy: ";
cin.getline(firma,30);
int x;
cout << "Zadaj pocet zamestnancov max 32000: ";
cin >> x;
while ((x>32000) && (x<0)) cin >> x;
struct ludia
{
char meno[30];
int vek;
char druhPrace[50];
}zamestnanci[x];
cin.get();
cout << "Pridavaj zamestnancov" << endl;
int poc=0;
char odpoved[4]="ano";
for (int i=0; i<x; i++){
cout << "Zapis meno zamestnanca: ";
cin.getline(zamestnanci[i].meno,30);
cout << "Zapis vek zamestnanca: ";
cin >> zamestnanci[i].vek;
cin.get();
cout << "Zapis pracovny odbor zamestnanca: ";
cin.getline(zamestnanci[i].druhPrace,50);
poc++;
cout << "Chces pridat dalsieho zamestnanca? ano/nie ";
cin >> odpoved;
cin.get();
if (strcmp(odpoved,"nie")==0) break;
}
system("cls");
cout << "\t\t" << firma << endl;
for (int i=0;i<poc;i++) cout << zamestnanci[i].meno << "\t" << zamestnanci[i].vek
<< "\t" << zamestnanci[i].druhPrace << endl;
system("pause");
return 0;
}
No skúšal som, že čo sa stane keď zadám dlhší reťazec a v pohode to načíta do premennej a tak kým nezapíše, čo je potrebné, čiže nie tak to bude pokračovať, kým sa cyklus neukončí, takže to je aj tak fajne.
Len by ma zaujímalo ako by sa dalo ošetriť ten vstup premennej x, lebo vieme, že ako do int premenej zadáme väčšiu hodnotu ako je možná obsahovať tak program skončí a to nechcem, chcel by som aby keď dostane takú hodnotu nech poprosí o vstup ešte raz. Dalo by sa to spraviť?