收藏 分销(赏)

C语言班级管理系统程序.doc

上传人:天**** 文档编号:4373511 上传时间:2024-09-14 格式:DOC 页数:9 大小:67KB 下载积分:6 金币
下载 相关 举报
C语言班级管理系统程序.doc_第1页
第1页 / 共9页
C语言班级管理系统程序.doc_第2页
第2页 / 共9页


点击查看更多>>
资源描述
#include <stdio.h> #include <string.h> #include <conio.h> #define N 100 struct student { char XUEHAO[10]; char BANJI[6]; char XINGMING[6]; char XINGBIE[2]; char SHENGRI[8]; char JIGUAN[10]; char XUEYUAN[10]; char TIANHUA[10]; }; void CAIDAN(); void LURU(); 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 请输入序号: (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': printf(" %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 { 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(" * 请输入序号: (1~ 8) * \n "); printf(" * 1------录入学生信息 * \n "); printf(" * 2------查询学生信息 * \n "); printf(" * 3------删除学生信息 * \n "); printf(" * 4------添加学生信息 * \n "); printf(" * 5------修改学生信息 * \n "); printf(" * 6------显示学生信息 * \n "); printf(" * 7------查找同一个学院的人数 * \n "); printf(" * 8------退出系统 * \n "); printf(" **************************************** \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 { 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(" 籍贯(用#结束输入): ");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]!='#'&&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);} while(strcmp(temp.XUEHAO," ")==0); printf(" 班级(用#结束输入): ");gets(temp.BANJI); printf(" 姓名(用#结束输入): ");gets(temp.XINGMING); printf(" 性别(用#结束输入): ");gets(temp.XINGBIE); printf(" 生日(用#结束输入): ");gets(temp.SHENGRI); printf(" 籍贯(用#结束输入): ");gets(temp.JIGUAN); 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 按学号查询( 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 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) { 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; } 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(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(" 学号 班级 姓名 性别 生日 籍贯 学院 电话\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 文件中无此信息!\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); 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%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<n;i++) if(strcmp(tempXUEHAO,stu[i].XUEHAO)==0)break; if(i<n) for(k=i;k<n;k++) stu[k]=stu[k+1]; else printf("\n 无此人!\n"); fp=fopen("123.dat","w"); if(fp==NULL) { printf("\n 文件打开失败!\n");return; } for(i=0;i<n-1;i++) fprintf(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); } /*定义按姓名删除学生信息的函数*/ 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[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<n;i++) if(strcmp(tempXINGMING,stu[i].XINGMING)==0)break; if(i<n) for(k=i;k<n;k++) stu[k]=stu[k+1]; else printf("\n 无此人!\n"); fp=fopen("123.dat","w"); if(fp==NULL) { printf("\n 文件打开失败!\n");return;} for(i=0;i<n-1;i++) fprintf(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); } /*定义添加学生信息的函数*/ 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; } 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); for(i=0;i<n;i++) printf("\n %s %s %s %s %s %s %s %s\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("%s",temp.BANJI); printf(" 请输入新学生信息的姓名:");scanf("%s",temp.XINGMING); printf(" 请输入新学生信息的性别:");scanf("%s",temp.XINGBIE); printf(" 请输入新学生信息的生日:");scanf("%s",temp.SHENGRI); printf(" 请输入新学生信息的籍贯:");scanf("%s",temp.JIGUAN); printf(" 请输入新学生信息的学院:");scanf("%s",temp.XUEYUAN); printf(" 请输入新学生信息的电话:");scanf("%s",temp.TIANHUA); for(i=0;i<n;i++) if(strcmp(temp.XUEHAO,stu[i].XUEHAO)==0) { printf("\n 学号重复,要重新输入吗(Y/N)?"); do { c=getch(); putch(c);} while(c!='Y'&&c!='y'&&c!='N'&&c!='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",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) { 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) { printf("\n 文件中无此信息!\n");return;} printf("\n 请输入要修改的学生信息的学号: ");scanf("%s",temp.XUEHAO); for(p=stu;p<stu+n;p++) if(strcmp(temp.XUEHAO,p->XUEHAO)==0) { find=p; break; } if(p==stu+n) { printf("\n 无此信息!\n");return; } do { printf("\n 请输入新学生信息的学号:"); 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(" 请输入新学生信息的生日:");scanf("%s",temp.SHENGRI); printf(" 请输入新学生信息的籍贯:");scanf("%s",temp.JIGUAN); printf(" 请输入新学生信息的学院:");scanf("%s",temp.XUEYUAN); printf(" 请输入新学生信息的电话:");scanf("%s",temp.TIANHUA); for(p=stu;p<stu+n;p++) if(strcmp(temp.XUEHAO,p->XUEHAO)==0&&p!=find) { 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'); fp=fopen("123.dat","wb"); if(fp==NULL) { printf("\n 打开文件失败!\n "); return; } for(p=stu;p<stu+n;p++) fprintf(fp,"%5s%10s%10s%10s%10s%10s%10s%10s\n",p->XUEHAO,p->BANJI,p->XINGMING,p->XINGBIE,p->SHENGRI,p->JIGUAN,p->XUEYUAN,p->TIANHUA); fclose(fp); } /*定义显示学生信息的函数*/ void 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%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; } if(n==0) printf("\n 文件中无此信息!\n"); else { for(i=0;i<n;i++) printf("%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); 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","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); printf("\n\n 请输入学院名称: "); scanf("%s",tempXUEYUAN); printf("\n\n 学号 班级 姓名 性别 生日 籍贯 学院 电话\n"); for(i=0;i<n;i++) if(strcmp(tempXUEYUAN,stu[i].XUEYUAN)==0) {printf("\n%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); k++; } printf("\n\n 共有%d个学生在这个学院!\n",k); } 9
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服