Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;Switch语句在第一次尝试后跳转到默认选项_C++ - Fatal编程技术网

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;
}