Séparer en une sucession de fonctions.

xenetrix Messages postés 7 Date d'inscription vendredi 9 décembre 2005 Statut Membre Dernière intervention 16 janvier 2006 - 16 janv. 2006 à 10:26
Gendal67 Messages postés 627 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 24 juillet 2011 - 17 janv. 2006 à 13:02
/* Bonjour, à chaque fois que j'aimerais séparer ce programme en une succession de fonction, le programme ne revient pas à la dernière commande. Dois-je créer une fonction pour chaque commande "set name", "set account ID"...? De plus, lors de la commande, "make deposit", peut importe le deposit que l'on décide d'entrer, le programme crash... Ahahahaahah!!!!*/

#include
using namespace std;

int main()
{
string AcctName, AcctID, CheckID[25], Cmd;
double Balance = 0, CheckAmt[25];
int CheckNumber = 0;

cout << "Enter Commands Below, Stop To Quit." << endl;

for(;;) {

cout << "=====================" << endl;
cout << "Menu............" << endl;
cout << "Set Name" << endl;
cout << "Set Account ID" << endl;
cout << "Post Check" <<endl;
cout << "Make Deposit" << endl;
cout << "Show Balance" << endl;
cout << "Stop" << endl;
cout << "=====================" << endl;
cout << "Command: ";
getline(cin, Cmd);

if(Cmd == "Stop")
break;
else if(Cmd == "Set Name") {
cout << "Enter Account Holder Name: ";
getline(cin, AcctName);
}
else if(Cmd == "Set Account ID") {
cout << "Enter Account ID: ";
getline(cin, AcctID);
}

else if(Cmd == "Post Check") {
cout << "Enter Check ID: ";
getline(cin, CheckID[CheckNumber]);
cout << "Enter Check Amount: ";
cin >> CheckAmt[CheckNumber];
Balance -= CheckAmt[CheckNumber];
CheckNumber++;
}
else if(Cmd == "Make Deposit") {
double Amt;
cout << "Enter Amount of deposit: ";
cin >> Amt;
Balance += Amt;
}
else if(Cmd == "Show Balance") {
cout << "===================================" << endl;
cout << "Name: " << AcctName << endl;
cout << "Acct ID: " << AcctID << endl;
cout << "Your Current Balance is " << Balance << endl;
for(int K = 0 ; K < CheckNumber ; K++)
cout << "\t" << CheckID[K] << "\t" << CheckAmt[K] << endl;
cout << "===================================" << endl;
}
else {
cout << "===================================" << endl;
cout << Cmd <<"? I don't know how to do that" << endl;
cout << "===================================" << endl;
}
}
}

1 réponse

Gendal67 Messages postés 627 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 24 juillet 2011 2
17 janv. 2006 à 13:02
Euh ton souci de crash ou de ne pas executer la commande suivante etc me parait être un problême de buffer overflow...quand tu décomposes en plusieurs fonctions, quels sont les prototypes des fonctions ?
0
Rejoignez-nous