![]() |
grad hab ich gesehn... ich hab den pfad sowieso als string eingelesen, sollte eigentlich kein problem sein, ises aber !
Hier ist der ganze Teil: printf("Hier koennen Sie einen Kontoauszug drucken.\nGeben Sie den Pfad an, in dem der Kontoauszug\ngespeichert werden soll(z.B. C://...+ auszug.txt): "); scanf("%s",& k.path); konto=fopen(k.path,"r"); fscanf(konto, "%lf",& k.kost); fclose(konto); auszug=fopen("k.path","w"); fprintf(auszug,"Ihr Kontostand betraegt: %lf Euro",k.kost); fclose(auszug); printf("Ihr Kontoauszug wurde erfolgreich erstellt !"); Sleep(2000);break; kanns daran liegen, dass alle deklarationen in einer struktur sind?? instanz ist natürlich vorhanden (k.path...) PS: das ganze soll ein Bankomat sein :lol: |
das darf nichts ausmachen, ob die variablen in einer struktur sind oder nicht. du hast bei auszug=fopen("k.path") als string drinnen stehn. kein wunder, dass er dir eine datei mit namen k.path im aktuellen verzeichnis anlegt. nimm einfach die anführungszeichen weg. dann sollts funktionieren
|
jetz gehts auf einmal...
dabei hab ich das schon vorher mal umgeändert, da ises nciht gegangen ! trotzdem danke !! hast du jetz ICQ/MSN? will mich ja nicht aufdrängen, is ein angebot :) |
thx! stimmt das so? (ich frag nur weil ich sowas komplexes noch nie gsehn hab :eek:)
Code:
case 02: |
schaut vernünftig aus
|
tschuldige. stimmt leider doch nicht.
wenn du die funktion istSchaltjahr definierst, brauchst du nachher ind er if abfrage nur mehr zu schreiben: if (istSchaltjahr(irgendeine variable)) { max_tage=29; } else { max_tage=28; } die funktion istSchaltjahr sollte so ausschaun: bool istSchaltjahr(int jahr) { bool schaltjahr=false; if(jahr%4==0) { schaltjahr=true; if(jahr%100==0) { schaltjahr=false; if(jahr%400==0) { schaltjahr=true; }; }; }; return schaltjahr; } wobei du in ansi c keinen datentyp bool hast. du kannst aber ohne probleme unsigned short verwenden, oder dir einen bool typ erzeugen. wen du unsigned shorts verwendest, musst du statt true und false 1 und 0 schreiben. es sei denn du hast das irgendwo als define stehn. jetzt sollts aber wirklich funktionieren |
ein schaltjahr iss durch 4 teilbar, also was hat der code bitte für einen sinn:
if(jahr%400==0) return true; if(jahr%100==0) return false; if(jahr% 4==0) return true; return false; es reicht doch, wenn du nur folgendes stattdessen schreibst: if(jahr% 4==0) return true; return false; oder hab ich da etwas missverstanden? |
da hast leider was mißverstanden, weil alle 100 jahre kein schaltjahr, alle 400 jahre aber doch wieder ein schalt jahr ist. klingt komisch - is aber so
|
was echt? mein allgemeinwissen lässt anscheinend wirklich zu wünschen übrig...g*...hab auch einen link gefunden mit den hintergründen des schaltjahres inkl. VB-Code....http://vb-tec.de/schltjhr.htm
|
Zitat:
char irgendwas[200]; scanf("%s", irgendwas); Ein String ist ein (char *) bzw. (char []) und gilt bereits als Adresse. |
Alle Zeitangaben in WEZ +2. Es ist jetzt 20:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag