![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Veteran
![]() |
![]() Hi Leute!
Ich bräuchte eure hilfe.Ich wüsste nicht wie ich das beheben soll.Wülle gerade im internet und in büchern rum...muss ich da was anderes nehmen als strcpy? compiler meldet folgendes:1>e:\prog\c++\taschenrechner4.1.08\tr_ob jausgabe\tr_objausgabe\tr_objausgabe.cpp(45) : error C2664: 'Taschenrechner::Ausgabe': Konvertierung des Parameters 1 von 'char [20]' in 'char' nicht möglich // TR_ObjAusgabe.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung. // #include "stdafx.h" #include <iostream> #include <conio.h> #include <string.h> using namespace std; class Taschenrechner { private: int zahl1, zahl2; public: int ergebnis; void Add(int zEins, int zZwei); void Sub(int zEins, int zZwei); void Mul(int zEins, int zZwei); void Div(int zEins, int zZwei); char oper[20]; void Ausgabe(char oper, int ergebnis); ~Taschenrechner() { } }; void Taschenrechner :: Add(int zEins, int zZwei) { zahl1 = zEins; zahl2 = zZwei; strcpy_s(oper,"Addition"); ergebnis = zahl1 + zahl2; Ausgabe(oper, ergebnis); } void Taschenrechner :: Sub(int zEins, int zZwei) { zahl1 = zEins; zahl2 = zZwei; // strcpy_s(oper,"Subtraktion"); ergebnis = zahl1 - zahl2; // Ausgabe(oper, ergebnis); } void Taschenrechner :: Mul(int zEins, int zZwei) { zahl1 = zEins; zahl2 = zZwei; ergebnis = zahl1 * zahl2; // Ausgabe(ergebnis); } void Taschenrechner :: Div(int zEins, int zZwei) { zahl1 = zEins; zahl2 = zZwei; ergebnis = zahl1 / zahl2; // Ausgabe(ergebnis); } void Taschenrechner ::Ausgabe(char oper, int ergebnis) { cout << "Das Ergebnis der " << oper << " ist: " << ergebnis; } int main (void) { class Taschenrechner Rechnen; int zEins, zZwei; int zErg = 0; char abbruch; cout << "Bitte geben Sie den ersten Zahl ein: "; cin >> zEins; cout << "Bitte geben Sie den zweiten Zahl ein: "; cin >> zZwei; Rechnen.Add(zEins, zZwei); zErg = Rechnen.ergebnis; //cout << "\nDas Ergebnis der Addition lautet: " << zErg; Rechnen.Sub(zEins, zZwei); zErg = Rechnen.ergebnis; // cout << "\nDas Ergebnis der Subtrahieren lautet: " << zErg; Rechnen.Mul(zEins, zZwei); zErg = Rechnen.ergebnis; //cout << "\nDas Ergebnis der Mulplikation lautet: " << zErg; Rechnen.Div(zEins, zZwei); zErg = Rechnen.ergebnis; // cout << "\nDas Ergebnis der Division lautet: " << zErg; abbruch = getch(); }
____________________________________
mfG []:::||::FLITZ:::> |
![]() |
![]() |
![]() |
#2 |
Hero
![]() Registriert seit: 04.09.2001
Beiträge: 894
|
![]() hi,
ohne mir den rest des programmes jetzt auf korrektheit oder generell weiters angesehen zu haben: deine fuktion hat als parameter 1 zeichen (char), du übergibts jedoch ein "arry of caracters" (=string). Ändere die funktion so: void Ausgabe(char[] oper, int ergebnis); (nicht getestet) fg hannes |
![]() |
![]() |
![]() |
#3 |
Veteran
![]() |
![]() ich habe jetzt die übergabeparameter auf (char oper[20], ergebnis); geändert....siehe da es funkt
![]() danke noch für den hinweiß ![]()
____________________________________
mfG []:::||::FLITZ:::> |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|