Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma once
- #include <stdio.h>
- #include <string.h>
- #include <ctype.h>
- #include <stdlib.h>
- #include <time.h>
- #include <fstream>
- #include "fhswf_service.h"
- #include "service.h"
- #include "funktionen.h"
- #define DATEINAME "Studierendendaten.bin"
- #define EINGABELIMIT 30
- #define MAXBYTES 76
- #define maximum 6
- int main(void)
- {
- // Variablendeklaration
- int input, anzahl = 0, ueberspringen, rc, random, fehler = 0, minus = 0;
- int wiederholen = 1;
- int already[EINGABELIMIT] = { 0 };
- char eingabem[EINGABELIMIT] = { 0 };
- FILE* meine_datei;
- struct Student person1;
- // Programmwiederholung
- do
- {
- // Wiederholung bei falscher Eingabe
- do
- {
- system("CLS"); // Bildschirm löschen
- printf("1 = Datei lesen\n");
- printf("2 = Student hinzufuegen\n");
- printf("3 = Studentendaten aendern\n");
- printf("4 = Studentendaten loeschen\n");
- printf("0 = Programm verlassen\n");
- do
- {
- printf("Ihre Auswahl: ");
- scanf("%s", eingabem);
- tastaturpuffer_leeren();
- fehler = checkInput_int(eingabem, strlen(eingabem));
- input = atoi(eingabem);
- if ((input < 0) || (input > 4) || fehler > 0)
- {
- printf("Fehler in der Eingabe !\n");
- printf("Nur Werte zwischen 0 und 4 erlaubt!");
- getchar();
- }
- } while (fehler > 0);
- // Wiederholung bei Falscheingabe
- } while ((input < 0) || (input > 4));
- switch (input)
- {
- case 1: // Dateiinhalt lesen
- system("CLS"); // Bildschirm löschen
- // Datei öffnen
- meine_datei = datei_oeffnen();
- // wenn nicht erfolgreich Programm beenden
- if (!meine_datei)
- {
- printf("Datei konnte nicht geoeffnet werden!\n\n");
- getchar();
- return(0);
- }
- // Anzahl der Dateieinträge bestimmen
- anzahl = get_dateigroesse(meine_datei);
- if (anzahl == 0)
- {
- printf("Datei Leer!");
- fclose(meine_datei);
- getchar();
- //Springt zum ende der schleife
- continue;
- }
- printf("\tMatrikelnummer\t|\tName\t|\tVorname\t\t|\tMathe\t|\tProgrammieren\t|\tDS\n");
- for (int index = 0; index < anzahl; index++)
- {
- datei_lesen(&person1, meine_datei); // Inhalt lesen
- if (!strcmp(person1.name, "GELOESCHT"))
- {
- minus++;
- //Springt zum ende der schleife
- continue;
- }
- 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);
- }
- fclose(meine_datei); // Datei schließen
- getchar();
- break;
- case 2: // Daten in Datei schreiben
- system("CLS");
- // Kommentare wie case 1
- meine_datei = datei_oeffnen();
- // wenn nicht erfolgreich Programm beenden
- if (!meine_datei)
- {
- printf("Datei konnte nicht geoeffnet werden!\n\n");
- getchar();
- return(0);
- }
- // Dateiinhalt eingeben
- for (int index = 0; index < anzahl; index++)
- {
- datei_lesen(&person1, meine_datei); // Inhalt lesen
- if (!strcmp(person1.name, "GELOESCHT"))
- {
- minus++;
- continue;
- }
- 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);
- }
- daten_eingeben(&person1, meine_datei, 1);
- fclose(meine_datei);
- getchar();
- break;
- case 3: // Dateiinhalt ändern
- system("CLS");
- // Kommentare wie case 1 und case 2
- meine_datei = datei_oeffnen_aendern();
- // wenn nicht erfolgreich Programm beenden
- if (!meine_datei)
- {
- printf("Datei konnte nicht geoeffnet werden!\n\n");
- getchar();
- return(0);
- }
- anzahl = get_dateigroesse(meine_datei);
- if (anzahl == 0)
- {
- printf("Datei Leer!");
- fclose(meine_datei);
- getchar();
- continue;
- }
- printf("\tMatrikelnummer\t|\tName\t|\tVorname\t\t|\tMathe\t|\tProgrammieren\t|\tDS\n");
- for (int index = 0; index < anzahl; index++)
- {
- datei_lesen(&person1, meine_datei); // Inhalt lesen
- if (!strcmp(person1.name, "GELOESCHT"))
- {
- minus++;
- continue;
- }
- 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);
- }
- dateiinhalt_aendern(&person1, anzahl, meine_datei);
- fclose(meine_datei);
- getchar();
- break;
- case 4:
- system("CLS");
- // Kommentare wie case 1 und case 2
- meine_datei = datei_oeffnen_aendern();
- // wenn nicht erfolgreich Programm beenden
- if (!meine_datei)
- {
- printf("Datei konnte nicht geoeffnet werden!\n\n");
- getchar();
- return(0);
- }
- anzahl = get_dateigroesse(meine_datei);
- if (anzahl == 0)
- {
- printf("Datei Leer!");
- fclose(meine_datei);
- getchar();
- continue;
- }
- printf("Welcher Eintrag soll geloescht werden?\n", anzahl);
- printf("\tMatrikelnummer\t|\tName\t|\tVorname\t\t|\tZensuren\n");
- for (int index = 0; index < anzahl; index++)
- {
- datei_lesen(&person1, meine_datei); // Inhalt lesen
- if (!strcmp(person1.name, "GELOESCHT"))
- {
- minus++;
- continue;
- }
- 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);
- }
- dateiinhalt_loeschen(&person1, anzahl, meine_datei);
- fclose(meine_datei);
- getchar();
- break;
- case 0:
- wiederholen = 0; // Programm beenden
- break;
- }
- } while (wiederholen == 1);
- return (1);
- }
- //---------------------Ende main ------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement