如何对if判断进行分类

#include <stdio.h>
#include <conio.h>
 
 
int main()
{
int choice;
char c;
printf("\t\t\t***排序控制模块***\n\n");
printf("\t\t\t1.插入排序\n\n");
printf("\t\t\t2.shell排序\n\n");
printf("\t\t\t3.选择排序\n\n");
printf("\t\t\t4.冒泡排序\n\n");
printf("\t\t\t5.快速排序\n\n");
printf("\t\t\t0.退出\n\n");
printf("\t\t\t\n请输入您的选择(0~5):");
//c=getchar();
while(1)
{
char d;
c=getchar();
while(1)
{
c=getchar();
if(c!=' '&&c!='\n')
break;
else
continue;
}
   choice=c-48;
   if((d=getchar())=='\n')
{
if (choice>=0&&choice<=5)
        return (choice);
else 
{
printf("重新输入您的选择(0~5):");
continue;
}
    
   }
else 
{
printf("重新输入您的选择(0~5):");
                        fflush(stdin);
// while((d=getchar())!='\n')    
// continue;
}
   }
}
这是一段小程序,实现了数字选择的功能,在正确处理错误这一块通过这段程序还是学到了挺多了,也多亏师傅大人的指点。
一点编程思想,先要分析可能的输入有什么,那些是对的,那些是错的,然后分类判断;
可能的输入可以分为两大类:(1)输入一个字符
                                                     (2)输入多个字符
只要出现第二种情况就是错的,需要重新输入;若出现第一种情况,如果位于0~5范围内就是正确的,若不是就是错的;所以if判断就按照上面的分析来就正确了,但首先要找到判断输入一个字符的条件就是getchar()==‘\n’,
输入多个字符需要注意要将这些字符清空以后在进行输入。
 
 

你可能感兴趣的:(职场,if判断,休闲)