Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » in *.dat speichern

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
30.11.2006, 13:54 Uhr
~absoluter anfänger
Gast


hi
ich bin ein anfänger und habe in der schule folgende aufgaben bekommen:

ich soll ein ampel programm schreiben das beim ersten aufruf aus einer datei (ampel.dat) den zustand liest und dann wenn es der benutzer wünscht fortsetzt. allerdings habe ich das problem das in die datei immer nur null eingefügt wird, statt den zustand den ich möchte.

und des weiteren bin ich so ein anfänger das ich meinen quellcode nicht formatiert bekomme zumindest nicht so wie ihr. wie geht das??

#include <iostream.h>
#include <fstream>
#include <conio.h>



int main(int argc, char* argv[])
{
int aZustand;
char cabf;

cout<<"\nAmpelprogramm";

ifstream Ampeldatei;
Ampeldatei.open("Ampel.dat",ios_base::in);

if( Ampeldatei.good() )
{

switch(aZustand)
{
case 1:
cout<<"\n(X)";
cout<<"\n( )";
cout<<"\n( )";
cout<<"\n\nweiter(j/n)?";
cin>>cabf;
break;

case 2:
cout<<"\n(X)";
cout<<"\n(X)";
cout<<"\n( )";
cout<<"\n\nweiter(j/n)?";
cin>>cabf;
break;

case 3:
cout<<"\n( )";
cout<<"\n( )";
cout<<"\n(X)";
cout<<"\n\nweiter(j/n)?";
cin>>cabf;
break;

case 4:
cout<<"\n( )";
cout<<"\n(X)";
cout<<"\n( )";
cout<<"\n\nweiter(j/n)?";
cin>>cabf;
break;
}//switch
}//if

else
{
aZustand=1;
cout<<"\n(X)";
cout<<"\n( )";
cout<<"\n( )";
cout<<"\n\nweiter(j/n)?";
cin>>cabf;
}//else

clrscr();

do
{
switch(aZustand)
{
case 1:
aZustand=2;
cout<<"\n(X)";
cout<<"\n( )";
cout<<"\n( )";
cout<<"\n\nweiter(j/n)?";
cin>>cabf;
break;

case 2:
aZustand=3;
cout<<"\n(X)";
cout<<"\n(X)";
cout<<"\n( )";
cout<<"\n\nweiter(j/n)?";
cin>>cabf;
break;

case 3:
aZustand=4;
cout<<"\n( )";
cout<<"\n( )";
cout<<"\n(X)";
cout<<"\n\nweiter(j/n)?";
cin>>cabf;
break;

case 4:
aZustand=1;
cout<<"\n( )";
cout<<"\n(X)";
cout<<"\n( )";
cout<<"\n\nweiter(j/n)?";
cin>>cabf;
break;
}//switch

clrscr();
}//do

while(cabf=='j'||cabf=='J');
ofstream Ampeldatei2;
Ampeldatei2.open("Ampel.dat",ios_base::out);
Ampeldatei2<<aZustand;

getchar();
return 0;
}


danke für euere hilfe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
30.11.2006, 17:47 Uhr
BoBtheREapER
kein job für nen BoB


du musst vor return 0 noch AMpeldatei2.close() aufrufen, erst dann wird die datei geschrieben.
--
"Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir nicht ganz sicher." - Albert Einstein
www.blue-xenon.de.vu
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
30.11.2006, 18:43 Uhr
~absoluter anfänger
Gast


er respektier die funktion Ampeldatei2.close();
allerdings respektiert er troztdem nicht das etwas anderes reingeschrieben werden soll als null.
somit tut es damit leider keine veränderung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
30.11.2006, 22:44 Uhr
Blubber2063



Dir ist schon klar das du da keine Binär, sondern eine Textdatei schreibst ?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
01.12.2006, 15:18 Uhr
~absoluter anfänger
Gast


mein lehrer hat mir ein arbeitsblatt geben wo das genau so drauf steht wir mussten das nur abschreiben allerdings habe ich das nie so gelernt weil unserer früherer lehrer uns das anders beigebracht hat doch allerdings wird es nun so von uns verlangt.
aber es ist doch egal ob binär oder text eine zahl > 0 kann doch nie durch null dargestellt sein?
liegt der fehler da nicht woanders?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
01.12.2006, 16:09 Uhr
xXx
Devil


guck dir das File bitte mal mit nem Hexeditor an Naja ...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
01.12.2006, 21:12 Uhr
~absoluter anfänger
Gast


habe ich gemacht und der sagt mir das da 30 drin steht was null bedeutet aber eigentlich sollte da doch 31 oder 32 oder 33 oder 34 drin stehen, weil das doch die werte (1,2,3,4) sind die ich hinneingespeichert haben möchte.
ich versteh noch nicht genau was das mit meinem problem zu tun hat?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
01.12.2006, 21:25 Uhr
mischa
Fragender


ich hab mir mal dein prog mal angeschaut und mir ist aufgefallen das du ein
switch(aZustand) machst ohne vorher aZustand eingelesen zu haben!
--
Latein Unterricht ist die spätere Rache der Römer an den Germanen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
02.12.2006, 00:29 Uhr
Blubber2063



Nebenbei fällt mir grade auf das dein while Konstrukt gar nichts tut, oder in einer endlosschleife hängt, die Werte die du abfragst können sich ja nicht ändern.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
02.12.2006, 14:32 Uhr
~absoluter anfänger
Gast


stimmt ich muss noch Ampeldatei >> aZustand; abfragen bevor er ins switch geht.
meine do-while schleife funktioniert aber soweit er frägt nach jeder änderung

C++:
cout<<"\n\nweiter(j/n)?";
cin>>cabf;

und wenn man dies mit j anwortet geht die schleife weiter. also bis jetzt habe ich damit noch kein problem gehabt zumindest habe ich nix gemerkt.
allerdings weis ich immer noch nicht wieso er immer null hinein speichert kann mir das jemand sagen? trotzdem danke für das einlesen von aZustand.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: