DEV C++ Text ein und ausgabe problem

Carmen_17

Grünschnabel
Das Funktioniert nicht.
Kann mir bitte jemand helfen ich bin noch Anfänger und
finde den Fehler nicht.




#include <stdio.h>
#include <string.h>

int main()
{ char datname[20], text[100], output[100], y[100];
FILE *DATEI;
int x ;

do
{
printf("Wollen sie eine neue Textdatei öffnen(1) oder eine alte öffnen und umschreiben(2)");

switch(x)
{
case 1:

printf("\n\nHier wird ein Text (mit Leerzeichen!) in eine Datei mit der Endung \".txt\" gespeichert.");
printf("\n\nDateiname: ");
gets(datname);
strcat(datname, ".txt");
printf("\nDie Datei heisst \"%s",datname,"%c","\".");
DATEI = fopen(datname, "w");
printf("\n\nText: ");
gets(text);
fputs(text, DATEI);
fclose(DATEI);

break;
case 2:

printf("\n\n\nDer Text wird nun geöffnet um ihn umzuschreiben.");
DATEI = fopen(datname, "r");
gets(output);
printf("%s", output);
fclose(DATEI);

DATEI = fopen(datname, "a");
gets(text);
fputs(text, DATEI);
fclose(DATEI);
break;
}
printf("\n\n Wollen sie nochmal ja(1) nein(2)");
gets (y) ;
}
while (y==1);

}
 
Hallo,

(a) benutze bitte die Code-Tags (der Button mit '#') - siehe Nettiquette!!
(b) beschreibe doch mal genau, WAS denn nicht funktioniert (Fehlermeldung beim Compilieren, in der Programmlogik oder was)!!

Ich fürchte, sonst wird Dir keiner helfen wollen ..... :suspekt:

Gruß
Klaus
 
Code-Tags verwenden ^^

Und beim Switch du ließt kein x ein.
Das könnte es vllt sein ohne weiter informationen kann man natürlich nicht helfen

C:
gets (x) ;

Nach

C:
printf("Wollen sie eine neue Textdatei öffnen(1) oder eine alte öffnen und umschreiben(2)");

Vllt Hilfts

//EDIT und die Variable Y Legst du auch nicht an ?
Jaja wenn man als Pflichtfach Informatik hat ist schon hart ^^
mfg
 
Zuletzt bearbeitet:
Sorry:-)

Jetzt habe ich etwas am programm herumgeschrieben.
Mann kann das Programm zwar ausführen aber es funktioniert nicht richtig.
Wenn ich case 1 verwende komme kann ich den Namen der txt Datei nicht eingeben und
sie wird " .txt" genand.
Im case 2 kann ich zwar den Namen eingeben aber danah schreibt es mir den namen nochmal hin.
Danach kann ich wieder aussuchen ob ich nochmal will.

#include <stdio.h>
#include <string.h>
#include <iostream.h>

int main()
{ char datname[20],datname2[20], text[100], output[100], text2[100];
FILE *DATEI;
int x, y ;

do
{
printf("Wollen sie eine neue Textdatei oeffnen(1) oder eine alte oeffnen und umschreiben(2)");
cin>> x;
switch(x)
{
case 1:

printf("\n\nHier wird ein Text (mit Leerzeichen!) in eine Datei mit der Endung \".txt\" gespeichert.");
printf("\n\nDateiname: ");
gets(datname);
strcat(datname, ".txt");
printf("\nDie Datei heisst \"%s",datname,"%c","\".");
DATEI = fopen(datname, "w");
printf("\n\nText: ");
gets(text);
fputs(text, DATEI);
fclose(DATEI);

break;
case 2:

printf("\n\n\nDer Text wird nun geoeffnet um ihn umzuschreiben.\n");
printf("Geben sie den Namen der datei ein: ");
gets(datname2);
DATEI = fopen(datname2, "r");
gets(output);
printf("%s", output);
fclose(DATEI);

DATEI = fopen(datname2, "a");
gets(text2);
fputs(text2, DATEI);
fclose(DATEI);
break;
}
printf("\n\n Wollen sie nochmal ja(1) nein(2)");
cin>>y;
}
while (y == 1);

}

Danke schon mal
 
Zurück