tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
9
ZUGRIFFE
984
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Jackiechan Jackiechan ist offline Rookie
    Registriert seit
    May 2004
    Ort
    Austria
    Beiträge
    8
    Hallo Leute !

    Hab leider in der Suche nichts dazu gefunden ich habe folgendes Problem :

    Wenn ich den Code ausführe dann, kann ich immer nur die erste Zahl eingeben und dann beendet sich das programm, ich möchte aber das ich zwei zahlen eingeben kann , und diese dann zusammen zählt:

    Hier der Code:

    #include <iostream>
    #include <string>
    #include <cstdlib>
    #include <algorithm>


    int main()

    {

    char Zahl1[10];
    char Zahl2[10];

    int a;
    a = atoi(Zahl1);
    int b;
    b = atoi(Zahl2);

    std::cout << "die erste zahl : " << std::flush;
    std::cin.get(Zahl1, 10);

    std::cout << "die zweite zahl : " << std::flush;
    std::cin.get(Zahl2, 10);

    std::cout << "Ergebniss " << a + b << std::endl;

    }
     

  2. #2
    Registriert seit
    Jul 2003
    Ort
    Duisburg (NRW)
    Beiträge
    1.788
    Zur Problemlösung:

    1. Bitte gib dir etwas mehr Mühe beim Posten, speziell Threadtitel.

    2. Verwende Code-Tags (s.u.).

    3. Probier es mal so herum:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
      {
        using namespace std;
     
        char Zahl1[10];
        char Zahl2[10];
     
        cout << "die erste zahl : ";
        cin  >> Zahl1;
     
        cout << "die zweite zahl : ";
        cin  >> Zahl2;
        
        int a = atoi(Zahl1);
        int b = atoi(Zahl2);
     
        cout << "Ergebnis " << a + b << endl; 
     
        return 0;
      }
    Falls das immer noch zu früh aussteigt, setz die Zeile for(;; vor die Zeile mit dem return (Das Programm muss dann allerdings wegen Endlosschleife mit Gewalt beendet werden).
    Miniaturansicht angehängter Grafiken Miniaturansicht angehängter Grafiken DIe zusammen zähl funktion geht nicht !-_codetags.gif  
     
    Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."

  3. #3
    Registriert seit
    Jan 2002
    Ort
    Hamburg
    Beiträge
    2.852
    Warum erst ein char-Array einlesen und dann atoi() anwenden? cin kann doch auch direkt in einen Integer übergeben,oder?
     
    Wenn euch mein Beitrag gefällt, meldet euch als Referal bei Dropbox an: http://db.tt/4tKC8O5

  4. #4
    Registriert seit
    Jul 2003
    Ort
    Duisburg (NRW)
    Beiträge
    1.788
    Vernünftiger Einwand. Ich wollte den Code nicht total verändern, weil Jackiechan ja gerade lernt. Besser ist natürlich:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
      {
        using namespace std;
     
        int a = 0;
        int b = 0;
     
        cout << "die erste zahl : ";
        cin  >> a;
     
        cout << "die zweite zahl : ";
        cin  >> b;
        
        cout << "Ergebnis " << a + b << endl; 
     
        return 0;
      }
     
    Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."

  5. #5
    Jackiechan Jackiechan ist offline Rookie
    Registriert seit
    May 2004
    Ort
    Austria
    Beiträge
    8
    Hi Kachelator

    Wie ich von deinem vorherigen Posting gesehen habe , und diese auch gleich ausprobiert habe , bin ich schon etwas überascht , das es auch so einfach geht.

    Warum wird das in meinem Einführungs Buch aber dann so umfang reich beschrieben , wennst doch auch einfach geht

    Code :
    1
    
    using namespace std;
    Was bedeutet dieser Code

    Mfg
    Jackie
     

  6. #6
    Registriert seit
    Jul 2003
    Ort
    Duisburg (NRW)
    Beiträge
    1.788
    Warum wird das in meinem Einführungs Buch aber dann so umfang reich beschrieben , wennst doch auch einfach geht
    Keine Ahnung. Vielleicht hat der Autor einen didaktischen Ansatz, der sich unserem Wahrnehmungshorizont entzieht. Vielleicht ist auch das Buch schlecht. Oder du hast was falsch verstanden.

    Was bedeutet dieser Code
    std ist der Namespace, in dem cin und cout existieren. Stell dir vor, das wäre so etwas wie eine Telefonvorwahl. In deinem Code hast du immer explizit den Namespace genannt (std::cout ). In meinem Beispiel habe ich dem Compiler durch using namespace std; gesagt, dass er im std-Namespace nachschauen soll, wenn er einen Bezeichner nicht findet (wie. z.B. cout ).
     
    Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."

  7. #7
    Jackiechan Jackiechan ist offline Rookie
    Registriert seit
    May 2004
    Ort
    Austria
    Beiträge
    8
    Danke Kachelator

    Jetzt verstehe ich das ganze auch , hätes du vieleicht einen Tip oder ein Tutorial , wo ich am besten die grundlagen von C++ lernen kann , was nicht so unverständlich wie meins ist .

    Wenn es jemanden interressiert habe meine Lern Hilfen von :
    www.highscore.de

    Mfg
    Jackie
     

  8. #8
    Registriert seit
    Jul 2003
    Ort
    Duisburg (NRW)
    Beiträge
    1.788
    Ich würde die Programmieren in C++: Einführung auf der von dir erwähnten Seite mal durcharbeiten. Macht keinen schlechten Eindruck. Übrigens habe ich das Beispiel mit dem atoi() nicht gefunden.

    Hier im Forum gibt es auch noch einen angetackerten Thread, der eine Reihe Tutorials auflistet. Vielleicht ist ja da wa dbei.
     
    Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."

  9. #9
    Jackiechan Jackiechan ist offline Rookie
    Registriert seit
    May 2004
    Ort
    Austria
    Beiträge
    8
    Das mit dem atoi() ist im Kapitel 4 : Kontrollfunktionen ,
    4.1 Verzweigungen ,gleich der erste Source Code.

    Bin gerade dabei , das durch zumachen, deshalb hab ich ja dort denn fehler gehabt , weil es auf der seite auch so falsch steht .

    Mfg
    Jackie
     

  10. #10
    Registriert seit
    Jul 2003
    Ort
    Duisburg (NRW)
    Beiträge
    1.788
    Ja, okay. Ich habe mir die Sourcen gesaugt (Option unter dem Schnipsel), und die enthält noch mehr Fehler als der Schnipsel:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    #include <iostream> 
     
    int main() 
    { 
      char Buffer[20]; 
     
      std::cout << "Geben Sie eine Zahl ein: " << std::flush; 
      std::cin.get(Buffer, sizeof(Buffer)); 
      if (std::atoi(Buffer) < 100) 
      { 
        std::cout << "Sie haben eine Zahl kleiner als 100 eingegeben." << std::endl; 
      } 
    }
    Ein include fehlt, das return fehl... es lässt sich so nicht kompilieren! Das ist echt ziemlich peinlich. Übrigens ist das nicht das einzige BEispiel, wo das return von int main() fehlt. Gerade in Anfänger-(Online-)-Büchern darf sowas nicht passieren. Es gibt eine Menge Bücher, die ich sehr gut finde, obwohl sie Fehler (und normalerweise auch eine Fehlerliste) enthalten, aber das sind dann Werke für Fortgeschrittene, die zumindest die Möglichkeit haben, zu erkennen, dass da eventuell ein Fehler vorliegt und ihn eventuell selbst beheben können.

    Du solltest dir vielleicht wirklich was anderes zum lernen suchen. Leider kann ich da nichts empfehlen.
     
    Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."

Ähnliche Themen

  1. Klonen-Funktion geht nicht ...
    Von xcEmUx im Forum Cinema 4D
    Antworten: 2
    Letzter Beitrag: 16.04.09, 14:51
  2. Query Funktion geht nicht
    Von dom123 im Forum PHP
    Antworten: 2
    Letzter Beitrag: 19.08.05, 11:15
  3. Zähl-Funktion als Daumenkino
    Von Thomas_Jung im Forum PHP
    Antworten: 5
    Letzter Beitrag: 30.06.05, 17:35
  4. $_GET - Funktion geht nicht
    Von Pinky im Forum PHP
    Antworten: 8
    Letzter Beitrag: 02.06.05, 19:24