Eine Frage....eine Anfängerfrage.....
-
Piotrek schrieb:
Ja, und was ist mit system("PAUSE") ?
Also statt system("PAUSE") könntest du auch einfach sowas schreiben
char a = 0; cin>>a;
somit hättest du das Programm auch angehalten. system() ist eine unschöne variante und glaub ich, auch noch plattformabhängig
Piotrek schrieb:
Und return 0 kommt doch nur bei Funktionen vor, hier hat es doch keine bedeutung, oder doch ?
Nein kommt es nicht. normalerweise sollte dein Hauptprogramm so aussehn
//hier wird ein Integer als Rückgabetyp verlangt und daher auch das "return 0" //int argc gibt die anzahl der Argumente wieder die sich in //char* argv[] befinden int main(int argc, char* argv[]) { return 0; }
Hoffe das hilft dir weiter
-
Das Return 0 muss aber nicht sein, laut Standard wird Return 0 angenommen,
wenn kein Rückgabewert angegeben ist.
-
Du meinst daß mit: void main(void) sich retutn0 erübrigen würde ?
Nochmals danke für eure Anregungen. Echt, ohne euch wäre ich verloren.....Also weiter posten. THX ! Aber kann mir jemand erklären warum mein Code nicht funzt ? Nochmal zu erinerung :#include <iostream.h> #include <stdlib.h> int main() { int abfrage_1 = 0; char eingabe_1[1], eingabe_2[1], text[1000]; cout << "Hallo !" << endl << "Dieses Programm ermoeglicht eine Texteingabe und anschliesend eine wiedergabe.\n"; //do // { cout << "\nIst ihr Text ein Einzeilentext oder ist er laenger als eine Zeile ?\n([k]urz / [l]ang) : "; cin >> eingabe_1[1]; // Mit cin >> eingabe_1; geht's nicht !?!? if ( eingabe_1[1] == 'k' || eingabe_1[1] == 'K' ) { cout << "\nBitte geben Sie den Text ein :\n\n"; cin >> text[1]; abfrage_1 = 1; } if ( eingabe_1[1] == 'l' || eingabe_1[1] == 'L' ) { cout << "\nBitte geben Sie den Text ein :\n\n"; cin.getline(text, 1000, '\n'); abfrage_1 = 1; } if ( abfrage_1 == 0 ) { cout << "Falsche Eingabe !\n"; } // } //while ( abfrage_1 != 1 ); cout << "Der Text wurde gespeichetr. Moechen Sie den Text anzeigen lassen ? (j/n) : "; cin >> eingabe_2; if ( eingabe_2[1] == 'j' || eingabe_2[1] == 'J' ) { cout << "Der eingegebene Text lautet : \n"<< text[1000]; } system ("PAUSE"); }
-
ohne return 0; gibt der MSVC++ (Vers. 6) keine 0 an das OS zurück, kann man via Debugger überprüfen. Daher sollte diese Zeile sein.
-
Aja, verstehe ich. Ich benutze Borlands C++ und komme ohne return o; gut aus.
Danke !
-
Immer schön portabel bleiben, und bitte keine Vorurteile.
-
#include <iostream.h> #include <stdlib.h> int main() { int abfrage_1 = 0; char eingabe_1[1], eingabe_2[1], text[1000];//eingabe_1 und 2 sind ein Array der Grösse von 1 Feld cout << "Hallo !" << endl << "Dieses Programm ermoeglicht eine Texteingabe und anschliesend eine wiedergabe.\n"; //do // { cout << "\nIst ihr Text ein Einzeilentext oder ist er laenger als eine Zeile ?\n([k]urz / [l]ang) : "; //eingabe_1[1] hasst du nicht deklariert es gibt nur eingabe_1[0] cin >> eingabe_1[1]; // Mit cin >> eingabe_1; geht's nicht weil eingabe_1 ein Zeiger auf eingabe[0] ist. //Deine nächsten ifs müssten sich dann auf eingabe_1[0] beziehen. if ( eingabe_1[1] == 'k' || eingabe_1[1] == 'K' ) { cout << "\nBitte geben Sie den Text ein :\n\n"; cin >> text[1]; abfrage_1 = 1; } if ( eingabe_1[1] == 'l' || eingabe_1[1] == 'L' ) { cout << "\nBitte geben Sie den Text ein :\n\n"; cin.getline(text, 1000, '\n'); abfrage_1 = 1; } if ( abfrage_1 == 0 ) { cout << "Falsche Eingabe !\n"; } // } //while ( abfrage_1 != 1 ); cout << "Der Text wurde gespeichetr. Moechen Sie den Text anzeigen lassen ? (j/n) : "; //Das nächste cin wird "übergangen".Der Eingabepuffer ist nicht leer(durch deinen anderen cin) //cin.ignore(cin.rdbuf()->in_avail()) löscht den Eingabepuffermüll; cin >> eingabe_2;//Das ist ein Zeiger auf das Char Array eingabe_2[0] cout << eingabe_2; if ( eingabe_2[1] == 'j' || eingabe_2[1] == 'J' ) { cout << "Der eingegebene Text lautet : \n"<< text[1000]; } system ("PAUSE");//Ist Plattformabhängig //wenn dir das egal ist und du sowieso nur den Borland nimmst kannst du auch getch() nehmen. }
-
Danke Nothelfer, aber ich glaube ich müsste mich noch bissle mit einem c++ Buch beschäftigen....... Trotzdem Danke ! Cu.
-
Piotrek schrieb:
vollgendes
OH MEIN GOTT!!! DIE WELT IST KRANK!!!
wie kann man ein wort nur SO FALSCH schreiben???
-
Piotrek schrieb:
vollgendes
OH MEIN GOTT!!! DIE WELT IST KRANK!!!
wie kann man ein wort nur SO FALSCH schreiben???
-
Oh mein Gott, wie kann man nur zweimal hintereinander posten ?
-