Anzeige in Funktion
-
Hallo
Wie kriege ich das hin das alle Ergebnisse auf einmal angezeigt werden, in einer Funktion. So geht es nicht, er zeigt ganichts an auch keinen Fehler beim compilieren. Was ist falsch?[cpp][code]
#include "stdafx.h"
using namespace System;
// Plusrechnung
Int32 plus() {
Int32 zahl1, zahl2;Console::Write("\n Plus Rechnung");
Console::Write("\n Eingeben Zahl1 = ");
zahl1=Convert::ToInt32(Console::ReadLine());Console::Write(" Eingeben Zahl2 = ");
zahl2=Convert::ToInt32(Console::ReadLine());return (zahl1 + zahl2);
}
//MinusRechnung
Int32 minus() {
Int32 zahl1, zahl2;Console::Write("\n Minus Rechnung");
Console::Write("\n Eingeben Zahl1 = ");
zahl1=Convert::ToInt32(Console::ReadLine());Console::Write(" Eingeben Zahl2 = ");
zahl2=Convert::ToInt32(Console::ReadLine());
return (zahl1 - zahl2);
}
//Malnehmen
Int32 mal() {
Int32 zahl1, zahl2;
Console::WriteLine(" Mal Rechnung");
Console::Write(" Eingeben Zahl1 = ");
zahl1=Convert::ToInt32(Console::ReadLine());Console::Write(" Eingeben Zahl2 = ");
zahl2=Convert::ToInt32(Console::ReadLine());
return (zahl1 * zahl2);
}
// Teilen
Double teilen() {
Double zahl1, zahl2;
Console::WriteLine(" Teilen Rechnung");
Console::Write(" Eigeben Zahl1 = ");
zahl1=Convert::ToInt32(Console::ReadLine());Console::Write(" Eingeben zahl2 ");
zahl2=Convert::ToInt32(Console::ReadLine());return (zahl1 / zahl2);
}
Double ausgabe() {
Double ausgabe;
Console::WriteLine("\n Ausgeben Ergebnis plus = {0}",plus());
Console::WriteLine("\n Ausgeben Ergebnis Minus = {0}\n",minus());
Console::WriteLine("\n Ausgeben Ergebnis Mal = {0}\n",mal());
Console::WriteLine("\n Ausgeben Ergebnis Teilen = {0:G3}\n",teilen());
return ausgabe;
}
Vielen Dank im Voraus
-
Passiert überhaupt was? Solche Konsolenprogrammen haben die Eigenschaften sich augenblicklich zu schließen, wenn der Code abgearbeit ist. Bei 2 GHz und 20 Codezeilen bekommst du das Öffnen und Schließen des Konsolenfensters gar nicht erst mit, entsprechend scheint es als würde er gar nix anzeigen.
-
Heinerich schrieb:
Hallo
Wie kriege ich das hin das alle Ergebnisse auf einmal angezeigt werden, in einer Funktion. So geht es nicht, er zeigt ganichts an auch keinen Fehler beim compilieren. Was ist falsch?[cpp][code]
#include "stdafx.h"
using namespace System;
// Plusrechnung
Int32 plus() {
Int32 zahl1, zahl2;Console::Write("\n Plus Rechnung");
Console::Write("\n Eingeben Zahl1 = ");
zahl1=Convert::ToInt32(Console::ReadLine());Console::Write(" Eingeben Zahl2 = ");
zahl2=Convert::ToInt32(Console::ReadLine());return (zahl1 + zahl2);
}
//MinusRechnung
Int32 minus() {
Int32 zahl1, zahl2;Console::Write("\n Minus Rechnung");
Console::Write("\n Eingeben Zahl1 = ");
zahl1=Convert::ToInt32(Console::ReadLine());Console::Write(" Eingeben Zahl2 = ");
zahl2=Convert::ToInt32(Console::ReadLine());
return (zahl1 - zahl2);
}
//Malnehmen
Int32 mal() {
Int32 zahl1, zahl2;
Console::WriteLine(" Mal Rechnung");
Console::Write(" Eingeben Zahl1 = ");
zahl1=Convert::ToInt32(Console::ReadLine());Console::Write(" Eingeben Zahl2 = ");
zahl2=Convert::ToInt32(Console::ReadLine());
return (zahl1 * zahl2);
}
// Teilen
Double teilen() {
Double zahl1, zahl2;
Console::WriteLine(" Teilen Rechnung");
Console::Write(" Eigeben Zahl1 = ");
zahl1=Convert::ToInt32(Console::ReadLine());Console::Write(" Eingeben zahl2 ");
zahl2=Convert::ToInt32(Console::ReadLine());return (zahl1 / zahl2);
}
Double ausgabe() {
Double ausgabe;
Console::WriteLine("\n Ausgeben Ergebnis plus = {0}",plus());
Console::WriteLine("\n Ausgeben Ergebnis Minus = {0}\n",minus());
Console::WriteLine("\n Ausgeben Ergebnis Mal = {0}\n",mal());
Console::WriteLine("\n Ausgeben Ergebnis Teilen = {0:G3}\n",teilen());
return ausgabe;
}
Vielen Dank im VorausDu hast recht er zeigt garnichts an. Vorher als ich nur die Mainfunktion hatte funktionierte das Programm
-
Hi Heinrich,
wo ist Deine main?
Die wird als Einstiegspunkt benötigt.
Ich habe Dir mal die Funktion "teilen" angepasst.
In erster Linie vereinbarst Du da einen Rückgabewert Double aber gibst nur einen Int32 zurück.
Du Konvertierst die Eingegebene Zahl in einen Int32 und speicherst sie in einen Double.
Warum? Vereinbare dann doch gleich einen Int32
Wenn Du einen Double haben möchtest, dann Konvertiere ihn auch in einen Double.
Du gibst zwar in jeder Funktion Werte zurück, aber Du verarbeitest sie nicht.
Wenn Du Fragen hast, her damit.Double teilen(Double zahl1, Double zahl2) { Console::WriteLine(" Teilen Rechnung"); return (zahl1 / zahl2); } Double ausgabe() { Double ausgabe; Console::WriteLine("\n Ausgeben Ergebnis plus = {0}",plus()); Console::WriteLine("\n Ausgeben Ergebnis Minus = {0}\n",minus()); Console::WriteLine("\n Ausgeben Ergebnis Mal = {0}\n",mal()); //Console::WriteLine("\n Ausgeben Ergebnis Teilen = {0:G3}\n",teilen()); return ausgabe; } int main(array<System::String ^> ^args) { Double zahl1, zahl2; Console::Write(" Eigeben Zahl1 = "); zahl1=Convert::ToDouble(Console::ReadLine()); Console::Write(" Eingeben zahl2 = "); zahl2=Convert::ToDouble(Console::ReadLine()); Console::WriteLine(Convert::ToString(teilen(zahl1,zahl2))); return 0; }
Gruß, Doug_HH
Ach ja, versuche bitte mal den Code in einem C/C++ Code Block zu posten.
-
Heinerich schrieb:
Heinerich schrieb:
Hallo
Wie kriege ich das hin das alle Ergebnisse auf einmal angezeigt werden, in einer Funktion. So geht es nicht, er zeigt ganichts an auch keinen Fehler beim compilieren. Was ist falsch?[cpp][code]
#include "stdafx.h"
using namespace System;
// Plusrechnung
Int32 plus() {
Int32 zahl1, zahl2;Console::Write("\n Plus Rechnung");
Console::Write("\n Eingeben Zahl1 = ");
zahl1=Convert::ToInt32(Console::ReadLine());Console::Write(" Eingeben Zahl2 = ");
zahl2=Convert::ToInt32(Console::ReadLine());return (zahl1 + zahl2);
}
//MinusRechnung
Int32 minus() {
Int32 zahl1, zahl2;Console::Write("\n Minus Rechnung");
Console::Write("\n Eingeben Zahl1 = ");
zahl1=Convert::ToInt32(Console::ReadLine());Console::Write(" Eingeben Zahl2 = ");
zahl2=Convert::ToInt32(Console::ReadLine());
return (zahl1 - zahl2);
}
//Malnehmen
Int32 mal() {
Int32 zahl1, zahl2;
Console::WriteLine(" Mal Rechnung");
Console::Write(" Eingeben Zahl1 = ");
zahl1=Convert::ToInt32(Console::ReadLine());Console::Write(" Eingeben Zahl2 = ");
zahl2=Convert::ToInt32(Console::ReadLine());
return (zahl1 * zahl2);
}
// Teilen
Double teilen() {
Double zahl1, zahl2;
Console::WriteLine(" Teilen Rechnung");
Console::Write(" Eigeben Zahl1 = ");
zahl1=Convert::ToInt32(Console::ReadLine());Console::Write(" Eingeben zahl2 ");
zahl2=Convert::ToInt32(Console::ReadLine());return (zahl1 / zahl2);
}
Double ausgabe() {
Double ausgabe;
Console::WriteLine("\n Ausgeben Ergebnis plus = {0}",plus());
Console::WriteLine("\n Ausgeben Ergebnis Minus = {0}\n",minus());
Console::WriteLine("\n Ausgeben Ergebnis Mal = {0}\n",mal());
Console::WriteLine("\n Ausgeben Ergebnis Teilen = {0:G3}\n",teilen());
return ausgabe;
}
Vielen Dank im VorausDu hast recht er zeigt garnichts an. Vorher als ich nur die Mainfunktion hatte funktionierte das Programm
Wenn ich wüste wie das geht das mit dem C++ Code Block Posten würde ich das tun aber ich weis nicht wie das geht erkläre es mir doch mal bitte
In meiner main steht das wqas in der Ausgabe Funktion steht. Dann zeigt er die Ergebnisse einzeln an, so wie ich die Zahlen eingebe. Er soll sie aber alle auf einmal anzeigen da weis ich nicht wie das geht? Wie du es geschrieben hast sagt er
error C2660: 'teilen': Funktion akzeptiert keine 2 Argumente
-
edit Doppelpost !
-
Heinerich schrieb:
Wenn ich wüste wie das geht das mit dem C++ Code Block Posten würde ich das tun aber ich weis nicht wie das geht erkläre es mir doch mal bitte
Du gibst vor deinem Code [ cpp] ein und nach deinem Code [ /cpp] *
und so sieht das aus
int main() { Int32 zahl; return 0; }
*ohne die Leerschritte dazwischen!
-
Ok, ich Bau Dir das mal eben.
Wenn Du das erstmal gesehen hast ist das wirklich nicht schwer zu verstehen.
Du möchtest quasi zwei Zahlen eingeben und dann alle Ergebnisse der 4 Grundrechenarten auf einmal Ausgeben?
Die Fehlermeldung hast Du bekommen, weil die Funktion zwei Übergabewerte erwartet hat.
Mit dem Code posten hast Du verstanden?
Den Code einfach selektieren und dann auf die Schaltfläche C/C++ unter der Eingabemaske klicken, dass ist die linke Schaltfläche.
Danach wird der Code in einem C/C++ Block eingebunden.int vari;
Gruß Doug_HH
-
So da bin ich wieder.
Also ich habe nicht allzu viel geändert, nur das ich Dein Beispiel um die Anweisung „Ausgabe“ gekürzt habe.
Ferner erwartet jetzt jede Funktion zwei Zahlen vom Typ Double, die auf jedem Fall übergeben werden müssen, sonst bekommst Du eine Fehlermeldung.
Wenn Du Fragen dazu hast, nur zu.Gruß, Doug_HH
#include "stdafx.h" using namespace System; // Plusrechnung Double plus(Double zahl1, Double zahl2) { return (zahl1 + zahl2); } //MinusRechnung Double minus(Double zahl1, Double zahl2) { return (zahl1 - zahl2); } //Malnehmen Double mal(Double zahl1, Double zahl2) { return (zahl1 * zahl2); } // Teilen Double teilen(Double zahl1, Double zahl2) { return (zahl1 / zahl2); } int main(array<System::String ^> ^args) { Double zahl1, zahl2; Console::Write("\nBitte geben Sie die 1. Zahl ein: "); zahl1 = Convert::ToDouble(Console::ReadLine()); //erste Zahl einlesen. Console::Write("\nBitte geben Sie die 2. Zahl ein: "); zahl2 = Convert::ToDouble(Console::ReadLine());//zweite Zahl einlesen. Console::WriteLine("\nDas Ergebnis von {0} / {1} = {2}",zahl1,zahl2, teilen(zahl1,zahl2)); Console::WriteLine("\nDas Ergebnis von {0} * {1} = {2}",zahl1,zahl2, mal(zahl1,zahl2)); Console::WriteLine("\nDas Ergebnis von {0} - {1} = {2}",zahl1,zahl2, minus(zahl1,zahl2)); Console::WriteLine("\nDas Ergebnis von {0} + {1} = {2}\n",zahl1,zahl2, plus(zahl1,zahl2)); return 0; }