


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学生信息管理系统学生: 学号:班级:指导老师:日期:2、课程设计正文格式:1题目及要求学生信息管理系统此题目要求,使用结构体静态数组存储数据,并要求使用户输入的数据或者修改后的数据能够永久保存。1.1问题提出详细叙述本人所要实现的题目中的问题我编写一个学生信息管理系统,主要用来管理学生基本信息。1.2本系统涉及的知识点女口:结构体、数组、循环、函数、分支、文件、字符串、指针;1.3功能分析叙述本人所要实现的题目功能1、添加学生信息,每个学生的信息包括:学号、生日、地址、班级;2、根据学号删除该学生信息或删除全部学生信息;3、根据学号、查询学生信息;4、可以以表格形式输出所有学生信息;5、输入欲
2、修改的那人的名字后,再次进行信息修改;6、保存此学生信息系统;2功能设计画出模块层次结构图学生信息管理系统退出2.1菜单设计陆Ine口些口 d一口些 口 utkrrELtut-U - 厂一 一戶二 厂二 卜二 学8忑£忑-I-老-1 1 Z 3 4- E b2.2各功能模块的算法设计增加学生信息模块:1.1打开文件。1.2用scanf输入数据,保存再结构数组中。1.3用fwrite函数将结构体数组读入学生信息文件中,关闭文件。显示学生信息模块:1.1只读打开文件1.2将文件的信息读入结构体数组中;1.3将结构体的容显示在窗口上。1.4关闭文件。查询学生信息模块:1.1打开文件,读出信
3、息;1.3如有该学号或,打印该学生的信息;1.4关闭文件。修改学生信息模块:打开文件,读出信息;1.11.2输入要修改的学生信息的学号。1.3若有此学号,则重新输入此学生信息。1.4覆盖原先的信息,读入文件;关闭文件。1.2 选择要单个删除一1.3 ,选择全部删除一1.5 ;1.3 打开文件,输入要删除的学号;1.4 若有此学号,覆盖此条信息,已少一次数,读入文件,关闭文件;若无,返回1.3 ;1.5 打开文件。将空字符读入文件中,覆盖原先 的信息,关闭文件。3程序代码设计(-)增加模块1)函数原形:void add(void)2)功能:利用for循环语句和scanf、getchar函数完成对
4、结构数组的输入,再用再用fwrite函数将结构数组读入学生信息表中。存放n个学生的信息(学号、生日、地址、班级)。3)输入输出:无。(二)查询模块1)函数原形:void search(void)2)功能:打开文件后,根据strcmp函数进行对比,可以进行学号与查询,用fread函数将文件息读到结构体数组中,相同就打印到窗口上。3)输入输出:无。(三)修改模块1) 函数原形:void modi(void)2) 功 能:输入要修改的,用fread函数将文件息读到结构体数组中,根据strcmp函数进行对比,然后根据fwrite函数进行修改覆盖,得到新文件。3)输入输出:无。(四)删除模块1)函数原形
5、:void del (void)2)功能:用fread函数将文件息读到结构体数组中,依次将输入的学号根据strcmp函数进行对比,然后再进行选择性删除。3)输入输出:无。(五)显示模块1)函数原形:void print(void)2)功能:用freed函数打开存储的文件使其显示在屏幕上。3)输入输出:无。(六)源程序代码#i nclude<stdio.h>#in clude<stdlib.h>#i nclude<stri ng.h>void prin t(void); /显示函数void add(void); /增加函数void search(void);
6、/查找函数void modi(void); /修改函数void del(void); /删除函数/定义结构体typedef struct stude ntchar n ame20;char num20;char ban20;char birthday20;char pho ne20;char address200;STU;STU stu2000;FILE *fp;/主函数int main(v oid)int i;doprintf("|1n");printf("|学生信息管理系统| n");printf("|1n");prin tf(&
7、quot;| 1-增加学生信息| n");printf("| 2-删除学生信息| n");printf("|3-查询学生信息| n");printf("|4-显示学生信息| n");printf("|5-修改学生信息| n");printf("| 6-退出| n");printf("|1n");prin tf("请选择你的操作:(16)n");scan f("%d",&i);if(i=1) add();if(i=2)
8、del();if(i=3) search();if(i=4) prin t();if(i=5) modi();if(i=6) printf(" 您的使用! n");break;while(i>0&&i <7);if(i>6|i<1)printf("你的输入错误n");return 0;/*增加函数*/void add(void)int m,i;为读写打开学生信息表文本文件if(fp=fopen("学生信息表.txt","a+")=NULL) /printf("Can
9、not open file strike any key exit!"); getchar();exit(1);printf("请输入要添加学生的人数:");scan f("%d",&m);for(i=1;i<=m;i+)printf("请输入:n");sca nf("%s",stui. name);prin tf("请输入学号:n");scan f("%s",stui. nu m);printf(”请输入班级:n");scan f(&quo
10、t;%s",stui.ba n);prin tf("请输入生日:n");scan f("%s",stui.birthday);printf("请输入:n");scan f("%s",stui.pho ne);prin tf("请输入地址:n");sca nf("%s",stui.address);fwrite(&stui,sizeof(STU),1,fp); /把结构体的数据写入学生信息表中prin tf("n");fclose(fp);
11、 /关闭学生信息表文本文件/*显示函数*/void prin t(void)int i,n;if(fp=fopen("学生信息表.txt","r")=NULL) /为输入打开学生信息表文本文件printf("Cannot open file strike any key exit!");exit(O);读出学生信息地址n");for(i=0;fread(&stui,sizeof(STU),1,fp)!=0;i+); /n=i;prin tf("学号班级生日printf("n");for(
12、i=0;i< n;i+)prin tf("%st %st %st %st %st %sn",stui. namestui. nu m,stui.ba n, stui.ph on e,stui.birthday,stui.address);printf("n")Jfclose(fp); /关闭学生信息表文本文件/*查询函数*/void search(void)int i,n;char number20, name20;if(fp=fopen("学生信息表.txt","广)=NULL) /为输入打开学生信息表文本文件pri
13、ntf("Cannot open file strike any key exit!");exit(0);for(i=0;fread(&stui,sizeof(STU),1,fp)!=0;i+);/读取学生信息表文本文件n=i;int xz;printf("n");printf(" 1.学号查询 n");printf(" 2.查询 n");printf("n");printf("请选择:n");scan f("%d",& xz);if (x
14、z=1)prin tf("n请输入要查找学生的学号:");sca nf("%s" ,nu mber);for(i=0;i< n;i+)if(strcmp( nu mber,stui. num )=0)printf("n该学生已找到n");printf("n");printf(": %sn",);printf("学号:%sn",stui.num);printf("班级:%sn",stui.ban);printf(": %sn
15、",stui.phone);printf("出生日期:sn",stui.birthday);printf("地址:%sn",stui.address);break;elseprintf("n没有你要找的学生!nn");elseif(xz=2)printf("请输入要查询者的:");for(i=0;i <n ;i+)if(strcmp( name,stui. name)=O)printf("该学生已找到n");printf("n");printf(":
16、 %sn",);printf("学号:%sn",stui.num);printf("班级:%sn",stui.ban);printf(": %sn",stui.phone);printf("出生日期:sn",stui.birthday);printf("地址:%sn",stui.address);break;elseprintf("n没有你要找的学生!nn");fclose(fp); /关闭学生信息表文本文件/*修改函数*/void modi(vo
17、id) int i,n;char n ame20;if(fp=fopen(" 学生信息表.txt","r+")=NULL) / 为读写打开学生信息表文本文件printf("Cannot open file strike any key exit!");exit(0);printf("请输入你要修改的学生的:");scan f("%s", name);for(i=0;fread(&stui,sizeof(STU),1,fp)!=0;i+);n=i;for(i=0;i< n;i+)if
18、(strcmp( name,stui. num )=0)printf("n");printf(”请重新输入:n"); scanf("%s",);printf("请重新输入学号:n"); scanf("%s",stui.num);printf("请重新输入班级:n"); scanf("%s",stui.ban);printf("请重新输入地址:n"); scanf("%s",stui.address);fclo
19、se(fp);if(fp=fopen("学生信息表.txt","w")=NULL) /为输出打开学生信息表文本文 件for(i=0;i< n;i+)fwrite(&stui,sizeof(STU),1,fp);覆盖要修改的学生信息fclose(fp); /关闭学生信息表文本文件/*删除函数*/void del(void)char number20,stud300;int flag=0,i,k,ch ,n ,temp;if(fp=fopen("学生信息表.txt","r")=NULL) /为输入打开学生
20、信息表文本文件printf("Cannot open file strike any key exit!");读出学生信息for(i=0;fread(&stui,sizeof(STU),1,fp)!=0;i+);n=i;fclose(fp);printf(" l*1单个删除*2全部删除 *'n");prin tf("输入你的选择:");scan f("%d",&ch);if(ch=1)loop:printf("输入要删除学生的学号:");sca nf("%s&q
21、uot; ,nu mber);for(i=0;i< n;i+)if(strcmp(stui. num,nu mber)=0)flag=1; k=i;printf("*是否确定删除?*printf("*1-j是*2否y *n");if(temp=2)goto loop;if(flag=O)printf("*列表中无此记录*n");goto loop;for(i=k;i< n-1;i+)strcpy(stui. name,stui+1. name);strcpy(stui. nu m,stui+1. nu m);strcpy(stui.
22、ba n,stui+1.ba n);strcpy(stui.birthday,stui+1.birthday);strcpy(stui.ph on e,stui+1.ph on e);strcpy(stui.address,stui+1.address);为输出打开学生信息表文本文件if(fp=fopen("学生信息表.txt","w")=NULL) /printf("Cannot open file strike any key exit!");n=n-1;重新输出已修改的学生信息表for(i=0;i< n;i+)fwrite(&stui,sizeof(STU),1,fp);fclose(fp);printf(" 已删除成功n");if(ch=2)printf(' *是否确定删除?*n");printf(' *1-是*2-否*“);sca nf("%d", &temp);if(fp=fopen("学生信息表.txt","
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 行政管理文化概论的知识体系与试题及答案研究
- 执业护士备考考试经历反思试题及答案
- 经济法概论复习短期总结与试题及答案
- xx区数字经济规划
- xx区xx燃煤发电项目实施方案
- 主管护师考试护理政策试题及答案
- 行政管理网络资源利用试题及答案
- 行政法在数字化时代的应对措施试题及答案
- 护理风险管理试题及答案
- 行政管理中的法律知识试题和答案探讨
- 医疗纠纷预防和处理条例通用课件
- 模具管理系统解决方案课件
- 全套老年人能力评估师考试题库(50题+答案)
- 中职电子商务班级建设方案
- 【校本作业】六年级下册语文校本作业与单元练习(附参考答案)
- 安全生产与质量管理体系的关系
- 学生实习自主申请表
- 痛觉及其调制
- 七年级上册语文人教版全册文言文全文详解及翻译
- 北师大小学数学小升初《简便运算》复习课件
- 园艺植物种质资源图文
评论
0/150
提交评论