weixin_44023116 2018-12-09 06:33 采纳率: 0%
浏览 549

求帮忙看看这段C语言代码的switch结构的问题

C语言新手,写了一段个人信息结构体的代码,但不知道为什么switch调用的函数不能执行。
代码如下:
#include
#include
#define N 3
//建立个人信息结构体
struct STUDNET{
int num;
char name[20];
int majornum;
char major[20];
char uni[50];
}s[N];

//声明查询信息函数
void searchnumber();
void searchmajornum();
void searchuni();

int main(){
int i,j,a;
//输入个人信息
printf("\n输入个人信息\n");
printf("\n学号 姓名 专业号 专业名 学校名\n");
for(i=0;i<N;i++){
scanf("%d%s%d%s%s",&s[i].num,s[i].name,&s[i].majornum,s[i].major,s[i].uni);
}
//输出个人信息
printf("\n输出人才名单\n");
printf("\n学号 姓名 专业号 专业名 学校名\n");
for(j=0;j<N;j++){
printf("%d %s %d %s %s\n",s[j].num,s[j].name,s[j].majornum,s[j].major,s[j].uni);
}
//用循环+选择结构实现不同的查询方式
while("a!=0"){
printf("\n1:输入学号查询\n");
printf("2:输入专业号查询\n");
printf("3:输入学校名查询\n");
scanf("%d",&a);
switch(a){
case 1:void searchnumber();break;//输入学号输出全部信息
case 2:void searchmajornum();break;//输入专业号输出全部信息
case 3:void searchuni();break;//输入学校名输出全部信息
default:printf("enter is error\n");
}
}

}
void searchnumber(){
int b;
int i;
printf("输入学号\n");
scanf("%d",&b);
printf("\n学号 姓名 专业号 专业名 学校名\n");
for(i=0;i<N;i++){
if(b==s[i].num)
printf("%d %s %d %s %s\n",s[i].num,s[i].name,s[i].majornum,s[i].major,s[i].uni);
}
}

void searchmajornum(){
int c;
int i;
printf(" 输入专业号\n");
scanf("%d",&c);
printf("\n学号 姓名 专业号 专业名 学校名\n");
for(i=0;i<N;i++){
if(c==s[i].majornum)
printf("%d %s %d %s %s",s[i].num,s[i].name,s[i].majornum,s[i].major,s[i].uni);
}
}

void searchuni(){
char d[50];
int i;
printf("输入学校名\n");
scanf("%s",&d);
printf("\n学号 姓名 专业号 专业名 学校名\n");
for(i=0;i<N;i++){
if(strcmp(d,s[i].uni)==0)
printf("%d %s %d %s %s",s[i].num,s[i].name,s[i].majornum,s[i].major,s[i].uni);
}
}


图片说明

  • 写回答

4条回答

  • Eleven 2018-12-09 06:37
    关注

    如果流出错,记得要清理一下流的错误状态

    评论

报告相同问题?

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题