Problem mit Menü / Frage zu Menü
-
Hi,
als erstes möchte ich mich entschuldigen falls ich hier falsch bin aber ich denke ich bin hier richtig.^^
Also folgendes:
Habe ein Programm geschrieben (in C++) was auch soweit funktioniert. Nun möchte ich es mit mehr Funktionen ausstatten und dachte daher an ein Menü wo man auswählen kann was man machen möchte.
So, hab da also mein Menü so eingefügt nur bekomme ich nun folgenden Kompilierungsfehler - Kompilierer ist übrigens Dev C++ :
http://img413.imageshack.us/my.php?image=cfehler.jpg]
Folgenden Code habe ich (erste 8 Zeilen - falls ihr den kompletten braucht einfach nur Bescheid geben ;)):
#include<iostream> #include<fstream> #include<string> using namespace std; void main(void) int main; }Wäre echt toll wenn ihr mir helfen könntet.

Danke schonmal.

Gruß
Timbot
-
void main(void) int main; }Was willst du damit bezwecken?
mainhat den Rückgabetypenint. Und wähle bitte intelligentere Variablennamen (unter der Annahme, dassint main;eine Variablendeklaration sein soll).Übrigens: Wirf Dev-C++ weg und steig auf eine aktuelle IDE um, an der auch noch gearbeitet wird. Zum Beispiel Code::Blocks oder Microsoft Visual C++ Express.
-
mh okay, danke für die schnelle antwort.
ich denke das mit dem Menü was ich machen wollte is doof.
frag ich einfach mal anderster:
Nun möchte ich für mein späteres programm ein menü schreiben so wie in diesem Taschenrechner hier:
//Eigenr Rechner2.cpp #include <iostream> #include <math.h> usingnamespace std; int main() { cout << "\n\t<Taschenrechner by Morbid> " << "\n\t(1) Addieren" << "\n\t(2) Subtrahieren" << "\n\t(3) Multiplizieren << "n\t\(4) Dividieren" << "n\t\(5) Potenz" << "n\t\(6) Wurzel" << "n\t<-----------------------------------> cin >> i; return i; } int main() { bool quit=false; int schluss; long double a, b; inz aus=menu(); do { switch (aus) { case 1: case 2: case 3: case 4: cout << "\n\n\t Bitte erste zurechnende Zahl eingeben!"; cin >> a; cout << "\n\n\t Bitte zweite Zahl eingeben!"; cin >> b; switch(aus) { case 1: cout << "\n\t" << a << " + " << b << "=" << a+b << endl; break; case 2: cout << "\n\t" << a << "-" << b << "=" << a-b << endl; break; case 3: cout << "\n\t" << a << "*" << b << "=" << a*b << endl; break; case 4: cout << "n\t\" << a << "/" << b << "=" << a/b << endl; break; } quit=true; break; case5: case6: cout << "\n\n\t Bitte die zurechnende Zahl eingeben!" cin >> a; switch (aus) { case 5: cout << "n\t" << a << zum quatrat ist" << "="<< a*a <<endl; break; case 6: cout << "n\t Die Wurzel von " << a << "=" << sqrt (a) << endl; break; } quit=true; break; default: cout << "\n\t Falsche Eingabe"; break; } }while (!quit); cout << "\n\t Beliebige Taste zum Beenden"; cin >> schluss; return 0; }Also ich möchte das dieser Teil meines Programms (
#include<iostream> #include<fstream> #include<string> using namespace std; int main() { ifstream file("C:\\UploadHelper.bat"); std::string buffer; getline(file,buffer); cout << buffer << endl; file.close(); using namespace std; string ISO_Dateipfad; cout<<"ISO Dateipfad angeben !"<<endl<<endl; getline(cin,ISO_Dateipfad); ofstream File("C:\\UploadHelper.bat"); cout.rdbuf(File.rdbuf()); cout <<"cd Programme" <<endl; cout <<"cd uharc" <<endl; cout <<"UHARC a -r- -ed- -p- -m3 -mm+ -md+ -md4096 -b1024 -sfx C:\\frap " << ISO_Dateipfad <<endl; cout <<"cd .."<<endl; cout <<"cd rar"<<endl; cout << "rar32 a -rr -sfx -s -v100m -hp[p] -m5 -ep -pxx C:\\test.rar C:\\frap.exe"<<endl; cout <<"exit"<<endl; system("PAUSE"); return 0; }) Case 1 ist, also wenn ich im Menü 1 eingebe das er das dann macht. xD
Könnt ihr mir dabei helfen? Ich kann C++ noch nicht so wirklich.

-
Timbot schrieb:
Könnt ihr mir dabei helfen? Ich kann C++ noch nicht so wirklich.

Vielleicht solltest du auch nicht Code zusammenkopieren, sondern ein gutes Einsteigerbuch lesen.

Schreibe eine Funktion, in der du die gewünschten Aktionen durchführen willst. Dann rufst du diese Funktion unter
case 1:auf.Aber dein Code sieht momentan ziemlich schlimm aus. Du könntest damit anfangen, konsistent einzurücken und Teilprobleme in Funktionen auszulagern, sodass einzelne Funktionen nur noch wenige Zeilen lang sind.
-
Weiterhin muss gesagt werden, das es im gesamten Programm immer nur eine
int main() gibt, das ist der Einstiegspunkt für das Programm.Du kannst also nicht alle Funktionenint main()nennen.
-
Da sind auf jeden Fall ein ganzer Stapel Probleme die zeigen, dass der Code nur zusammenkopiert sein kann und du im Grunde so gut wie garnicht verstehst was da vor sich geht, geschweige denn dass du weißt wie du deine Ziele erreichen kannst.
Wir können dir allerdings nur helfen, wenn du auch verstehst was wir dir sagen (dir einfach Code vor die Nase zu setzen der funktioniert hilft dir nicht und ist nicht Sinn dieses Forums). Und um das zu verstehen ist es dringend nötig dass du dir ein gutes Tutorial und/oder Buch nimmst und es durcharbeitest.