C语言班级管理系统程序.doc
《C语言班级管理系统程序.doc》由会员分享,可在线阅读,更多相关《C语言班级管理系统程序.doc(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- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 班级 管理 系统 程序
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文