- #include <iostream>
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- #include <string.h>
- #include <windows.h>
- #include <conio.h>
- using namespace std;
- struct osoba
- {
- char imie[20];
- char nazw[30];
- double waga;
- int iq;
- int zaj;
- };
- void dodaj(osoba *baza,int i)
- {
- system("CLS");
- if(baza[i].waga!=0)
- {
- printf("To miejsce zajmuje juz inna osoba");
- }
- else
- {
- printf("Podaj imie\n");
- scanf("%s",&baza[i].imie);
- printf("Podaj nazwisko\n");
- scanf("%s",&baza[i].nazw);
- printf("Podaj wage\n");
- scanf("%lf",&baza[i].waga);
- printf("Podaj iq\n");
- scanf("%d",&baza[i].iq);
- }
- }
- void edytuj(osoba*baza,int i)
- {
- system("CLS");
- printf("Podaj imie\n");
- scanf("%s",&baza[i].imie);
- printf("Podaj nazwisko\n");
- scanf("%s",&baza[i].nazw);
- printf("Podaj wage\n");
- scanf("%lf",&baza[i].waga);
- printf("Podaj iq\n");
- scanf("%d",&baza[i].iq);
- }
- void wyswietl(osoba *baza,int p)
- {
- system("CLS");
- for(p=0; p<20; p++)
- {
- printf("%2d)\tImie: %10s\tNazwisko: %10s\tWaga: %4lf\tIQ:%4d\n",p+1,baza[p].imie,baza[p].nazw,baza[p].waga,baza[p].iq);
- }
- }
- void usun(osoba *baza,int k)
- {
- system("CLS");
- baza[k].imie[0]=0;
- baza[k].nazw[0]=0;
- baza[k].waga=0;
- baza[k].iq=0;
- }
- void pobierz(osoba *baza,int ile)
- {
- FILE *h;
- h=fopen("baza.txt","rb");
- fread(baza,sizeof(osoba),ile,h);
- fclose(h);
- system("CLS");
- }
- void zapisz(osoba *baza,int ile)
- {
- FILE *h;
- h=fopen("baza.txt","wb");
- fwrite(baza,sizeof(osoba),ile,h);
- fclose(h);
- system("CLS");
- }
- int main()
- {
- osoba baza[20];
- int i,k,p,x,b=1,f;
- char y;
- // FILE *h;
- for(f=0; f<20; f++)
- {
- baza[f].imie[0]=0;
- baza[f].nazw[0]=0;
- baza[f].waga=0;
- baza[f].iq=0;
- }
- do
- {
- printf("\n d - Dodaj wiersz\n u - Usun wiersz\n e - Edytuj wiersz\n w - Wyswietl baze\n x - Wyjscie z programu\n\n\n z - Zapisz baze w pliku\n p - Pobierz baze z pliku\n");
- y=getch();
- switch(y)
- {
- case 'd':
- printf("Ktora komorke chcesz wypelnic?");
- scanf("%d",&x);
- x=x-1;
- dodaj(baza,x);
- break;
- case 'e':
- printf("Ktora komorke chcesz edytowac?");
- scanf("%d",&x);
- x=x-1;
- edytuj(baza,x);
- break;
- case 'u':
- printf("Ktora komorke chcesz wyczyscic?");
- scanf("%d",&x);
- x=x-1;
- usun(baza,x);
- break;
- case 'w':
- wyswietl(baza,20);
- break;
- case 'x':
- b=0;
- break;
- case 'z':
- zapisz(baza,20);
- break;
- case 'p':
- pobierz(baza,20);
- break;
- }
- }
- while(b!=0);
- return 0;
- }