online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code    Language
// 1) bo '\n' jest strumieniu po cin>> cin.ignore() przed getline. // 2) moE<e == zamiast = pomoE<e. // 3) może zapisać do stringu; // 4) /****************************************************************************** Online C++ Compiler. Code, Compile, Run and Debug C++ program online. Write your code in this editor and press "Run" button to compile and execute it. *******************************************************************************/ #include <iostream> #include <fstream> #include <assert.h> using namespace std; struct ksiazka { string tytul{}; static int ileKsiazek; }; std::istream &operator>>(std::istream &is, ksiazka &obj) { if (!(is >> obj.tytul) || obj.tytul == "exit") is.setstate(std::ios::failbit); return is; } void zapiszDoPlikuLiczbaKsiazek(std::string nazwaPliku); int ksiazka::ileKsiazek = 0; int main() { // char readl[100]{}; ifstream fin("książki.txt", ios::binary | ios::in); if (fin.good()) { // fin.read((char *)readl, 32); fin.read((char *)(&(ksiazka::ileKsiazek)), sizeof(ksiazka::ileKsiazek)); fin.close(); } else { ofstream fout("książki.txt"); if (fout.good()) { fout << std::string(sizeof(ksiazka::ileKsiazek), '.') << "\n"; fout.close(); } else return -1; zapiszDoPlikuLiczbaKsiazek("książki.txt"); } { constexpr size_t n = 100; ksiazka baza[n] = {}; for (size_t liczba_ksiazek = 0; liczba_ksiazek < n; liczba_ksiazek++, ksiazka::ileKsiazek++) // for (;; ksiazka::ileKsiazek++) { ksiazka & temp=baza[liczba_ksiazek]; // ksiazka temp{}; if (!((cin >> temp) || temp.tytul == "" /*||temp.autor||temp.data */)) break; fstream plik; plik.open("książki.txt", ios::out | ios::app); if (plik.good()) { plik << "Dane " << ksiazka::ileKsiazek + 1 << " książki:" << std::endl; plik << "Tytuł: " << temp.tytul << std::endl; // plik<<"Autor: "<<temp.autor<<std::endl; // plik<<"Data powstania: "temp.data<<endl<<std::endl; plik.close(); } else break; } } zapiszDoPlikuLiczbaKsiazek("książki.txt"); std::cout << ksiazka::ileKsiazek << std::endl; return 0; } void zapiszDoPlikuLiczbaKsiazek(std::string nazwaPliku) { ofstream fout(nazwaPliku, ios::binary | ios::out | ios::in); if (fout.good()) { fout.write(reinterpret_cast<char *>(&(ksiazka::ileKsiazek)), sizeof(ksiazka::ileKsiazek)); fout.close(); } }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue