Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<string>
- #include<fstream>
- using namespace std;
- typedef struct {
- int nomer;
- char ime[50];
- char familiq[50];
- int rojdennadata;
- int godini;
- double teglo;
- double visochina;
- char durjava[50];
- } Uchastnichki;
- #define girlsCount 30
- int UchastnichkiIn(Uchastnichki girls[], int count);//tova sa mi funkcite
- void UchastnichkiOut(Uchastnichki girls[], int count);//izvejda uc
- void UchastnichkiBinaryFileSave(Uchastnichki girls[], int count);//zapis v2
- void UchastnichkiBinaryFileRead(Uchastnichki girls[]);//chetene v2
- void UchastnichkiTextFileSave(Uchastnichki girls[], int count);//zapis txt
- void UchastnichkiTextFileRead(Uchastnichki girls[]); //chetene txt
- void UchastnichkiOut2(Uchastnichki girls[], int count); //dani na uc po nemer i familiq
- void UchastnichkiOut3(Uchastnichki girls[], int count);
- int main()
- {
- Uchastnichki newgirls[girlsCount];//Car e tiput,toest strukturata,a newCars e ime. Vuv newCars se zapisvat danninite na kolite
- int l;
- int op;
- do {
- cout << " \t\t\t\tMENU\n" << endl; //imam menu koeto izliza pri startirane na programata. Menuto e v do-while cikul
- cout << "1. Enter girls" << endl;
- cout << "2. Print girls" << endl;
- cout << "3. Save girls in binary file" << endl;
- cout << "4. Read girls from binary file" << endl;
- cout << "5. Save girls in text file" << endl;
- cout << "6. Read girls from text file" << endl;
- cout << "7. Vuvedete nomer i familiq na uchastnichka" << endl;
- cout << "8. Izvedete nai-mlada uchastnichka i broq na uchasnichkite na vuzrast do 20 godini" << endl;
- cout << "0. Exit" << endl;
- cout << "Select option: ";
- cin >> op;
- switch (op)
- {
- case 1:
- {
- l = UchastnichkiIn(newgirls, girlsCount);
- system("pause");
- }
- break;
- case 2:
- {
- UchastnichkiOut(newgirls, l);
- system("pause");
- } break;
- case 3:
- {
- UchastnichkiBinaryFileSave(newgirls, girlsCount);
- system("pause");
- }
- break;
- case 4:
- {
- UchastnichkiBinaryFileRead(newgirls);
- system("pause");
- }
- break;
- case 5:
- {
- UchastnichkiTextFileSave(newgirls, girlsCount);
- system("pause");
- }
- break;
- case 6:
- {
- UchastnichkiTextFileRead(newgirls);
- system("pause");
- }
- break;
- case 7:
- {
- UchastnichkiOut2(newgirls, girlsCount);
- system("pause");
- }
- break;
- case 8:
- {
- UchastnichkiOut3(newgirls, girlsCount);
- system("pause");
- } break;
- case 0:
- {
- cout << "Exit with <y> : ";
- char ch;
- cin >> ch;
- if (ch != 'y' && ch != 'Y')
- {
- op = -1;
- }
- }
- break;
- default:
- cout << "Invalid operation" << endl;
- system("pause");
- break;
- }
- system("cls");//funkciqta "cls" e za izchistvane na ekrana
- } while (op != 0);//cikula produljava, dokato se vuvede chislo razlichno ot 0
- }
- int UchastnichkiIn(Uchastnichki girls[], int count)//v tazi funkciq vuvejdam vsichki xarakteristiki za kolite s maksimalen broi 3. Vuvejdam marka,model,godina i price
- {
- int l;
- cout << "Vuvedete broi uchasnichki:";
- cin >> l;
- cout << "1. Enter girls:" << endl;
- for (int i = 0; i < l; i++)
- {
- cin.ignore();
- cout << "Enter nomer: "; cin >> girls[i].nomer;
- cout << "Enter ime: "; cin>>girls[i].ime;
- cout << "Enter familiq: "; cin>>girls[i].familiq;
- cout << "Enter rojdennadata: "; cin >> girls[i].rojdennadata;
- cout << "Enter godini: "; cin >> girls[i].godini;
- cout << "Enter teglo: "; cin >> girls[i].teglo;
- cout << "Enter visochina: "; cin >> girls[i].visochina;
- cout << "Enter durjava: "; cin>>girls[i].durjava;
- }
- return l;
- }
- void UchastnichkiOut(Uchastnichki girls[], int l)//CarOut e za,da ni izvede informaciqta koqto sme vuveli v funkciqta CarIn
- {
- cout << "2. Print girls" << endl;
- for (int i = 0; i < l; i++)
- {
- cout << "Uchastnichki " << i << endl;
- cout << "nomer: " << girls[i].nomer << endl;
- cout << "ime: " << girls[i].ime << endl;
- cout << "familiq: " << girls[i].familiq << endl;
- cout << "rojdennadata: " << girls[i].rojdennadata << endl;
- cout << "godini: " << girls[i].godini << endl;
- cout << "teglo: " << girls[i].teglo << endl;
- cout << "visochina: " << girls[i].visochina << endl;
- cout << "durjava: " << girls[i].durjava << endl;
- }
- }
- void UchastnichkiBinaryFileSave(Uchastnichki girls[], int count)
- {
- cout << "3. Save girls in binary file" << endl;
- fstream file;//fstream e za zapis ili chetene,v tazi funkciq go iZpolzvam za zapis
- file.open("girls.bin", ios::binary | ios::out);//zapisvame faila v binary(dvuichen kod) v fail "Cars.bin" tazi papka shte se namira v papkata kudeto se namira programata
- file.write((char*)girls, count * (sizeof(Uchastnichki)));//chrez file.write se zapisva faila v binary kod. Faila se zapisva s char kato se umnojava po broq na goleminata na nashata strukturata (Car)
- file.close();//zatvarq faila
- }
- void UchastnichkiBinaryFileRead(Uchastnichki girls[])
- {
- cout << "4. Read girls from binary file" << endl;
- fstream file;//fstream e za zapis ili chetene,v tazi funkciq go izpolzvam za chetene
- file.open("girls.bin", ios::binary | ios::in);//otvarq faila
- file.seekg(0L, ios::end);//chrez file.seekg , se izprasta kursora v kraq na prozoreca
- long pos = (long)file.tellg();
- file.close();//zatvarq faila
- int n = pos / (sizeof(Uchastnichki));
- file.open("girls.bin", ios::binary | ios::in);//za da se prochete faila se vliza v Cars.bin
- file.read((char*)girls, n * (sizeof(Uchastnichki)));//prochita se faila
- file.close();//zatvarq faila
- }
- void UchastnichkiTextFileSave(Uchastnichki girls[], int count)//zapisva cqlata informaciq za 3te knigi v tekstov fail
- {
- cout << "5. Save girls in text file" << endl;
- fstream file;//fstream e za zapis ili chetene,v tazi funkciq go izpolzvam za zapis
- file.open("girls.txt", ios::out);//zapisva se faila s razshirenie ".txt"
- for (int i = 0; i < count; i++)//for cikul,koito produljava da se vurti dokato se vudedut dannite za 3te koli
- {
- file << girls[i].nomer << endl;
- file << endl << endl;
- file << girls[i].ime << endl;
- file << endl << endl;
- file << girls[i].familiq << endl;
- file << endl << endl;
- file << girls[i].rojdennadata << endl;
- file << endl << endl;
- file << girls[i].godini << endl;
- file << endl << endl;
- file << girls[i].teglo << endl;
- file << endl << endl;
- file << girls[i].visochina << endl;
- file << endl << endl;
- file << girls[i].durjava << endl;
- }
- file.close();//zatvarq faila
- }
- void UchastnichkiTextFileRead(Uchastnichki girls[])//tazi funkciq e za prochitane na tekstoviq fail
- {
- cout << "6. Read girls from text file" << endl;
- fstream file;//fstream e za zapis ili chetene,v tazi funkciq go izpolzvam za chetene
- file.open("girls.txt", ios::in);//otvarq faila
- for (int i = 0; i < girlsCount; i++)
- {
- //file.ignore();
- file >> girls[i].nomer;
- file.getline(girls[i].ime, 50);
- file.getline(girls[i].familiq, 50);
- file >> girls[i].rojdennadata;
- file >> girls[i].godini;
- file >> girls[i].teglo;
- file >> girls[i].visochina;
- file.getline(girls[i].durjava, 50);
- }
- file.close();//zatvarq go
- }
- void UchastnichkiOut2(Uchastnichki girls[], int count)
- {
- int proverka(0), nomer; //br(0),
- string familiq;
- char ch;
- cout << "7. Vuvedete nomer i familiq na uchastnichka" << endl;
- do
- {
- cout << "Vuvedete nomer" << endl;
- cin >> nomer;
- cout << "Vuvedete familiq" << endl;
- cin >> familiq;
- for (int i = 0; i<count; i++)
- {
- if ((nomer == girls[i].nomer) && (familiq == girls[i].familiq))
- {
- cout << girls[i].nomer << endl;
- cout << girls[i].ime << endl;
- cout << girls[i].familiq << endl;
- cout << girls[i].rojdennadata << endl;
- cout << girls[i].godini << endl;
- cout << girls[i].teglo << endl;
- cout << girls[i].visochina << endl;
- cout << girls[i].durjava << endl;
- /*br++;*/
- break;
- }
- else
- {
- cout << "Ne suvpada nomera ili familiqta molq vuvedete otnovo" << endl;
- break;
- }
- }
- /*if (br == 0)
- cout << "nqma takuv nomer" << endl;
- br = 0;*/
- cout << "Ako iskate da produljite natisnete 'y': " << endl;
- cin >> ch;
- if (ch == 'y' || ch == 'Y')
- {
- proverka = 0;
- }
- else
- {
- proverka = 1;
- }
- } while (proverka = 1);
- }
- void UchastnichkiOut3(Uchastnichki girls[], int count)
- {
- int m;
- cout << "Vuvedete broi uchasnichki:";
- cin >> m;
- for (int i = 0; i < m; i++)
- {
- if (girls[i].godini <= 20)
- {
- cout << "Uchastnichki " << i << endl;
- cout << "nomer: " << girls[i].nomer << endl;
- cout << "ime: " << girls[i].ime << endl;
- cout << "familiq: " << girls[i].familiq << endl;
- cout << "rojdennadata: " << girls[i].rojdennadata << endl;
- cout << "godini: " << girls[i].godini << endl;
- cout << "teglo: " << girls[i].teglo << endl;
- cout << "visochina: " << girls[i].visochina << endl;
- cout << "durjava: " << girls[i].durjava << endl;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement