Advertisement
Guest User

Untitled

a guest
Mar 17th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.21 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. #define ROZMIAR 20
  5.  
  6. struct Uzytkownik {
  7. char imie[255];
  8. char nazwisko[255];
  9. char telefon[15];
  10. char data_urodzenia[12];
  11. };
  12.  
  13. void dodaj(struct Uzytkownik tablica[])
  14. {
  15. /* int i = 0;
  16. printf("wchodze");
  17.  
  18. do {
  19. if (strlen(tablica[i].imie) == 0) {
  20. printf("Podaj imie: ");
  21. fgets(tablica[i].imie, 255, stdin);
  22.  
  23. printf("Podaj nazwisko: ");
  24. fgets(tablica[i].nazwisko, 255, stdin);
  25.  
  26. printf("Podaj telefon: ");
  27. fgets(tablica[i].telefon, 15, stdin);
  28.  
  29. printf("Podaj date urodzenia: ");
  30. fgets(tablica[i].data_urodzenia, 10, stdin);
  31.  
  32. break;
  33. }
  34. printf("wychodze");
  35.  
  36. i++;
  37. } while (strlen(tablica[i].imie) == 0); */
  38.  
  39. int licznik = -1;
  40.  
  41. for (int i = 0; i < ROZMIAR; i++){
  42. if (strlen(tablica[i].imie) == 0){
  43. licznik = i;
  44. break;
  45. }
  46. }
  47.  
  48. if (licznik != -1){
  49. printf("Podaj imie: ");
  50. fgets(tablica[licznik].imie, 255, stdin);
  51.  
  52. printf("Podaj nazwisko: ");
  53. fgets(tablica[licznik].nazwisko, 255, stdin);
  54.  
  55. printf("Podaj telefon: ");
  56. fgets(tablica[licznik].telefon, 15, stdin);
  57.  
  58. printf("Podaj date urodzenia w formacie DD/MM/RRRR: ");
  59. fgets(tablica[licznik].data_urodzenia, 12, stdin);
  60. }
  61. }
  62.  
  63. void wyswietl(struct Uzytkownik tablica[])
  64. {
  65. int i = 0;
  66.  
  67. while ((strlen(tablica[i].imie) != 0) && (i < ROZMIAR)){
  68.  
  69. //printf("Imie to: ");
  70. fputs(tablica[i].imie, stdout);
  71.  
  72. fputs(tablica[i].nazwisko, stdout);
  73.  
  74. fputs(tablica[i].telefon, stdout);
  75.  
  76. fputs(tablica[i].data_urodzenia, stdout);
  77.  
  78. i++;
  79. }
  80. }
  81.  
  82. void sortuj_po_nazwisku(struct Uzytkownik tablica[])
  83. {
  84. int rozmiar_tablicy = 0;
  85. struct Uzytkownik tmp[ROZMIAR];
  86.  
  87.  
  88. while (strlen(tablica[rozmiar_tablicy].imie) != 0 && (rozmiar_tablicy < ROZMIAR)) {
  89.  
  90. rozmiar_tablicy++;
  91.  
  92. }
  93.  
  94. for (int i = 0; i < rozmiar_tablicy - 1; i++){
  95. for (int j = 0; j < rozmiar_tablicy - 1; j++){
  96. if (strcmp(tablica[j].nazwisko, tablica[j + 1].nazwisko) > 0){
  97. tmp[j] = tablica[j];
  98. tablica[j] = tablica[j + 1];
  99. tablica[j + 1] = tmp[j];
  100. }
  101. }
  102. }
  103. }
  104.  
  105. void wyszukaj_nazwisko(struct Uzytkownik tablica[])
  106. {
  107. char napis[255];
  108.  
  109. printf("Podaj nazwisko ktore chcesz wyszukac: \n");
  110. fgets(napis, 255, stdin);
  111.  
  112. for (int i = 0; i < ROZMIAR; i++){
  113. if (strcmp(tablica[i].nazwisko, napis) == 0) {
  114. fputs(tablica[i].imie, stdout);
  115. fputs(tablica[i].nazwisko, stdout);
  116. fputs(tablica[i].telefon, stdout);
  117. fputs(tablica[i].data_urodzenia, stdout);
  118. }
  119. }
  120. }
  121.  
  122. void wyszukaj_telefon(struct Uzytkownik tablica[])
  123. {
  124. char napis[15];
  125.  
  126. printf("Podaj telefon ktory chcesz wyszukac: \n");
  127. fgets(napis, 15, stdin);
  128.  
  129. for (int i = 0; i < ROZMIAR; i++){
  130. if (strcmp(tablica[i].telefon, napis) == 0) {
  131. fputs(tablica[i].imie, stdout);
  132. fputs(tablica[i].nazwisko, stdout);
  133. fputs(tablica[i].telefon, stdout);
  134. fputs(tablica[i].data_urodzenia, stdout);
  135. }
  136. }
  137. }
  138.  
  139. void wyszukaj_rok_urodzenia(struct Uzytkownik tablica[])
  140. {
  141. char napis[12];
  142.  
  143. printf("Podaj rok urodzenia ktory chcesz wyszukac: \n");
  144. fgets(napis, 12, stdin);
  145.  
  146. for (int i = 0; i < ROZMIAR; i++){
  147. if (strstr(tablica[i].data_urodzenia, napis) != NULL) {
  148. fputs(tablica[i].imie, stdout);
  149. fputs(tablica[i].nazwisko, stdout);
  150. fputs(tablica[i].telefon, stdout);
  151. fputs(tablica[i].data_urodzenia, stdout);
  152. }
  153. }
  154. }
  155.  
  156. int main()
  157. {
  158. struct Uzytkownik uzytkownicy[ROZMIAR];
  159.  
  160. dodaj(uzytkownicy);
  161. dodaj(uzytkownicy);
  162. dodaj(uzytkownicy);
  163. wyswietl(uzytkownicy);
  164. printf("\n");
  165. sortuj_po_nazwisku(uzytkownicy);
  166. wyswietl(uzytkownicy);
  167. printf("\n");
  168. wyszukaj_nazwisko(uzytkownicy);
  169. wyszukaj_telefon(uzytkownicy);
  170. wyszukaj_rok_urodzenia(uzytkownicy);
  171.  
  172.  
  173. return 0;
  174. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement