#include #include #include #include #include #include #include #include struct osoba { char imie [20]; char nazwisko[30]; double waga; int wiek; // int zaj; }; void dodawanie (osoba *baza,int x) { //dodawanie nowej osoby printf("Na ktore miejsce chcesz dodac osobe\n"); scanf("%d",&x); printf("Podaj imie ktore chcesz dodac \n"); scanf("%s",baza[x].imie); printf("Podaj nazwisko ktore chcesz dodac \n"); scanf("%s",baza[x].nazwisko); printf("Podaj wage ktora chcesz dodac \n"); scanf("%lf",&baza[x].waga); printf("Podaj wiek ktory chcesz dodac \n"); scanf("%d",&baza[x].wiek); } int main() { osoba baza [20]; int i=0; int x=0; char wybor; FILE *p; for(i=0; i<20; i++) { baza[i].imie[0]=0; baza[i].nazwisko[0]=0; baza[i].waga=0; baza[i].wiek=0; } //wyzerowaæ bazê! do { printf("Co robimy? (1,2,3,4,0)\n"); printf("Wyswietl baze (1)\n"); printf("Dodaj osobe (2)\n"); printf("Zapisz baze (3)\n"); printf("Odczytaj baze (4)\n"); printf("Zamknij program (0)\n"); wybor=getch(); switch(wybor) { case '1' : //wyswietlanie bazy for(i=0; i<20; i++) { printf("|%20s|%20s|%7.3lf|%4d|\n",baza[i].imie, baza[i].nazwisko, baza[i].waga, baza[i].wiek); } break; case '2': dodawanie(baza,x); break; case '3': //zapsywanie bazy do pliku p=fopen("kaczkagrubasek.txt","wb"); fwrite(baza,sizeof(baza),1,p); fclose(p); break; case '4': //odczyt bazy z pliku p=fopen("kaczkagrubasek.txt","rb"); fread(baza,sizeof(baza),1,p); fclose(p); break; } i++; } while(wybor!='0'); return 0; }