PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem beim C++ Programm


Chris2701
15.05.2003, 20:08
Hi@all ich habe eine Frage bezüglich meines Programmes ich habe da ein Programm das mir den Euro Wert in den US-Dollar Wert und den Pfund wert angibt. Aber ich wollte jetzt das in soweit verändern das ich auswählen kann in was ich das angeben möchte hier bei meinem Programm bekomme ich alle 2 Lösungen angezeigt. Ich gebe den Euro Betrag ein und bekomme ihn in Dollar und in Pfund in wie weit muss ich das abändern das ich immer nur ein ergebnis bekomme und eben auswählen kann ob ich doller oder pfund habe

Thanks@all



# include <stdio.h>
# include <conio.h>
# include <iostream.h>
# include <ctype.h>
# include <math.h>

float betrag,dollar,pfund;
char janein;
const float p = 0.71070;
const float d = 1.14940;

void menu ();
void eingabe ();
void rechnung ();
void ausgabe ();
void nochmal ();

//--------------------------------------------------------------------
//Funktion Hauptprogramm
//--------------------------------------------------------------------

void main ()
{
do
{
menu ();
eingabe();
rechnung ();
ausgabe ();
nochmal ();
}
while (janein == 'j');

}

//--------------------------------------------------------------------
//Funktion menu
//--------------------------------------------------------------------

void menu ()
{
clrscr ();

gotoxy (30,4);
cout << "Waehrungsumrechnung";
}

//--------------------------------------------------------------------
//Funktion eingabe
//--------------------------------------------------------------------

void eingabe ()
{
gotoxy (10,8);
cout << "Bitte geben Sie ihren Betrag ein : ";
cin >> betrag;
}



//--------------------------------------------------------------------
// Funktion rechnung
//--------------------------------------------------------------------

void rechnung ()
{
pfund = betrag * p ;
dollar= betrag * d ;
}


//--------------------------------------------------------------------
// Funktion ausgabe
//--------------------------------------------------------------------

void ausgabe ()
{
gotoxy (3,18);
cout << " Ihr Betrag in US-Dollar " << dollar << endl;

gotoxy (3,16);
cout << " Ihr Betrag in Pfund " << pfund << endl;
}

//--------------------------------------------------------------------
// Funktion nochmal
//--------------------------------------------------------------------

void nochmal ()
{

gotoxy (28,25);
cprintf ( "Programm wiederholen? <j/n> ");
janein = tolower (getch () );

}

mezzo mix
16.05.2003, 13:14
schon mal was von spaghetti code gehört? das ist ja der hammer!
ich mach dir das nachher mal...

mezzo mix
16.05.2003, 18:16
hallo,
du solltest dir besser abgewöhnen alle variablen global zu definieren.
dann lieber als parameter übergeben.
ich hab' keinen windows rechner, und daher auch keine conio.h, deshalb konnte ich diese gotoxy() nicht benutzen (ist wohl auch kein ansi c). mußt das menue halt nochmal machen.
außerdem wollte ich dir noch sagen, daß das was du da so programmiert hast eher c code ist!

so in etwa kann man sowas machen:



// header files in c++ ohne h! dafür einfach ein c davor.
# include <cstdio>
//# include <conio.h>
# include <cstring>
# include <iostream>
# include <cctype>
# include <cmath>

void menu ();
float eingabe (float *betrag);
void rechnung (float *dollar, float *pfund, float betrag, float d, float p);
void ausgabe (float dollar, float pfund);
void nochmal (char *janein);

//--------------------------------------------------------------------
//Funktion Hauptprogramm
//--------------------------------------------------------------------

/*Das heißt int main*/
int main (){
float betrag=0., dollar=0., pfund=0.;
char janein;
const float p = 0.71070;
const float d = 1.14940;

do
{
menu ();
eingabe(&betrag);
rechnung (&dollar, &pfund, betrag, d, p);
ausgabe (dollar, pfund);
nochmal (&janein);
}
while (janein == 'j');

//Wenn man int main schreibt, sollte auch was zurückgegeben werden, und zwar 0 im Erfolgsfall
return 0;
}

//--------------------------------------------------------------------
//Funktion menu
//--------------------------------------------------------------------

void menu (){
//clrscr ();

//gotoxy (30,4);
cout << "\nWaehrungsumrechnung\n";
}

//--------------------------------------------------------------------
//Funktion eingabe
//--------------------------------------------------------------------

float eingabe (float *betrag)
{
//gotoxy (10,8);
cout << "Bitte geben Sie ihren Betrag ein : ";
cin >> *betrag;
}



//--------------------------------------------------------------------
// Funktion rechnung
//--------------------------------------------------------------------

void rechnung (float *dollar, float *pfund, float betrag, float d, float p){
*pfund = betrag * p ;
*dollar= betrag * d ;
}


//--------------------------------------------------------------------
// Funktion ausgabe
//--------------------------------------------------------------------

void ausgabe (float dollar, float pfund){
char wahl;

cout << "\nBetrag in Dollar oder Pfund? (d/p)";
cin >> wahl;
switch (wahl){
case 'd':
//gotoxy (3,18);
cout << "Ihr Betrag in US-Dollar " << dollar << endl;
break;
case 'p':
//gotoxy (3,16);
cout << "Ihr Betrag in Pfund " << pfund << endl;
break;
default:
cout << "Falsche Eingabe!\n";
break;
}
}

//--------------------------------------------------------------------
// Funktion nochmal
//--------------------------------------------------------------------

void nochmal (char *janein){

//gotoxy (28,25);
cout << "\nProgramm wiederholen? <j/n>: ";
//janein = tolower (getch () );

cin >> *janein;

}