Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Generator klas, problem dotyczący białych znaków

Ostatnio zmodyfikowano 2014-06-09 21:01
Autor Wiadomość
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.

C/C++
#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;
}
P-111838
killjoy
» 2014-06-09 20:53:35
Daj przed każdym wczytywaniem
cin.sync();
. Tak będzie najprościej.
P-111842
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. :)
P-111843
« 1 »
  Strona 1 z 1