Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » rechnen, speichern, auslesen, vergleichen

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 ] > 3 < [ 4 ] [ 5 ] [ 6 ]
020
25.07.2004, 00:01 Uhr
~Nachtträumer
Gast


OK @ invalid


Um den aktuellen stand hier zu posten:


Code:

// 12345.cpp : neue Datei - Definiert den Einsprungpunkt für die Konsolenanwendung.
//

#include <iostream>
#include <fstream>


int main(int argc, char* argv[])
{
    unsigned long int l_endzahl;
    unsigned long int l_checkzahl = 2;
    unsigned long int l_checkzahl_tmp;
    unsigned long int l_i;

    cout << "Bitte letzte zu testende Zahl eingeben: ";
    cin >> l_endzahl;

char write;
char read;

    for(int j=2;j<=5;j++)                // willst doch mit 2, 3,4 ,5 multiplizieren
    {    
        ofstream write("test.txt");
        const char delim ='x';
        write<<l_checkzahl_tmp*j<<delim;        //checkzahl is nun schon multipliziert
                                            /* in datei wird produkt geschrieben dann ein trennzeichen kannst ja delim auch " " machen wenn du willst*/
        l_checkzahl_tmp=l_checkzahl;                 /* wird wieder auf eins gesetzt damit nächste multi mit write gemacht werden kann sonst würde es ja dann z.b bei *3  (2*3 heissen ) also auf 1 zurücksetzten */
    }

    // dann kannste read so anfangen ->

    read.getline(char* s,int _n,cahr delim);
    while(read.getline(read_from_file,sizeof(read_from_file)/sizeof(char),delim))
    /* getline liesst in dass array "read_from_file" bis zum nächsten "delim" */
    {

        l_checkzahl_tmp=atoi(read_from_file);
        /* checkzahl _tmp bekommt den int aus der datei weil wir aber in nen array lesen müssen
        wir mittels atoi in nen int wandeln ..nun kannste mit checkzahl_tmp weitermachten
        z.b mit dem wert von checkzahl vergleichen oder sonst was */

        cout << checkzahl_tmp;        
        // wird die datei jetzt solange gelesen bist sie zu ende ist?
        //z. B. in der datei stehen die zahlen 1,2,3,4,5,6,7 die müssten ja dann mit cout alle ausgegeben werden?
    }
return 0;
}



Klappt schon ganz gut, aber wenn ich die stafx.h rausnehm kommen ne menge fehler.


Ich glaub aber nich das das nen fehler im code ist. Es ist wahrscheinlich mehr so ein generelles problem. Bis heut morgen dachte ich z.b. das c++ = c++ ist und es keinen unterschied zwischen den einzelnen sachen gibt (visual, ansi). Könnte doch daran liegen das ich das mit visual c++ mach? Was ist der unterschied ansi? Nich schalgen!

Gleich noch ne frage hinterher: was muss ich machen damit die sache läuft?

Mit visual erstell ich ne konsolenanwendung und las dann nen leeres projekt erstellen, wo ich diesen quellcode einfüg. Aber ohne stafx.h kommen massig fehler. Liegt warscheinlich daran das ansi und vc zwei verschiedene welten sind
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
021
25.07.2004, 00:19 Uhr
invalid_username



ersmal solltest du vor der main

C++:
#include <iostream>
#include <fstream
//und ja nicht folgendes vergessen
using namespace std; // sonst kennt der alles nicht so wie cin ,cout usw


..wie isses denn nun ???
ausserdem

C++:
char write;
char read;


muss wech sonst haste den namen ja 2 mal die sind falsch und brachst du auch nicht
--
((void)*)0

Dieser Post wurde am 25.07.2004 um 00:22 Uhr von invalid_username editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
022
25.07.2004, 00:30 Uhr
~Nachtträumer
Gast


Ja hat funktioniert, jetzt hab ich nur noch 8 fehler

warum kennt er denn read auf einmal nicht mehr? Das find ich sehr ominös.

Was vorher stimmte geht auf einmal nicht mehr



Code:

C:\Programme\Microsoft Visual Studio\MyProjects\tttt\zzz\zzz.cpp(30) : error C2065: 'read' : nichtdeklarierter Bezeichner
C:\Programme\Microsoft Visual Studio\MyProjects\tttt\zzz\zzz.cpp(30) : error C2228: Der linke Teil von '.getline' muss eine Klasse/Struktur/Union sein
C:\Programme\Microsoft Visual Studio\MyProjects\tttt\zzz\zzz.cpp(30) : error C2144: Syntaxfehler : Fehlendes ')' vor Typ 'char'
C:\Programme\Microsoft Visual Studio\MyProjects\tttt\zzz\zzz.cpp(30) : error C2059: Syntaxfehler : ')'
C:\Programme\Microsoft Visual Studio\MyProjects\tttt\zzz\zzz.cpp(31) : error C2228: Der linke Teil von '.getline' muss eine Klasse/Struktur/Union sein
C:\Programme\Microsoft Visual Studio\MyProjects\tttt\zzz\zzz.cpp(31) : error C2065: 'read_from_file' : nichtdeklarierter Bezeichner
C:\Programme\Microsoft Visual Studio\MyProjects\tttt\zzz\zzz.cpp(31) : error C2065: 'delim' : nichtdeklarierter Bezeichner
C:\Programme\Microsoft Visual Studio\MyProjects\tttt\zzz\zzz.cpp(31) : fatal error C1903: Weiterverarbeitung nach vorhergehendem Fehler nicht moeglich; Kompilierung wird abgebrochen.
Fehler beim Ausführen von cl.exe.

zzz.exe - 8 Fehler, 0 Warnung(en)




PS.: Danke für die mühe

Wie lange machst du das eigentlich schon? Ich mein programmieren?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
023
25.07.2004, 00:47 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


man du bist ja echt ne harte nuss
ungetestet so ins forum gehackt

C++:
#include <iostream>
#include <fstream>
using namespace std;

int main(int argc, char* argv[])
{
    unsigned long int l_endzahl;
    unsigned long int l_checkzahl = 2;
    unsigned long int l_checkzahl_tmp;
    unsigned long int l_i;

    cout << "Bitte letzte zu testende Zahl eingeben: ";
    cin >> l_endzahl;
    ofstream write("test.txt");  //die datei nicht innerhalb der schleife öffnen...


    for(int j=2;j<=5;j++)
    {    
        const char delim ='x';
        write<<l_checkzahl_tmp*j<<delim;
                                          
        l_checkzahl_tmp=l_checkzahl;//das kannst du dir sparen
}

//so hier ist schreiben fertig erstmal die datei schliessen
write.close();

    // dann kannste read so anfangen ->
//bevor du lesen kannst die datei erst zum lesen öffnen

.
.
.
return 0;
}



du solltest dir mal dringend gedanken machen was du eigentlich machen willst und erstmal kleinere teile schreiben und die zum funktionieren bringen bevor du alles zusammenpappst ohne zu wisssen was du da überhaupt machst... dann suchst du dich tot nach fehlern...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
024
25.07.2004, 01:15 Uhr
~Nachtträumer
Gast


Ja aber warum muss ich die datei schließen wenn der nächste befehl read ist?


Code:

    for(int j=2;j<=5;j++)                //mit 2, 3,4 ,5 multiplizieren
    {
        //in die datei schreiben
        
        const char delim ='x';
        write<<l_checkzahl_tmp*j<<delim;        //checkzahl is nun schon multipliziert
    }//for schreiben ende
        //die datei schliessen
        write.close();

        //aus datei lesen
        read.getline(char* s,int _n,char delim);
        while(read.getline(read_from_file,sizeof(read_from_file)/sizeof(char),delim))
        /* getline liesst in dass array "read_from_file" bis zum nächsten "delim" */
    {




Und hat die fehlermeldung

Code:

:\Programme\Microsoft Visual Studio\MyProjects\tttt\zzz\zzz.cpp(33) : error C2065: 'read' : nichtdeklarierter Bezeichner

irgendwas mit den includedatein zu tun?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
025
25.07.2004, 01:20 Uhr
invalid_username




C++:
for(int j=2;j<=5;j++)                //mit 2, 3,4 ,5 multiplizieren
    {
        //in die datei schreiben
        
        const char delim ='x';
        write<<l_checkzahl_tmp*j<<delim;        //checkzahl is nun schon multipliziert
    }//for schreiben ende
        //die datei schliessen
        write.close();

        //aus datei lesen
        read.getline(char* s,int _n,char delim);
        while(read.getline(read_from_file,sizeof(read_from_file)/sizeof(char),delim))
        /* getline liesst in dass array "read_from_file" bis zum nächsten "delim" */
    {


du sollst ofstream write (...) machen
schreiben
write.close();
dann ifstream read (....)
lesen
read.close ...

denke mal so meinte es windalf oder ???
musst doch schreiben und dann lesen ....
ps nimm mal nicht die code tags sondern cpp
--
((void)*)0

Dieser Post wurde am 25.07.2004 um 01:21 Uhr von invalid_username editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
026
25.07.2004, 01:41 Uhr
~Nachtträumer
Gast


Meinst du so?

C++:
// 12345.cpp : neue Datei - Definiert den Einsprungpunkt für die Konsolenanwendung.
//

#include <iostream>
#include <fstream>
using namespace std;

int main(int argc, char* argv[])
{
    unsigned long int l_endzahl;
    unsigned long int l_checkzahl = 2;
    unsigned long int l_checkzahl_tmp;

    cout << "Bitte letzte zu testende Zahl eingeben: ";
    cin >> l_endzahl;

    ofstream write("trash.txt");            //datei öffnen

/*kommender code
    //testen ob checkzahl schon in der trash.txt steht
    for(l_checkzahl == ???)
    {//wenn ja mach das:
        l_checkzahl++;
    }
*/



    for(int j=2;j<=5;j++)                //mit 2, 3,4 ,5 multiplizieren
    {
        //in die datei schreiben
        
        const char delim ='x';
        write<<l_checkzahl_tmp*j<<delim;        //checkzahl is nun schon multipliziert
    }//for schreiben ende

        write.close();                    //die datei schliessen
        ifstream read("trash.txt");    //datei öffnen
        //aus datei lesen
/////Fehler
        read.getline(char* s,int _n,char delim);//<<<<<<< hier gibs den fehler
        while(read.getline(read_from_file,sizeof(read_from_file)/sizeof(char),delim))
        /* getline liesst in dass array "read_from_file" bis zum nächsten "delim" */
    {
        l_checkzahl_tmp=atoi(read_from_file);
        /* checkzahl _tmp bekommt den int aus der datei weil wir aber in nen array lesen müssen
        wir mittels atoi in nen int wandeln ..nun kannste mit checkzahl_tmp weitermachten
        z.b mit dem wert von checkzahl vergleichen oder sonst was */


        cout << checkzahl_tmp;        //kontrollausgabe
        }//while lesen ende
read.close();//Datei schließen
return 0;
}



Da bekomm ich folgenden fehler wenn ich das so mache.

Code:

C:\Programme\Microsoft Visual Studio\MyProjects\tttt\zzz\zzz.cpp(39) : error C2144: Syntaxfehler : Fehlendes ')' vor Typ 'char'



Das mit dem schreiben und dann lesen hab ich jetzt auch verstanden
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
027
25.07.2004, 02:06 Uhr
invalid_username



nein !!!!
const char delim ='x';// bitte zu den anderen deklarationen am anfang des progs
sonst deklarierst du bei jedem schlefen durchlauf...
so dann->read.getline(char* s,int _n,char delim);//<<<<<<< hier gibs den fehler
dass sollst du doch nicht schreiben dass ist die allgemeine form für dass was in der while bedingung steht.. war nur ein bsp..damit du dass auch verstehst!!!


cout<< checkzahl_tmp // hast du ja nicht der heiess bei dia l_checkzahl

mach noch mal nen getchar();
in der reihe über return 0;
damit du auch lesen kannst .. sonst ist die konsole gleich wieder zu ...
auch wenns bei der kompilierung mit ms vc++ noch geht aber nicht mehr beim ausführen
..
hast auch char read_from_file[20]; vergessen
und l_checkzahl ist 1 und nicht 2 !!!
ausserdem musst du auch l_checkzahl_tmp initialisieren ....
sonst hast du doch in der ersten write ne undefinierte zahl *j
--> also unsigned long l_checkzahl_tmp= l_checkzahl; gleich an den anfang
und nicht noch mal nen long int kram bitte ----long ist mehr als genug ...

ausserdem solltest du cout<<l_checkzahl_tmp<<" "; schreiben damit du auch nen abstand hast

nun müsste es soweit laufen




--
((void)*)0

Dieser Post wurde am 25.07.2004 um 02:17 Uhr von invalid_username editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
028
25.07.2004, 02:22 Uhr
invalid_username



also bisher sollte es wie folgt aussehen

C++:
#include <iostream>
#include <fstream>
using namespace std;

int main(int argc, char* argv[])
{
    unsigned long l_endzahl;
    unsigned long l_checkzahl = 1;
    unsigned long l_checkzahl_tmp=l_checkzahl;
    const char delim ='x';
    char read_from_file[20];
    cout << "Bitte letzte zu testende Zahl eingeben: ";
    cin >> l_endzahl;

    ofstream write("trash.txt");            //datei öffnen

/*kommender code
    //testen ob checkzahl schon in der trash.txt steht
    for(l_checkzahl == ???)
    {//wenn ja mach das:
        l_checkzahl++;
    }
*/



    for(int j=2;j<=5;j++)                //mit 2, 3,4 ,5 multiplizieren
    {
        //in die datei schreiben
        write<<l_checkzahl_tmp*j<<delim;
        l_checkzahl_tmp=l_checkzahl;
                //checkzahl is nun schon multipliziert
    }//for schreiben ende

        write.close();                    //die datei schliessen
        ifstream read("trash.txt");    //datei öffnen
        //aus datei lesen
/////Fehler
     //   read.getline(char* s,int _n,char delim);//<<<<<<< hier gibs den fehler
        while(read.getline(read_from_file,sizeof(read_from_file)/sizeof(char),delim))
        /* getline liesst in dass array "read_from_file" bis zum nächsten "delim" */
    {
        l_checkzahl_tmp=atoi(read_from_file);
        /* checkzahl _tmp bekommt den int aus der datei weil wir aber in nen array lesen müssen
        wir mittels atoi in nen int wandeln ..nun kannste mit checkzahl_tmp weitermachten
        z.b mit dem wert von checkzahl vergleichen oder sonst was */


        cout << l_checkzahl_tmp<<" ";        //kontrollausgabe
        }//while lesen ende
read.close();//Datei schließen


getchar();
return 0;
}


viel spass beim weitermachen
aber ich möchte mich windalf anschliessen und fragen ob du dich nicht überfordest ich meine was hast du denn schon so gemacht ??? ist nicht böse gemeint aber man sollte klein anfangen aber dass könenn wir ja noch zu ende bringen aber du solltest dir echt die grndlagen ansehen
--
((void)*)0
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
029
25.07.2004, 02:47 Uhr
~Nachtträumer
Gast


Ja meiner sieht so ähnlich aus.

C++:
// 12345.cpp : neue Datei - Definiert den Einsprungpunkt für die Konsolenanwendung.
//

#include <iostream>
#include <fstream>
using namespace std;

int main(int argc, char* argv[])
{
    unsigned long l_endzahl;
    unsigned long l_checkzahl = 1;
    unsigned long l_checkzahl_tmp = l_checkzahl;
    const char delim ='x';

    cout << "Bitte letzte zu testende Zahl eingeben: ";
    cin >> l_endzahl;    

/*kommender code
    //testen ob checkzahl schon in der trash.txt steht
    
    if(l_checkzahl == ???)
    {//wenn ja mach das:
        l_checkzahl++;
        //goto anfang von if und prüfe wieder
    }
    else
    {
        ofstream write("ok.txt");        //datei öffnen
        //checkzahl in ok.txt schreiben
        write<<l_checkzahl<<delim;
        //goto anfang von if und prüfe wieder
    }

ende kommender code*/


    ofstream write("trash.txt", ios::app);        //datei öffnen
    for(int j=2;j<=5;j++)                //checkzahl is nun schon multipliziert
    {
        //in die datei schreiben
        write<<l_checkzahl_tmp*j<<delim;
    }//for schreiben ende

        write.close();        //die datei schliessen

        char read_from_file[20];
        ifstream read("trash.txt");    //datei öffnen
        //aus datei lesen
        while(read.getline(read_from_file,sizeof(read_from_file)/sizeof(char),delim))
        /* getline liesst in dass array "read_from_file" bis zum nächsten "delim" */
    {
        l_checkzahl_tmp=atoi(read_from_file);
        /* checkzahl _tmp bekommt den int aus der datei weil wir aber in nen array lesen müssen
        wir mittels atoi in nen int wandeln ..nun kannste mit checkzahl_tmp weitermachten
        z.b mit dem wert von checkzahl vergleichen oder sonst was */


        cout << l_checkzahl_tmp << " ";        //kontrollausgabe
        }//while lesen ende
        read.close ();
getchar();
return 0;
}



Ihr habt recht, aber ich möchte dieses prog. irgendwie fertig bekommen. Ich muss damit was wichtiges testen. Kann wegen der zu testenden sache nich mehr viel schlafen, weil mir zu viele zahlen im kopf rumschwirren. Da dachte ich mir mit so einem programm könnt ich das beenden, wenn ich klarheit bekomm.

Ausserdem find ich den spruch "learning by doing" recht zutreffend für mich

Ich wünsche euch eine schöne restnacht. Ich werd erstmal ins bett, weil ich sonst kein ende find

Danke für die hilfe.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] [ 2 ] > 3 < [ 4 ] [ 5 ] [ 6 ]     [ C / C++ (ANSI-Standard) ]  


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: