Problem z odczytem danych z pliku

0

Witam mam problem z odczytaniem dancyh z pliku.
Mam zrobić program, który w tablicach zapisze 4 grupy razem z punktami uzyskanymi w meczach. na razie wszystko OK robie 4 grupy do kazdej dodawane sa 4 druzynny a do nich poczatkowa wartosc punktow "0". Przy kazdym rozegranym meczu dodaje po 3 punkty zalezy kto wygra jak remis to 1.
Zrobilem funkcje zapisujacą te dane do pliku txt tu takze nie ma problemu.
Pojawia sie on gdy chce wczytac dane nazwy wczytanych druzyn sa poprawne ale punkty juz nie zamiast "0" wczytuje dziwny ciag liczb (wydaje mi się że jest to adres komórki tablicy). Wie ktos co zrobic aby wczytywalo wartosc punktów??
Na dodatek wczytuje mi tylko nazwy druzyn z pierwszej grupy.
KOD PONIŻEJ ( problem najprawdopodobniej w funkcji wczytaj)

#include<iostream>
#include "ddt-console\console.ddt"
#include <fstream>
using namespace std;
using namespace ddt::console;
//=============TABLICE i STAŁE======================
const int rozmiar=4;
string* druzyny = new string[rozmiar];
int* punkty=new int[rozmiar];
string* druzyny2 = new string[rozmiar];
int* punkty2=new int[rozmiar];
string* druzyny3 = new string[rozmiar];
int* punkty3=new int[rozmiar];
string* druzyny4 = new string[rozmiar];
int* punkty4=new int[rozmiar];
//============KONIEC DEKLARACJI TABLIC==============
//=============TWORZ GRUPY START====================
void tworz_grupe(){    
int ile,licznik;
while (ile<1 | ile>4){
cout<<"Ile grup chcesz stworzyc (1-4)"<<endl;
cin>>ile;
if (ile>4 || ile<1) {
          cout<<"Nieprawidlowy wybor"<<endl;
          }
}
clrscr();
licznik=0;
do
{
if (licznik==0) {
    cout<<"GRUPA NR: "<<licznik+1<<endl;
    for(int i=0;i<rozmiar;i++){
            cout<<"Podaj druzyne nr "<<i+1<<": ";
            cin>>druzyny[i];
            punkty[i]=0;
            }
                }
else if (licznik==1) {
cout<<"GRUPA NR: "<<licznik+1<<endl;
    for(int i=0;i<rozmiar;i++){
            cout<<"Podaj druzyne nr "<<i+1<<": ";
            cin>>druzyny2[i];
            punkty2[i]=0;
            }
     }
else if (licznik==2){
     cout<<"GRUPA NR: "<<licznik+1<<endl;
     for(int i=0;i<rozmiar;i++){
            cout<<"Podaj druzyne nr "<<i+1<<": ";
            cin>>druzyny3[i];
            punkty3[i]=0;
            }
     }
else if (licznik==3){
     cout<<"GRUPA NR: "<<licznik+1<<endl;
     for(int i=0;i<rozmiar;i++){
            cout<<"Podaj druzyne nr "<<i+1<<": ";
            cin>>druzyny4[i];
            punkty4[i]=0;
            }
     }
    licznik++;
}
while (licznik!=ile);
if (ile<4) {
           druzyny4=0;
           }
if (ile<3) {
     druzyny3=0;
     }
if (ile<2) {
     druzyny2=0;
     }
}
//=============TWORZ GRUPY END====================
//=============WYPISZ GRUPY START=================
void wypisz_grupe(){
int i=1;
    cout<<"GRUPA NR: "<<i<<endl;
     for(int i=0;i<rozmiar;i++){       
             cout<<i+1<<". "<<druzyny[i]<<" "<<punkty[i]<<endl;
             }
if (druzyny2!=0){
   i++;
   cout<<"GRUPA NR: "<<i<<endl;
     for(int i=0;i<rozmiar;i++){       
             cout<<i+1<<". "<<druzyny2[i]<<" "<<punkty2[i]<<endl;
             }
             }
if (druzyny3!=0){
   i++;
   cout<<"GRUPA NR: "<<i<<endl;
     for(int i=0;i<rozmiar;i++){       
             cout<<i+1<<". "<<druzyny3[i]<<" "<<punkty2[i]<<endl;
             }
             }
if (druzyny4!=0){
   i++;
   cout<<"GRUPA NR: "<<i<<endl;
     for(int i=0;i<rozmiar;i++){       
             cout<<i+1<<". "<<druzyny4[i]<<" "<<punkty2[i]<<endl;
             }
             }
}
//=============WYPISZ GRUPY END===================
//=============MECZ START=========================
void mecz(){
     int gosp, gosc, w1, w2, i,ktora;
     srand(time(NULL));
     wypisz_grupe();
     while (ktora<1 | ktora>4){
     cout<<"Wybierz grupe"<<endl;
     cin>>ktora;
     if (ktora>4 || ktora<1) {
     cout<<"Nieprawidlowy wybor"<<endl;
     }
}
if (ktora==1){
     cout<<"Wybierz nr druzyny gospodarzy"<<endl;
     cin>>gosp;
     cout<<"Wybierz nr druzyny gosci"<<endl;
     cin>>gosc;

     cout<<"\n MECZ"<<endl;
     cout<<druzyny[gosp-1]<<" - "<<druzyny[gosc-1];
     w1=rand()%6;
     w2=rand()%6;
     cout<<"    "<<w1<<" : "<<w2<<endl;
 if(w1>w2) punkty[gosp]=punkty[gosp]+3;
   else if (w1<w2) punkty[gosc]=punkty[gosc]+3;
  else { punkty[gosc-1]++;
       punkty[gosp-1]++;}
     }
if (ktora==2){
     cout<<"Wybierz nr druzyny gospodarzy"<<endl;
     cin>>gosp;
     cout<<"Wybierz nr druzyny gosci"<<endl;
     cin>>gosc;

     cout<<"\n MECZ"<<endl;
     cout<<druzyny2[gosp-1]<<" - "<<druzyny2[gosc-1];
     w1=rand()%6;
     w2=rand()%6;
     cout<<"    "<<w1<<" : "<<w2<<endl;
 if(w1>w2) punkty2[gosp]=punkty2[gosp]+3;
   else if (w1<w2) punkty2[gosc]=punkty2[gosc]+3;
  else { punkty2[gosc-1]++;
       punkty2[gosp-1]++;}
     }
if (ktora==3){
     cout<<"Wybierz nr druzyny gospodarzy"<<endl;
     cin>>gosp;
     cout<<"Wybierz nr druzyny gosci"<<endl;
     cin>>gosc;

     cout<<"\n MECZ"<<endl;
     cout<<druzyny3[gosp-1]<<" - "<<druzyny3[gosc-1];
     w1=rand()%6;
     w2=rand()%6;
     cout<<"    "<<w1<<" : "<<w2<<endl;
 if(w1>w2) punkty3[gosp]=punkty3[gosp]+3;
   else if (w1<w2) punkty3[gosc]=punkty3[gosc]+3;
  else { punkty3[gosc-1]++;
       punkty3[gosp-1]++;}
     }
if (ktora==4){
     cout<<"Wybierz nr druzyny gospodarzy"<<endl;
     cin>>gosp;
     cout<<"Wybierz nr druzyny gosci"<<endl;
     cin>>gosc;

     cout<<"\n MECZ"<<endl;
     cout<<druzyny4[gosp-1]<<" - "<<druzyny4[gosc-1];
     w1=rand()%6;
     w2=rand()%6;
     cout<<"    "<<w1<<" : "<<w2<<endl;
 if(w1>w2) punkty4[gosp]=punkty4[gosp]+3;
   else if (w1<w2) punkty4[gosc]=punkty4[gosc]+3;
  else { punkty4[gosc-1]++;
       punkty4[gosp-1]++;}
     }
}
//=============MECZ END===========================
//=============ZAPISZ START=======================
void zapisz(){
     fstream plik,plik_p,plik_p2,plik_p3,plik_p4,plik2,plik3,plik4;
     //1. grupa
     plik.open("grupa1.txt", ios::out);
     for(int i=0; i<rozmiar; i++)
     plik<<druzyny[i]<<" ";
     plik.close();
     plik_p.open("grupa1-punkty.txt", ios::out);
     for(int i=0; i<rozmiar; i++)
     plik_p<<punkty[i]<<" ";
     plik_p.close();
     //2. grupa
     if (druzyny2!=0){
     plik2.open("grupa2.txt", ios::out);
     for(int i=0; i<rozmiar; i++)
     plik2<<druzyny2[i]<<" ";
     plik2.close();
     plik_p2.open("grupa2-punkty.txt", ios::out);
     for(int i=0; i<rozmiar; i++)
     plik_p2<<punkty2[i]<<" ";
     plik_p2.close();
     }
     //3. grupa
     if (druzyny3!=0){
     plik3.open("grupa3.txt", ios::out);
     for(int i=0; i<rozmiar; i++)
     plik3<<druzyny3[i]<<" ";
     plik3.close();
     plik_p3.open("grupa3-punkty.txt", ios::out);
     for(int i=0; i<rozmiar; i++)
     plik_p3<<punkty3[i]<<" ";
     plik_p3.close();
     }
     //4. grupa
     if (druzyny4!=0){
     plik4.open("grupa4.txt", ios::out);
     for(int i=0; i<rozmiar; i++)
     plik4<<druzyny4[i]<<" ";
     plik4.close();
     plik_p4.open("grupa4-punkty.txt", ios::out);
     for(int i=0; i<rozmiar; i++)
     plik_p4<<punkty4[i]<<" ";
     plik_p4.close();
     }
cout<<"DANE ZOSTALY POMYSLNIE ZAPISANE"<<endl;
     }
//=============ZAPISZ END=========================
//=============WCZYTAJ START======================
void wczytaj(){
fstream plik,plik_p,plik_p2,plik_p3,plik_p4,plik2,plik3,plik4;
plik.open("grupa1.txt",ios::in);
while (! plik.eof() )
    {
    for (int i=0; i<rozmiar;i++) plik >> druzyny[i];
}
plik_p.open("grupa1-punkty.txt",ios::in);
while (! plik.eof() )
    {
    for (int i=0; i<rozmiar;i++) plik_p >> punkty[i];
}
if (druzyny2!=0){
plik2.open("grupa2.txt",ios::in);
while (! plik.eof() )
    {
    for (int i=0; i<rozmiar;i++) plik2 >> druzyny2[i];
}
plik_p2.open("grupa2-punkty.txt",ios::in);
while (! plik.eof() )
    {
    for (int i=0; i<rozmiar;i++) plik2 >> punkty2[i];
}
}
if (druzyny3!=0){
plik3.open("grupa3.txt",ios::in);
while (! plik.eof() )
    {
    for (int i=0; i<rozmiar;i++) plik3 >> druzyny3[i];
}
plik_p3.open("grupa3-punkty.txt",ios::in);
while (! plik.eof() )
    {
    for (int i=0; i<rozmiar;i++) plik_p3 >> punkty3[i];
}
}
if (druzyny4!=0){
plik4.open("grupa4.txt",ios::in);
while (! plik.eof() )
    {
    for (int i=0; i<rozmiar;i++) plik4 >> druzyny4[i];
}
plik_p4.open("grupa4-punkty.txt",ios::in);
while (! plik.eof() )
    {
    for (int i=0; i<rozmiar;i++) plik_p4 >> punkty4[i];
}
}
cout<<"DANE ZOSTALY POMYSLNIE WCZYTANE"<<endl;
}
//=============WCZYTAJ END========================

//=============MENU START=========================
void menu(){
char wybor;
do {
cout<<"Co chcesz zrobic?"<<endl;
cout<<"Dodaj grupy"<<endl;
cout<<"Wyswietl grupy"<<endl;
cout<<"Zapisz"<<endl;
cout<<"Wczytaj"<<endl;
cout<<"KONIEC"<<endl;
cin>>wybor;
switch (toupper(wybor)){
       case 'D': tworz_grupe(); break;
       case 'W': wypisz_grupe(); break;
       case 'Z': zapisz(); break;
       case 'Y': wczytaj(); break;
       }
       }
while (wybor!='k');
     }
     
//=============MENU END===========================
//=============PROGRAM GLOWNY=====================
int main(){
    menu();
    system ("PAUSE");
    return 0;
} 

Sory za literówkę w tytule

0

Tego kodu nawet nie chce się czytać.
Proszę, tutaj masz wstępnie sformatowany kod http://pastebin.com/gQrQN7DL Przejdź jeszcze z ifami do następnej linii.

    if (w1 > w2) punkty4[gosp] = punkty4[gosp] + 3;
    if (w1 > w2)
        punkty4[gosp] = punkty4[gosp] + 3;

Co to ma być?

    fstream plik, plik_p, plik_p2, plik_p3, plik_p4, plik2, plik3, plik4;
    //1. grupa
    plik.open("grupa1.txt", ios::out);
    for (int i = 0; i < rozmiar; i++)
        plik << druzyny[i] << " ";
    plik.close();
    plik_p.open("grupa1-punkty.txt", ios::out);
    for (int i = 0; i < rozmiar; i++)
        plik_p << punkty[i] << " ";
    plik_p.close();

Na co Ci tyle obiektów fstream?

    ofstream plik;
    //1. grupa
    plik.open("grupa1.txt");
    for (int i = 0; i < rozmiar; i++)
        plik << druzyny[i] << " ";
    plik.close();
    plik.open("grupa1-punkty.txt");
    for (int i = 0; i < rozmiar; i++)
        plik << punkty[i] << " ";
    plik.close();

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