学生信息查询系统(有点问题)

下面是我的最终代码
#include <stdio.h>
#include <stdlib.h>
int main (void)     
{
 int n=1;
 int a=0;
 char c=0;   
 while(n<4)   //用无限循环  
 {
 
    printf("请输入想要查询的学号:");
    scanf("%d",&a);      
    if(!(a>=1&&a<=36))
    printf("请正确输入!/n");
    else
       switch (a)
      { 
         case 25:
         printf("姓名:张艺/n年龄:20/n");
         break;
         case 17:
         printf("姓名:张怡/n年龄:17/n");
         break;
         case 14:
         printf("姓名:张翼/n年龄:19/n");
         break;
         case 12:
         printf("姓名:张毅/n年龄:19/n");
         break;
         default:
         printf("你不是3-404的成员!/n"); 
         }
    
     printf("想要继续查询吗?是:请输入除N以外的任意字符;不是:请输入N/n");
     fflush(stdin);             /*刷新缓冲区*/
    scanf("/n%c",&c);
    a=0;  /*这里是为了避免第二次查询时输入字母也可以输出学生信息,但其中原理不大懂,在调试时a是保留上一次输 入的值,只有第二次正确输入学号是才会被刷新,那应该怎样完善呢?*/
    if(toupper(c)=='N')         
    break;
 }
    printf("谢谢使用!/n"); 
    system("pause");
    return 0; 
}
我原本想在switch语句之前加一些代码来检测a的输入情况,代码如下:if(!(a>=1&&a <=36)) printf("请正确输入");else switch...
但这种局限很大,因为只能对一些人数少的组织这样做,而且这样也违背我下面的那个default语句的功能。所以我很想换一种代码来检测a的输入情况,只要用户输入的是数字,就执行switch下面的代码,否则询问是否要继续查询,可是怎样实现呢???
麻烦大家了,谢谢!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值