Advertisement
Guest User

Untitled

a guest
May 21st, 2018
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.47 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4.  
  5.  
  6.  
  7. #define WLK 40
  8.  
  9. struct rekord {
  10. char imie[WLK];
  11. char nazwisko[WLK];
  12. int rok_urodzenia;
  13. int nr_konta[WLK];
  14. char nazwa_banku[WLK];
  15. float srodki;
  16.  
  17. };
  18.  
  19.  
  20. void wyswietlanie(struct rekord * asd,int n);
  21. struct rekord * max(struct rekord * asd, int n);
  22. struct rekord * min(struct rekord * asd, int n);
  23. double suma(struct rekord * asd, int n);
  24. void wprowadz_dane(struct rekord * asd, int n);
  25.  
  26.  
  27. int main(void) {
  28.  
  29.  
  30.  
  31.  
  32. int ilosc_osob;
  33. int p = 0;
  34. struct rekord *osoba;
  35.  
  36. printf("Podaj liczbe osob ktore chcesz wprowadzic:\n");
  37. scanf_s("%d", &ilosc_osob);
  38.  
  39. osoba = (struct rekord*)malloc(ilosc_osob * sizeof(struct rekord));
  40. wprowadz_dane(osoba, ilosc_osob);
  41. if (osoba == NULL) {
  42. printf("x\n");
  43. }
  44.  
  45. printf("Wyswietl wszystkich klientow[1]");
  46. printf("\nKlient z najwieksza iloscia piniedzy[2]");
  47. printf("\nKlient z najmniejsza iloscia piniedzy[3]");
  48. printf("\nSuma[4]\n");
  49.  
  50. while (p == 0)
  51. {
  52. int w = 10;
  53. scanf_s("%i", &w);
  54. fflush(stdin);
  55.  
  56. switch (w)
  57. {
  58. case 1:
  59. if (ilosc_osob == 0)
  60. {
  61. printf("brak danych do wyswietlenia\n");
  62. }
  63. else
  64. {
  65. wyswietlanie(osoba, ilosc_osob);
  66. }
  67. break;
  68.  
  69. case 2:
  70. if (ilosc_osob == 0)
  71. {
  72. printf("brak danych do wyswietlenia\n");
  73. }
  74. else
  75. {
  76. wyswietlanie(max(osoba, ilosc_osob), 1);
  77. }
  78. break;
  79.  
  80. case 3:
  81. if (ilosc_osob == 0)
  82. {
  83. printf("brak danych do wyswietlenia\n");
  84. }
  85. else
  86. {
  87. wyswietlanie(min(osoba, ilosc_osob), 1);
  88. }
  89. break;
  90.  
  91. case 4:
  92. if (ilosc_osob == 0)
  93. {
  94. printf("brak danych do wyswietlenia\n");
  95. }
  96. else
  97. {
  98. printf("Suma srodkow: %f PLN\n", suma(osoba, ilosc_osob));
  99. }
  100. break;
  101.  
  102.  
  103. case 0: p = 1;
  104. free(osoba);
  105. break;
  106.  
  107. default: printf("Zly symbol\n");
  108. }
  109. }
  110.  
  111. system("PAUSE");
  112. return(0);
  113. }
  114.  
  115.  
  116.  
  117. void wyswietlanie(struct rekord * asd, int n) {
  118. for (int i = 0; i < n ;i++)
  119. {
  120. printf("Imie: %s\n", (asd+i)->imie);
  121. printf("Nazwisko: %s\n", (asd+i)->nazwisko);
  122. printf("Rok urodzenia: %d\n", (asd+i)->rok_urodzenia);
  123. printf("Nr. konta: %d\n", (asd+i)->nr_konta);
  124. printf("Nazwa banku: %s\n", (asd+i)->nazwa_banku);
  125. printf("Dostepne srodki: %.2lf PLN\n", (asd+i)->srodki);
  126. }
  127. }
  128.  
  129.  
  130. struct rekord * max(struct rekord * asd, int n) {
  131. int i;
  132. int a = 0;
  133. struct rekord * max_asd = 0;
  134.  
  135. for (i = 0; i < n; i++) {
  136. if (asd[a].srodki < asd[i].srodki)
  137. a = i;
  138. }
  139.  
  140. max_asd = asd + a;
  141. return (max_asd);
  142. }
  143.  
  144. struct rekord * min(struct rekord * asd,int n) {
  145. int i;
  146. int a = 0;
  147. struct rekord * max_asd = 0;
  148.  
  149. for (i = 0; i < n; i++) {
  150. if (asd[a].srodki > asd[i].srodki)
  151. a = i;
  152. }
  153.  
  154. max_asd = asd + a;
  155. return (max_asd);
  156. }
  157.  
  158. double suma(struct rekord * asd, int n) {
  159. double suma = 0;
  160.  
  161. for (int i = 0; i < n; i++)
  162. suma += asd[i].srodki;
  163.  
  164. return (suma);
  165. }
  166.  
  167. void wprowadz_dane(struct rekord *asd, int n) {
  168.  
  169. for (int i = 0; i < n; i++)
  170. {
  171. printf("\nWprowadz imie : \n");
  172. scanf_s("%s", (asd + i)->imie);
  173. fflush(stdin);
  174. printf("\nWprowadz nazwisko : \n");
  175. fflush(stdin);
  176. scanf_s("%s", (asd + i)->nazwisko);
  177. printf("\nWprowadz rok urodzenia:\n");
  178. scanf_s("%d", (asd + i)->rok_urodzenia);
  179. printf("\nWprowadz nr konta:\n");
  180. scanf_s("%d", (asd + i)->nr_konta);
  181. printf("\nWprowadz nazwe banku:\n");
  182. scanf_s("%s", (asd + i)->nazwa_banku);
  183. printf("\nWprowadz srodki klienta:\n");
  184. scanf_s("%d", (asd + i)->srodki);
  185. }
  186. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement