C++ C++;Switch语句在第一次尝试后跳转到默认选项
我正在使用开关盒制作菜单。我试过运行这个程序,菜单似乎正常,但我不知道什么时候我试过返回菜单,它不会读取其他案例。在第一次尝试中,它可以工作,但在那之后它不会转到其他情况,然后它会跳到默认值 这是我的密码:C++ C++;Switch语句在第一次尝试后跳转到默认选项,c++,C++,我正在使用开关盒制作菜单。我试过运行这个程序,菜单似乎正常,但我不知道什么时候我试过返回菜单,它不会读取其他案例。在第一次尝试中,它可以工作,但在那之后它不会转到其他情况,然后它会跳到默认值 这是我的密码: #include <iostream> #include <fstream> #include <string> #include <sstream> #include <stdlib.h> #include <cmath&g
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
#include <stdlib.h>
#include <cmath>
#include <iomanip>
#include <string.h>
int path = 0;
std::string search, line, productName, iprice, quantity, productType, again = "y";
using namespace std;
std::ifstream ReferenceList;
std::ofstream Sales;
void menu();
void priceSearch();
void recordSales();
void addItem();
int main() {
char option = 'y';
do {
system("CLS");
menu();
system("CLS");
switch (path) {
case 1:
priceSearch();
break;
case 2:
recordSales();
break;
case 3:
addItem();
break;
default:
cout << "Please Only Enter: {1 2 3}";
break;
}
cout << "\nGo back to Main Menu? Press Y to Continue: ";
cin >> option;
} while (option == 'y' || option == 'Y');
}
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
int路径=0;
std::字符串搜索,行,产品名称,iprice,数量,产品类型,再次=“y”;
使用名称空间std;
std::ifstream引用列表;
流式销售;
无效菜单();
作废价格搜索();
作废销售记录();
void addItem();
int main(){
char选项='y';
做{
系统(“CLS”);
菜单();
系统(“CLS”);
交换机(路径){
案例1:
价格搜索();
打破
案例2:
销售记录();
打破
案例3:
addItem();
打破
违约:
cout选项;
}而(选项='y'| |选项=='y');
}
这是void菜单()的代码
void菜单(){
STD::您发布的代码永远不会改变<代码>路径<代码>的值。我假设“代码>菜单
路径< /代码>。编辑:添加与菜单无关的代码,而不是Global用于<代码>路径>代码>,考虑从“Co”返回所选值。de>menu
并将其填充到局部变量中。cin
可能失败,您应该检查并清除无法复制的steam状态。因为我必须将您的代码猛击到一个可运行的示例中,所以我可能意外地修复了该错误,或者遗漏了我中断的某个函数中的错误。这是不发布的危险之一我建议做一个MRE。经常做MRE可以减少噪音,让你自己可以看到并修复错误,而不需要问问题。
void menu() {
std::cout << "TINDAHAN ALL IN ONE PURPOSE PROGRAM\n";
std::cout << "Functions:\n";
std::cout << "Press 1 to Find Price List\n";
std::cout << "Press 2 to Record Sales\n";
std::cout << "Press 3 to Add New Product\n";
std::cin >> path;
}