1、
#include
2、); void SHAXUN(); void sch_XUEHAO(FILE *fp); void sch_XINGMING(FILE *fp); void SHANCHU(); void del_XUEHAO(FILE *fp); void del_XINGMING(FILE *fp); void TIANJIA(); void XIUGAI(); void XIANZHI(); void TONGJI(); main() { char choose,yes_no; do { CAIDAN(); printf("\n
3、 请输入序号: (1~8) "); choose=getch(); switch(choose) { case'1': printf(" %c",choose);LURU();break; case'2': printf(" %c",choose);SHAXUN();break; case'3': printf(" %c",choose);SHANCHU();break; case'4': printf(" %c",choose);TIANJIA();break; case'5': pri
4、ntf(" %c",choose);XIUGAI();break; case'6': printf(" %c",choose);XIANZHI();break; case'7': printf(" %c",choose);TONGJI();break; case'8': break; default:printf("\n %c 序号不对!\n",choose); } if(choose=='8')break; printf("\n 要继续选择吗 ? (Y/N) \n"); do
5、 { yes_no=getch(); printf(" %c",yes_no);} while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n'); }while(yes_no=='Y'||yes_no=='y'); } void CAIDAN() { printf("\n\n\n"); printf(" **************************************** \n "); printf(" *
6、 请输入序号: (1~ 8) * \n "); printf(" * 1------录入学生信息 * \n "); printf(" * 2------查询学生信息 * \n "); printf(" * 3------删除学生信息 * \n "); printf(" * 4------添加学生信息
7、 \n "); printf(" * 5------修改学生信息 * \n "); printf(" * 6------显示学生信息 * \n "); printf(" * 7------查找同一个学院的人数 * \n "); printf(" * 8------退出系统 * \n "); printf("
8、 **************************************** \n "); } /*定义录入学生信息的函数*/ void LURU() { int i=1; struct student temp; FILE *fp; fp=fopen("123.dat","w"); if(fp==NULL){ printf("\n 打开文件失败! \n");return; } printf("\n 请输入第1个学生信息:\n"); printf(" 学号(用#结束输入): "); do
9、 { gets(temp.XUEHAO);} while(strcmp(temp.XUEHAO," ")==0); printf(" 班级(用#结束输入): ");gets(temp.BANJI); printf(" 姓名(用#结束输入): ");gets(temp.XINGMING); printf(" 性别(用#结束输入): ");gets(temp.XINGBIE); printf(" 生日(用#结束输入): ");gets(temp.SHENGRI); printf(" 籍
10、贯(用#结束输入): ");gets(temp.JIGUAN); printf(" 学院(用#结束输入): ");gets(temp.XUEYUAN); printf(" 电话(用#结束输入): ");gets(temp.TIANHUA); while(temp.XUEHAO[0]!='#'&&temp.BANJI[0]!='#'&&temp.XINGMING[0]!='#'&&temp.XINGBIE[0]!='#'&&temp.SHENGRI[0]!='#'&&temp.JIGUAN[0]!='#'&&temp.XUEYUAN[0]!='
11、'&&temp.TIANHUA[0]!='#') { fprintf(fp,"%5s%10s%10s%10s%10s%10s%10s%10s\n",temp.XUEHAO,temp.BANJI,temp.XINGMING,temp.XINGBIE,temp.SHENGRI,temp.JIGUAN,temp.XUEYUAN,temp.TIANHUA); i++; printf("\n 请输入第 %d 个学生信息:\n ",i); printf(" 学号(用#结束输入): "); do { gets(temp.XUEHAO);}
12、 while(strcmp(temp.XUEHAO," ")==0); printf(" 班级(用#结束输入): ");gets(temp.BANJI); printf(" 姓名(用#结束输入): ");gets(temp.XINGMING); printf(" 性别(用#结束输入): ");gets(temp.XINGBIE); printf(" 生日(用#结束输入): ");gets(temp.SHENGRI); printf(" 籍贯(用#结束输入): ");gets(temp.JIG
13、UAN); printf(" 学院(用#结束输入): ");gets(temp.XUEYUAN); printf(" 电话(用#结束输入): ");gets(temp.TIANHUA); } fclose(fp); } /*定义查询学生信息的函数*/ void SHAXUN() { char c; FILE *fp; fp=fopen("123.dat","r"); if(fp==NULL) { printf("\n 打开文件失败! \n");return; } printf("\n
14、 按学号查询( 1 ),还是按姓名查询( 2 )? "); c=getch(); putch(c); if(c=='1') sch_XUEHAO(fp); else if(c=='2') sch_XINGMING(fp); else printf("\n 非法字符!\n"); fclose(fp); } /*定义按学号查询学生信息的函数*/ void sch_XUEHAO(FILE *fp) { int flag=0,n=0; char tempXUEHAO[10]; struct student
15、 temp; printf("\n 请输入要查询学生信息的学号: "); gets(tempXUEHAO); while(feof(fp)==0) { fscanf(fp,"%5s%10s%10s%10s%10s%10s%10s%10s\n",&temp.XUEHAO,&temp.BANJI,&temp.XINGMING,&temp.XINGBIE,&temp.SHENGRI,&temp.JIGUAN,&temp.XUEYUAN,&temp.TIANHUA); if(strcmp(tempXUEHAO,temp.XUEHAO)==0)
16、 { if(flag==0) printf(" 学号 班级 姓名 性别 生日 籍贯 学院 电话\n"); printf("%5s%10s%10s%10s%10s%10s%10s%10s\n",temp.XUEHAO,temp.BANJI,temp.XINGMING,temp.XINGBIE,temp.SHENGRI,temp.JIGUAN,temp.XUEYUAN,temp.TIANHUA); flag=1; }
17、 n++; } if(n==0) printf("\n 文件中无此信息!\n"); else if(flag==0) printf("\n 文件中无此人!\n"); } /*定义按姓名查询学生信息的函数*/ void sch_XINGMING(FILE *fp) { int flag=0,n=0; char tempXINGMING[6]; struct student temp; printf("\n 请输入要查询学生信息的姓名: "); gets
18、tempXINGMING); while(feof(fp)==0) { fscanf(fp, "%5s%10s%10s%10s%10s%10s%10s%10s\n",&temp.XUEHAO,&temp.BANJI,&temp.XINGMING,&temp.XINGBIE,&temp.SHENGRI,&temp.JIGUAN,&temp.XUEYUAN,&temp.TIANHUA); if(strcmp(tempXINGMING,temp.XINGMING)==0) { if(flag==0) printf(" 学号 班级
19、 姓名 性别 生日 籍贯 学院 电话\n"); printf("%5s%10s%10s%10s%10s%10s%10s%10s\n",temp.XUEHAO,temp.BANJI,temp.XINGMING,temp.XINGBIE,temp.SHENGRI,temp.JIGUAN,temp.XUEYUAN,temp.TIANHUA); flag=1; } n++; } if(n==0) printf("\n
20、 文件中无此信息!\n"); else if(flag==0) printf("\n 文件中无此人!\n"); } /*定义删除学生信息的函数*/ void SHANCHU() { char c; FILE *fp; fp=fopen("123.dat","r"); if(fp==NULL) { printf("\n 文件打开失败!\n ");return; } printf("\n 按学号删除( 1 ),还是按姓名删除( 2 )? "); c=getch(); putch(c);
21、 if(c=='1') del_XUEHAO(fp); else if(c=='2') del_XINGMING(fp); else printf("\n 非法字符!\n"); fclose(fp); } /*定义按学号删除学生信息的函数*/ void del_XUEHAO(FILE *fp) { char tempXUEHAO[10]; int n=0,i=0,k; struct student stu[N]; while(feof(fp)==0) { fscanf(fp,"%5s%10s%10s%10s
22、10s%10s%10s%10s\n",stu[i].XUEHAO,stu[i].BANJI,stu[i].XINGMING,stu[i].XINGBIE,stu[i].SHENGRI,stu[i].JIGUAN,stu[i].XUEYUAN,stu[i].TIANHUA);i++;n++;}
fclose(fp);
printf("\n 请输入要删除的学生信息的学号:");
scanf("%s",tempXUEHAO);
for(i=0;i 23、k;
if(i 24、[i].XINGBIE,stu[i].SHENGRI,stu[i].JIGUAN,stu[i].XUEYUAN,stu[i].TIANHUA);
}
/*定义按姓名删除学生信息的函数*/
void del_XINGMING(FILE *fp)
{ char tempXINGMING[6];
int n=0,i=0,k;
struct student stu[N];
while(feof(fp)==0)
{ fscanf(fp,"%5s%10s%10s%10s%10s%10s%10s%10s\n",stu[i].XUEHAO,stu 25、[i].BANJI,stu[i].XINGMING,stu[i].XINGBIE,stu[i].SHENGRI,stu[i].JIGUAN,stu[i].XUEYUAN,stu[i].TIANHUA);i++;n++;}
fclose(fp);
printf("\n 请输入要删除的学生信息的姓名:");
scanf("%s",tempXINGMING);
for(i=0;i 26、k=i;k 27、XINGBIE,stu[i].SHENGRI,stu[i].JIGUAN,stu[i].XUEYUAN,stu[i].TIANHUA);
}
/*定义添加学生信息的函数*/
void TIANJIA()
{ char c;
int n=0,i=0;
struct student temp,stu[N];
FILE *fp;
fp=fopen("123.dat","r");
if(fp==NULL)
{ printf("\n 打开文件失败!\n"); return; }
wh 28、ile(feof(fp)==0)
{ fscanf(fp,"%5s%10s%10s%10s%10s%10s%10s%10s\n",stu[i].XUEHAO,stu[i].BANJI,stu[i].XINGMING,stu[i].XINGBIE,stu[i].SHENGRI,stu[i].JIGUAN,stu[i].XUEYUAN,stu[i].TIANHUA);i++;n++;}
fclose(fp);
for(i=0;i 29、\n",stu[i].XUEHAO,stu[i].BANJI,stu[i].XINGMING,stu[i].XINGBIE,stu[i].SHENGRI,stu[i].JIGUAN,stu[i].XUEYUAN,stu[i].TIANHUA);
do
{ printf("\n 请输入新学生信息的学号:");
do
{ scanf("%s",temp.XUEHAO); }
while(strcmp(temp.XUEHAO," ")==0);
printf(" 请输入新学生信息的班级:");scanf( 30、"%s",temp.BANJI);
printf(" 请输入新学生信息的姓名:");scanf("%s",temp.XINGMING);
printf(" 请输入新学生信息的性别:");scanf("%s",temp.XINGBIE);
printf(" 请输入新学生信息的生日:");scanf("%s",temp.SHENGRI);
printf(" 请输入新学生信息的籍贯:");scanf("%s",temp.JIGUAN);
printf(" 请输入新学生信息的学院:");sca 31、nf("%s",temp.XUEYUAN);
printf(" 请输入新学生信息的电话:");scanf("%s",temp.TIANHUA);
for(i=0;i 32、'n');
putchar('\n');
break;
}
if(i==n) { stu[i]=temp; break; }
}while(c=='Y'||c=='y');
fp=fopen("123.dat","w");
if(fp==NULL)
{ printf("\n 文件打开失败!\n"); return; }
for(i=0;i<=n;i++)
fprintf(fp,"%5s%10s%10s%10s%10s%10s%10s%10s\n 33、",stu[i].XUEHAO,stu[i].BANJI,stu[i].XINGMING,stu[i].XINGBIE,stu[i].SHENGRI,stu[i].JIGUAN,stu[i].XUEYUAN,stu[i].TIANHUA);
fclose(fp);
}
/*定义修改学生信息的函数*/
void XIUGAI()
{ char c;
int n=0,i=0;
struct student *find,temp,stu[N],*p;
FILE *fp;
fp=fopen("123.dat","rb");
if(fp==NULL 34、)
{ printf("\n 打开文件失败!\n"); return; }
while(feof(fp)==0)
{ fscanf(fp,"%5s%10s%10s%10s%10s%10s%10s%10s\n",stu[i].XUEHAO,stu[i].BANJI,stu[i].XINGMING,stu[i].XINGBIE,stu[i].SHENGRI,stu[i].JIGUAN,stu[i].XUEYUAN,stu[i].TIANHUA);i++;n++;}
fclose(fp);
if(n==0)
{ pr 35、intf("\n 文件中无此信息!\n");return;}
printf("\n 请输入要修改的学生信息的学号: ");scanf("%s",temp.XUEHAO);
for(p=stu;p 36、的学号:");
do
{ scanf("%s",temp.XUEHAO); }
while(strcmp(temp.XUEHAO," ")==0);
printf(" 请输入新学生信息的班级:");scanf("%s",temp.BANJI);
printf(" 请输入新学生信息的姓名:");scanf("%s",temp.XINGMING);
printf(" 请输入新学生信息的性别:");scanf("%s",temp.XINGBIE);
printf(" 请输入新学 37、生信息的生日:");scanf("%s",temp.SHENGRI);
printf(" 请输入新学生信息的籍贯:");scanf("%s",temp.JIGUAN);
printf(" 请输入新学生信息的学院:");scanf("%s",temp.XUEYUAN);
printf(" 请输入新学生信息的电话:");scanf("%s",temp.TIANHUA);
for(p=stu;p 38、d)
{ printf("\n 学号重复,要重新输入吗(Y/n)?");
do
{ c=getch();putch(c);}
while(c!='Y'&&c!='y'&&c!='N'&&c!='n');putchar('\n');
break;
}
if(p==stu+n)
{ *find=temp; break; }
}while(c=='Y'||c=='y');
39、 fp=fopen("123.dat","wb");
if(fp==NULL) { printf("\n 打开文件失败!\n "); return; }
for(p=stu;p 40、id XIANZHI()
{ int n=0,i=0;
struct student stu[N];
FILE *fp;
fp=fopen("123.dat","r");
if(fp==NULL)
{ printf("\n 打开文件失败!\n"); return; }
printf("\n\n 学号 班级 姓名 性别 生日 籍贯 学院 电话\n");
while(feof(fp)==0)
{ fscanf(fp,"%5s%10s%10 41、s%10s%10s%10s%10s%10s\n",stu[i].XUEHAO,stu[i].BANJI,stu[i].XINGMING,stu[i].XINGBIE,stu[i].SHENGRI,stu[i].JIGUAN,stu[i].XUEYUAN,stu[i].TIANHUA); ++i; ++n; }
if(n==0)
printf("\n 文件中无此信息!\n");
else { for(i=0;i 42、stu[i].XINGMING,stu[i].XINGBIE,stu[i].SHENGRI,stu[i].JIGUAN,stu[i].XUEYUAN,stu[i].TIANHUA);
printf("\n\n 文件中共有 %d 个信息!\n",n);
}
fclose(fp);
}
/*定义在同一个学院的学生人数的函数*/
void TONGJI()
{ int i=0,n=0,k=0;
char tempXUEYUAN[10];
struct student stu[N];
FILE *fp;
fp=fopen("123.dat" 43、"r");
if(fp==NULL)
{ printf("\n 打开文件失败!\n"); return; }
while(feof(fp)==0)
{fscanf(fp,"%5s%10s%10s%10s%10s%10s%10s%10s\n",&stu[i].XUEHAO,&stu[i].BANJI,&stu[i].XINGMING,&stu[i].XINGBIE,&stu[i].SHENGRI,&stu[i].JIGUAN,&stu[i].XUEYUAN,&stu[i].TIANHUA);i++;n++; }
fclose(fp);
44、
printf("\n\n 请输入学院名称: ");
scanf("%s",tempXUEYUAN);
printf("\n\n 学号 班级 姓名 性别 生日 籍贯 学院 电话\n");
for(i=0;i






