Advertisement
Guest User

Untitled

a guest
Jun 26th, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.30 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. #define MAX 50
  6.  
  7.  
  8. void kundeAnlegen();
  9. void kundeAusgeben();
  10. void nachNameSortieren();
  11. void nachNummerSortieren();
  12. void nachNameDurchsuchen();
  13. void nachNummerDurchsuchen();
  14.  
  15.  
  16. typedef struct _kunDB {
  17.  
  18. int num;
  19. char *name;
  20. int plz;
  21. char *ort;
  22.  
  23. } kunDB_t;
  24.  
  25.  
  26. kunDB_t feld[MAX];
  27. int count = 0;
  28.  
  29.  
  30.  
  31.  
  32. int main()
  33. {
  34. int n;
  35.  
  36.  
  37. while (1)
  38. {
  39. n = abfrage();
  40.  
  41.  
  42. if (n == 0) break;
  43. else if (n == 1) kundeAnlegen(); // funktioniert
  44. else if (n == 2) kundeAusgeben(); // funktioniert
  45. else if (n == 3) nachNameSortieren(); // geht nicht
  46. else if (n == 4) nachNummerSortieren(); // geht nicht
  47. else if (n == 5) nachNameDurchsuchen(); // funktioniert
  48. else if (n == 6) nachNummerDurchsuchen(); // funktioniert
  49. }
  50.  
  51. getchar();
  52.  
  53. return 0;
  54. }
  55.  
  56.  
  57. int abfrage()
  58. {
  59. int ak;
  60.  
  61. printf("1 Neuen Kunden anlegen und Daten eingeben\n");
  62. printf("2 Feld der Kundendaten ausgeben\n");
  63. printf("3 Feld der Kundendaten nach Namen sortieren\n");
  64. printf("4 Feld der Kundendaten nach Kundennummer sortieren\n");
  65. printf("5 Feld der Kundendaten nach Namen durchsuchen\n");
  66. printf("6 Feld der Kundendaten nach Kundennummer durchsuchen\n");
  67. printf("0 Programm beenden\n\n");
  68. printf("Eingabe : ");
  69. scanf("%d", &ak);
  70. printf("\n");
  71.  
  72. return ak;
  73. }
  74.  
  75.  
  76. void kundeAnlegen()
  77. {
  78. char n_ptr[50];
  79. char o_ptr[20];
  80. int k_nummer = 0;
  81. int k_plz = 0;
  82.  
  83. kunDB_t *ptr = (kunDB_t*)malloc(sizeof(kunDB_t));
  84.  
  85. printf("Kundendaten in folgendem Format eingeben\n");
  86. printf("Kundennummer Name Postleitzahl Wohnort\n");
  87. scanf("%d %s %d %s", &k_nummer, n_ptr, &k_plz, o_ptr); fflush(stdin);
  88. printf("\n");
  89.  
  90. ptr->num = k_nummer;
  91. ptr->name = _strdup(n_ptr);
  92. ptr->plz = k_plz;
  93. ptr->ort = _strdup(o_ptr);
  94.  
  95.  
  96.  
  97. feld[count] = *ptr;
  98.  
  99. count++;
  100.  
  101. free(ptr);
  102. }
  103.  
  104. void kundeAusgeben()
  105. {
  106. int i;
  107. for (i = 0; i < count; i++)
  108. {
  109. printf("\n\n");
  110. printf("%d K_Num: %d\n", i, feld[i].num);
  111. printf("%d K_Name: %s\n", i, feld[i].name);
  112. printf("%d K_PLZ: %d\n", i, feld[i].plz);
  113. printf("%d K_Ort: %s\n\n", i, feld[i].ort);
  114. }
  115. }
  116.  
  117. void nachNameSortieren()
  118. {
  119.  
  120. }
  121.  
  122.  
  123. void nachNummerSortieren()
  124. {
  125. int n = count;
  126. int i;
  127.  
  128. while (n--)
  129. {
  130. for (i = 0; i < n; i++)
  131. {
  132. if (feld[i].num > feld[i + 1].num)
  133. {
  134. kunDB_t *satz = (kunDB_t*)malloc(sizeof(kunDB_t));
  135. satz->name = feld[i].name;
  136. satz->num = feld[i].num;
  137. satz->plz = feld[i].plz;
  138. satz->ort = feld[i].ort;
  139.  
  140. feld[i].name = feld[i + 1].name;
  141. feld[i].num = feld[i + 1].num;
  142. feld[i].plz = feld[i + 1].plz;
  143. feld[i].ort = feld[i + 1].ort;
  144.  
  145. feld[i + 1] = *satz;
  146.  
  147. free(satz);
  148. }
  149. }
  150. }
  151. }
  152.  
  153. void nachNameDurchsuchen()
  154. {
  155. int i;
  156. char anfang[1];
  157.  
  158. printf("%d Anfangsbuchstabe : ", count);
  159. scanf("%s", &anfang); fflush(stdin);
  160. printf("\n");
  161.  
  162. for (i = 0; i < count; i++)
  163. {
  164. if (anfang[0] == feld[i].name[0])
  165. {
  166. printf("\n\n");
  167. printf("K_Num: %d\n", feld[i].num);
  168. printf("K_Name: %s\n", feld[i].name);
  169. printf("K_PLZ: %d\n", feld[i].plz);
  170. printf("K_Ort: %s\n\n", feld[i].ort);
  171. }
  172. }
  173. }
  174.  
  175. void nachNummerDurchsuchen()
  176. {
  177. int ak;
  178.  
  179. printf("Nummer: ");
  180. scanf("%d", &ak); fflush(stdin);
  181. printf("\n");
  182.  
  183. int i;
  184. for (i = 0; i < count; i++)
  185. {
  186. if (feld[i].num == ak)
  187. {
  188. printf("\n\n");
  189. printf("K_Num: %d", feld[i].num);
  190. printf("K_Name: %s", feld[i].name);
  191. printf("K_PLZ: %d", feld[i].plz);
  192. printf("K_Ort: %s\n\n", feld[i].ort);
  193.  
  194. break;
  195. }
  196. }
  197. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement