[C++] Generator klas, problem dotyczący białych znaków
Ostatnio zmodyfikowano 2014-06-09 21:01
Xaroun Temat założony przez niniejszego użytkownika |
[C++] Generator klas, problem dotyczący białych znaków » 2014-06-09 20:45:03 Witam, piszę generator klas, na razie jestem w fazie zapisania wszystkiego do tablic stringów, ale mam pewien problem z czytaniem białych znaków, ponieważ w pierwszym przebiegu pętli, program ignoruje całkowicie getline() i kompletnie nie wiem czemu, może ktoś z Was będzie w stanie mi pomóc w tej sprawie. #include <iostream> #include <fstream> #include <string> using namespace std;
int main() { ofstream cpp; ofstream h; int ileKlas, ilePol; cout << "Ile chcesz stworzyc klas?" << endl << endl; cin >> ileKlas; cout << endl; string * nazwaKlasy = new string[ ileKlas ]; string * typPola = new string[ ilePol ]; string * nazwaPola = new string[ ilePol ]; for( int i = 0; i < ileKlas; i++ ) { cout << "Podaj nazwe " << i + 1 << " klasy:" << endl << endl; cin >> nazwaKlasy[ i ]; cout << endl; cout << "Teraz bedziemy tworzyc pola, ktore beda znajdowac sie w klasie " << nazwaKlasy[ i ] << "." << endl << endl; cout << "Ile chcesz stworzyc pol w tej klasie?" << endl << endl; cin >> ilePol; cout << endl; for( int j = 0; j < ilePol; j++ ) { start: cout << "Jakiego typu ma byc " << j + 1 << " pole? (np. int, string itd.)" << endl << endl; getline( cin, typPola[ j ] ); if( typPola[ j ] == "int" || typPola[ j ] == "double" || typPola[ j ] == "string" || typPola[ j ] == "char" || typPola[ j ] == "float" || typPola[ j ] == "short" || typPola[ j ] == "long" || typPola[ j ] == "long int" || typPola[ j ] == "long long" || typPola[ j ] == "long long int" || typPola[ j ] == "long double" || typPola[ j ] == "unsigned short" || typPola[ j ] == "unsigned int" || typPola[ j ] == "unsigned long" || typPola[ j ] == "unsigned long long" || typPola[ j ] == "bool" ) { cout << endl; cout << "Jak ma nazywac sie twoje pole typu " << typPola[ j ] << "?" << endl << endl; getline( cin, nazwaPola[ j ] ); cout << endl; } else { cout << "Taki typ nie istnieje!! Podaj inny." << endl << endl; goto start; } } } delete[] nazwaKlasy; delete[] typPola; delete[] nazwaPola; }
|
|
killjoy |
» 2014-06-09 20:53:35 Daj przed każdym wczytywaniem cin.sync(); . Tak będzie najprościej. |
|
Xaroun Temat założony przez niniejszego użytkownika |
» 2014-06-09 21:01:10 Poważnie tylko tyle wystarczyło? ;o Męczyłem się z tym od półtorej godziny googlując i w ogóle, ale bez rezultatów. No cóż, w takim razie dzięki. :) |
|
« 1 » |