Czyszczenie cin?
Ostatnio zmodyfikowano 2018-06-20 13:02
magmat Temat założony przez niniejszego użytkownika |
Czyszczenie cin? » 2018-06-20 12:19:52 Po wywołaniu w mainie write_books(); po wpisaniu autora nie pojawia się komunikat: do you want to add more records. Wyskakuje w pętli menu główne (what do you want to do? ... ). Oto kod: class book { int ID_book; string title, author; public: void add_book(); }
void book::add_book() { cout << "Creating new book: " << endl; cout << "ID: "; cin >> ID_book; cout << endl << "Title: "; getline( cin, title ); cin.get(); cout << endl << "Author: "; getline( cin, author ); cin.get(); }
void write_books() { char choice; fp.open( "books.txt" ); do { system( "cls" ); bk.add_book(); fp.write(( char * ) & bk, sizeof( book ) ); cout << "Do you want to add more records? Y-yes;"; cin >> choice; cin.clear(); } while( choice == 'y' || choice == 'Y' ); fp.close(); system( "cls" ); }
int main() { int choice; cout << "---=== Library ==---" << endl; start: choice = 0; cout << "What do you want to do?" << endl << "1. Add new book." << endl << "2. Add new user." << endl << "3. Show all books." << endl << "4. Show all users." << endl << "5. Exit."; cin >> choice; switch( choice ) { case 1: system( "cls" ); write_books(); break; ... case 5: return 0; } goto start; }
|
|
mateczek |
» 2018-06-20 13:02:27 std::cin.ignore( std::numeric_limits < std::streamsize >::max(), '\n' ); |
|
« 1 » |