Mein Erstes Programm[Ein-/Ausgabe]
-
CodeFinder schrieb:
Hä, was man da eingeben muss..das sagt doch schon das Programm:
Kanns ja mal auf deutsch umschreiben...#include <iostream> // benötigter Header für cout, cin, etc. using namespace std; // Namenbereich std globalisieren (std::cout 'wird zu' cout) int main() // Hauptprogrammfunktion, Einsprungpunkt { cout << "Geben Sie zwei Zahlen ein: " << endl; // Aufforderung int iZahl1, iZahl2; // Variablen definieren, Datentyp: Integer, also ganze Zahlen, sowohl negativ als auch positiv cin >> iZahl1 >> iZahl2; // Werte einlesen und in den Variablen speichern cout << "Die Summe von " << iZahl1 << " und " << iZahl2 << " ist " << // Infotext ausgeben und... iZahl1 + iZahl2 << endl; // ausrechnen return (0); // Exit Code }
Du gibst in der Konsole 2 Zahlen ein und das Programm errechnet die Summe..so schwer ??
Also soll ich etwa die Zahlen zusammenschreiben
Dies meinte ich,es will irgendwie nicht gehen,keine Fehler,aber mein Problem ist es die Zahl reinzuschreiben.
Bitte machen Sie ein kleines Screenshot,wie Sie das reingegeben haben..joomoo schrieb:
florian m. schrieb:
Bitte geben Sie einen Be schrieb:
Name des Buches.
Ahso... hier:
Mein Buch
*g*Hoffentlich ist es perfekt für Anfänger
Das Buch soll nicht schlecht sein.
Versuch doch mal Code::Blocks statt Dev-Cpp, dann hast du auch das nervige Probleme mit der Konsole, dass diese sich gleich schließt, nicht mehr.
mfg.
Hab ich bereits
Aber wurde erst zweimal insgesamt von mir verwendet.
Danke euch beiden trodzdem vielmals.Mfg. Florian
-
florian m. schrieb:
Also soll ich etwa die Zahlen zusammenschreiben
leerzeichen dazwischen, wie sollte der computer sonst wissen wo die zweite zahl anfängt?
mfg.
-
joomoo schrieb:
florian m. schrieb:
Also soll ich etwa die Zahlen zusammenschreiben
leerzeichen dazwischen, wie sollte der computer sonst wissen wo die zweite zahl anfängt?
mfg.
oder n NewLine Zeichen einfügen...also [Enter]
-
CodeFinder schrieb:
joomoo schrieb:
florian m. schrieb:
Also soll ich etwa die Zahlen zusammenschreiben
leerzeichen dazwischen, wie sollte der computer sonst wissen wo die zweite zahl anfängt?
mfg.
oder n NewLine Zeichen einfügen...also [Enter]
Ja,aber das Problem ist,wenn ich mehrere Rechnungen machen will,also das man bis zu 4 solche Zahlen eingeben kann.. und dazu noch - oder + rechnen darf..
-
Lol, dafür ist dein Code auch gar nicht ausgelegt...das muss du noch implementieren...
Dafür musst du aber warscheinlich noch weiter lesen....Schleifen, und du kannst weitere Eingaben in den 'cin-Buffer' schreiben
-
CodeFinder schrieb:
Lol, dafür ist dein Code auch gar nicht ausgelegt...das muss du noch implementieren...
Dafür musst du aber warscheinlich noch weiter lesen....Schleifen, und du kannst weitere Eingaben in den 'cin-Buffer' schreiben
So habe etwas anderes(Neues Kapitel: Anweisungen):
Also wie While-Anweisung ist für mich die schwerste oO *g*
Wie funktioniert die eigentlich,weil wie ich "Meinen Eigenen Code" reingeschrieben(mit while-schleife),kamen unendlich viele Buchstaben und sie hörten nicht auf.
Das gleiche war mit Zahlen ..
Ich glaube nicht,dass ich die while irgendwann verstehen werde,außer,es würde mir das ganze Thema "While" erklären.Aber ich weiß nur nicht an WEN bzw. an welches andere Forum ich mich da wenden soll.
Mfg. florian
-
hi, ich versuche mal zu helfen - liege ich falsch, korrigiert mich.
Versuch doch mal Code::Blocks statt Dev-Cpp, dann hast du auch das nervige Probleme mit der Konsole, dass diese sich gleich schließt, nicht mehr.
man kann auch
system("pause");
setzen, damit die konsole offenbliebt und auf eine eingabe wartet.
zu deiner while - schleife:
ich versuche sie dir zu erklären:// Lässt a alle zahlen von 1 bis 20 durchlaufen #include <iostream> using namespace std; int main(){ int a = 1; while(a<20){ a++; cout<<a<<".\n"; } system("pause"); return 0; }
Dieser Code lässt a alle zahlen von 1 bis 20 durchlaufen.
Während/solange a kleiner 20 ist, erhöhe (a++) a jeweils um 1.
Wenn dies nicht mehr gegeben ist (bei 20 --> = ) hört die schleife auf und das programm wird weiter durchlaufen.system("pause") lässt di ekonsole offen, bis du etwas eingibst.
return 0 ist der rückgabewert der main - funktion, dazu lernst du später etwas.btw: hallo forum!
-
Tuxinator schrieb:
hi, ich versuche mal zu helfen - liege ich falsch, korrigiert mich.
Versuch doch mal Code::Blocks statt Dev-Cpp, dann hast du auch das nervige Probleme mit der Konsole, dass diese sich gleich schließt, nicht mehr.
man kann auch
system("pause");
setzen, damit die konsole offenbliebt und auf eine eingabe wartet.
zu deiner while - schleife:
ich versuche sie dir zu erklären:// Lässt a alle zahlen von 1 bis 20 durchlaufen #include <iostream> using namespace std; int main(){ int a = 1; while(a<20){ a++; cout<<a<<".\n"; } system("pause"); return 0; }
Dieser Code lässt a alle zahlen von 1 bis 20 durchlaufen.
Während/solange a kleiner 20 ist, erhöhe (a++) a jeweils um 1.
Wenn dies nicht mehr gegeben ist (bei 20 --> = ) hört die schleife auf und das programm wird weiter durchlaufen.system("pause") lässt di ekonsole offen, bis du etwas eingibst.
return 0 ist der rückgabewert der main - funktion, dazu lernst du später etwas.btw: hallo forum!
Vielen Dank Tuxinator!
Ich habe nun durch Sie alles mit while gelernt.
Nur CODE:BLOCKS nimmt folgendes nicht:For-Anweisung:
#include<iostream> int main() { int sum = 0; for(int val = 1; val <= 10; ++val) sum += val; std::cout<<"Sum of 1 to 10 inclusive is " <<sum<<std::endl; return 0; }
While-Anweisung:
#include<iostream> int main() { int sum = 0; int val = 1; while(val <= 10) { sum += val; ++val; } std::cout<<"Summe von 1 zu 10 inklusiv "<<sum<<std::endl; }
^Diese Codes will er einfach nicht nehmen bzw. es schließt sich sofort die Konsole,nachdem ich sie ausführen wollte.Versuchen Sie bitte mal den Code,ob er bei Ihnen gehen würde.
Dieser Code sollte auf jeden Fall gehen,weil es im Buch steht und ich es genau abgeschrieben habe.^
Mfg. Florian
Ps.: Danke für Ihre While Hilfe
-
hallo,
die Konsole verschwindet in der Tat nach beendigung des Programmdurchlaufes, doch dafür habe ich eine Lösung für sie:
nach dem letzten cout befehl, somit vor return 0, setzen sie einfach die anweisung:
system("pause");
schon müssten ihr eprogramme offen bleiben, bis sie eine taste drücken.
jedoch funktionierne sie bei mir nicht, die variable wird nicht ausgegeben, nachdem sie erhöht wurde.
ich habe eines der beiden umgeschrieben, so dass es funktionieren sollte:#include <iostream> using namespace std; int main() { int val = 1; while(val <= 10) { ++val; cout<<val<<"\n"; } system("pause"); }
bei ihnen ist der fehler, dass die erhöhte ausgabevariable nicht in der while-schleife steht.
-
Tuxinator schrieb:
hallo,
die Konsole verschwindet in der Tat nach beendigung des Programmdurchlaufes, doch dafür habe ich eine Lösung für sie:
nach dem letzten cout befehl, somit vor return 0, setzen sie einfach die anweisung:
system("pause");
schon müssten ihr eprogramme offen bleiben, bis sie eine taste drücken.
jedoch funktionierne sie bei mir nicht, die variable wird nicht ausgegeben, nachdem sie erhöht wurde.
ich habe eines der beiden umgeschrieben, so dass es funktionieren sollte:#include <iostream> using namespace std; int main() { int val = 1; while(val <= 10) { ++val; cout<<val<<"\n"; } system("pause"); }
bei ihnen ist der fehler, dass die erhöhte ausgabevariable nicht in der while-schleife steht.
Danke Tuxinator,hat gut geklappt.Danke.
Gibt es eine Möglichkeit das "Drücken Sie eine beliebige Taste . . ." wegzulassen?
Mfg. Florian
P.s.: Neuer Befehl im gange:danke("vielen_dank") { ++Danke; //Danke erhöhen ^^ cout<<"Danke"; }
-
Tuxinator schrieb:
hallo,
die Konsole verschwindet in der Tat nach beendigung des Programmdurchlaufes, doch dafür habe ich eine Lösung für sie:
nach dem letzten cout befehl, somit vor return 0, setzen sie einfach die anweisung:
system("pause");
schon müssten ihr eprogramme offen bleiben, bis sie eine taste drücken.
jedoch funktionierne sie bei mir nicht, die variable wird nicht ausgegeben, nachdem sie erhöht wurde.
ich habe eines der beiden umgeschrieben, so dass es funktionieren sollte:[...]
bei ihnen ist der fehler, dass die erhöhte ausgabevariable nicht in der while-schleife steht.
system("pause"); ist nicht empfehlenswert, da wir hier im C++ Forum sind und diese Funktion BS abhängig ist...
std::cin.get();
Wär die bessere Lösung
-
florian m. schrieb:
P.s.: Neuer Befehl im gange:
danke("vielen_dank") { ++Danke; //Danke erhöhen ^^ cout<<"Danke"; }
Was soll das denn bitte werden ...?
Was willst du damit bezwecken ?
übrigens gibt es in C++ KEINE 'Befehle'
-
och...mein compile rund ich machen dann wohl was falsch, weil system("pause") mit gcc wunderbar auf linux und mit borland c++(oder wie de rheißt) top auf windoose laufen
aber auf meine while - erklärung bin ich stolz
-
CodeFinder schrieb:
übrigens gibt es in C++ KEINE 'Befehle'
Doch:
if - Abfrage Befehl
while - Schleifen Befehl
goto Spring Befehl...
-
ichbefehlesdir schrieb:
CodeFinder schrieb:
übrigens gibt es in C++ KEINE 'Befehle'
Doch:
if - Abfrage Befehl
while - Schleifen Befehl
goto Spring Befehl...
lol, das sind keine Befehle, sondern s.g.: Schlüsselworte
-
Gibt es eine Möglichkeit das "Drücken Sie eine beliebige Taste . . ." wegzulassen?
Nein, das ist eine Betriebssystem-Ausgabe die durch den system("pause")-Aufruf bedingt ist.
-
Wenn ich das schreibe, dann sind das Befehle.
Ich befehle meinen Rechner etwas zu vergleichen (if), sich im Kreis zu drehen(while) oder irgendwohin zu springen(goto).
-
Artchi schrieb:
Gibt es eine Möglichkeit das "Drücken Sie eine beliebige Taste . . ." wegzulassen?
Nein, das ist eine Betriebssystem-Ausgabe die durch den system("pause")-Aufruf bedingt ist.
Wenn man das durch (die sowieso bessere Lösung) cin.get() ersetzt müsste das dann entfallen.
-
wo sie recht haben ...
-
@florain m.
Eigentlich baut Code::Blocks sein eigenes "Press ENTER" darein, damit sich die Konsole nicht schließt, deswegen sollte ein system("pause") nicht notwendig sein. Welche Version von Code::Blocks hast du denn?
mfg.