Was ist daran falsch?
-
#include <cstdlib>
#include <iostream>using namespace std;
int main()
{
//Variablendeklaration
double geschw = 0.0000 ;
double anweg = 0.0000 ;
double reakweg = 0.0000 ;
double bremweg = 0.0000 ;
string auswahl = " " ;
bool wiederholen = true ;
//Eingabe
while (wiederholen == true)
cout << "" << endl;Berechnung des Anhalteweges
cout << endl << endl;
cout << "Mit diesem Programm kannst du deinen Anhalteweg errechnen." << endl;
cout << endl << endl;
cout << "Gib jetzt deine Geschwindigkeit an." << endl;
cout << endl << endl;
cin >> geschw;
//Verarbeitung
bremweg = ((geschw / 10 ) * (geschw / 10)) / 2 ;
reakweg = (geschw / 10) * 3 ;
anweg = bremweg + reakweg ;
cout << endl << endl;
//Ausgabe
cout << "Dein Anhalteweg ist " << anweg << " Meter." << endl;
cout << endl << endl;//
Abbruch
cout << " Moechten Sie noch eine Rechnnung durchfuehren? (Ja) ";
cout << endl << endl;
cin >> auswahl;
if ((auswahl == "JA") || (auswahl == "Ja") || (auswahl == "J") ||
(auswahl == "jA") || (auswahl == "ja") || (auswahl == "j"))
{
wiederholen = true;
}}
wenn ich das complimiere dann bekomm ich diese meldungen
multiple definition of `main'
first defined here
ld returned 1 exit status
C:... \Documents\Programmierung\While (anhalteweg)\Makefile.win [Build Error] ["While] Error 1Ps: wie kann ich das so aussehen lassen wie in der programmerstellung das zb die kommentare usw farbig sind?
danke im vorraus
-
ok ich weiß es glaub ich die auswahl darf kein string sein oder?
-
#include <cstdlib> #include <iostream> using namespace std; int main() { //~~~~~~~~~~~~~~~~~~~~Variablendeklaration~~~~~~~~~~~~~~~~~~~~ double geschw = 0.0000 ; double anweg = 0.0000 ; double reakweg = 0.0000 ; double bremweg = 0.0000 ; string auswahl = " " ; bool wiederholen = true ; //~~~~~~~~~~~~~~~~~~~~Eingabe~~~~~~~~~~~~~~~~~~~~ while (wiederholen == true) cout << "~~~~~~~~~~Berechnung des Anhalteweges~~~~~~~~~~" << endl; cout << endl << endl; cout << "Mit diesem Programm kannst du deinen Anhalteweg errechnen." << endl; cout << endl << endl; cout << "Gib jetzt deine Geschwindigkeit an." << endl; cout << endl << endl; cin >> geschw; //~~~~~~~~~~~~~~~~~~~~Verarbeitung~~~~~~~~~~~~~~~~~~~~ bremweg = ((geschw / 10 ) * (geschw / 10)) / 2 ; reakweg = (geschw / 10) * 3 ; anweg = bremweg + reakweg ; cout << endl << endl; //~~~~~~~~~~~~~~~~~~~~Ausgabe~~~~~~~~~~~~~~~~~~~~ cout << "Dein Anhalteweg ist " << anweg << " Meter." << endl; cout << endl << endl; //~~~~~~~~~~~~~~~~~~~~Abbruch~~~~~~~~~~~~~~~~~~~~ cout << " Moechten Sie noch eine Rechnnung durchfuehren? (Ja) "; cout << endl << endl; cin >> auswahl; if ((auswahl == "JA") || (auswahl == "Ja") || (auswahl == "J") || (auswahl == "jA") || (auswahl == "ja") || (auswahl == "j")) { wiederholen = true; } }und wie wir sehen läuft hier einiges schief. bei deiner while schleife fehlen geschweifte klammern, nicht dass es den compiler stören würde, aber es hat einen anderen effekt als du denkst

am ende fehlt ein return 0; und für std::string brauchst du den header string und nicht cstdlibaber ansonsten sieht der code halbwegs ok aus, rein syntaktisch betrachtet natürlich
und die fehlermeldung sagt was ganz adneres als du in deinem 2. post anmaßt. kann es sein dass du uns etwas quellcode verheimlichst? so wie du es hier geschrieben hast, hast du eine main funktion definiert, da sollte eig kein std konformer compiler meckern von wegen multiple definition...
-
benutze Dev-C++ und wenn man da ein Projekt erstellt, dann wird das:
#include <cstdlib>
#include <iostream>using namespace std;
automatisch erstellt.
noch was bin eigentlich noch blutiger anfänger und lerne halt alles in der schule also ich kann nciht wirklich was mit den fachbegriffen was anfangen also sry aber "header string und nicht cstdlib" sagt mir nichts^^
aber quellcode verheimliche ich nicht
-
DerEineTyp schrieb:
benutze Dev-C++ und wenn man da ein Projekt erstellt, dann wird das:
#include <cstdlib>
#include <iostream>using namespace std;
automatisch erstellt.
noch was bin eigentlich noch blutiger anfänger und lerne halt alles in der schule also ich kann nciht wirklich was mit den fachbegriffen was anfangen also sry aber "header string und nicht cstdlib" sagt mir nichts^^
aber quellcode verheimliche ich nicht
über #include <header> inkuldierst du header dateien. und du sollst nicht #include <cstdlib> nehmen, sondern #include <string>
-
danke an euch beiden aber das hat nicht wirklich was genützt.
hab den header geändert, die geschweiften klammern und return 0 geschrieben.funktioniert immer noch nicht
immer noch die gleichen meldungenmultiple definition of
main' first defined here multiple definition ofmain'
first defined here
ld returned 1 exit status
C:... \Documents\Programmierung\While (anhalteweg)\Makefile.win [Build Error] ["While] Error 1
-
Gib mal deinen Quellcode und bitte mit CodeTags. Unter der Eingabe für Nachrichten steht C/C++ dazwischen
-
Steht doch da. Du hast in deinem Projekt vermutlich mehrere .cpp Dateien mit main-Funktionen. Das funktioniert so nicht.
-
zuckerlie schrieb:
Gib mal deinen Quellcode und bitte mit CodeTags. Unter der Eingabe für Nachrichten steht C/C++ dazwischen
sry aber hab keine ahnung was du von mir willst^^
das hier vllt?
Compiler: Default compiler
Building Makefile: "C:... \Documents\Programmierung\While (anhalteweg)\Makefile.win"
Führt make... aus
make.exe -f "C:... \Documents\Programmierung\While (anhalteweg)\Makefile.win" all
g++.exe -c While.cpp -o While.o -I"C:/Dev/bloodshed/lib/gcc/mingw32/3.4.2/include" -I"C:/Dev/bloodshed/include/c++/3.4.2/backward" -I"C:/Dev/bloodshed/include/c++/3.4.2/mingw32" -I"C:/Dev/bloodshed/include/c++/3.4.2" -I"C:/Dev/bloodshed/include"g++.exe While.o ../Anhalteweg/main.o ../Umrechner/Umwandeln.o -o "While Schleife.exe" -L"C:/Dev/bloodshed/lib"
../Anhalteweg/main.o(.text+0x100):main.cpp: multiple definition of
main' While.o(.text+0x100):While.cpp: first defined here ../Umrechner/Umwandeln.o(.text+0x100):Umwandeln.cpp: multiple definition ofmain'
While.o(.text+0x100):While.cpp: first defined here
collect2: ld returned 1 exit statusmake.exe: *** ["While] Error 1
Ausführung beendet
-
Du linkst zwei Dateien zusammen, die beide eine Funktion namens main haben. Wenn nun ein Programm erstellt werden soll (was im Prinzip ein Aufrufen der main-Funktion ist), dann ist unklar, welche der beiden Funktionen genommen werden soll.
edit: Mit der genauen Fehlermeldung wird klar:
../Anhalteweg/main.o
und
../Umrechner/Umwandeln.o
und
While.oenthalten alle eine Definition von main.
-
Ich möchte dass du deinen aktuellen Quelltext postest.

-
314159265358979 schrieb:
Steht doch da. Du hast in deinem Projekt vermutlich mehrere .cpp Dateien mit main-Funktionen. Das funktioniert so nicht.
ich habe mehrer projekte geöffnet in einem fenster meinste das?
-
SeppJ hatte recht lag daran das ich mehrere .cpp dateien aufeinma geöffnet hatte
th an alle funzelt jetzt einwand frei
-
DerEineTyp schrieb:
SeppJ hatte recht lag daran das ich mehrere .cpp dateien aufeinma geöffnet hatte
th an alle funzelt jetzt einwand frei
Ich wette deine IDE bietet die Möglichkeit, mehrere Projekte parallel zu bearbeiten, wenn du dich nur auskennst :xmas2: .