Anfänger sucht hilfe

07/14/2013 17:08 Bladel#1
Hallo,
ich habe mich dazu entschlossen C++ zu lernen doch ich habe jetzt schon Schwierigkeiten.Ich wollte einen kleinen Taschenrechner programmieren der kleine Additions Aufgaben lösen soll.Ich kriege immer den Fehler:


19 C:\Users\Pascal\Desktop\Rechen Programm1.cpp invalid operands of types `char[20]' and `char[20]' to binary `operator/'



Code:
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

using namespace std;
int main()
{   
    char Zahl1 [20];
    char Zahl2 [20];
    printf("Erste Zahl?");
    fgets(Zahl1,30,stdin);
    printf("Zweite Zahl?");
    fgets(Zahl2,30,stdin);
    
    //Int Zahl4
    //Zahl4 =   ;
    
    cout << Zahl1 + Zahl2 <<endl; 
    

    
    cin.sync();
    cin.get();
    return 0;  
}
Bitte erklärt es Anfängerfreundlich :D
Danke schonmal
07/14/2013 17:44 snow#2
1) Das ist nicht wirklich C++, was du da machst. Evtl. wäre ein richtiges Buch sinnvoll?
2) Du addierst 2 Adressen, was du machen willst, ist das Addieren des Inhalts der Adressen. C++ ist keine Skriptsprache, bei der die Datentypen egal sind. Du willst 2 Zahlen addieren, also brauchst du auch 2 Datentypen, die Zahlen verarbeiten können. int wäre hier z.B. eine Möglichkeit.

Und fgets(Zahl1,30,stdin); kann auch tödlich enden, du gibst dem Programm die Möglichkeit, 10 Bytes mehr zu schreiben als du Speicher reserviert hast.

Also: Sprache lernen und zwar richtig.
07/14/2013 17:48 Schlüsselbein#3
Ich wüsste nicht, wo ich bei dem Code anfangen sollte.
Mit was bitte lernst du?
07/14/2013 17:51 Bladel#4
Also einen Teil habe ich mir aus einem Video.
Den Rest habe ich umgeschrieben.
Ich habe das Buch: C Für Dummies falls das jemand kennt
07/14/2013 17:52 Schlüsselbein#5
Entscheide dich erstmal zwischen C und C++. Dann besorgst du dir ein passendes Buch und lässt die Finger von irgendwelchen Videos.
07/14/2013 17:57 Bladel#6
Ich dachte C und C++ wären das gleiche oh man bin ich doof -.-
07/14/2013 19:18 th0rex#7
Mal ein Beispiel wie es aussehen könnte:
Code:
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    int zahl1,zahl2; // Das ist nur ein Beispiel und sollte definitiv nicht so genutzt werde.
    // Man sollte Ausnahmen behandeln. z.b. wenn eine zu hohe Zahl für den Datentyp
    // Integer eingegeben wird.
    cout << " Bitte Zahl 1 eingeben: " ; // Würde dir auch raten nicht printf in c++ zu nutzen
    cin >> zahl1;
    cout << " Bitte Zahl 2 eingeben: " ;
    cin >> zahl2;
    // Jetzt hast du mehrere Möglichkeiten.
    //Möglichkeit 1: 
    //Du kannst es direkt in der Ausgabe addieren
    cout << "\nZahl1 + Zahl2: " << zahl1 + zahl2 << endl;
    //Möglichkeit 2:
    int zahl3 = zahl1 + zahl2;
    cout << "Zahl1 + Zahl2: " << zahl3 << endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}
07/14/2013 19:20 .SkyneT.#8
Quote:
Originally Posted by omitma View Post
Mal ein Beispiel wie es aussehen könnte:
...aber nicht sollte.
07/14/2013 19:25 th0rex#9
Quote:
Originally Posted by .SkyneT. View Post
...aber nicht sollte.
Was ich ja auch dazu geschrieben habe.
07/14/2013 20:41 Bladel#10
Dankeschön aber ich sehe grade das ich noch etwas lernen muss :)
Eine Frage hätte ich:
Immoment habe ich das Buch C für Dummies ist das Buch gut?
Wenn nein könntet ihr mir ein gutes Buch empfehlen wo man keine Vorkenntnisse braucht und das auch relativ leicht zu verstehen ist?
Achso und ist dieses Beispiel in C oder in C++ geschrieben?
Danke schon mal
07/14/2013 20:45 Schlüsselbein#11
Es ist in C++ geschrieben. Ich halte von diesen "... für Dummies"-Büchern wenig, es gibt da wirklich besseres.

Mal ne Frage Abseits des ganzen schlechten Codes hier: Warum möchtest du C oder C++ lernen. Da du die beiden Sprachen wohl nichtmal auseinander halten kannst, weißt du sicherlich auch nicht, dass es noch ne Menge andere (leichtere) Sprachen gibt.
Was möchtest du später mal erreichen? Welche Programme möchtest du mal schreiben?



Gruß
07/14/2013 21:25 Bladel#12
Hi,
also ich bin noch relativ jung (15) und möchte später gerne Softwareentwickler oder Gameentwickler werden :D
Ich habe schon gehört das die meisten Programme/Spiele in C++ geschrieben sind.
Ich habe mir gedacht es ist besser wenn ich es evtl jetzt schon lerne :)
07/15/2013 11:38 AT0MiX#13
Ich würde dir raten mit Java oder C# zu beginnen. Gibt für beide Sprachen mitterweile sehr gute Engines, mit denen man genauso gut Spiele programmieren kann. (Ohne jetzt eine Diskussion auslösen zu wollen).

Hier ein paar Büchertipps:
Java:
[Only registered and activated users can see links. Click Here To Register...]

[Only registered and activated users can see links. Click Here To Register...]

C#:
[Only registered and activated users can see links. Click Here To Register...]
07/15/2013 16:19 Raz9r#14
Quote:
Originally Posted by AT0MiX View Post
[Only registered and activated users can see links. Click Here To Register...]
Mal davon abgesehen, dass das Thema hier echt schon oft genug diskutiert wurde, sollte man keine Bücher von Galileo Computing empfehlen. Bücher, die unter der Auflage geschrieben werden, in 4 Monaten fertig zu sein, sind einfach nicht gut und das Geld nicht wert.
@OP: Wenn du dich dafür interessierst, das Programmieren in C oder C++ zu lernen, dann entscheide dich für eine der beiden Sprachen und zeige genug Elan, selbst zu recherchieren, wie man damit am besten anfängt. Danke.
07/15/2013 20:30 Bladel#15
Habe mich mal bisschen drangesetzt,Tutorials angeguckt und das Programm geschrieben könnte mir eventuell jemand sagen ob es gut ist ?
Teile habe ich auch aus dem Beispiel Programm genommen.
Der nächste schritt: Ein Programm coden das +-/* ausrechen kann :)
Da müsste ich mich aber noch etwas in die If Funktion einlesen.


Code:
#include <iostream>
#include <cstdlib>

using namespace std;  

int main(int argc, char *argv[])
{  
   int Eins,Zwei;
   cout << "Geben sie eine Zahl ein" ;
   cin >> Eins;
   cout << "Bitte geben Sie noch eine Zahl ein " ;
   cin >> Zwei;
   int Ergebniss = Eins + Zwei;
   cout << "Eins + Zwei: " << Ergebniss << endl;
   system("PAUSE");
   return EXIT_SUCCESS;
Achso und:
Könnte mir jemand erklären was das zu bedeuten hat ?

Code:
int main(int argc, char *argv[])