Pomógłby ktoś znaleźć błąd?
Wypisuje tylko pierwsza liczbę, a dalej nie działa.
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <string>
using namespace std;
struct tnrzd{
string nazwisko;
double suma;
};
int main() {
ifstream inFile;
inFile.open("tekst.txt");
if(!inFile.is_open())
{
cout << "Nieudana proba otwarcia pliku.";
exit(EXIT_FAILURE);
}
int temp;
int i=0;
inFile >> temp;
cout << "Liczba wplacajacych: " << temp << endl;
tnrzd *tab=new tnrzd[temp];
if(inFile.good())
{
while(!inFile.eof())
{
getline(inFile,tab[i].nazwisko);
inFile >> tab[i].suma;
i++;
}
}
inFile.close();
cout << "Nasi Wspaniali Sponsorzy" << endl;
bool Empty=true;
for(int i=0; i<temp; i++)
{
if(tab[i].suma>=10000)
{
cout << "Nazwisko: " << tab[i].nazwisko << '\t';
cout << "Kwota: " << tab[i].suma << endl;
Empty=false;
}
}
if(Empty== true)
{
cout << "Brak" << endl;
}
Empty=true;
cout << "Nasi Sponsorzy" << endl;
for(int i=0; i<temp; i++)
{
if(tab[i].suma<10000)
{
cout << "Nazwisko: " << tab[i].nazwisko << '\t';
cout << "Kwota: " << tab[i].suma << endl;
Empty=false;
}
}
if(Empty== true)
{
cout << "Brak" << endl;
}
inFile.close();
delete [] tab;
return 0;
}
Tekst.txt
4
Sam Stone
2000
Freida Flass
100500
Tammy Tubbs
5000
Rich Raptor