Witam, mam problem z wydobyciem calej struktury poprzez warunek (chcialbym - jezeli rasa=pies to cala "struktura" tj. imie,gatunek,rasa,wiek,kolor oraz takie same "inne struktury" zapisywały sie do pliku txt).
Mam podzielone na te "struktury" a chce miec dane zwierze w calosci (tj. imie,gatunek,rasa,wiek,kolor) pod zmienna zeby zapisac do pliku.
Dane wejsciowe wygladaj tak:
Fifi
pies
bezpanski
5
szarobury
Lolo
kot
syjamski
1
bialy
...itd
#include <iostream>
#include <fstream>
#include <string.h>
#include <cstdlib>
using namespace std;
struct zwierze{
string imie;
string gatunek;
string rasa;
string wiek;
string kolor;
string spacja="\n";
};
zwierze a[ 10 ];
string dane, wynik, imie1, gatunek1, rasa1, wiek1, kolor1;
int main()
{
cout << "Podaj nazwę pliku wejściowego wraz z rozszerzeniem:" << endl;
cin >> dane;
//cout << "Podaj nazwę pliku wyjściowego wraz z rozszerzeniem:" << endl;
//cin >> wynik;
int liczba;
cout << "Podaj numer kryterium wyboru zwierzecia (1=imie, 2=gatunek, 3=rasa, 4=wiek, 5=kolor):" << endl;
cin >> liczba;
if(liczba==1){
cout << "Podaj jakim imieniem jesteś zainteresowany:" << endl;
cin >> imie1;
}
if(liczba==2){
cout << "Podaj jakim gatunkiem jesteś zainteresowany:" << endl;
cin >> gatunek1;
}
if(liczba==3){
cout << "Podaj jaka rasa cię interesuje:" << endl;
cin >> rasa1;
}
if(liczba==4){
cout << "Podaj ile ma mieć zwierzę lat (cyfra):" << endl;
cin >> wiek1;
}
if(liczba==5){
cout << "Podaj jakiego kolor ma być:" << endl;
cin >> kolor1;
}
fstream plik ,plik2;
plik.open( dane, ios::in );
//plik2.open( wynik, ios::app );
int k = 1;
for( int i = 0; plik.eof() != 1; i )
{
if( k == 1 )
{
getline( plik, a[ i ].imie );
cout << a[ i ].imie << endl;
}
if( k == 2 )
{
getline( plik, a[ i ].gatunek );
cout << a[ i ].gatunek << endl;
}
if( k == 3 )
{
getline( plik, a[ i ].rasa );
cout << a[ i ].rasa << endl;
}
if( k == 4 )
{
getline( plik, a[ i ].wiek );
cout << a[ i ].wiek << endl;
}
if( k == 5 )
{
getline( plik, a[ i ].kolor );
cout << a[ i ].kolor << endl;
}
if( k == 6 )
{
cout << endl;
getline( plik, a[ i ].spacja );
k = 0;
i++;
}
k++;
}
cout << a[ 1 ].imie; |
cout << a[ 1 ].gatunek; |
cout << a[ 1 ].rasa; > chce miec to jako calosc
cout << a[ 1 ].wiek; |
cout << a[ 1 ].kolor; |
//plik2.close();
plik.close();
}