Guest User

Untitled

a guest
May 20th, 2018
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.31 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <ctype.h>
  4. #include <string.h>
  5. struct student {
  6. char nazwisko[30], imie[20];
  7. char indeks[11];
  8. int wiek;
  9. double stypendium;
  10. char zaliczenie;
  11. };
  12. typedef struct student student;
  13. void wypelnij(struct student* p,int n)
  14. {
  15.     int i,j,a=1,b;
  16.     double c;
  17.     for(i=0;i<n;i++)
  18.     {
  19.         printf("Podaj nazwisko studenta ");
  20.         a=1;
  21.         while(a!=0)
  22.         {
  23.             scanf("%s",p[i].nazwisko);
  24.             b=strlen(p[i].nazwisko);
  25.             for(j=0;j<b;j++)
  26.             {
  27.                 if(isalpha((int)p[i].nazwisko[j]))
  28.                 {
  29.                     a=0;
  30.                 }
  31.                 else
  32.                 {
  33.                     a=1;
  34.                     printf("podales bledne nazwisko podaj jeszcze raz ");
  35.                     break;
  36.                 }
  37.             }
  38.         }
  39.         a=1;
  40.         printf("Podaj imie studenta ");
  41.         while(a!=0)
  42.         {
  43.             scanf("%s",p[i].imie);
  44.             b=strlen(p[i].imie);
  45.             for(j=0;j<b;j++)
  46.             {
  47.                 if(isalpha((int)p[i].imie[j]))
  48.                 {
  49.                     a=0;
  50.                 }
  51.                 else
  52.                 {
  53.                     a=1;
  54.                     printf("podales bledne imie podaj jeszcze raz ");
  55.                     break;
  56.                 }
  57.             }
  58.         }
  59.         printf("podaj numer indeksu ");
  60.         a=1;
  61.         while(a!=0)
  62.         {
  63.             scanf("%s",p[i].indeks);
  64.             b=strlen(p[i].indeks);
  65.             if(b==10)
  66.             {
  67.                 for(j=0;j<10;j++)
  68.                 {
  69.                     if(isalnum(p[i].indeks[j]))
  70.                     {
  71.                         a=0;
  72.                     }
  73.                     else
  74.                     {
  75.                         printf("Podales blednie numer indeksu podaj jeszcze raz ");
  76.                         a=1;
  77.                         break;
  78.                     }
  79.                 }
  80.             }
  81.             else
  82.             {
  83.                 printf("blednie podales numer indeksu podaj jeszcze raz");
  84.                 a=1;
  85.             }
  86.         }
  87.         printf("Podaj wiek ");
  88.         a=1;
  89.         while(a!=0)
  90.         {
  91.             scanf("%d",&p[i].wiek);
  92.             if(p[i].wiek>0)
  93.             {
  94.                 a=0;
  95.             }
  96.             else
  97.             {
  98.                 printf("Blednie podales wiek podaj jeszcze raz ");
  99.                 a=1;
  100.             }
  101.         }
  102.         a=1;
  103.         printf("Jezeli student zaliczyl podaj T jezeli nie N");
  104.         scanf("%s",&p[i].zaliczenie);
  105.         while(a!=0)
  106.         {
  107.             if(p[i].zaliczenie=='T')
  108.             {
  109.                 a=0;
  110.             }
  111.             else
  112.             {
  113.                 if(p[i].zaliczenie=='N')
  114.                 {
  115.                     a=0;
  116.                 }
  117.                 else
  118.                 {
  119.                     printf("Blednie podales zaliczenie podaj jeszcze raz");
  120.                     scanf("%c",&p[i].zaliczenie);
  121.                 }
  122.             }
  123.         }
  124.         printf("Podaj wielkosc stypendium ");
  125.         a=1;
  126.         while(a!=0)
  127.         {
  128.             scanf("%lf",&c);
  129.  
  130.             if(c<0)
  131.             {
  132.                 printf("Blednie podales stypendium podaj jeszcze raz ");
  133.                 a=1;
  134.             }
  135.             else
  136.             {
  137.                 a=0;
  138.                 p[i].stypendium=c;
  139.             }
  140.  
  141.         }
  142.  
  143.     }
  144.     for(i=0;i<n;i++)
  145.     {
  146.         printf("Nazwisko %s\n imie %s\nindeks %s\n wiek %d\nstypendium %lf\nzaliczenie %c\n",p[i].nazwisko,p[i].imie,p[i].indeks,p[i].wiek,p[i].stypendium,p[i].zaliczenie);
  147.     }
  148. }
  149. void znajdz(student* p,int n)
  150. {
  151.     int i;
  152.     double minstypendium=1000000000;
  153.     student l;
  154.     for(i=0;i<n;i++)
  155.     {
  156.         if(p[i].zaliczenie=='T')
  157.         {
  158.             if(p[i].stypendium<minstypendium)
  159.             {
  160.                 minstypendium=p[i].stypendium;
  161.                 l=p[i];
  162.             }
  163.         }
  164.  
  165.     }
  166.     printf("%s\n %s\n %s\n %d\n %lf",l.imie,l.nazwisko,l.indeks,l.wiek,l.stypendium);
  167. }
  168. int main()
  169. {
  170.     int n;
  171.     student *p;
  172.     printf("Podaj ile studentow chcesz wprowadzic ");
  173.     scanf("%d",&n);
  174.     p=(student*)malloc(n*sizeof(student));
  175.     wypelnij(p,n);
  176.     znajdz(p,n);
  177.     free(p);
  178.     return 0;
  179. }
Add Comment
Please, Sign In to add comment