c语言 非法输入

来源:百度知道 编辑:UC知道 时间:2024/06/18 10:12:04
请看代码
#include<stdio.h>
void part5();
void main()
{
int num=-1;
printf("------------------------------------------------\n");
printf("\n");
printf("| 软件测试工程师管理系统 |\n");
printf("\n");
printf("------------------------------------------------\n");
printf("1.输入软件测试工程师资料\n");
printf("2.删除指定测试工程师资料\n");
printf("3.查询软件测试工程师资料\n");
printf("4.修改软件测试工程师资料\n");
printf("5.计算测试工程师的月薪水\n");
printf("6.保存新添加的工程师资料\n");
printf("7.对测试工程师的信息排序\n");//(1.编号升序,2.姓名升序,3.工龄降序)
printf("8.输出所有测试工程师信息\n");
printf("9.清空所有测试工程师数据\n");
printf("10.打印软件测试工程师数据报表\n");
printf("11.从文件重新导入测试工程师数据\n");
printf("0.结束\n");//(编辑工程师信息后提示保存)
whil

这个数据验证非常简单,请看代码:
/* 放到程序全局部分 */
#define PLUSH while (getchar() != '\n')

/* 变量声明 */
int input_result;

/* 数据输入以及验证 */
do {
input_result = scanf("%d",&num);
if ((input_result != 1) || (num > 11)) {
PLUSH;
printf("您输入的数据有误,请重新输入:");
}
} while ((input_result != 1) || (num > 11));

请用/* 数据输入以及验证 */的这段代码替代您程序中的以下部分:
while(1)
{
printf("请输入您的选择:\n");
scanf("%d",&num);
if(num>=0&&num<=11)
{
break;
}
else
printf("您的选择错误,请重新输入:\n");
}