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