Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.57 KB | None | 0 0
  1. void Bsp2() {
  2.  
  3.  
  4.  
  5.  
  6. int entry = 0;
  7. //*** Speicher für 10 Einträge reservieren
  8. int size = 10;
  9. struct Person* personen;
  10. personen = (struct Person*)malloc(size * sizeof(struct Person));
  11.  
  12.  
  13.  
  14. int button = 0;
  15. do {
  16. button = 0;
  17. menu(&button, &entry, &personen);
  18. } while (1);
  19.  
  20. }
  21.  
  22.  
  23. void menu(int* button, int* entry, struct Person* personen) {
  24. int validInput = 0;
  25.  
  26.  
  27. do {
  28. //system("cls");
  29.  
  30. switch (*button) {
  31. case 1:
  32. printf("(1) - Daten erfassen\n");
  33. validInput = 1;
  34.  
  35. add_person(personen, &entry);
  36. break;
  37. case 2:
  38. printf("(2) - Daten anzeigen\n");
  39. validInput = 1;
  40.  
  41.  
  42.  
  43. show_person(personen, &entry);
  44. break;
  45. case 3:
  46. printf("(3) - Suchen nach Geburtsmonat");
  47. validInput = 1;
  48.  
  49.  
  50. exit(0);
  51. break;
  52. case 4:
  53. printf("(4) - BEENDEN");
  54. validInput = 1;
  55.  
  56.  
  57. exit(0);
  58. break;
  59. default:
  60. printf("Men%causwahl\n", 129);
  61. printf("Dr%ccken sie 1, 2, 3 oder 4\n", 129);
  62. printf("(1) - Daten erfassen\n");
  63. printf("(2) - Daten anzeigen\n");
  64. printf("(3) - Suchen nach Geburtsmonat\n");
  65. printf("(4) - BEENDEN\n");
  66. }
  67.  
  68. if (validInput == 0) {
  69. *button = (int)getch() - 48;
  70. }
  71. // printf("%d", entry);
  72. } while (validInput == 0);
  73. }
  74.  
  75.  
  76.  
  77. int add_person(struct Person* personen, int** entry)
  78. {
  79.  
  80.  
  81. do
  82. {
  83. for (int i = 0; i < (**entry); i++) {
  84. personen++;
  85. }
  86. if (**entry > MAX_ENTRIES){
  87. printf("\nAdressbuch voll! Drücken Sie eine Taste...\n\n");
  88. getch();
  89. break;
  90. }
  91. // personen->Name = { NULL };
  92.  
  93. printf("Name eingeben:");
  94. fseek(stdin, 0, SEEK_END);
  95. gets(personen->Name);
  96. //scanf_s("%s", *personen->Name);
  97.  
  98. /*printf("Alter eingeben:");
  99. fseek(stdin, 0, SEEK_END);
  100. scanf_s("%d", &personen->alter);*/
  101. //fgets(personen->alter, 20, stdin);
  102.  
  103.  
  104. (**entry)++;
  105. if (personen->Name[0] == '\0') {
  106. //(**entry)--;
  107. return 0;
  108. }
  109. } while (personen->Name[0] != 10); //ENTER
  110.  
  111. //(**entry)--;
  112.  
  113. return 0;
  114. }
  115.  
  116. int show_person(struct Person* personen, int** entry) {
  117. puts("a Vorwaerts");
  118. puts("b Rückwaerts");
  119. char chr;
  120. chr = getche();
  121. puts("");
  122. switch (chr) {
  123. case ('a'):
  124. for (int i = 0; i < (**entry); i++) {
  125.  
  126. printf("%s \n", personen->Name);
  127. //printf("%d", personen->alter);
  128.  
  129. personen++;
  130. }
  131. break;
  132. case ('b'):
  133. for (int i = 0; i < (**entry); i++) {
  134. personen++;
  135. }
  136.  
  137. for (int i = 0; i < (**entry); i++) {
  138. personen--;
  139. printf("%s \n", personen->Name);
  140.  
  141. //printf("%d", personen->alter);
  142. }
  143. break;
  144.  
  145. default:break;
  146. }
  147.  
  148.  
  149.  
  150. _getch();
  151. return 0;
  152. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement