Facebook
From ja, 5 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 246
  1. #include <iostream>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <math.h>
  5. #include <string.h>
  6. #include <windows.h>
  7. #include <conio.h>
  8.  
  9. using namespace std;
  10.  
  11. struct osoba
  12. {
  13.     char imie[20];
  14.     char nazw[30];
  15.     double waga;
  16.     int iq;
  17.     int zaj;
  18. };
  19. void dodaj(osoba *baza,int i)
  20. {
  21.     system("CLS");
  22.     if(baza[i].waga!=0)
  23.     {
  24.         printf("To miejsce zajmuje juz inna osoba");
  25.     }
  26.     else
  27.     {
  28.  
  29.  
  30.         printf("Podaj imie\n");
  31.         scanf("%s",&baza[i].imie);
  32.         printf("Podaj nazwisko\n");
  33.         scanf("%s",&baza[i].nazw);
  34.         printf("Podaj wage\n");
  35.         scanf("%lf",&baza[i].waga);
  36.         printf("Podaj iq\n");
  37.         scanf("%d",&baza[i].iq);
  38.     }
  39. }
  40. void edytuj(osoba*baza,int i)
  41. {
  42.  
  43.     system("CLS");
  44.     printf("Podaj imie\n");
  45.     scanf("%s",&baza[i].imie);
  46.     printf("Podaj nazwisko\n");
  47.     scanf("%s",&baza[i].nazw);
  48.     printf("Podaj wage\n");
  49.     scanf("%lf",&baza[i].waga);
  50.     printf("Podaj iq\n");
  51.     scanf("%d",&baza[i].iq);
  52.  
  53. }
  54. void wyswietl(osoba *baza,int p)
  55. {
  56.     system("CLS");
  57.     for(p=0; p<20; p++)
  58.     {
  59.         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);
  60.     }
  61. }
  62. void usun(osoba *baza,int k)
  63. {
  64.     system("CLS");
  65.     baza[k].imie[0]=0;
  66.     baza[k].nazw[0]=0;
  67.     baza[k].waga=0;
  68.     baza[k].iq=0;
  69.  
  70. }
  71. void pobierz(osoba *baza,int ile)
  72. {
  73.     FILE *h;
  74.     h=fopen("baza.txt","rb");
  75.     fread(baza,sizeof(osoba),ile,h);
  76.     fclose(h);
  77.     system("CLS");
  78. }
  79. void zapisz(osoba *baza,int ile)
  80. {
  81.     FILE *h;
  82.     h=fopen("baza.txt","wb");
  83.     fwrite(baza,sizeof(osoba),ile,h);
  84.     fclose(h);
  85.     system("CLS");
  86. }
  87.  
  88.  
  89. int main()
  90. {
  91.     osoba baza[20];
  92.     int i,k,p,x,b=1,f;
  93.     char y;
  94.    // FILE *h;
  95.  
  96.  
  97.     for(f=0; f<20; f++)
  98.     {
  99.         baza[f].imie[0]=0;
  100.         baza[f].nazw[0]=0;
  101.         baza[f].waga=0;
  102.         baza[f].iq=0;
  103.     }
  104.  
  105.  
  106.  
  107.  
  108.  
  109.     do
  110.     {
  111.  
  112.         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");
  113.         y=getch();
  114.  
  115.         switch(y)
  116.         {
  117.         case 'd':
  118.  
  119.             printf("Ktora komorke chcesz wypelnic?");
  120.             scanf("%d",&x);
  121.             x=x-1;
  122.             dodaj(baza,x);
  123.  
  124.  
  125.             break;
  126.         case 'e':
  127.  
  128.             printf("Ktora komorke chcesz edytowac?");
  129.             scanf("%d",&x);
  130.             x=x-1;
  131.             edytuj(baza,x);
  132.  
  133.             break;
  134.         case 'u':
  135.  
  136.             printf("Ktora komorke chcesz wyczyscic?");
  137.             scanf("%d",&x);
  138.             x=x-1;
  139.             usun(baza,x);
  140.  
  141.             break;
  142.  
  143.         case 'w':
  144.  
  145.             wyswietl(baza,20);
  146.             break;
  147.         case 'x':
  148.             b=0;
  149.             break;
  150.         case 'z':
  151.  
  152.             zapisz(baza,20);
  153.  
  154.             break;
  155.         case 'p':
  156.  
  157.             pobierz(baza,20);
  158.  
  159.             break;
  160.  
  161.  
  162.  
  163.  
  164.         }
  165.  
  166.  
  167.  
  168.  
  169.     }
  170.     while(b!=0);
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.     return 0;
  181. }
  182.