Guest User

Untitled

a guest
May 20th, 2018
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.90 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <ctype.h>
  4.  
  5. struct Student {
  6. char nazwisko[30], imie[20];
  7. char indeks[11];
  8. int wiek;
  9. double stypendium;
  10. char zaliczenie;
  11. };
  12.  
  13. typedef struct Student Student;
  14.  
  15. void funkcja()
  16. {
  17. int i,n;
  18. Student *tab=NULL;
  19.  
  20. printf("Podaj ilosc studentow, ktorych chcesz wprowadzic ");
  21. scanf("%d",&n);
  22. tab=(Student*)malloc(n*sizeof(Student));
  23. if(!tab)
  24. {
  25. printf("BLAD");
  26. return -1;
  27. }
  28. for(i=0;i<n;i++)
  29. {
  30.  
  31.  
  32.  
  33. do {
  34. printf("\nNazwisko: ");
  35. scanf("%s",&tab[i].nazwisko);
  36. if(!czylitery(tab[i].nazwisko))
  37. {
  38. printf("\nNaziwsko musi skladac sie z liter! \n");
  39.  
  40. }
  41. }
  42. while(!czylitery(tab[i].nazwisko));
  43. do {
  44. printf("\nImie: ");
  45. scanf("%s",&tab[i].imie);
  46. if(!czylitery(tab[i].imie))
  47. {
  48. printf("\nImie musi skladac sie z liter! \n");
  49.  
  50. }
  51. }
  52. while(!czylitery(tab[i].imie));
  53.  
  54. do {
  55. printf("\nIndeks: ");
  56. scanf("%s",&tab[i].indeks);
  57. if(!czyliczby(tab[i].indeks) || strlen(tab[i].indeks)!=10)
  58. {
  59. printf("\nIndeks musi skladac sie z 10 cyfr! \n");
  60. }
  61. }
  62. while(!czyliczby(tab[i].indeks) || strlen(tab[i].indeks)!=10);
  63.  
  64. do {
  65. printf("\nWiek: ");
  66. scanf("%d",&tab[i].wiek);
  67. if(tab[i].wiek<1)
  68. {
  69. printf("\nWiek musi byc wiekszy od 0! \n");
  70.  
  71. }
  72. }
  73. while(tab[i].wiek<1);
  74.  
  75. do {
  76. printf("\nStypendium: ");
  77. fflush(stdin);
  78. scanf("%lf",&tab[i].stypendium);
  79. if(tab[i].stypendium<1)
  80. {
  81. printf("\nStypendium musi byc wieksze od 0! \n");
  82.  
  83. }
  84. }
  85. while(tab[i].stypendium<1);
  86.  
  87.  
  88. do {
  89. fflush(stdin);
  90. printf("\nZaliczenie: ");
  91. scanf("%c",&(tab[i].zaliczenie));
  92. if(tab[i].zaliczenie!='T' && tab[i].zaliczenie!='N')
  93. {
  94. printf("\nZaliczenie ma wartosc T lub N \n");
  95.  
  96. }
  97. }
  98. while(tab[i].zaliczenie!='T' && tab[i].zaliczenie!='N');
  99. }
  100. printf("Nazwisko: %s ",tab[0].nazwisko);
  101. }
  102.  
  103.  
  104. int czyliczby(char *lancuch)
  105. {
  106. int i;
  107. for(i=0;i<strlen(lancuch);i++)
  108. {
  109. if(! isdigit(lancuch[i]))
  110. {
  111. return 0;
  112.  
  113. }
  114. }
  115. return 1;
  116. }
  117.  
  118. int czylitery(char *lancuch)
  119. {
  120. int i;
  121. for(i=0;i<strlen(lancuch);i++)
  122. {
  123. if(! isalpha(lancuch[i]))
  124. {
  125. return 0;
  126.  
  127. }
  128. }
  129. return 1;
  130. }
  131.  
  132. int main()
  133. {
  134. funkcja();
  135. }
Add Comment
Please, Sign In to add comment