Je fais un programme pour une classe à l'école, et quand j'essaie d'exécuter le code que j'ai écrit ci-dessous (seulement la moitié du projet est fait, mais il est dans un état où il devrait fonctionner de toute façon) le menu se lève bien, mais alors il saute directement à la fin du programme et ne me laisse pas entrer la partie importante ..Mon programme C++ n'accepte pas les entrées après le menu
Lorsque je supprime le menu (ce qui sera une nécessité plus tard quand je finis le projet), il fonctionne très bien, mais quand il est là comme je l'ai besoin d'être, courir correctement coutume
//Project 4 Written By Nate
#include <iostream>
#include <iomanip>
using namespace std;
int menuOption;
char stockName[21],symbol[10];
float openingPrice,closingPrice,numberShares,gain;
int main()
{
// MENU //
cout<<"Welcome to Project 4! Please select the program you would like to run:\n\n 1)Stock Program\n\nEnter your selection: ";
cin>>menuOption;
if(menuOption == 1) {
goto stockProgram;
} else
{
cout<<"Invalid response received. Program will now terminate";
return 0;
}
stockProgram:
cout<<"This program will ask you information about a stock you own.\n\n";
cout<<"Enter stock name: ";
cin.get(stockName,21);
cin.ignore(80,'\n');
cout<<"Symbol: ";
cin.get(symbol,10);
cin.ignore(80,'\n');
cout<<"Enter opening price: ";
cin>>openingPrice;
cout<<"Enter closing price: ";
cin>>closingPrice;
cout<<"Enter the number of shares: ";
cin>>numberShares;
cout<<"\n\n";
gain=(numberShares*closingPrice)-(numberShares*openingPrice);
cout<<setw(10)<<"Stock Name"<<setw(10)<<"Symbol"<<setw(10)<<"Opening"<<setw(10)<<"Closing"<<setw(10)<<"Shares"<<setw(11)<<"Gain\n";
cout<<setw(10)<<stockName<<setw(10)<<symbol<<setw(10)<<openingPrice<<setw(10)<<closingPrice<<setw(10)<<numberShares<<setw(10)<<gain<<"\n\n";
cout<<"=====================================================================\n";
cout<<" This gain could've been yours, too bad you are an anti-mac person.\n";
return 0;
}
Merci ..
considèrent fortement d'utiliser une fonction plutôt que 'goto stockProgram; – user4581301
Nous vous recommandons de tester l'entrée pour vous assurer que la lecture a réussi et que le flux n'est pas en état d'échec. 'if (cin >> menuOption) {fait des choses} else {erreur de gestion}' – user4581301
Est-ce que quelqu'un vous a laissé entrer dans [Logiciel de débogage] (https://en.wikipedia.org/wiki/Debugger)? Un débogueur est livré avec à peu près tous les environnements de développement qui valent la peine d'être utilisés. Il vous permettra de contrôler l'exécution de votre programme, en l'exécutant ligne par ligne le cas échéant, et de surveiller l'état des variables. Savoir comment utiliser les débogueurs vous facilitera la vie et l'utilisation du débogueur est une compétence essentielle pour le programmeur qui travaille. – user4581301