下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学生信息管理系统程序设计1、软件开发目的该软件主要是实现对学生根本信息进展系统化的管理, 首先可以对学生根本信息 进展录入和存取,其次可以浏览学生的相关信息,然后可以删除和插入学生的相 关信息,还有就是可按学号或按学生某某查询此学生的相关信息。 由此来系统化 管理学生根本信息,并达到简易操作的目的。2、功能分析说明图3、各项功能说明1学生根本信息的录入和保存:在链表中的适当位置插入一个学生信息节点, 一次添加一条学生信息添加内容 包含学号、某某、年龄,如果添加的学号已经在文件中存在,如此不能添加到 文件中去,应显示错误提示语;如果添加成功,如此显示成功提示语。添加操作 完毕后,应该询问用户是否
2、继续执行此操作。如果用户不继续,如此退回到程序 初始界面。2显示学生信息:此功能是显示一个学生信息节点中的信息,并在屏幕上显示出来。3删除学生信息:进入该项功能界面后,删除学生信息,一次删除一条学生信息。4按学号查找学生信息:按学号查询学生信息,要求显示 文件中与用户输入的学号相匹配的学生信 息,要求显示学号、某某、年龄等字段,如果文件中没有学生信息,如此显示提 示语。查询操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续, 如此退回到程序初始界面。5按某某查找学生信息:按某某查询学生信息,要求显示 文件中与用户输入的学号相匹配的学生信 息,要求显示学号、某某、年龄等字段,如果文件中没
3、有学生信息,如此显示提 示语。查询操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续, 如此退回到程序初始界面。6修改学生信息修改学生信息中的某一项信息,一次更新一条学生信息更新内容包含学号、某 某、年龄等字段值,如果更新的学号在文件中不存在,如此不能更新,应该显 示错误提示语;如果更新成功,如此显示成功提示语。更新操作完毕后,应该询 问用户是否继续执行此操作。如果用户不继续,如此退回到程序初始界面。7退出系统,完毕任务。4、软件功能的验收标准1 有较为美观简洁大方的菜单,能保证用户方便、直观、快捷的熟悉并使用软 件的各项功能。2 有严密正确的数据验证功能和数据处理功能,能够查询、插入
4、、修改和删除 学生信息。3 系统要有一定的可靠性。问题补充:不方便贴出来,发到我也可!slr1130163习最优答案#i nclude <stdio.h>#i nclude <malloc.h>#include <string.h>#i nclude <io.h>#defi ne NULL 0#defi ne LEN sizeof(struct stude nt)#defi ne FILE_DATA_PATH "c:stude nt.txt" struct stude ntlong int num; char n ame20;
5、int age;char sex4;char birthday10; char address30; long int tele_ num;char E_mail20; struct stude nt *n ext;int TOTAL_NUM = 0; struct stude nt *head = NULL;void wele();void mainmenu();void record();void in sert(struct stude nt *stu);void display(struct stude nt *stu);void displayAII();void query();v
6、oid query_by_ num();void query_by_ name();void readData();void writeData();void freeAII();void del();void cha nge();void devise(struct stude nt *p);int main()char userName9;char userPWD7;int i;wele();for(i = 0; i < 3; i+)printf("n管理员初始用户名和密码均为 adminn"); printf("请输入您的用户名:");sca
7、 nf("%s", userName);printf("n请输入您的密码:");sca nf("%s", userPWD);if (strcmp(userName,"admi n")=0) &&(strcmp(userPWD,"admi n")=0)用户名和密码正确,显示主菜单mainmenu();break;elseif (i < 2)用户名或密码错误,提示用户重新输入 printf("用户名或密码错误,请重新输入 门;else连续3次输错用户名或密码,退出系统
8、。 printf("您已连续3次将用户名或密码输错,系统将退出 门;return 0;/显示欢迎信息 void wele()printf("+n");prin tf("|n");prin tf("|欢迎使用学生信息管理系统|n"); prin tf("|n");printf("+n");系统主菜单void mainmenu()int choice;choice = -1;readData();A_An");printf("n温馨提示:为保证您的操作得到保存,请按正常
9、顺序退出系统doprin tf("nnn");printf("tttn");prin tf("ttt+学生信息管理系统|n");printf("tttn");prin tf("ttt+1-录入学生信息|n");prin tf("ttt+2-浏览学生信息|n");prin tf("ttt+3-查询学生信息|n");prin tf("ttt+4-删除学生信息|n");prin tf("ttt+-修改学生信息|n");pr
10、in tf("ttt+0-退出系统|n");printf("ttt+* * * * * * * * * * | n"); printf("tttn");prin tf("请输入您的选择:"); seanf("%d", &choice); switch(choice)case 0:writeData(); freeAll();exit(0);case 1:record();break;case 2:displayAII(); break;case 3:query();break;case
11、4:del();break;case 5:cha nge(); break;default:printf("n 无效选项!"); break; while(choice != 0);/录入学生信息void record()struct stude nt *p0;p0 = (struct stude nt *)malloc(LEN);printf("请输入学生的学号:");sca nf("%ld",&p0-> nu m);printf("请输入学生的某某:");sca nf("%s"
12、,pO-> name);printf("请输入学生的年龄:");sca nf("%d",&p0->age);printf("请输入学生的性别:");sca nf("%s",pO->sex);printf("请输入学生的出生年月:");sca nf("%s",pO->birthday);printf("请输入学生的地址:");sca nf("%s",pO->address);prin tf("
13、;请输入学生的:");sca nf("%ld",&p0->tele_num);printf("请输入学生的:");sca nf("%s",p0->E_mail);in sert(pO);printf("该学生的信息为:n");printf("");printf("学号t某某t年龄t性别t出生年月tt地址t tn"); display(pO);void in sert(struct stude nt *stu)struct stude nt *p0
14、, *p1, *p2;pl = head;pO = stu;if(head = NULL)head = p0;p0-> next = NULL;elsewhile(p0->num > p1->num)&&(p1->next != NULL)p2 = p1;p1 = p1- >n ext;if(p0->num <= p1- >num)if(head = p1)head = p0;elsep2->n ext = p0;p0->n ext = p1;elsep1- >n ext = p0;p0-> next
15、 = NULL;TOTAL_NUM+;void display(struct stude nt *p)prin tf("%ldt%st%dt%st%st%st%ldt%sn", p-> num, p-> name, p->age, p->sex, p->birthday, p->address, p->tele_ num, p->E_mail);/浏览学生信息void displayAll()struct stude nt *p;printf("学生总数:%dn", TOTAL_NUM);p = head;
16、if(head != NULL)printf("n学号t某某t年龄t性别t出生年月t地址ttn");printf("");dodisplay(p);p = p->n ext;while(p != NULL);prin tf("n");/查询学生信息void query()int choice;choice = -1;doprin tf("n");printf("+n");printf("|按学号查询 请按1 |n");printf("|按某某查询请按2 |n&
17、quot;);printf("| 取消请按 0 |n");printf("+n");prin tf("请输入您的选择:");sea nf("%d", & choice);switch(choice)case 0:return;case 1:query_by_ num();break;case 2:query_by_ name();break;default:printf("n 无效选项!");break;while(choice != 0);/按学号查询学生信息void query_by
18、_ num()int num;struct stude nt *p1;printf("请输入学生的学号:");sca nf("%ld", &nu m);if(head=NULL)prin tf("无学生记录! n");return;p1=head;while(num!=p1->num && p1->next!=NULL)p1=p1- >n ext;if(num = p1- >num)printf("n学号t某某t年龄t性别t出生年月t地址t tn"); printf(
19、"");display(pl);elseprintf("没有该学生记录,请核对!");/按某某查询学生信息void query_by_ name()char n ame20;struct stude nt *p1;printf("请输入学生的某某:");sea nf("%s", n ame);if(head=NULL)printf("无学生记录! n");return;p仁head;while(stremp(name, p1->name) && p1->next!=N
20、ULL) p1=p1- >n ext;if(!stremp( name, p1- >n ame)printf("n学号t某某t年龄t性别t出生年月t地址t tn"); printf("");display(pl);elseprintf("没有该学生记录,请核对!");/写入文件void writeData()FILE* fp;/文件指针struct stude nt *p;fp = fope n( FILE_DATA_PATH, "w");if (!fp)printf("文件打开错误!&quo
21、t;);return;fprin tf(fp,"%dn", TOTAL_NUM);for(p = head; p!= NULL; p= p->n ext)fprin tf(fp,"%ldt%st%dt%st%st%st%ldt%sn",p->num, p->n ame, p->age, p->sex, p->birthday, p->address, p->tele_ num, p->E_mail);fclose(fp);void freeAll()struct stude nt *p1, *p2;p
22、1=p2=head;while(p1)p2=p1- >n ext;free(p1);P仁 p2;/读取文件 void readData()FILE* fp;/文件指针struct stude nt *p1, *p2;fp = fope n( FILE_DATA_PATH,"广); if (!fp)prin tf("文件打开错误!");return 0;fsca nf(fp,"%dn", & TOTAL_NUM);head = p1 = p2 = (struct stude nt *)malloc(LEN);fsca nf(fp,&
23、quot;%ldt%st%dt%st%st%st%ldt%sn",&p1- >num, p1- >n ame, &p1->age, p1->sex, p1->birthday, p1->address, & p1->tele_ num, p1->E_mail);while(!feof(fp)p1 = (struct stude nt *)malloc(LEN);fscan f(fp,"%ldt%st%dt%st%st%st%ldt%sn",&p1- >num, p1- >n
24、 ame, &p1->age, p1->sex, p1->birthday, p1->address, & p1->tele_ num, p1->E_mail);p2->n ext = p1;p2 = p1;p2-> next = NULL;fclose(fp);删除学生信息void del()struct stude nt *p1, *p2;long int num;if(head = NULL)prin tf("无学生记录! n");return;printf("请输入您要删除的学生的学号:&qu
25、ot;);sca nf("%ld", &nu m);p1 = head;while( num != p1-> num && p1-> next != NULL)p2 = p1;p1 = p1- >n ext;if(num = p1- >num)if(p1 = head)head = p1- >n ext;else p2->n ext = p1- >n ext;free(p1);TOTAL_NUM-;elseprintf("没有该学生记录,请核对!n");修改学生信息void cha nge
26、()struct stude nt *p1, *p2;long int num;if(head = NULL)printf("无学生记录! n"); return;printf("请输入您要修改的学生的学号:"); sea nf("%ld", &nu m);p1 = head;while( num != p1-> num && p1-> next != NULL) p2 = p1;pl = p1- >n ext;if(num = p1- >num)devise(pl);elseprintf("没有该学生记录,请核对!n");void devise(struet stude nt *p) int choice;choice = -1;doprin tf("请选择您要修改白勺学生的信息内容:printf("+-+n");printf("| 某某请按 1 |n");printf("| 年龄请按 2 |n");printf("| 性别请按3 |n");printf
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 请假申请处理回复函9篇范文
- (新教材)2026年部编人教版三年级下册语文 第二单元《口语交际:劝告》教学课件
- 小众艺术创作承诺函6篇
- 企业网络安全风险防控方案
- 生态环境保护持续承诺函(4篇)
- 挑战自己的演讲稿(7篇)
- 护理应急调配学员反馈
- 媒体行业内容与用户行为分析平台方案
- 带状疱疹患者的用药护理
- 人力资源配置与优化作业指导书
- TB T2075-《电气化铁道接触网零部件》
- 压力性损伤的预防
- 《音响系统组建与调音》电子教案课件
- 紫外线消毒灯使用管理制度
- (新版教材)粤教版六年级下册科学全册课件
- 幕墙施工方案玻璃幕墙 铝单板幕墙
- 广州自来水公司
- 下肢骨折患者功能锻炼
- 输出轴的加工工艺与夹具设计设计说明书(详细)
- 抹灰拉毛协议
- 中国大唐集团供应商平台-供应商注册操作手册
评论
0/150
提交评论