[C/C++] Hilfe bei Methoden werte Übergabe

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von KingLui, 5. Oktober 2009 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 5. Oktober 2009
    Hilfe bei Methoden werte Übergabe

    Moin ich programmier hier gra din der schule son taschen rechner.. also ich hab jetzt zum beispiel 2 methoden:

    zahlen(); // 2 zahlen werden eingegebebn, um später mit denen etwas zu berechnen

    addieren(); // die 2 eingetippten zahlen sollen addiert und ausgegeben werden!

    wie schaffe ich das?

    meine 2 methoden sehen im mom so aus!


    Code:
    int zahlen(int x, int y){
     
     x=0;
     y=0;
     
     cout <<"Zahl 1: ";
     cin>>x;
     
     cout <<"Zahl 2: ";
     cin>>y;
     
     return y, x;
    }
    
    
    int addieren(int y, int x)
    {
    zahlen(x,y);
    cout << x <<" + " << y <<" = " << x+y<<endl;
    }
    
     
  2. 5. Oktober 2009
    AW: Hilfe bei Methoden werte Übergabe


    Packe das in die main-Methode (nehme mal an wenn man dein Programm startet sollen sofort zahlen eingegeben werden.
    Code:
     cout <<"Zahl 1: ";
     cin>>x;
     
     cout <<"Zahl 2: ";
     cin>>y;
    
    //und rufe dann die Funktion addieren auf
    addieren(x,y);
    
    

    Und addieren muss dann so aussehen

    Code:
    void addieren(int y, int x)
    {
    zahlen(x,y);
    cout << x <<" + " << y <<" = " << x+y<<endl;
    }
    
     
  3. 5. Oktober 2009
    AW: Hilfe bei Methoden werte Übergabe

    Code:
    return y, x;
    Mir ist nicht bekannt das du mehrere Werte bei einer Methode zurückgeben kannst (lass mich aber hier auch gerne eines Besseren belehren). Daher kann das so nicht funktionieren. Falls du die beiden Methoden beibehalten willst kannst du die Parameter als Referenz übergeben.

    Bei einem Call by Reference wird nur ein Pointer oder eine Referenz auf den Parameter übergeben. Beispiel:
    Code:
    int zahlen(int& x, int& y)
    Die Routine zahlen erhält hier nur einen "Zeiger" auf die original Variablen aus der aufrufenden Funktion. Durch eine Zuweisung von x oder y ändert sich der Wert für alle Variablen x oder y da es keine temporäre Variable hier gibt.
     
  4. 5. Oktober 2009
    AW: Hilfe bei Methoden werte Übergabe

    Code:
    // C++
    
    
    
    #include<iostream>
    
    using namespace std;
    
    int main()
    {
    
     int x=0,y=0,z=0;
    
    
     cout << "Geben sie einen Wert ein: ";
     cin >> x;
    
     cout << "Geben sie den zweiten Wert ein: ";
     cin >> y;
    
     z = x + y;
    
     cout << x << "+" << y << "=" << z << endl;
    
     return 0;
    }
    
    
    



    oder


    Code:
    // C++
    
    
    
    #include<iostream>
    
    using namespace std;
    
    int Addition(int x, int y);
    
    int main()
    {
    
     int x=0,y=0;
    
    
     cout << "Geben sie einen Wert ein: ";
     cin >> x;
    
     cout << "Geben sie den zweiten Wert ein: ";
     cin >> y;
    
     cout << x << "+" << y << "ergibt" << Addition(x,y) << endl;
    
     return 0;
    }
    
    int Addition(int x, int y)
    {
     int z=0;
    
     z = x + y;
    
     return z;
    }
    

    so hätte ich das gemacht. Kannst aber auch die Lösungszeile in Addition mit ausgeben. Geschmackssache.

    Dann würde das so aussehen:

    Code:
    // C++
    
    
    
    #include<iostream>
    
    using namespace std;
    
    int Addition(int x, int y);
    
    int main()
    {
    
     int x=0,y=0;
    
    
     cout << "Geben sie einen Wert ein: ";
     cin >> x;
    
     cout << "Geben sie den zweiten Wert ein: ";
     cin >> y;
    
     Addition(x,y);
    
     return 0;
    }
    
    int Addition(int x, int y)
    {
     int z=0;
    
     z = x + y;
    
    
     cout << x << "+" << y << "=" << z << endl;
    
     return 0;
    }
    
     
  5. 5. Oktober 2009
    AW: Hilfe bei Methoden werte Übergabe

    ne es sollen eben nicht von anfang an werte eingegeben werden.. ich poste euch gleich mein prog.. klappt auch aber ich will es so das ich die zahlen eingabe in eine eigene methopde packe und die nur noch in den mothden z.b. addieren, muliplikation etc aufrufe und die werte übergebe, sodass ich nicht mehr in jede methode die *******n eingaben eingeben muss .. vertseht ihr?

    Code:
    #include <iostream.h>
    #include <conio.h>
    #include "methoden.cp"
    
    
    //Deklaration der Methoden
    int addieren (int, int);
    int subtraktion(int, int);
    int multiplikation(int, int);
    int division(int, int);
    int fruchtbarkeit(int, int, int);
    
    int main ()
    {
    //Deklaration Variablen
     int zahl1, zahl2;
     int basis, pot, ergebnis;
     int auswahl;
     char abfrage;
     
    
    // Do Schleife um das Programm mehrmals durchlaufen zu lassen bei JA ( siehe while schleife )
    
    do
     {
     system("cls");
     cout<<"#####---Taschenrechner by r-han---#####"<<endl;
     cout <<endl;
     cout << "Addition (1)" << endl;
     cout << "Subtraktion (2)" << endl;
     cout << "Multiplikation (3)" << endl;
     cout << "Division (4)" << endl;
     cout << "fruchtbarkeit (5)" <<endl<<endl;
    
     cout << "Ihre Auswahl: ";
     cin >> auswahl;
     cout << endl << endl;
     
    //Fallunterscheidung
     
     switch (auswahl)
     {
     
     case 1:
     
     addieren(zahl1, zahl2);
     break;
     
     case 2:
     
     subtraktion(zahl1, zahl2);
     break;
     
     case 3:
     
     multiplikation(zahl1, zahl2);
     break;
     
     case 4:
     
     division(zahl1, zahl2);
     break;
     
     case 5:
     
     fruchtbarkeit(basis, pot, ergebnis);
     break;
     
     default :
     
     cout << "Error!" <<endl;
    
     }
     cout<<endl<<endl<<"Moechten Sie den Rechner erneut ausfuehren? j/n?"<<endl;
     cin>>abfrage;
     
    // If bedingeung zum Beenden des Programs 
     if (abfrage == 'n')
     {
     return 0;
     } 
     
     
    
    //While schleife zum fortfahren des Prgramms
    
     }
    while (abfrage == 'j');
    
    }
    
    
    die methoden.cp

    Code:
    //Methoden des Rechnens
    int addieren(int y, int x)
    {
     cout <<"Bitte geben sie Ihre Zahlen ein: "<<endl<<endl;
     cout <<"Zahl 1: ";
     cin>>x;
     
     cout <<"Zahl 2: "<<endl;
     cin>>y;
     
     cout << x <<" + " << y <<" = " << x+y<<endl;
    }
    
    int subtraktion(int x, int y)
    {
     cout <<"Bitte geben sie Ihre Zahlen ein: "<<endl<<endl;
     cout <<"Zahl 1: ";
     cin>>x;
     
     cout <<"Zahl 2: "<<endl;
     cin>>y;
     cout << x <<" - " << y <<" = " << x-y<<endl;
    }
    
    int multiplikation(int x, int y)
    {
     cout <<"Bitte geben sie Ihre Zahlen ein: "<<endl<<endl;
     cout <<"Zahl 1: ";
     cin>>x;
     
     cout <<"Zahl 2: "<<endl;
     cin>>y;
     cout << x <<" * " << y <<" = " << x*y<<endl;
    }
    
    int division(int x, int y)
    {
     cout <<"Bitte geben sie Ihre Zahlen ein: "<<endl<<endl;
     cout <<"Zahl 1: ";
     cin>>x;
     
     cout <<"Zahl 2: "<<endl;
     cin>>y;
     cout << x <<" / " << y <<" = " << x/y<<endl;
    }
    
    int fruchtbarkeit(int xba, int ypo, int zerg)
    {
    int i;
    
    cout << "Bitte geben Sie die Basis ein: ";
    cin >> xba;
    cout << "Bitte geben Sie die fruchtbarkeit ein: "<<endl;
    cin >> ypo;
    
    zerg=xba;
    
    for(i=1;i < ypo ;i++)
    {
     
     zerg = zerg*xba;
    
    }
    cout << "Das Ergebnis Lautet: " << zerg;
    }
    

    danke mit dem zeiger hats geklappt !

    edit: damn sry für doppel post!
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.