Wie programmiere ich eine einfache Addition in C++?
-
Danke für die schnellen Postings!
was möchte ich? ich möchte folgendes:
ich möchte 2 Variable vom type int miteinander addieren und das ergebnis samt rechnug ausgaben.
#include <stdio.h>
int main()
{
int a = 12;
int b = 23;
printf ("%,a+b);
getchar();
return 0;
}was mach ich falsch bin echt gewillt dass zu lernen!
thx
Darknight11
-
#include <iostream> int main() { int Zahl1 = 3; int Zahl2 = 6; std::cout << Zahl1 << " + " << Zahl2 << " = " << Zahl1 + Zahl2; }
-
darknight schrieb:
#include <stdio.h> int main() { int a = 12; int b = 23; printf ("%,a+b); getchar(); return 0; }Das ist reines C. Möchtest Du bei C bleiben oder auch C++-Dinge nehmen?
-
@volkard
was würdest du mir empfehlen mit was ich anfangen soll?
was ist einfacher zu verstehen für ein blutigen Angänger wie mich?
-
Ja pur C und in Zeile 6 fehlt was.
-
Für die meisten ist es am besten, gleich mit C++ anzufangen, vermute ich vage.
-
darknight11 schrieb:
Danke für die schnellen Postings!
was möchte ich? ich möchte folgendes:
ich möchte 2 Variable vom type int miteinander addieren und das ergebnis samt rechnug ausgaben.
#include <stdio.h>
int main()
{
int a = 12;
int b = 23;
printf ("%,a+b);
getchar();
return 0;
}was mach ich falsch bin echt gewillt dass zu lernen!
thx
Darknight11Deine printf-Zeile ist völlig falsch. Schau doch bitte mal in die Doku, da gibt's ne genaue Beschreibung und meist auch Beispiele.
-
entweder er gib mir nur die rechnung aus oder gleich gar nix!
versteh ich %d noch nicht ganz.prinf ist ja dazu da einen einen text auszugeben. zb. printf("hallo"); (dass funktiionier auch! verbessert mich wenn ich absoluten mist hier verzapfe!
-
Ist es denn wirklich so schwer, sich einfach mal das hier durchzulesen?
-
darknight11 schrieb:
entweder er gib mir nur die rechnung aus oder gleich gar nix!
versteh ich %d noch nicht ganz.Da wird sicher nix ausgeben, weil das Programm, so wie du es hier gepostet hast, gar nicht kompilierbar und damit nicht ausführbar ist. Sicher, dass du es genau so geschrieben hast, wie es hier steht? Ich hoffe, du hast es nicht abgetippt, anstatt Copy&Paste zu verwenden.
-
Vermute der Beitragsersteller hat
printf ("%,a+b");versucht. Da sieht er natürlich kein Ergebnis.
printf sollte die Abkürzung für print formatted sein.
%d ist der Platzhalter für die formatierte Ausgabe.Probiere mal
printf ("%d",a+b);und dann
printf ("%6d",a+b);und dann noch mit a+b = 70 oder ähnlich
printf ("%c",a+b");und versuche die Unterschiede zu verstehen.
Wenn du alles in einem Quelltext testen möchtest, Zeilenvorschub einsetzen. Dann erkennt man die Unterschiede deutlicher.
-
Und in C++ nutzt man printf gar nicht mehr. Das ist auch nichts, was man am Anfang Mal nutzen sollte, um es später wegzulassen, das sollte man einfach von Vornerein nicht nehmen.
Alternative wurde schon gezeigt, man nutzt einfach cout. Und das Tolle daran ist, dass cout superschlau ist und die Typen alle automatisch erkennt, sodass man kein %d oder sonst was mehr braucht. Dafür muss man jetzt << benutzen und die Reihenfolge der Ausgabe entspricht der Reihenfolge, in der die Teilstrings/Variablen in cout "hineingeschoben" worden sind.
-
Eisflamme schrieb:
Und das Tolle daran ist, dass cout superschlau ist
Besser gesagt: Typsicher
-
Ja, das ist der Fachausdruck für das, was cout so superschlau macht. Aber ich wollte OP doch enthusiastisch für cout machen. Da muss man doch auch Mal Begriffe wie "toll", "superschlau" usw. verwenden!
-
Formatierte Ausgabe C++:
http://www.hs-augsburg.de/~flo1985/Info/inf3.pdfErwähnt das auch in dem Zusammenhang. Denn man sieht ja immer wieder C++ Quelltexte, die deshalb auf printf() zurückgreifen weil denen das verlinkte nicht bekannt ist.
-
Für Freunde von printf habe ich heute etwas ganz besonderes im Angebot - nur heute zum halben Preis!
void print(const char* str) { std::cout << str; } template <typename Head, typename... Tail> void print(const char* str, Head&& head, Tail&&... tail) { while(*str != '%') std::cout << *str++; std::cout << head; print(++str, std::forward<Tail>(tail)...); }
-
darknight11 schrieb:
was ist einfacher zu verstehen für ein blutigen Angänger wie mich?
einEN blutigen Anfaenger. Es heisst EINEN!!!!
-
prinf ist ja dazu da einen einen text auszugeben. zb. printf("hallo"); (dass funktiionier auch! verbessert mich wenn ich absoluten mist hier verzapfe!
Ja, das funktioniert auch, das liegt aber daran, dass das einfach C ist. Du kannst ja mit den meisten Compilern beide Sprachen programmieren, man sollte sich aber bewusst sein, in welchem Bereich man sich befindet. Und printf ist in C einzuordnen. Denn dort gab es so ein Wunderding wie cout noch nicht. Und wenn Du alten C-Code von irgendwem geschickt bekommst, soll das dein Compiler ja auch verarbeiten können, daher klappt der Code.
Schau Mal, so einfach ist cout zu nutzen:
#include <iostream> using namespace std; // diese Zeile oder man muss immer std:: vor cout schreiben int main() { double z = 1.5; int y = 200; cout << "Hallo, ich bin " << z << "m groß und wiege " << y << "kg. Ich weiß, ich bin Mal so richtig fett."; return 0; }Das ist doch viel praktischer als mit printf was hinzufriemeln!
-
Danke für den Code!
Habe denn Code jz selber geschrieben doch irgendwie mag der compilier nicht so wirklich er verweist mich immer auf die int main(). Was mach ich falsch?
#include <iostream>
using namespace std::
int main()
{
double z = 1.5;
int y = 200;
cout << "hallo ich bin" << z << "m goss und wiege" << y << "kg";
getchar();
return 0;
}
kann dass am Compiler selbst liegen? verwende Dev-C++?
Danke
-
Fehlermeldung?
EDIT: Es muss so aussehen:
using namespace std;