Advertisement
Guest User

Main.cpp

a guest
Apr 3rd, 2019
282
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.78 KB | None | 0 0
  1. #pragma once
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include <ctype.h>
  5. #include <stdlib.h>
  6. #include <time.h>
  7. #include <fstream>
  8. #include "fhswf_service.h"
  9. #include "service.h"
  10. #include "funktionen.h"
  11.  
  12.  
  13.  
  14.  
  15.  
  16. #define DATEINAME "Studierendendaten.bin"
  17. #define EINGABELIMIT 30
  18. #define MAXBYTES 76
  19. #define maximum 6
  20.  
  21.  
  22. int main(void)
  23. {
  24. // Variablendeklaration
  25. int input, anzahl = 0, ueberspringen, rc, random, fehler = 0, minus = 0;
  26. int wiederholen = 1;
  27. int already[EINGABELIMIT] = { 0 };
  28. char eingabem[EINGABELIMIT] = { 0 };
  29.  
  30. FILE* meine_datei;
  31.  
  32. struct Student person1;
  33.  
  34. // Programmwiederholung
  35. do
  36. {
  37. // Wiederholung bei falscher Eingabe
  38. do
  39. {
  40.  
  41. system("CLS"); // Bildschirm löschen
  42. printf("1 = Datei lesen\n");
  43. printf("2 = Student hinzufuegen\n");
  44. printf("3 = Studentendaten aendern\n");
  45. printf("4 = Studentendaten loeschen\n");
  46. printf("0 = Programm verlassen\n");
  47.  
  48. do
  49. {
  50. printf("Ihre Auswahl: ");
  51. scanf("%s", eingabem);
  52. tastaturpuffer_leeren();
  53.  
  54. fehler = checkInput_int(eingabem, strlen(eingabem));
  55.  
  56. input = atoi(eingabem);
  57.  
  58. if ((input < 0) || (input > 4) || fehler > 0)
  59. {
  60. printf("Fehler in der Eingabe !\n");
  61. printf("Nur Werte zwischen 0 und 4 erlaubt!");
  62.  
  63. getchar();
  64. }
  65.  
  66. } while (fehler > 0);
  67. // Wiederholung bei Falscheingabe
  68. } while ((input < 0) || (input > 4));
  69.  
  70. switch (input)
  71. {
  72. case 1: // Dateiinhalt lesen
  73. system("CLS"); // Bildschirm löschen
  74.  
  75. // Datei öffnen
  76. meine_datei = datei_oeffnen();
  77.  
  78. // wenn nicht erfolgreich Programm beenden
  79. if (!meine_datei)
  80. {
  81. printf("Datei konnte nicht geoeffnet werden!\n\n");
  82.  
  83. getchar();
  84. return(0);
  85. }
  86.  
  87. // Anzahl der Dateieinträge bestimmen
  88. anzahl = get_dateigroesse(meine_datei);
  89.  
  90. if (anzahl == 0)
  91. {
  92. printf("Datei Leer!");
  93. fclose(meine_datei);
  94.  
  95. getchar();
  96. //Springt zum ende der schleife
  97. continue;
  98. }
  99.  
  100. printf("\tMatrikelnummer\t|\tName\t|\tVorname\t\t|\tMathe\t|\tProgrammieren\t|\tDS\n");
  101.  
  102. for (int index = 0; index < anzahl; index++)
  103. {
  104. datei_lesen(&person1, meine_datei); // Inhalt lesen
  105. if (!strcmp(person1.name, "GELOESCHT"))
  106. {
  107. minus++;
  108. //Springt zum ende der schleife
  109. continue;
  110. }
  111. printf("\t%i\t\t|\t%s\t|\t%s\t\t|\t%.2f\t|\t%.2f\t\t|\t%.2f\n", person1.matrikelnummer, person1.name, person1.vorname, person1.mathe_z, person1.programmieren_z, person1.datenstrukturen_z);
  112. }
  113.  
  114. fclose(meine_datei); // Datei schließen
  115. getchar();
  116.  
  117. break;
  118.  
  119. case 2: // Daten in Datei schreiben
  120. system("CLS");
  121.  
  122. // Kommentare wie case 1
  123.  
  124. meine_datei = datei_oeffnen();
  125.  
  126. // wenn nicht erfolgreich Programm beenden
  127. if (!meine_datei)
  128. {
  129. printf("Datei konnte nicht geoeffnet werden!\n\n");
  130.  
  131. getchar();
  132. return(0);
  133. }
  134.  
  135. // Dateiinhalt eingeben
  136. for (int index = 0; index < anzahl; index++)
  137. {
  138. datei_lesen(&person1, meine_datei); // Inhalt lesen
  139. if (!strcmp(person1.name, "GELOESCHT"))
  140. {
  141. minus++;
  142. continue;
  143. }
  144. printf("\t%i\t\t|\t%s\t|\t%s\t\t|\t%.2f \t%.2f \t%.2f\n", person1.matrikelnummer, person1.name, person1.vorname, person1.mathe_z, person1.programmieren_z, person1.datenstrukturen_z);
  145. }
  146.  
  147. daten_eingeben(&person1, meine_datei, 1);
  148.  
  149. fclose(meine_datei);
  150.  
  151. getchar();
  152. break;
  153.  
  154. case 3: // Dateiinhalt ändern
  155. system("CLS");
  156. // Kommentare wie case 1 und case 2
  157. meine_datei = datei_oeffnen_aendern();
  158.  
  159. // wenn nicht erfolgreich Programm beenden
  160. if (!meine_datei)
  161. {
  162. printf("Datei konnte nicht geoeffnet werden!\n\n");
  163.  
  164. getchar();
  165. return(0);
  166. }
  167.  
  168. anzahl = get_dateigroesse(meine_datei);
  169.  
  170. if (anzahl == 0)
  171. {
  172. printf("Datei Leer!");
  173. fclose(meine_datei);
  174.  
  175. getchar();
  176. continue;
  177. }
  178.  
  179.  
  180. printf("\tMatrikelnummer\t|\tName\t|\tVorname\t\t|\tMathe\t|\tProgrammieren\t|\tDS\n");
  181.  
  182. for (int index = 0; index < anzahl; index++)
  183. {
  184. datei_lesen(&person1, meine_datei); // Inhalt lesen
  185. if (!strcmp(person1.name, "GELOESCHT"))
  186. {
  187. minus++;
  188. continue;
  189. }
  190. printf("\t%i\t\t|\t%s\t|\t%s\t\t|\t%.2f\t|\t%.2f\t\t|\t%.2f\n", person1.matrikelnummer, person1.name, person1.vorname, person1.mathe_z, person1.programmieren_z, person1.datenstrukturen_z);
  191. }
  192. dateiinhalt_aendern(&person1, anzahl, meine_datei);
  193. fclose(meine_datei);
  194.  
  195. getchar();
  196.  
  197. break;
  198.  
  199. case 4:
  200.  
  201. system("CLS");
  202. // Kommentare wie case 1 und case 2
  203. meine_datei = datei_oeffnen_aendern();
  204.  
  205. // wenn nicht erfolgreich Programm beenden
  206. if (!meine_datei)
  207. {
  208. printf("Datei konnte nicht geoeffnet werden!\n\n");
  209.  
  210. getchar();
  211. return(0);
  212. }
  213.  
  214. anzahl = get_dateigroesse(meine_datei);
  215.  
  216. if (anzahl == 0)
  217. {
  218. printf("Datei Leer!");
  219. fclose(meine_datei);
  220.  
  221. getchar();
  222. continue;
  223. }
  224.  
  225. printf("Welcher Eintrag soll geloescht werden?\n", anzahl);
  226. printf("\tMatrikelnummer\t|\tName\t|\tVorname\t\t|\tZensuren\n");
  227.  
  228. for (int index = 0; index < anzahl; index++)
  229. {
  230. datei_lesen(&person1, meine_datei); // Inhalt lesen
  231. if (!strcmp(person1.name, "GELOESCHT"))
  232. {
  233. minus++;
  234. continue;
  235. }
  236. printf("\t%i\t\t|\t%s\t|\t%s\t\t|\t%.2f \t%.2f \t%.2f\n", person1.matrikelnummer, person1.name, person1.vorname, person1.mathe_z, person1.programmieren_z, person1.datenstrukturen_z);
  237. }
  238.  
  239. dateiinhalt_loeschen(&person1, anzahl, meine_datei);
  240. fclose(meine_datei);
  241.  
  242. getchar();
  243. break;
  244.  
  245. case 0:
  246. wiederholen = 0; // Programm beenden
  247. break;
  248. }
  249.  
  250.  
  251. } while (wiederholen == 1);
  252. return (1);
  253. }
  254. //---------------------Ende main ------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement