Tworzenie dynamicznej tablicy na podstawie ilosci danych w pliku

0
 #include <cstdlib>
#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;

struct osoba{
       char imie[10];
       int liczba;
       };


int main()
{
    
   
    ifstream in;
    int licznik=0;  
    in.open("a.txt");
    if(!in.is_open()){cout << "blad";}
    string linia;
    
       while(!in.eof())
       
    {
       getline(in,linia);
      licznik++;                   
    }
    
       in.close();
    
  
  osoba *tab= new osoba [licznik];
  
  in.open("a.txt");
  
    for(int i=0; i<licznik; i++)
    {
          in.getline(tab[i].imie, 10);
          in >> tab[i].liczba;
          in.get();
         
          cout << endl
               << tab[i].imie << " " << tab[i].liczba << endl;  
    
    }
    in.close();   
    
    system("PAUSE");
    return EXIT_SUCCESS;
}

Witam mam problem z tym programikiem. Powinno mi czytac z pliku a czyta mi jakies smieci... co robie zle?

0

zamiast:
in >> tab[i].liczba;
in.get();
użyj:
in >> tab[i].liczba >> ws;
Uwaga nie deklarować żadnej ws, tylko dołączyć <iomanip>

Pętle liczącą zamień na:
while(getline(in,line)) ++licznik;

1 użytkowników online, w tym zalogowanych: 0, gości: 1