SHARE
TWEET

Main.cpp

a guest Apr 3rd, 2019 58 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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 ------------------------------------------------------
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top