c++ hilfe !
-
Also ich habe hier ma etwas geschrieben um mir das mit den Funktionen etwas einzufleischen, nun bin ich so halbwegs "fertig", wollte das zeug kompilieren und dann meldet mir mein compiler ständig das hier:
25/error: expected init-declarator before "int"
25/error: expected,' or;' before "int"
29/expected unqualified-id before '{' token
29/error: expected,' or;' before '{' tokenHier mal der code:
#include <iostream> #include <windows.h> using namespace std; int Ohm (int U, int I) { cout << "[R](Widerstand-Ohm) = [U](Spannung-Volt) dividiert durch [I](Strom-Ampere)\n"; return (U/I); } int Volt (int R, int I) { cout << "[U](Spannung-Volt) = [R](Widerstand-Ohm) multipliziert mit [I](Strom-Ampere)\n"; return (R*I); } int Ampere (int U, int R) { cout << "[I](Spannung-Ampere) = [U](Spannung-Volt) dividiert durch [R](Widerstand-Ohm)\n"; return (U/R); } 24. int main (void) 25. int ges; 26. float U; 27. float R; 28. float I; { cout << " ^ \n"; cout << " / \\ \n"; cout << " / \\ \n"; cout << " / U \\ \n"; cout << " / \\ \n"; cout << " / ------- \\ \n"; cout << " / \\ \n"; cout << " / R I \\ \n"; cout << " / \\ \n"; cout << " #################\n\n"; cout << " Willkommen Im Ohmsche-Regel-Berechner\n"; cout << " Bitte geben Sie die Zahl ein, die Sie benötigen : \n"; cout << " 1. [Widerstand-OHM] \n"; cout << " 2. [Spannung-VOLT] \n"; cout << " 3. [Strom-AMPERE] \n"; cin >> Ges; if (Ges='1') { cout << "U = \n"; cin >> U; cout << "I = \n"; cin >> I; R=Ohm(U,I); cout << "R = " << R; } if (Ges='2') { cout << "R = \n"; cin >> R; cout << "I = \n"; cin >> I; U=Volt(R,I); cout << "U = " << U; } if (Ges='3') { cout << "U = \n"; cin >> U; cout << "R = \n"; cin >> R; I=Ampere(U,R); cout << "I = " << I; } Sleep (5000); return 0; }Hoffe ihr könnt mir helfen

-
Die { in Zeile 29 kommt zu spät, sie muss vor der Zeile 25 "int ges;" stehen.
-
statt
24. int main (void) 25. int ges; 26. float U; 27. float R; 28. float I; {eher
int main (void){ int ges; float U; float R; float I;dann aber auch die funktionen auf float umstellen

-
Funktion hab ich auf float umgestellt...
Das { hab ich auch vor zeile 25 geschrieben (warum überhaupt, ist doch im prinzip egal ob ich die variablen außerhalb oder innerhalb der funktion erstelle oder?).verändert hat sich die situation aber nicht.
und die nummern hab ich da nur hingeschrieben dass ihr euch besser orientieren könnt, aber da die zeilen sowieso nummeriert sind, war das überflüssig ^^, sorry
-
if (Ges=='1')
statt
if (Ges='1')und natürlich auch bei den anderen 2

-
wenn du den inhalt drehen würdest also
if ('1'=Ges)
statt
if (Ges='1')hättest ne schöne fehler meldung...
-
Newbe schrieb:
Funktion hab ich auf float umgestellt...
Das { hab ich auch vor zeile 25 geschrieben (warum überhaupt, ist doch im prinzip egal ob ich die variablen außerhalb oder innerhalb der funktion erstelle oder?).Ja, aber du definierst sie nicht außerhalb, sondern murkst sie mitten in die Definition der main-Funktion.
verändert hat sich die situation aber nicht.
Dann übersetzt du nicht die geänderte Datei.
-
Im übrigen bringt es wenig einen
intdurch noch einenintzu teilen ...Deine Methoden würden
Ohm(10,3) = 3
Ampere(10,7) = 1ergeben.
Abgesehen davon liest du float ein, packst sie in ein float, übergibst die in Funktionen die ein int wollen und die damit runtercasten und gibst dann den int einer division zurück. Ich hoffe du berechnest hiermit keine Schaltungen, dann explodieren die vielleicht

-
ich komm mir grade blöd vor ^^
danke für die kritik & verbesserungsvorschläge, ich werd daran arbeiten ^^...
Ps. ich lerne c++ seit vorgestern, also wundert euch nicht warum da noch einiges schief läuft