×

Welcome to TagMyCode

Please login or create account to add a snippet.
0
0
 
0
Language: C
Posted by: Damian Pytkowski
Added: May 7, 2016 1:50 PM
Modified: May 14, 2016 11:12 AM
Views: 2239
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #include <windows.h>
  5. #include <string.h>
  6. #define ROZ 12
  7.  
  8. typedef struct{
  9.     char nazwisko[12];
  10.     char klasa[5];
  11.     char sprawowanie[5];
  12.     }uczen_s;
  13. void wpiszUcznia(uczen_s *s,int ile);
  14. void drukujUczniow(char *skad,uczen_s s[],int ile, size_t rozmiar);
  15. void zapiszUczniow(char *gdzie, uczen_s s[],size_t rozmiar);
  16. void szukajSprawo(char *skad,uczen_s s[],int ile, size_t rozmiar);
  17. void main()
  18. {
  19.     uczen_s uczen[10];
  20.     int ile,i;
  21.     char wybor;
  22.     size_t rozmiar=sizeof uczen;
  23.     printf("Podaj ilosc uczniow: ");fflush(stdin);
  24.     scanf("%d",&ile);
  25.     printf("1)Wpisz uczniow\n2)Pokaz wszystkich\n3\Wyszukaj\nWybrana operacja: ");fflush(stdin);
  26.     scanf("%c",&wybor);
  27.     switch(wybor){
  28.         case 49: wpiszUcznia(uczen,ile);break;
  29.         case 50: drukujUczniow("szkola.bin",uczen,ile,rozmiar);break;
  30.         case 51: szukajSprawo("szkola.bin",uczen,ile,rozmiar);break;
  31.         default : printf("Zla komenda");
  32.  
  33.     }
  34. }
  35. void wpiszUcznia(uczen_s *s,int ile)
  36. {
  37.     int i=0;
  38.     while(i<ile){
  39.         printf("Podaj nazwisko: ");
  40.         gets(s[i].nazwisko);
  41.         printf("Podaj klase: ");
  42.         gets(s[i].klasa);
  43.         printf("Podaj sprawowanie: ");
  44.         gets(s[i].sprawowanie);
  45.         i++;
  46.         printf("\n");
  47.     }
  48. }
  49. void drukujUczniow(char *skad,uczen_s s[],int ile, size_t rozmiar)
  50. {
  51.     FILE *fr;
  52.     int i;
  53.       if((fr=fopen(skad,"rb"))==0) printf("Blad odczytu.");
  54.     fread(s,rozmiar,1,fr);
  55.     for(i=0;i<ile;i++)
  56.         printf("%s\t%s\t%s\n",s[i].nazwisko,s[i].klasa,s[i].sprawowanie);
  57.     fclose(fr);
  58.  
  59. }
  60. void zapiszUczniow(char *gdzie, uczen_s s[],size_t rozmiar)
  61. {
  62.     FILE *fr;
  63.     if((fr=fopen(gdzie,"wb"))==0) printf("Blad zapisu.");
  64.         fwrite(s,rozmiar,1,fr);
  65.     fclose(fr);
  66. }
  67. void szukajSprawo(char *skad,uczen_s s[],int ile, size_t rozmiar)
  68. {
  69.     FILE *fr;
  70.     char jakie[5];
  71.     printf("Podaj sprawowanie: ");fflush(stdin);
  72.     scanf("%s",jakie);
  73.     int i;
  74.       if((fr=fopen(skad,"rb"))==0) printf("Blad odczytu.");
  75.     fread(s,rozmiar,1,fr);
  76.     for(i=0;i<ile;i++)
  77.         if(!strcmp(jakie,s[i].sprawowanie))
  78.             printf("%s\t%s\t%s\n",s[i].nazwisko,s[i].klasa,s[i].sprawowanie);
  79.     fclose(fr);
  80.  
  81. }
  82.