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