




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学生信息管理系统程序设计学生信息管理系统程序设计学生信息管理系统程序设计学生信息管理系统程序设计编制仅供参考审核批准生效日期地址:电话:传真:邮编:学生信息管理系统程序设计1、软件开发目的该软件主要是实现对学生基本信息进行系统化的管理,首先可以对学生基本信息进行录入和存取,其次可以浏览学生的相关信息,然后可以删除和插入学生的相关信息,还有就是可按学号或按学生姓名查询此学生的相关信息。由此来系统化管理学生基本信息,并达到简易操作的目的。2、功能分析说明图3、各项功能说明(1)学生基本信息的录入和保存:在链表中的适当位置插入一个学生信息节点,一次添加一条学生信息(添加内容包含学号、姓名、年龄),如果添加的学号已经在文件中存在,则不能添加到文件中去,应显示错误提示语;如果添加成功,则显示成功提示语。添加操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。(2)显示学生信息:此功能是显示一个学生信息节点中的信息,并在屏幕上显示出来。(3)删除学生信息:进入该项功能界面后,删除学生信息,一次删除一条学生信息。(4)按学号查找学生信息:按学号查询学生信息,要求显示文件中与用户输入的学号相匹配的学生信息,要求显示学号、姓名、年龄等字段,如果文件中没有学生信息,则显示提示语。查询操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。(5)按姓名查找学生信息:按姓名查询学生信息,要求显示文件中与用户输入的学号相匹配的学生信息,要求显示学号、姓名、年龄等字段,如果文件中没有学生信息,则显示提示语。查询操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。(6)修改学生信息修改学生信息中的某一项信息,一次更新一条学生信息(更新内容包含学号、姓名、年龄等字段值),如果更新的学号在文件中不存在,则不能更新,应该显示错误提示语;如果更新成功,则显示成功提示语。更新操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。(7)退出系统,结束任务。4、软件功能的验收标准1.有较为美观简洁大方的菜单,能保证用户方便、直观、快捷的熟悉并使用软件的各项功能。2.有严密正确的数据验证功能和数据处理功能,能够查询、插入、修改和删除学生信息。3.系统要有一定的可靠性。问题补充:不方便贴出来,发到我邮箱也可!最佳答案#include<>#include<>#include<>#include<>#defineNULL0#defineLENsizeof(structstudent)#defineFILE_DATA_PATH"c:\"structstudent{longintnum;charname[20];intage;charsex[4];charbirthday[10];charaddress[30];longinttele_num;charE_mail[20];structstudent*next;};intTOTAL_NUM=0;structstudent*head=NULL;voidwelcome();voidmainmenu();voidrecord();voidinsert(structstudent*stu);voiddisplay(structstudent*stu);voiddisplayAll();voidquery();voidquery_by_num();voidquery_by_name();voidreadData();voidwriteData();voidfreeAll();voiddel();voidchange();voiddevise(structstudent*p);intmain(){charuserName[9];charuserPWD[7];inti;welcome();for(i=0;i<3;i++){printf("\n管理员初始用户名和密码均为admin\n");printf("请输入您的用户名:");scanf("%s",userName);printf("\n请输入您的密码:");scanf("%s",userPWD);if((strcmp(userName,"admin")==0)&&(strcmp(userPWD,"admin")==0)){//用户名和密码正确,显示主菜单mainmenu();break;}else{if(i<2){//用户名或密码错误,提示用户重新输入printf("用户名或密码错误,请重新输入!");}else{//连续3次输错用户名或密码,退出系统。printf("您已连续3次将用户名或密码输错,系统将退出!");}}}return0;}//显示欢迎信息voidwelcome(){printf("+---------------------------+\n");printf("||\n");printf("|欢迎使用学生信息管理系统|\n");printf("||\n");printf("+---------------------------+\n");}//系统主菜单voidmainmenu(){intchoice;choice=-1;readData();printf("\n温馨提示:为保证您的操作得到保存,请按正常顺序退出系统^_^\n");do{printf("\n\n\n");printf("\t\t\t--------------------------------\n");printf("\t\t\t+学生信息管理系统|\n");printf("\t\t\t--------------------------------\n");printf("\t\t\t+[1]----录入学生信息|\n");printf("\t\t\t+[2]----浏览学生信息|\n");printf("\t\t\t+[3]----查询学生信息|\n");printf("\t\t\t+[4]----删除学生信息|\n");printf("\t\t\t+[5]----修改学生信息|\n");printf("\t\t\t+[0]----退出系统|\n");printf("\t\t\t+*·*·*·*·*·*·*·*·*·*·|\n");printf("\t\t\t--------------------------------\n");printf("请输入您的选择:");scanf("%d",&choice);switch(choice){case0:writeData();freeAll();exit(0);case1:record();break;case2:displayAll();break;case3:query();break;case4:del();break;case5:change();break;default:printf("\n无效选项!");break;}}while(choice!=0);}//录入学生信息voidrecord(){structstudent*p0;p0=(structstudent*)malloc(LEN);printf("请输入学生的学号:");scanf("%ld",&p0->num);printf("请输入学生的姓名:");scanf("%s",p0->name);printf("请输入学生的年龄:");scanf("%d",&p0->age);printf("请输入学生的性别:");scanf("%s",p0->sex);printf("请输入学生的出生年月:");scanf("%s",p0->birthday);printf("请输入学生的地址:");scanf("%s",p0->address);printf("请输入学生的电话:");scanf("%ld",&p0->tele_num);printf("请输入学生的E-mail:");scanf("%s",p0->E_mail);insert(p0);printf("该学生的信息为:\n");printf("-------------------------------------------------------------------------------");printf("学号\t姓名\t年龄\t性别\t出生年月\t\t地址\t电话\tE-mail\n");display(p0);}voidinsert(structstudent*stu){structstudent*p0,*p1,*p2;p1=head;p0=stu;if(head==NULL){head=p0;p0->next=NULL;}else{while((p0->num>p1->num)&&(p1->next!=NULL)){p2=p1;p1=p1->next;}if(p0->num<=p1->num){if(head==p1)head=p0;elsep2->next=p0;p0->next=p1;}else{p1->next=p0;p0->next=NULL;}}TOTAL_NUM++;}voiddisplay(structstudent*p){printf("%ld\t%s\t%d\t%s\t%s\t%s\t%ld\t%s\n",p->num,p->name,p->age,p->sex,p->birthday,p->address,p->tele_num,p->E_mail);}//浏览学生信息voiddisplayAll(){structstudent*p;printf("学生总数:%d\n",TOTAL_NUM);p=head;if(head!=NULL){printf("\n学号\t姓名\t年龄\t性别\t出生年月\t地址\t电话\tE-mail\n");printf("-------------------------------------------------------------------------------");do{display(p);p=p->next;}while(p!=NULL);}printf("\n");}//查询学生信息voidquery(){intchoice;choice=-1;do{printf("\n");printf("+--------------------+\n");printf("|按学号查询请按1|\n");printf("|按姓名查询请按2|\n");printf("|取消请按0|\n");printf("+--------------------+\n");printf("请输入您的选择:");scanf("%d",&choice);switch(choice){case0:return;case1:query_by_num();break;case2:query_by_name();break;default:printf("\n无效选项!");break;}}while(choice!=0);}//按学号查询学生信息voidquery_by_num(){intnum;structstudent*p1;printf("请输入学生的学号:");scanf("%ld",&num);if(head==NULL){printf("无学生记录!\n");return;}p1=head;while(num!=p1->num&&p1->next!=NULL)p1=p1->next;if(num==p1->num){printf("\n学号\t姓名\t年龄\t性别\t出生年月\t地址\t电话\tE-mail\n");printf("-------------------------------------------------------------------------------");display(p1);}elseprintf("没有该学生记录,请核对!");}//按姓名查询学生信息voidquery_by_name(){charname[20];structstudent*p1;printf("请输入学生的姓名:");scanf("%s",name);if(head==NULL){printf("无学生记录!\n");return;}p1=head;while(strcmp(name,p1->name)&&p1->next!=NULL)p1=p1->next;if(!strcmp(name,p1->name)){printf("\n学号\t姓名\t年龄\t性别\t出生年月\t地址\t电话\tE-mail\n");printf("-------------------------------------------------------------------------------");display(p1);}elseprintf("没有该学生记录,请核对!");}//写入文件voidwriteData(){FILE*fp;//文件指针structstudent*p;fp=fopen(FILE_DATA_PATH,"w");if(!fp){printf("文件打开错误!");return;}fprintf(fp,"%d\n",TOTAL_NUM);for(p=head;p!=NULL;p=p->next){fprintf(fp,"%ld\t%s\t%d\t%s\t%s\t%s\t%ld\t%s\n",p->num,p->name,p->age,p->sex,p->birthday,p->address,p->tele_num,p->E_mail);}fclose(fp);}voidfreeAll(){structstudent*p1,*p2;p1=p2=head;while(p1){p2=p1->next;free(p1);p1=p2;}}//读取文件voidreadData(){FILE*fp;//文件指针structstudent*p1,*p2;fp=fopen(FILE_DATA_PATH,"r");if(!fp){printf("文件打开错误!");return0;}fscanf(fp,"%d\n",&TOTAL_NUM);head=p1=p2=(structstudent*)malloc(LEN);fscanf(fp,"%ld\t%s\t%d\t%s\t%s\t%s\t%ld\t%s\n",&p1->num,p1->name,&p1->age,p1->sex,p1->birthday,p1->address,&p1->tele_num,p1->E_mail);while(!feof(fp)){p1=(structstudent*)malloc(LEN);fscanf(fp,"%ld\t%s\t%d\t%s\t%s\t%s\t%ld\t%s\n",&p1->num,p1->name,&p1->age,p1->sex,p1->birthday,p1->address,&p1->tele_num,p1->E_mail);p2->next=p1;p2=p1;}p2->next=NULL;fclose(fp);}//删除学生信息voiddel(){structstudent*p1,*p2;longintnum;if(head==NULL){printf("无学生记录!\n");return;}printf("请输入您要删除的学生的学号:");scanf("%ld",&num);p1=head;while(num!=p1->num&&p1->next!=NULL){p2=p1;p1=p1->next;}if(num==p1->num){if(p1==head)head=p1->next;elsep2->next=p1->next;free(p1);TOTAL_NUM--;}elseprintf("没有该学生记录,请核对!\n");}//修改学生信息voidchange(){structstudent*p1,*p2;longintnum;if(head==NULL){printf("无学生记录!\n");return;}printf("请输入您要修改的学生的学号:");scanf("%ld",&num);p1=head;while(num!=p1->num&&p1->next!=NULL){p2=p1;p1=p1->next;}if(num==p1->num)devise(p1);elseprintf("没有该学生记录,请核对!\n");}voiddevise(structstudent*p){intchoice;choice=-1;do{printf("请选择您要修改的学生的信息内容:\n");printf("+----------------------+\n");printf("|姓名请按1|\n");printf("|年龄请按2|\n");printf("|性别请按3|\n");printf("|出生年月请按4|\n");printf("|地址请按5|\n");printf("|电话请按6|\n"
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年高中地理第一单元地球运动第一节地球自转的地理意义练习
- 2024-2025学年新教材高中化学1.1物质的分类及转化综合训练含解析新人教版必修第一册
- 2024-2025学年高中化学专题3从矿物到基础材料第2单元第2课时铁铜及其化合物的应用练习含解析苏教版必修1
- 2024年上海市普通高中学业水平等级性考试物理试题含答案
- 库克小儿止咳糖浆行业深度研究报告
- 2025年门灯开关项目可行性研究报告
- 2025年中国巡检机器人行业市场规模及发展前景研究报告(智研咨询)
- 闪光背心项目投资可行性研究分析报告(2024-2030版)
- 2021-2026年中国无线台车行业投资分析及发展战略研究咨询报告
- 中国互联网+证券行业市场深度分析及投资策略咨询报告
- 《2023版CSCO卵巢癌诊疗指南》解读课件
- XX小学学生心理健康档案(一生一案)
- 螺旋体病梅毒课件
- (小学组)全国版图知识竞赛考试题含答案
- 人教版一年级道德与法治下册全册教案
- 类风湿关节炎前状态诊疗专家共识(2024)解读
- 2024-2030年中国化妆镜行业市场发展趋势与前景展望战略分析报告
- Project项目管理(从菜鸟到实战高手)
- 食品加工机械与设备操作技能测试考核试卷
- SNT 1961.11-2013 出口食品过敏原成分检测 第11部分:实时荧光PCR方法检测麸质成分
- 冀教版数学七年级上下册知识点总结
评论
0/150
提交评论