tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
197
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Padawan Padawan ist offline Mitglied Silber
    Registriert seit
    Mar 2011
    Beiträge
    50
    Hallo Leute,
    hab folgendes Taschenrechner-Programm geschrieben:

    Code cpp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    
    #include <iostream>
    #include <ostream>
     
    using namespace std;
     
    int GrundrechenArten(int *z1, int *z2, char *op);
     
    int main() 
    {
        char frage;
        int a = 0, b = 0;
     
        cout<<"Hallo Welt!"<<endl;
        cout<<"Zahlen: ";
        cin>>a;
        cin>>b;
     
        /*
        resultPl = a + b;
        resultMi = a - b;
        resultMul = a * b;
        resultDiv = a / b;
        resultMod = a % b;
        */
     
        cout<<endl<<"Zahl 1:"<< a<<endl;
        cout<<"Zahl 2:" << b <<endl;
        cout<<"Zahl 1 + Zahl 2 ist gleich " << GrundrechenArten(a, b, '+') <<endl;
        cout<<"Zahl 1 - Zahl 2 ist gleich " << GrundrechenArten(a, b, '-') <<endl;
        cout<<"Zahl 1 * Zahl 2 ist gleich " << GrundrechenArten(a, b, '*') <<endl;
        cout<<"Zahl 1 / Zahl 2 ist gleich " << GrundrechenArten(a, b, '/') <<endl;
        cout<<"Zahl 1 % Zahl 2 ist gleich " << GrundrechenArten(a, b, '%') <<endl;
        
        system("pause");
        return 0;
    }
     
    int GrundrechenArten(int *op1, int *op2, char *op)
    {
        int result;
     
        switch(*op)
        {
        case '+': return result = *op1 + *op2; break;
        case '-': return result = *op1 + *op2; break;
        case '*': return result = *op1 + *op2; break;
        case '/': return result = *op1 + *op2; break;
        case '%': return result = *op1 + *op2; break;
        }
    }

    die Fehler sind:

    Fehler 1 error C2664: 'GrundrechenArten': Konvertierung des Parameters 1 von 'int' in 'int *' nicht möglich Zeile: 33

    Fehler 2 error C2664: 'GrundrechenArten': Konvertierung des Parameters 1 von 'int' in 'int *' nicht möglich Zeile: 34
    Fehler 3 error C2664: 'GrundrechenArten': Konvertierung des Parameters 1 von 'int' in 'int *' nicht möglich Zeile: 35
    Fehler 4 error C2664: 'GrundrechenArten': Konvertierung des Parameters 1 von 'int' in 'int *' nicht möglich Zeile: 36
    Fehler 5 error C2664: 'GrundrechenArten': Konvertierung des Parameters 1 von 'int' in 'int *' nicht möglich Zeile: 37


    Sollte Funktion müsste doch die Variablen so Übernehmen, oder noch?


    Lg Padawan
     

  2. #2
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Hi

    Entweder übergibst du die Variablen mit &
    oder entpointerst besser die gesamte Funktion.

    Pointer machen hier keinen Sinn.
    Weg mit jedem *
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  3. #3
    Padawan Padawan ist offline Mitglied Silber
    Registriert seit
    Mar 2011
    Beiträge
    50
    Hi
    danke für die Antwort.
    das mit dem & hatte ich vergessen

    Lg Padawan
    Geändert von Padawan (23.10.11 um 13:25 Uhr)
     

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 28.01.09, 11:50
  2. taschenrecher punkt vor strich
    Von computers im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 05.11.03, 21:01