当前位置: 代码迷 >> C语言 >> 帮我运行看看啊!我运行起来有点问题,请指点啊.
  详细解决方案

帮我运行看看啊!我运行起来有点问题,请指点啊.

热度:409   发布时间:2004-06-20 19:37:00.0
帮我运行看看啊!我运行起来有点问题,请指点啊.

/*建立一个简单的学生信息系统,包括学生的学号,姓名,报考科目,入学年份,能够按照学号和入学年份进行查询.*/ #include <stdio.h> #include <string.h> struct student { int code;//学号 int year; //入学年份 char name[10];//名字 char kemu[10]; //科目 };

void fyear(struct student stu[]);//按入学年份查找函数 void fcode(struct student stu[]);//按学号查找函数

void main() { struct student stu[5]; static int i,xz; char flag='Y'; for(i=0;i<5;i++) { printf("请输入第[%d]个学生的学号:",i+1); scanf("%d",&stu[i].code); printf("请输入学生姓名:"); scanf("%s",stu[i].name); printf("请输入学生报考科目:"); scanf("%s",stu[i].kemu); printf("请输入学生入学年份:"); scanf("%d",&stu[i].year); printf("\n"); } while(flag='Y') { printf("\n1.按学号查询.\n2.按入学年份查询.\n3.退出.\n"); printf("请选择:"); scanf("%d",&xz); if(xz==1) fcode(stu); else if(xz==2) fyear(stu); else if(xz==3) return ; else printf("输入错误!"); printf("是否继续查询?(Y/N):"); scanf(" %c",&flag); } }

void fyear(struct student stu[]) { int year; int count=0,i=0; printf("请输入要查询的年份:"); scanf("%d",&year); for(i=0;i<5;i++) { if(stu[i].year==year) { printf("%d\t %s\t %s\t %d\n",stu[i].code,stu[i].name,stu[i].kemu,stu[i].year); count++; } } if(count==0) printf("没有找到!\n"); }

void fcode(struct student stu[]) { int code; int count=0,i=0; printf("请输入要查询的学号:"); scanf("%d",&code); for(i=0;i<5;i++) { if(stu[i].code==code) { printf("%d\t %s\t %s\t %d\n",stu[i].code,stu[i].name,stu[i].kemu,stu[i].year); count++; } } if(count==0) printf("没有找到!\n"); }

此程序在输入数据时,循环到第三次时我输入学号后,姓名既然被跳过去了,大家请输入完后就能看到问题所在之处了,请帮忙解决一下.谢谢大家.

[此贴子已经被作者于2004-06-20 19:39:06编辑过]

搜索更多相关的解决方案: 运行  

----------------解决方案--------------------------------------------------------

程序是没有问题的

应该是你在输入时数据类型弄错了


----------------解决方案--------------------------------------------------------
你运行着试了吗?
----------------解决方案--------------------------------------------------------
呵呵,确实是我输入时.数据类型搞错了,谢谢楼上,我太大意了.呵呵.
----------------解决方案--------------------------------------------------------
  相关解决方案