函数在控制台中运行两次
Function running twice in console
基本上,每当我在控制台中运行这个程序来测试它时,我的 Menu() 函数就会被调用,当我输入时,它会再次打印整个 Menu() 函数。请帮我解决这个问题。附言这是不完整的。
#include <iostream>
#include <windows.h>
using namespace std;
int Menu();
int main()
{
float currMoney = 0;
float giveMoney = 0;
float coke = 8.50;
float fantaG = 9;
float fantaO = 9;
float creamS = 7;
Menu();
int Choice = Menu();
system("cls");
if(Choice == 1)
{
cout<< "Insert R"<< coke << endl;
int pay = 0;
cin>> pay;
float returnA = pay - coke;
if(returnA < 0)
{
returnA = -returnA;
cout<< "you still owe R"<< returnA << "0" << endl;
}
}
}
int Menu()
{
cout<< "[Drink machine v1.0]nn"<< endl;
cout<< "[1]Coke -- R8,50"<< endl;
cout<< "[2]Fanta grape -- R9,00" <<endl;
cout<< "[3]Fanta orange -- R9,00"<< endl;
cout<< "[4]Cream Soda -- R7,00"<< endl;
int Choice = 0;
cin>> Choice;
return Choice;
}
它被调用两次的原因是因为您要调用它两次!
Menu(); // first time
int Choice = Menu(); // second time
在第一次调用中,您不会捕获返回值 - 因此它所做的只是显示菜单,请求输入,然后丢弃结果。
在第二次调用中,您再次显示菜单,请求输入,然后这次您捕获结果,并对该结果进行操作。
从外观上看,您要删除对Menu()
的第一个调用
你在代码中调用它两次
int main() {
Menu();
int Choice = Menu();
}
相关文章:
- Realloc 两次无法在 Visual Studio 上运行
- 谷歌测试发现在macOSX上添加并运行了我的所有测试两次
- C++:链接库两次,全局构造函数运行两次吗?
- 程序在运行两次后关闭
- *char数组到字符串(两次运行代码和两个不同的结果)
- 析构函数在 lambda 捕获说明符中声明的类实例上运行两次
- Cmake并需要两次运行才能成功构建代码
- 为什么输入文件的最后一行运行两次?
- c++ Google 测试运行两次
- Linux 守护进程 - 运行函数两次
- 我找不到导致我的数组在运行两次案例并退出后损坏的错误
- cmake 不会设置MPI_C_LIBRARIES,除非它运行两次
- 当循环应该只运行一次时,执行两次while循环(C++)
- 为什么这个C++/OpenGL程序运行两次
- 我的C++ Unity 插件在编辑器中运行一次,但不能运行两次
- 函数读取输入并运行函数两次
- 连续运行两次后的 scons 行为
- C++ 开关结构(运行最后一种情况两次)
- 函数在控制台中运行两次
- Cocos2D-X 运行 Lua 脚本两次