#include <cstdlib>
#include <iostream>
#include <fstream>
#include<string>
#include <windows.h>
#include<conio.h>
using namespace std;
class spis
{
public:
char imie[25];
char nazwisko[25];
string numer;
string email;
string kom;
string adr;
string dan;
spis(){};
~spis(){};
void dodaj();
void wyswietl();
};
void spis::dodaj()
{
cout << "Podaj imi\251: ";
cin >> imie;
cout << "Podaj nazwisko: ";
cin >> nazwisko;
cout << "Podaj numer telefonu stacjnarnego: ";
cin >> numer;
cout<<"Podaj numer telefonu kom\242rkowego:";
cin>>kom;
cout<<"Podaj adres zamieszkania:";
cin>>adr;
cin>>dan;
};
void spis::wyswietl()
{
system("cls");
cout<<"Wyszukana osoba to:\n"<<imie<<""<<nazwisko<<"\n";
cout<<"Numer telefonu(stacjonarnego) to:\n"<<numer<<"\n";
cout<<"Adres email to:\n"<<email<<"\n";
cout<<"Numer telefonu(kom\242rkowego) to:\n"<<kom<<"\n";
cout<<"Adres zamieszkania to:\n"<<adr<<"\n";
};
int main(int argc, char *argv[])
{
int wyb;
spis osoba ;
int a,dlugosc, miejsce;
char szukaj[20];
{ poczatek:
cout<<("Ksi\245\276ka telefoniczna \n\n\n");
cout<<("Menu:\n\n");
cout<<"1) Wyszukaj osob\251 po nazwisku.\n\n";
cout<<"2) Wprowadz nowe dane do spisu.\n\n";
cout<<"3) Wyjd\253.\n\n";
char wybierz;
cout<<"Wybierz opcj\251:";
cout<<endl;
wybierz=getch();
switch(wybierz)
{case '1':
{
system("cls");
cout<<"Podaj nazwisko szukanej osoby:"<<endl;
cin>>szukaj;
fstream Plik;
Plik.open("Spis.txt",ios::in|ios::out);
if(Plik.good()==true);
{ Plik.seekg(0, ios::end);
dlugosc = Plik.tellg();
miejsce = dlugosc/sizeof(osoba);
Plik.seekg(0, ios::beg);
for(a=0;a<miejsce;a++)
{Plik.read((char*)&osoba, sizeof(osoba));
if(!strcmp(osoba.nazwisko,szukaj));
{ osoba.wyswietl();
}
Plik.close();
}
}
if(a==miejsce);
{cout<<"Błednie podane nazwisko.";
}
Sleep(500);
exit(0);
}
break;
0
0
program jest napisany dosyć brzydko, więc ciężko dojść co ci działa a co nie, weź wytnij z niego, to co ci nie działa i sprawdź, jeśli dalej nie będzie działało, przedstaw, bo tak zapisane, to kosztowałoby zbyt dużo czasu na analizowanie całości.
2
Hmm, jak dla mnie to to Plik.read((char*)&osoba, sizeof(osoba));
nie działa tak jak byś chciał żeby działało.