C语言课设之学生证系统

上传人:鲁** 文档编号:457091139 上传时间:2023-08-17 格式:DOCX 页数:24 大小:312.73KB
返回 下载 相关 举报
C语言课设之学生证系统_第1页
第1页 / 共24页
C语言课设之学生证系统_第2页
第2页 / 共24页
C语言课设之学生证系统_第3页
第3页 / 共24页
C语言课设之学生证系统_第4页
第4页 / 共24页
C语言课设之学生证系统_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《C语言课设之学生证系统》由会员分享,可在线阅读,更多相关《C语言课设之学生证系统(24页珍藏版)》请在金锄头文库上搜索。

1、学生证的管理程序一C语言课程设计报告一、题目要求该程序应该具有下列功能:1、录入某位学生的学生证信息。学生证应该包照自含的信息请参己的学生证;2、给定学号,显示某位学生的学生信息;3、给定某个班级的班号,显示该班所有学生的学生证信息4、给定某位学生的学号,修改该学生的学生信息;5、给定某位学生的学号,删除该学生的学生信息;6、提供一些统计各类信息的功能。输入要求应用程序后,在屏幕上显示一个菜单。用户可以根据要求选定相应的操作项 目。进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。 输出要求1、应用程序运行后,要在屏幕上显示一个菜单;2、要求用户输入数据时,要给出清晰、明确的提示信

2、息,包括输入的数据内 容、格式及结束方式等。提示设计一个结构体类型和一维数组类型,用来保存学生证内容;二、需求分析根据题目要求,因为学生信息是一个有不同类型的变量组成,因此,应提供 结构体操作,在程序中需要浏览学生信息,应提供显示、查找、修改、删除、 统计等操作。另外还应该提供键盘式的选择菜单实现功能选择。三、总体设计学生证的管理程序主要包含学生信息的录入、修改、删除、查询、统计等模 块。为了各模块的独立性,将显示模块分别镶嵌在录入、修改、删除、查询、 统计等模块中。四、详细分析1、 主函数分析主函数的设计简洁,只提供加录入、修改、删除、查询、统计和显示等函数的调用和加载功能。其中各功能模块用

3、菜单方式选择。并将main(函数体内的界面选择部分部分语句单独抽出来做一个独立的函数,目的在于系统执行完每部 分功能模块后能更方便返回到系统界面。menu(函数从主函数中独立出来后,表面的主函数只是起一个程序开始的作用,其主要功能被独立出来的被调用的 menu(函数所取代。menu)函数主要完成菜单的输出和被选择的项目的输入 和相应执行函数的调用。并将已经拥有的信息从指定文件中读取到结构体st中,以便执行其他的功能性函数。成功后需要关闭文件。流程图程序 *menu*7menu(int n,w,i,j。STU *st。FILE *fp。fp=fopen(student1.txt,wb+。if(!

4、fpprintf(Document error!。exit(0。elsefread(&i,2,1,fp 。fclose(fp。j=i+1。st=(STU*malloc(j*sizeof(STU。 doprintf(ntt*MENU*nn”printf(ttt1.Input information of studentn。输入学生信息printf(ttt2.Inquiries information of studentn/ 显示学生信息。printf(ttt3.Changes information of studentn。修改学生信息printf(ttt4.Delete informatio

5、n of studentn 。 删除学生信息printf(ttt5.Statistic information of studentn。 统计学生信息printf(ttt6.Exit 。 结束printf(nn2tt*n”printf(Choice your number(1-6 bbbbbbb。scanf(%d,&n。if(n6w=1 o getchar(。elsew=0 o free(st。 while(w=1 o switch(ncase 1:input(i,st。break。case 2:inquiries(i,st break case 3:change(i,st break cas

6、e 4:delete(i,st break case 5:statistic(i,st break case 6:exit(0 break 2、各功能模块设计(1)输入模块设计分析在向指定文件输出学生信息及录入信息前需要将输入的学生证号进行检测,该 检测是在结构体中st元素的学号项值比较而得出。如果已经存在的序号拒绝录 入,如果还没有输入的学生证号就按提示继续输入学生信息信息。输入成功后 显示刚输入的信息并将信息输出到指定文件的末尾。成功后将释放机构体指 针;关闭文件并返回到 menuint n,i 。FILE *fp。long boSTU student。bbbbbbb。 输入学号bbbbb

7、bbbb。输入名字printf(Please input your number scanf(%ld,&b ; printf(nPlease input your namescanf(%s,student_1.name printf(nPlease input you sex male(1 or female(2 bbbbbbb。/输入性别scanf(%d”,&student_1.sex。printf(nPlease input you Classbbbbbbb。输入班号scanf(%ld,&student_1.classesprintf(nPlease input you date of b

8、irth bbbbbbb 。输入出生日scanf(%ld,&student_1.birthofp=fopen(student1.txt,ab。if(!fpprintf(Document error!。exit(0。elsefprintf(fp,%ld%s%d%ld%ld,b,student_1.name,student_1.sex,student_1.classes ,student_1.birth0printf(%ld%s%d%ld%ld,b,student_1.name,student_1.sex,student_1.classes,stu dent_1.birth0n=k+1orewin

9、d(fp。fprintf(fp,%d,n。fclose(fp。free(st。menu(。2、查询模块分析查询的主要方式就是通过学号查询,查询时需要通过输入学号并按学生信息储存逐个核对,如果出现发现相同信息则输出该同学的其他信息,没有发现相同的信息则提示未找到并返回到menu)函数继续选择并执行其他操作。该查询也是通过机构体st的元素项的比较得出。运行结束后需要关闭文件并释放机构体指针的空间。int i,j=0,n,p,w。 long a。do*INQUIRIE MENU*nn”printf(ttt1.Inquiries school numbern。printf(ttt2.Inquiries

10、 classesn。printf(ttt3.Inquiries date of birthn 。printf(nntt*n”printf(ttt4.Back to menun。printf(Choice your number(1-4 bbbbbbb。scanf(%d,&n。if(n4w=1 o getchar(。 elseW=0owhile(w=1 oswitch(ncase 1:j=0 o printf(Please input your inquiries school number bbbbbbb。scanf(%ld,&a。for(i=0 o iif(sti.num=aj=1p+pri

11、ntf(%ld%s%d%ld%ld,sti.num,sti.name,sti.sex,sti.classes,sti.birth 。 if(!jprintf(There is no this school number!。 else printf(Success.There are %d student.,p inquiries(k,st。break。case 2:j=0 printf(Please input you class numberbbbbbbb”。scanf(%ld,&a。for(i=0 i if(sti.classes=ai=1p+printf(%d%s%d%d%ld,sti.

12、num,sti.name,sti.sex,sti.classes,sti.birth。 if(!jprintf(There is no this Class!。 elseprintf(Success.There are %d student.,p inquiries(k,st。break。case 3:j=0printf(Please input you date of birth bbbbbbb。scanf(%ld,&a。for(i=0。 i if(sti.birth=a i=1 o p+0printf(%d%s%d%d%ld,sti.num,sti.name,sti.sex,sti.classes,sti.birth。 )if(!jprintf(There is no this date of birth!。elseprintf(Success.There are %d student.,p inquiries(k,st。break。case 4:free(st menu(。 break。3、修改模块分析修改一个学生的信息首先要利用学生证号在已经存储的信息中找到该学生的信 息并输出该学生的具体信息,再在阅读完信息之后选择所需要修改的信息。修 改成功之后需要将已经更

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 演讲稿/致辞

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号