brak zapisu do pliku
Ostatnio zmodyfikowano 2018-06-20 14:23
magmat Temat założony przez niniejszego użytkownika |
brak zapisu do pliku » 2018-06-20 14:15:49 Po dodaniu wykonaniu funkcji 1 - write_books(); i przejściu do 2 - display_books(); nie wyświetla się wpisanie tego z '1', a że plik pusty to nie wyświetla się nic. Jak to rozwiązać? Dlaczego tak sie dzieje? #include<iostream> #include<iomanip> #include<fstream> #include<cmath> #include<cstdbool> #include<string> #include<conio.h> #include<vector> #include<string> #include<algorithm> #include<cstdio>
using namespace std;
void write_books(); lass book { int ID_book; string title, author; public: void add_book(); void show_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 book::show_book() { cout << ID_book << "\t" << title << "\t" << author << endl; }
class library : public book , public user { public: void display_books(); void display_users(); };
book bk; library lbr; fstream fp;
void library::display_books() { fstream fp; fp.open( "books.txt" ); if( !fp ) { cout << "Cannot open the file. "; system( "PAUSE" ); return; } cout << "Book list" << endl << "===============================================" << endl; cout << "Book's ID" << "\t" << "Title" << "\t" << "\t" << "Author" << endl << "===============================================" << endl; while( fp.read(( char * ) & bk, sizeof( book ) ) ) { bk.show_book(); } fp.close(); system( "pause" ); }
int main() { int choice; cout << "---=== Library ==---" << endl; start: choice = 0; cout << "What do you want to do?" << endl << "1. Add new book." << endl << "2. Show all books." << endl << "3. Exit." << endl; cin >> choice; switch( choice ) { case 1: system( "cls" ); write_books(); break; case 2: system( "cls" ); lbr.display_books(); break; case 3: return 0; } goto start; }
void write_books() { char choice; fp.open( "books.txt" ); if( !fp ) { cout << "Cannot open the file."; system( "PAUSE" ); return; } do { system( "cls" ); bk.add_book(); cin.ignore( numeric_limits < streamsize >::max(), '\n' ); cout << endl << "Do you want to add more record? Y-yes;"; cin >> choice; cin.clear(); } while( choice == 'y' || choice == 'Y' ); fp.close(); system( "cls" ); }
|
|
YooSy |
» 2018-06-20 14:23:24 |
|
« 1 » |