C++ , Zahlenproblem

  • C++ , Zahlenproblem

    Hallo =)
    ich bin neu hier und mache noch nicht allzu lange c++.
    Als erstes möchte ich mich für den Thread-Titel entschuldigen.

    Zu meinem Problem:
    Ich hab Varialben festgelegt also :

    int inta = 1
    int intb = 2
    usw.... bis 10 (int intj = 10)

    dann hab ich per cin das definiert:
    cin >>inta;
    cout << "Du hast die 1 eingegeben das bedeutet : " << endl;

    so an sich klappt das alles sehr gut , das problem ist nur , wenn man am anfang irgendeine zahl eingibt also eine 4 zB kommt das ereignis von 1, welches der 1 aber zugeteilt ist.

    also so:

    man gibt eine 4 ein , raus kommt : "Du hast die 1 eingegeben das bedeutet : ",
    egal welche zahl am anfang nun eingegebn wurde....

    Zur Frage: Was muss ich tun damit wenn ich eine 1 eingebe auch nur das Ereignis für aufgerufen wird.


    Hier der ganze Source-Code:

    Quellcode

    1. #include <cstdlib>
    2. #include <iostream>
    3. using namespace std;
    4. main()
    5. {
    6. int inta= 1;
    7. int intb= 2;
    8. int intc= 3;
    9. int intd= 4;
    10. int inte= 5;
    11. int intf= 6;
    12. int intg= 7;
    13. int inth= 8;
    14. int inti= 9;
    15. int intj= 10;
    16. cout<<"Geben Sie eine Zahl zwischen 1 und 10 ein"<<endl;
    17. cout<<"Jede Zahl hat eine Bedeutung, der Zufall entscheidet :)\n"<<endl;
    18. cin >>inta;
    19. cout << "Du hast die 1 eingegeben das bedeutet : " << endl;
    20. //
    21. cin >>intb;
    22. cout << "Du hast die 2 eingegeben das bedeutet : " << endl;
    23. //
    24. cin >>intc;
    25. cout << "Du hast die 3 eingegeben das bedeutet : " <<endl;
    26. //
    27. cin >>intd;
    28. cout << "Du hast die 4 eingegeben das bedeutet : " <<endl;
    29. //
    30. cin >>inte;
    31. cout << "Du hast die 5 eingegeben das bedeutet : " <<endl;
    32. //
    33. cin >>intf;
    34. cout << "Du hast die 6 eingegeben das bedeutet : " <<endl;
    35. //
    36. cin >>intg;
    37. cout << "Du hast die 7 eingegeben das bedeutet : " <<endl;
    38. //
    39. cin >>inth;
    40. cout << "Du hast die 8 eingegeben das bedeutet : " <<endl;
    41. //
    42. cin >>inti;
    43. cout << "Du hast die 9 eingegeben das bedeutet : " <<endl;
    44. //
    45. cin >>intj;
    46. cout << "Du hast die 10 eingegeben das bedeutet : " <<endl;
    47. system("PAUSE");
    48. return EXIT_SUCCESS;
    49. }
    Alles anzeigen
  • Hi,
    da scheint ein grundlegendes Missverständnis vorzuliegen.
    Mit cin liest du einen Wert ein und schreibst diesen in die Variable.
    Ich denke mal dass du für dein Vorhaben nur eine int Variable brauchst um den Wert einzulesen ,
    und nen switch/case um die unterschiedlichen Fälle zu behandeln.

    Gruß void
    "Probleme kann man niemals mit derselben Denkweise lösen,
    durch die sie entstanden sind." (A. Einstein)
  • HI =)
    ich habs soweit geschafft , ein Problem hab dennoch :(
    jetzt kann man zwar Zahlen zwischen 1 und 10 eigeben und man bekommt eine vernünftige antwort , doch ich möchte das ganze auf nur 3 eingaben einschränken m jmd ne idee ? :oops:


    Quellcode

    1. #include <cstdlib>
    2. #include <iostream>
    3. using namespace std;
    4. main()
    5. {
    6. int inta= 0;
    7. cout<<"Geben Sie eine Zahl zwischen 1 und 10 ein"<<endl;
    8. cout<<"Jede Zahl hat eine Bedeutung, der Zufall entscheidet "<<endl;
    9. cout<<"Gebe 3 Zahlen ein um zu sehen wie dein Schicksal wird :)\n"<<endl;
    10. Loop1:
    11. cin>>inta;
    12. if (inta == 1)
    13. { cout << "du hast eine 1 eingeben"<< endl;}
    14. else if (inta == 2)
    15. { cout << "du hast eine 2 eingeben"<< endl;}
    16. else if (inta == 3)
    17. { cout << "du hast eine 3 eingeben"<< endl;}
    18. else if (inta == 4)
    19. { cout << "du hast eine 4 eingeben"<< endl;}
    20. else if (inta == 5)
    21. { cout << "du hast eine 5 eingeben"<< endl;}
    22. else if (inta == 6)
    23. { cout << "du hast eine 6 eingeben"<< endl;}
    24. else if (inta == 7)
    25. { cout << "du hast eine 7 eingeben"<< endl;}
    26. else if (inta == 8)
    27. { cout << "du hast eine 8 eingeben"<<endl;}
    28. else if (inta == 9)
    29. { cout << "du hast eine 9 eingeben"<<endl;}
    30. else if (inta == 10)
    31. { cout << "du hast eine 10 eingeben"<<endl;}
    32. else if (inta++)
    33. { cout << "Das ist nich zwischen 1 und 10 ;)"<<endl;}
    34. goto Loop1;
    35. system("PAUSE");
    36. return EXIT_SUCCESS;
    37. }
    Alles anzeigen
  • Hi,
    nimm das goto raus und vergiss dass es goto gibt.

    Quellcode

    1. for(int i=0;i<3;++i)
    2. {
    3. cin>>inta;
    4. if (inta == 1)
    5. { cout << "du hast eine 1 eingeben"<< endl;}
    6. else if (inta == 2)
    7. { cout << "du hast eine 2 eingeben"<< endl;}
    8. else if (inta == 3)
    9. { cout << "du hast eine 3 eingeben"<< endl;}
    10. else if (inta == 4)
    11. { cout << "du hast eine 4 eingeben"<< endl;}
    12. else if (inta == 5)
    13. { cout << "du hast eine 5 eingeben"<< endl;}
    14. else if (inta == 6)
    15. { cout << "du hast eine 6 eingeben"<< endl;}
    16. else if (inta == 7)
    17. { cout << "du hast eine 7 eingeben"<< endl;}
    18. else if (inta == 8)
    19. { cout << "du hast eine 8 eingeben"<<endl;}
    20. else if (inta == 9)
    21. { cout << "du hast eine 9 eingeben"<<endl;}
    22. else if (inta == 10)
    23. { cout << "du hast eine 10 eingeben"<<endl;}
    24. else if (inta++)
    25. { cout << "Das ist nich zwischen 1 und 10 Wink"<<endl;}
    26. }
    Alles anzeigen


    Gruß void
    "Probleme kann man niemals mit derselben Denkweise lösen,
    durch die sie entstanden sind." (A. Einstein)