Witam!
Problem polega na tym, iż zrobiłem 2 małe programy, kalkulator, który zapisuje dane użytkownika wprowadzone na początku oraz program, który te dane odczytuje, jednak odczytuje on tylko dane wprowadzone po raz pierwszy, reszta tkwi w notatniku ale program ich nie uwzględnia.
kody źródłowe
1.Kalkulator
#include <iostream>
#include <stdio.h>
#include <cstdlib>
#include <conio.h>
#include <fstream>
using namespace std;
float x,y;
char wybor;
string imie, nazwisko;
string klasa;
int main()
{
cout <<"Podaj swoje imie: ";
cin >>imie;
cout << "Podaj swoje nazwisko: ";
cin >>nazwisko;
cout << "Podaj swoja klase: ";
cin>>klasa;
fstream plik;
plik.open("dane.txt", ios::out | ios::app);
plik<<imie<<endl;
plik<<nazwisko<<endl;
plik<<klasa<<endl;
plik.close();
cout<< endl;
for (;;)
{
cout << "Podaj pierwsza liczbe: ";
cin >> x;
cout << " Podaj druga liczbe: ";
cin >> y;
cout << endl;
cout << "MENU GLOWNE" <<endl;
cout<< "---------------"<<endl;
cout <<"1. Dodawanie"<<endl;
cout <<"2. Odejmowanie" <<endl;
cout <<"3. Mnozenie" <<endl;
cout <<"4. Dzielenie" <<endl;
cout <<"5. Zamknij" <<endl;
cout <<" Wybierz: " ;
wybor = getch();
switch(wybor)
{
case '1':
cout<<"Suma = " <<x+y;
break;
case '2':
cout<<"Roznica = "<<x-y;
break;
case '3':
cout<<"Iloczyn = "<<x*y;
break;
case '4':
if (y==0) cout <<"Nie dzielimy przez zero!";
else cout <<"Iloraz = "<<x/y;
break;
case '5':
system("pause");
exit (0);
break;
default: cout<<" Taka opcja nie istnieje w menu!";
}
getchar();getchar();
system("cls");
}
system("pause");
return 0;
}
2. Odczyt
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
int main()
{
string imie,nazwisko,klasa;
fstream plik;
plik.open("dane.txt", ios::in);
if(plik.good()==false)
{
cout<<"Plik nie istnieje!";
system("pause");
exit(0);
}
string linia;
int nrlinii=1;
while(getline(plik, linia))
{
switch(nrlinii)
{
case 1: imie = linia; break;
case 2: nazwisko = linia;break;
case 3: klasa = linia; break;
}
nrlinii++;
}
plik.close();
cout<<imie<<endl;
cout<<nazwisko<<endl;
cout<<klasa<<endl;
system("pause");
return 0;
}