Hi Leute,
ich programmiere grade eine art Telefonbuch als Übung und es funktioniert auch ^-^ naja...
es funktionierte mal , bis ich auf die Idee kam da einiges zu ändern ... naja egal , kann mir jemand sagen warum
der nix in die Datei schreibt?
Das problem ist ganz am Anfang bei der Funktion "Entry"
System: Linux mint 17.1
Programm: Eclipse
Sprache: C
Includes: stdio.h
stdlib.h
ctype.h
LG
A3RO
Merke grade das meine kommentare im code SCH***** formatiert wurden
(edit: Korrigiert)
Die kommis waren erst so schön in Boxen eigekreist :/
Wenn sich das jemand in sein eclipse kopiert... PASST ES AN!!!
ich programmiere grade eine art Telefonbuch als Übung und es funktioniert auch ^-^ naja...
es funktionierte mal , bis ich auf die Idee kam da einiges zu ändern ... naja egal , kann mir jemand sagen warum
der nix in die Datei schreibt?
C++:
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#define END 64 //64 = @ Zeichen//
FILE *fz;
int i, rep1, rep2, rep3, rep4;
int c;
char BASEPATH[] = "/home/merlin/Documents/Projekte/C/TelDatenbank/nummern.dat";
char trennlinie[] = "\n+------------------------------------------------+\n";
int e = 1;
int Nummer;
char Name[50];
char tab[] = "/t";
void clearkeyboard()
{
while( ( c = getchar() ) != EOF && c != '\n' );
}
void Entry()
{
if ((fz = fopen(BASEPATH, "a")) == NULL)
{
printf("ERROR 003");
exit(4);
}
printf("Geben sie bitte die Telefonnummer ein und beenden sie die Eingabe indem sie <Enter> drücken");
scanf("%d", &Nummer);
clearkeyboard();
clearkeyboard();
printf("Geben sie jetz bitte ihren Nachnamen ein, dahinter ein Komma und dann ihren Vornamen! Beenden sie wieder in dem sie <Enter> drücken!");
scanf("%s", Name);
clearkeyboard();
fprintf(fz,"%s\t%i\n", Name, Nummer);
}
void Baum()
{
if ((fz = fopen(BASEPATH, "r")) == NULL)
{
printf("ERROR 001");
exit(2);
}
printf("\033[2J");
printf("Inhalt der Datei %s:\n\n", BASEPATH);
i = 0;
while ((c = fgetc(fz)) != EOF)
{
putchar(c);
if (c == '\n')
i++;
if (i == 20)
{
printf("\n\nNächste Seite mit <Enter>.");
getc(stdin);
printf("\033[2J");
i = 0;
clearkeyboard();
}
fclose(fz);
}
exit(6);
}
int Question1()
{
printf("Zum Starten <ENTER> drücken");
clearkeyboard();
printf("\n\nTelefonbuch zeigen(j)? Sonst 'n' für einen neuen Eintrag eingeben! (j/n)");
rep1 = toupper(getc(stdin));
if (rep1 == 'J')
{
if ((fz = fopen(BASEPATH, "r")) == NULL)
{
printf("\n\nFehler beim Öffnen der Datei.");
exit(2);
}
clearkeyboard();
printf("\033[2J");
printf("Inhalt der Datei %s:\n\n", BASEPATH);
i = 0;
while ((c = fgetc(fz)) != EOF)
{
putchar(c);
if (c == '\n')
i++;
if (i == 20)
{
printf("\n\nNächste Seite mit <Enter>.");
getc(stdin);
printf("\033[2J");
i = 0;
}
}
fclose(fz);
clearkeyboard();
return 1;
}
else
{
return 0;
}
}
int Question2()
{
while( ( c = getchar() ) != EOF && c != '\n' );
printf("Wollen sie noch einen Eintrag hinzufügen?(j/n)");
rep2 = toupper(getc(stdin));
if (rep2 == 'N')
return 0;
else
{
return 1;
}
}
int Question3()
{
printf("Wollen sie noch einen Eintrag verfassen?(j/n)");
rep3 = toupper(getc(stdin));
if (rep3 == 'J')
{
return 1;
}
else
{
return 0;
}
}
int Question4()
{
clearkeyboard();
printf("Wollen sie nochmal zum Anfang?(j/n)");
rep4 = toupper(getc(stdin));
if (rep4 == 'J')
{
return 1;
}
else
{
exit(5);
}
}
int main()
{
while (e < 4)
{
if (Question1() == 1)
{
clearkeyboard();
if (Question2() == 1)
{
clearkeyboard();
Entry();
clearkeyboard();
if (Question3() == 1)
{
goto A;
}
else
{
if (Question4())
{
}
}
}
else
{
exit(7);
}
}
else
{
A:
Entry();
clearkeyboard();
if (Question3())
{
goto A;
}
else
{
if (Question4())
{
}
}
}
}
return EXIT_SUCCESS;
}
Das problem ist ganz am Anfang bei der Funktion "Entry"
System: Linux mint 17.1
Programm: Eclipse
Sprache: C
Includes: stdio.h
stdlib.h
ctype.h
LG
A3RO
Merke grade das meine kommentare im code SCH***** formatiert wurden

Die kommis waren erst so schön in Boxen eigekreist :/
Wenn sich das jemand in sein eclipse kopiert... PASST ES AN!!!
Zuletzt bearbeitet von einem Moderator: