首页 > 解决方案 > C++ Switch 语句在第一次尝试后跳到默认选项

问题描述

我正在使用开关盒制作菜单。我试过运行程序,菜单似乎工作,但我不知道我什么时候尝试返回菜单,它不会读取其他情况。在第一次尝试中它可以工作,但之后它不会进入其他情况,然后它会跳到默认值。

这是我的代码:

#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');
}

这是无效菜单()的代码

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

标签: c++

解决方案


推荐阅读