[C++] Taschenrecher

Padawan

Erfahrenes Mitglied
Hallo Leute,
hab folgendes Taschenrechner-Programm geschrieben:

C++:
#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
 

sheel

I love Asm
Hi

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

Pointer machen hier keinen Sinn.
Weg mit jedem *
 

Padawan

Erfahrenes Mitglied
Hi
danke für die Antwort.
das mit dem & hatte ich vergessen :-(

Lg Padawan
 
Zuletzt bearbeitet: