c++switch函数无法跳出

问题描述

c++switch函数无法跳出

switch后面用int类型判断,默认输出错误,switch是无限循环。输入未定义的数字时按默认输出错误,跳回重新选择,但是输字母的时候输出错误后无法跳出,重复出现错误的那条语句,求解。

解决方案

完整的程序怎么写的。switch怎么套的循环。

解决方案二:

cout<<"Select the fuctions 0-8."< cin>>choice;
这肯定不对
cout<<"Select the fuctions 0-8."<
cin>>choice;

_getch();去掉

解决方案三:

while (1)
{
system("cls");
menu();
cout<<"Select the fuctions 0-8."<
cin>>choice;

    if (choice==0)//select to exit
    {
        cout<<"Save to file?(y/n)"<<endl;
        cin>>yesOrNo;
        if (yesOrNo=='y'||yesOrNo=='Y')
        {
            save(stu, lengthOfChart);
            cout<<"Thanks for using. Press any key to exit."<<endl;
            break;
        }
    }

    switch (choice)
    {
        case 1:display(stu, lengthOfChart);break;
        case 2:search(stu, lengthOfChart);break;
        case 3:lengthOfChart=append(stu, lengthOfChart);break;
        case 4:lengthOfChart=del(stu, lengthOfChart);break;
        case 5:modify(stu, lengthOfChart);break;
        case 6:count(stu, lengthOfChart);break;
        case 7:sort(stu, lengthOfChart);break;
        case 8:save(stu, lengthOfChart);break;
        default: cout << "nError! Press any key to select again." << endl;
    }
    _getch();
}
时间: 2024-10-09 20:09:25

c++switch函数无法跳出的相关文章

ch2-switch函数有错,执行case0后执行case1有错

问题描述 switch函数有错,执行case0后执行case1有错 int main(){ int c; //开关控制变量 char m; //继续或退出控制变量 ALGraph G; init_ALGraph(G); //初始化图 CreateUDN(G); //创建图 PrintAdjList(G); //打印图 //DFSTraverse(G0); //深度优先搜索 menu(); cout<<""请输入一个游戏控制变量m:m为y或Y表示继续游戏,N或n表示退出游戏:

(八十六)switch语句

switch的格式是: switch(int类型变量名) { case 1:(←冒号) 代码1;(←分号) case 2: 代码2; cast 3:代码3; default:代码4; }   注意:(假设int类型变量名为a) ①case后面的数字,代表选择,在int类型变量名的值等于该数字时,执行相应case后面的代码, 并且!从这行开始一直执行到最后一个case的代码.除非使用break结束switch.如假设a为1,他会执行代码1,然后执行代码2,然后执行代码3,而非仅仅只执行代码1.  

C语言初级讲座之转移语句

程序中的语句通常总是按顺序方向,或按语句功能所定义的方向执行的.如果需要改变程序的正常流向,可以使用本小节介绍的转移语句.在C语言中提供了4种转移语句: goto,break, continue和return. 其中的return语句只能出现在被调函数中,用于返回主调函数,我们将在函数一章中具体介绍.本小节介绍前三种转移语句. 1.goto语句 goto语句也称为无条件转移语句,其一般格式如下: goto 语句标号: 其中语句标号是按标识符规定书写的符号,放在某一语句行的 前面,标号后加冒号(:

C语言学习教程第三章-C语言程序设计初步(8)

转移语句 程序中的语句通常总是按顺序方向, 或按语句功能所定义的方向执行的.如果需要改变程序的正常流向, 可以使用本小节介绍的转移语句.在C语言中提供了4种转移语句:goto,break, continue和return.其中的return语句只能出现在被调函数中, 用于返回主调函数,我们将在函数一章中具体介绍. 本小节介绍前三种转移语句. 1.goto语句 goto语句也称为无条件转移语句,其一般格式如下: goto 语句标号: 其中语句标号是按标识符规定书写的符号, 放在某一语句行的前面,标

Swift心得笔记之控制流_Swift

控制流基本上大同小异,在此列举几个比较有趣的地方. switch Break 文档原文是 No Implicit Fallthrough ,粗暴的翻译一下就是:不存在隐式贯穿.其中 Implicit 是一个经常出现的词,中文原意是:"含蓄的,暗示的,隐蓄的".在 Swift 中通常表示默认处理.比如这里的隐式贯穿,就是指传统的多个 case 如果没有 break 就会从上穿到底的情况.再例如 implicitly unwrapped optionals ,隐式解析可选类型,则是默认会进

C专家编程 总结

1 类型转换 当执行算术运算时,操作数的类型如果不同,就会发生转换,数据类型一般朝着浮点精度高.长度更长的方向转换,整数型如果转换为signed不会丢失信息,就转换为signed,否则转换为unsigned. K&R C所采用无房户后保留原著,就是当一个无符号类型与int或更小的整型混合使用时,结果类型是无符号类型.   2 C语言中const并不真正表示常量.   3 switch语句的缺点 1)switch语句最大的缺点是它不会在每个case标签后面的语句执行完毕后自动终止. 2)由于bre

PHP4实际应用经验篇(8)

你可能已经注意到,到目前为止,在我们给你的所有例子中,我们都是给你两个页面-一个单纯的具有表单的HTML页面,和另一个用来处理表单输入并产生相应输出的PHP脚本.然而,PHP提供了一种把那两个页面通过 $submit 变量结合在一起的文雅的方法 你已经知道,一旦一个表单提交给PHP脚本,所有的表单变量就变成了的PHP变量.现在,除了用户定义的变量外,在你每次点击表单的"提交(SUBMIT )"按扭的同时,也就创建了一个名为 $submit的变量.因此,通过测试该变量是否存在,聪明的程序

C#画8位彩色图片(自定义调色板)

此方法参照msdn上的画8位灰阶gif图片的方法. 函数1,2为画自定义彩色图片方法. 函数3(GetColorPalette)和函数4(SaveGIFWithNewGrayscale)为msdn原方法. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Drawing; using System.Drawing.Imaging; namespace

C#设计模式(2)——简单工厂模式

原文:C#设计模式(2)--简单工厂模式 一.引言 这个系列也是自己对设计模式的一些学习笔记,希望对一些初学设计模式的人有所帮助的,在上一个专题中介绍了单例模式,在这个专题中继续为大家介绍一个比较容易理解的模式--简单工厂模式. 二.简单工厂模式的介绍 说到简单工厂,自然的第一个疑问当然就是什么是简单工厂模式了? 在现实生活中工厂是负责生产产品的,同样在设计模式中,简单工厂模式我们也可以理解为负责生产对象的一个类, 我们平常编程中,当使用"new"关键字创建一个对象时,此时该类就依赖与