Anfänger braucht Hilfe

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Anfänger braucht Hilfe

    Quellcode

    1. #include <iostream>
    2. using namespace std;
    3. //Umrechnung von Dezimal-in ein anderes Zahlsystem
    4. //Die Funktionen
    5. int berechnung1(int zahl, int zwischenergebnis)
    6. {
    7. //Die Schleife
    8. do {
    9. //durch 2 teilen und das Ergebnis speichern
    10. zwischenergebnis = zahl/2;
    11. //den Rest der Division durch 2 Ausgeben
    12. cout<<zahl%2;
    13. //das Ergebnis als neuen Wert benutzen
    14. zahl = zwischenergebnis;
    15. } while (zahl!=0);
    16. return zahl;
    17. }
    18. int berechnung2(int zahl, int zwischenergebnis)
    19. {
    20. //Die Schleife
    21. do {
    22. //durch 2 teilen und das Ergebnis speichern
    23. zwischenergebnis = zahl/8;
    24. //den Rest der Division durch 2 Ausgeben
    25. cout<<zahl%8;
    26. //das Ergebnis als neuen Wert benutzen
    27. zahl = zwischenergebnis;
    28. } while (zahl!=0);
    29. return zahl;
    30. }
    31. int berechnung3(int zahl, int zwischenergebnis)
    32. {
    33. //Die Schleife
    34. do {
    35. //durch 2 teilen und das Ergebnis speichern
    36. zwischenergebnis = zahl/9;
    37. //den Rest der Division durch 2 Ausgeben
    38. cout<<zahl%9;
    39. //das Ergebnis als neuen Wert benutzen
    40. zahl = zwischenergebnis;
    41. } while (zahl!=0);
    42. return zahl;
    43. }
    44. int main()
    45. {
    46. int eingabe;
    47. //Die Auswahl der Zahlsysteme
    48. cout<<"1 Umrechnung starten in das 2System: "<<endl;
    49. cout<<"2 Umrechnung starten in das 8System: "<<endl;
    50. cout<<"3 Umrechnung starten in das 9System: "<<endl;
    51. cout<<"Ihre Auswahl? "<<endl;
    52. cin>>eingabe;
    53. //Die Auswertung von Eingabe
    54. switch (eingabe)
    55. {
    56. case 1:
    57. //Den Wert einlesen
    58. cout<<"Bitte geben sie die Zahl ein die umgerechnet werden soll: "<<endl;
    59. cin>>eingabe;
    60. cout<<"Die Funktion liefert das Ergebnis"<<berechnung1(eingabe);
    61. break;
    62. case 2:
    63. //Den Wert einlesen
    64. cout<<"Bitte geben sie die Zahl ein die umgerechnet werden soll: "<<endl;
    65. cin>>eingabe;
    66. cout<<"Die Funktion liefert das Ergebnis"<<berechnung2(eingabe);
    67. break;
    68. case 3:
    69. //Den Wert einlesen
    70. cout<<"Bitte geben sie die Zahl ein die umgerechnet werden soll: "<<endl;
    71. cin>>eingabe;
    72. cout<<"Die Funktion liefert das Ergebnis"<<berechnung3(eingabe);
    73. break;
    74. }
    75. return 0;
    76. }
    Alles anzeigen
    Hallo zusammen. Ich bin ein totaler Anfänger in C++. Möchte es aber gerne erlernen :thumbsup: .

    Ich muss ein Programm erstellen zum Umrechnen von Dezimal- in andere Zahlsysteme. (Der Anwender soll wählen können in welches Zahlenformat die Umrechnung erfolgen soll. Das Zielsystem beschränkt sich auf die Basiszahl 2-9 einschließlich.)

    Mein Plan: 1. Drei Funktionen / Für die Umrechnung in die einzelnen Systeme.
    2.Switch Case-Verzweigung / Für die Auswahl.

    Liege ich Richtig mit dem Aufbau des Programms? Welche Fehler habe ich in dem Code? Warum läuft das Programm nicht?

    Kann mir Jemand Helfen und mir einen Hinweis geben? Das wäre Super!

    Die Fehlermeldung: error: too few arguments to function 'int Berechnung1 (int,int)'

    Was stimmt mit den Argumenten nicht?
  • Hi, theoretisch klingt der erste Gedanke gut.
    Ich habe mir nicht den gesamten Code angeschaut aber der Fehler sagt aus, dass die Funktion Berechnung1 2 Parameter erwartet. Du rufst die Funktion aber nur mit einem Parameter auf.

    C-Quellcode

    1. int berechnung1(int zahl, int zwischenergebnis)
    2. // 1. int zahl
    3. // 2. int zwischenergebnis
    MfG ShureG

    There are 10 kinds of people. Those who understand binary notation, and those who do not.
  • Hi, ich hab mir jetzt mal deinen Code angesehen, und gesehen dass du alle drei Funktionen im switch/case mit nur einem Parameter aufrufst. Ich hab mal die int zwischenergebnis aus den Funktionsdefinitionen raus genommen und siehe da, es hat funktioniert. Wenn ich dir noch einen Tipp geben darf: Wenn du Anfänger bist würde ich if/else if/else verwenden anstatt von switch/case. Des weiteren solltest du das main() vor den Funktionen definieren, dann ist es leichter einen überblick zu bekommen. So hab ich die 3 Fehler behoben:

    C-Quellcode: main.cpp

    1. #include <iostream>
    2. using namespace std;
    3. //Umrechnung von Dezimal-in ein anderes Zahlsystem
    4. //Die Funktionen
    5. int berechnung1(int zahl)
    6. {
    7. //Die Schleife
    8. do {
    9. //durch 2 teilen und das Ergebnis speichern
    10. int zwischenergebnis = zahl / 2;
    11. //den Rest der Division durch 2 Ausgeben
    12. cout << zahl % 2;
    13. //das Ergebnis als neuen Wert benutzen
    14. zahl = zwischenergebnis;
    15. } while (zahl != 0);
    16. return zahl;
    17. }
    18. int berechnung2(int zahl)
    19. {
    20. //Die Schleife
    21. do {
    22. //durch 2 teilen und das Ergebnis speichern
    23. int zwischenergebnis = zahl / 8;
    24. //den Rest der Division durch 2 Ausgeben
    25. cout << zahl % 8;
    26. //das Ergebnis als neuen Wert benutzen
    27. zahl = zwischenergebnis;
    28. } while (zahl != 0);
    29. return zahl;
    30. }
    31. int berechnung3(int zahl)
    32. {
    33. //Die Schleife
    34. do {
    35. //durch 2 teilen und das Ergebnis speichern
    36. int zwischenergebnis = zahl / 9;
    37. //den Rest der Division durch 2 Ausgeben
    38. cout << zahl % 9;
    39. //das Ergebnis als neuen Wert benutzen
    40. zahl = zwischenergebnis;
    41. } while (zahl != 0);
    42. return zahl;
    43. }
    44. int main()
    45. {
    46. int eingabe;
    47. //Die Auswahl der Zahlsysteme
    48. cout << "1 Umrechnung starten in das 2System: " << endl;
    49. cout << "2 Umrechnung starten in das 8System: " << endl;
    50. cout << "3 Umrechnung starten in das 9System: " << endl;
    51. cout << "Ihre Auswahl? " << endl;
    52. cin >> eingabe;
    53. //Die Auswertung von Eingabe
    54. switch (eingabe)
    55. {
    56. case 1:
    57. //Den Wert einlesen
    58. cout << "Bitte geben sie die Zahl ein die umgerechnet werden soll: " << endl;
    59. cin >> eingabe;
    60. cout << "Die Funktion liefert das Ergebnis" << berechnung1(eingabe);
    61. break;
    62. case 2:
    63. //Den Wert einlesen
    64. cout << "Bitte geben sie die Zahl ein die umgerechnet werden soll: " << endl;
    65. cin >> eingabe;
    66. cout << "Die Funktion liefert das Ergebnis" << berechnung2(eingabe);
    67. break;
    68. case 3:
    69. //Den Wert einlesen
    70. cout << "Bitte geben sie die Zahl ein die umgerechnet werden soll: " << endl;
    71. cin >> eingabe;
    72. cout << "Die Funktion liefert das Ergebnis" << berechnung3(eingabe);
    73. break;
    74. }
    75. return 0;
    76. }
    Alles anzeigen
    Grüße, Power_Gamer122