收藏 分销(赏)

学生信息管理系统设计.doc

上传人:可**** 文档编号:2827722 上传时间:2024-06-06 格式:DOC 页数:21 大小:443.50KB
下载 相关 举报
学生信息管理系统设计.doc_第1页
第1页 / 共21页
学生信息管理系统设计.doc_第2页
第2页 / 共21页
学生信息管理系统设计.doc_第3页
第3页 / 共21页
学生信息管理系统设计.doc_第4页
第4页 / 共21页
学生信息管理系统设计.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、专业综合设计报告书设计名称: 学生姓名: 专 业: 班 别: 学 号: 指导老师: 日 期: 年 月 日综合设计名称学生信息管理系统设计相关课程C语言程序设计完成时间2016年12月19日成绩评定序号评分项名称评分标准得分1设计功能概述全面准确说明设计功能:10分;全面说明设计功能:8分;简要说明设计功能:6分;功能与设计名称无关:5分以下。2设计依据及原理设计依据符合课程要求、原理,并具有现实意义:20分;设计依据符合课程要求、原理:16分;设计依据符合课程要求:12分;设计依据与课程无关:10分以下。3设计体系结构完整表达设计的结构,灵活应用图表等形式:30分;使用文本表达设计的结构:24

2、分;设计结构基本完成:18分;体系结构与课程设计无关:15分以下。4设计与运行代码与设计步骤清晰,运行成功:30分;完成功能设计,运行成功:24分;设计功能符合要求,运行有问题:20分;设计功能不全,代码出错,不能正常编译和运行:15分以下。5小结表达清楚,实事求是,符合课程要求:10分;表达清楚,符合课程要求:8分;符合课程要求:6分;表达不清楚,不符合课程要求:5分以下。总分等级评分人备注:成绩分为优秀、良好,中等、合格和不合格五个等级目录1.设计功能概述12.设计依据及原理12.1设计分析12.1.1系统总体设计12.1.2详细分析12.2 课程设计原理23.设计体系结构33.1设计目标

3、33.2 体系功能结构图34.设计与运行44.1 调试与测试44.2运行结果45. 小结96. 附件(源代码)91.设计功能概述学生信息管理系统,是一个可以增加、删除、浏览、查看、修改学生信息的系统,它是利用C语言实现各功能的。其中学生信息包括:学号、姓名、年龄、电话号码、性别、出生年月、QQ、班级等。该系统可提供添加学生信息、查询学生信息(可以按学号查询和按姓名查询)、删除学生信息(可以按学号删除和按姓名删除)、学生信息修改(可逐项修改学生信息)、学生信息整表浏览等功能。2.设计依据及原理 2.1设计分析 2.1.1系统总体设计主菜单添加学生信息信息整表浏览信息查询按学号查询按姓名查询信息编

4、辑按学号修改按学号删除2.1.2详细分析1)入口函数说明 menu(); 菜单函数 load_info(); 载入函数:txt转为链表 add_info(STU *h); 增加学生 search_info(STU *h,int type); 搜索函数delete_info(STU *h); 删除学生 update_info(STU *h); 修改学生信息output_info(STU *h); 输出信息 preview_info(STU *h,int type);预览信息main(); 主函数2)调用关系delete_info ()update_info ()load_info() add_i

5、nfo(STU*h)main()preview_info () output_info()search_info() output_info() 3)参数说明 add_info(STU*h) 、delete_info(STU*h) 、output_info(STU*h) 、preview_info(STU*h,int type) 、search_info(STU*h,int type) 、update_info(STU*h) 函数中的STU*h为传入的链表节点指针,type为搜索的方式:1为输出传入节点指针的一条学生记录,2为输出所有的学生记录。2.2 课程设计原理 根据总体设计的框架,利用C

6、语言逐项实现各个功能。首先将该系统需要的函数框架罗列出来,然后根据功能要求逐一将各个功能实现,并实现main函数的所有调用,每实现一个功能都进行一次测试,确保将发现的错误在单个功能编写的时候就能解决,以免影响整体效果。最后是整体运行调试。以下是整个系统的设计思路,和运行流程:1)运行程序,显示菜单页面,包括适当的提示信息以及可以实现的各项功能。用户选择输入各功能对应的数字,进入下一级功能页面;2)根据所输入的功能对应的数字,调用对应的各模块函数,显示相应的提示信息令用户进行下一步操作;3)根据用户的输入数据计算或判断,显示出相应的结果以及相应的提示信息,提醒用户进行下一步操作;4)根据选择菜单

7、上对应的功能,可能跳转到添加学生信息、修改学生信息、删除学生信息、浏览学生信息等页面,每结束一个动作,都可以按照选择进行下一个动作;5)当用户选择“0”时,都会结束进程,并关闭系统。3.设计体系结构3.1设计目标该系统的目的主要是加强对学生信息的管理,便于学校对学生信息的统一管理。其中该系统包括以下功能:初始化基本信息界面,即主菜单,有独立的添加与修改界面。添加界面只能连续添加相应的信息,修改界面只能逐项修改学生的信息。删除信息和查询信息都可以通过按学号和按姓名查询和删除,可通过浏览整表浏览所有存在的学生信息表。case6case5case4case3case2case11case0结束程序调

8、用add_info()调用serch_info 调用serch_info调用delete_info调用delete_info调用preview_info(判断cmd!=0?YN输入选择的cmd开始窗口展示主菜单显示载入链表cmd结束3.2 体系功能结构图4.设计与运行4.1 调试与测试 以下是在调试与测试中遇到的一些问题及解决方法1)调用STU * load_info() 函数(文件载入),读写出现乱码解决方法:更改相应指针指向,及有关变量的初值设置。2)边界测试解决方法:用极端的或偏门的情况来探测和验证代码在处理时会发生什么。3)执行窗口执行多次命令后显示过多,不利于输入指令及结果查看解决方

9、法:调用系统清屏函数system(cls);。4)学生信息输出时分不清界限。 解决方法:在学生信息输出结果时,使分割线,使的输出信息对齐。4.2运行结果(1)显示主菜单,调用了main()函数,通过输入命令编号继续程序的执行。(2)输入“1”,即添加学生信息,调用add_info(STU *h);(3)按名字查找学生,调用search_info(STU *h,int type) case2; 查找结果(4)按学号查找学生,调用search_info(STU *h,int type) case1;查找结果(5) 浏览全部学生信息,调用preview_info(STU *h,int type);(

10、5)按学号删除学生信息,调用delete_info(STU *h); 删除成功(6) 先按学号查询需要修改信息的学生,再修改需要修改的信息,先调用search_info(h,1),再调用update_info(STU *h);修改成功,并用system(cls)清屏。5. 小结在这次系统设计中,我花了比较长的一段时间学习和编写代码,当然也参考了一些资料。毕竟大一的时候学的C语言是比较基础的,也没那么深入的学习。这次实践的结果,不仅实现了学生管理系统的基本功能,即简洁的菜单以及操作使用户能在最短的时间内实现自己想要实现的功能,基本达到了预期目标,而且使我加深了对文件、指针、结构体等的理解,又积累

11、了一些实践经验,同时增强了动手能力和解决实际问题的能力。在设计此系统之前,我的C语言编程能力是比较差的,动手能力十分欠缺,每次都会害怕动手。通过此次程序设计,使我基本了解了C程序设计的步骤,如结构流程图,功能模块分类等等,特别是学会设计系统的基本步骤及思维方法。这次实践增强了我动手编程的信心,同时让我对代码的编辑更加自信。我相信机会都是留给有准备的人,我会更加深入学习相关的知识,不断提高自我的知识能力,迎接未来的挑战。6. 附件(源代码)#include #include #include typedef struct record /学生信息 结构体char No10;char name12

12、;unsigned int age;char sex4;char birth10;char qq12;char grade20;char phone11;struct record *next;STU;int menu(); /菜单函数STU * load_info(); /载入函数:txt转为链表STU * add_info(STU *h); /增加学生STU * search_info(STU *h,int type);/搜索函数STU * delete_info(STU *h);/删除学生void update_info(STU *h);/修改学生信息void output_info(S

13、TU *h);/输出信息void preview_info(STU *h,int type);/预览信息void main()STU *header=NULL,*sear=NULL;int cmd=1;system(title 学生信息管理系统);system(date /T);system(TIME /T);system(color 5E);header=load_info();cmd=menu(); /菜单选项设置 while(cmd!=0)switch(cmd)case 0:break;case 1:/添加信息header=add_info(header);output_info(hea

14、der);break;case 2:/学号查询sear=search_info(header,1);if(sear!=NULL)preview_info(sear,1);elseprintf(该学生不存在!n);sear=NULL;break;case 3:/姓名查询sear=search_info(header,2);if(sear!=NULL)preview_info(sear,1);elseprintf(该学生不存在!n);sear=NULL;break;case 4:/按学号删除header=delete_info(header);output_info(header);break;c

15、ase 5:/修改update_info(header);output_info(header);break;case 6:/整表输出preview_info(header,2);break;default:/命令无效 printf(无效的命令!n请重新输入命令!n);break;if(cmd!=0)cmd=menu();int menu()int cmd=0;printf(n请输入命令:nt0:结束程序!nt1:添加学生!nt2:按学号查询!nt3:按姓名查询!nt4:按学号删除信息!nt5:按学号修改信息!nt6:整表浏览!n);scanf(%d,&cmd);while(cmd9)prin

16、tf(无效的命令!n请重新输入:n);scanf(%d,&cmd);return cmd;STU * load_info()/载入函数:txt转为链表FILE *fp=fopen(d:stu.txt,r+),*fpNew=NULL;STU *h=NULL,*q=NULL,*p=NULL;char ch=0;h=(STU *)malloc(sizeof(STU);if(fp=NULL)fpNew=fopen(d:stu.txt,w);fclose(fpNew);return NULL;rewind(fp);ch=fgetc(fp);if(ch=EOF)return NULL;elserewind

17、(fp);fscanf(fp,%10s %12s %3d %11s %4s %10s %12s %20s,h-No,h-name,&h-age,h-phone,h-sex,h-birth,h-qq,h-grade);q=h;q-next=NULL;ch=fgetc(fp);while(ch!=EOF)p=(STU *)malloc(sizeof(STU);p-next=NULL;fscanf(fp,%10s %12s %3d %11s %4s %10s %12s %20s,p-No,p-name,&p-age,p-phone,p-sex,p-birth,p-qq,p-grade);ch=fge

18、tc(fp);q-next=p;q=q-next;fclose(fp);return h;STU * add_info(STU *h) /增加学生信息 FILE *fpin=fopen(d:stu.txt,a);STU *stu,*p;p=h;stu=(STU *)malloc(sizeof(STU);stu-next=NULL;system(cls);if(h=NULL)h=stu;printf(请输入学号:n);scanf(%s,h-No);printf(请输入姓名:n);scanf(%s,h-name);printf(请输入年龄:n);scanf(%d,&h-age);printf(请输

19、入手机号:n);scanf(%s,h-phone);printf(请输入性别:n);scanf(%s,h-sex);printf(请输入出生年月日:n);scanf(%s,h-birth);printf(请输入qq:n);scanf(%s,h-qq);printf(请输入班级:n);scanf(%s,h-grade);elsewhile(p-next!=NULL)p=p-next;p-next=stu;printf(请输入学号:n);scanf(%s,stu-No);printf(请输入姓名:n);scanf(%s,stu-name);printf(请输入年龄:n);scanf(%d,&stu

20、-age);printf(请输入手机号:n);scanf(%s,stu-phone);printf(请输入性别:n);scanf(%s,stu-sex);printf(请输入出生年月日:n);scanf(%s,stu-birth);printf(请输入qq:n);scanf(%s,stu-qq);printf(请输入班级:n);scanf(%s,stu-grade);fclose(fpin);return h;STU * delete_info(STU *h)/删除学生信息 STU *p,*q;char no11;p=h;if(p=NULL)printf(t目前还没有信息记录!n);retur

21、n NULL;elseprintf(请输入一个学号:n);scanf(%s,no);q=p-next;if(strcmp(h-No,no)=0)printf(该学生信息已删除!n);h=h-next;elsewhile(q!=NULL)if(strcmp(q-No,no)=0)printf(t该学生的信息已删除!n);p-next=q-next;return h;elsep=q;q=q-next;printf(该学生不存在!n);return h;STU * search_info(STU *h,int type)/按条件搜索学生信息 STU *p_temp=NULL,*q=h;p_temp=

22、(STU *)malloc(sizeof(STU);system(cls);switch(type)case 1:/按学号查询printf(t请输入一个学号:nt);scanf(%s,p_temp-No);while(q!=NULL)if(strcmp(q-No,p_temp-No)=0)return q;elseq=q-next;return NULL;break;case 2:/按姓名查询printf(t请输入一个名字:nt);scanf(%s,p_temp-name);while(q!=NULL)if(strcmp(q-name,p_temp-name)=0)return q;elseq

23、=q-next;return NULL;break;default:return NULL;break;void update_info(STU *h)/修改学生信息 STU *q=NULL;unsigned int cmd=1,rec=1;system(cls);while(rec!=0)q=search_info(h,1);if(q=NULL)printf(t该学生不存在,无法进行修改操作!n);elsecmd=1;while(cmd!=0)system(cls);preview_info(q,1);printf(nt0:修改完成,回主菜单!nt1:修改该学生姓名!nt2:修改该学生年龄!

24、nt3:修改该学生手机号!nt4:修改该学生性别!nt5:修改该学生生日!nt6:修改该学生qq号!nt7:修改该学生班级!nt8:修改下一个!n);printf(请输入命令:nt);scanf(%d,&cmd);switch(cmd)case 0:cmd=0;rec=0;break;case 1:printf(t请输入学生新的姓名:nt);scanf(%s,q-name);break;case 2:printf(t请输入学生新的年龄:nt);scanf(%d,&q-age);break;case 3:printf(t请输入学生新的手机号:nt);scanf(%s,q-phone);break

25、;case 4:printf(t请输入学生新的性别:nt);scanf(%s,q-sex);break;case 5:printf(t请输入学生新的生日:nt);scanf(%s,q-birth);break;case 6:printf(t请输入学生新的qq号:nt);scanf(%s,q-qq);break;case 7:printf(t请输入学生新的班级:nt);scanf(%s,q-grade);break;case 8:cmd=0;break;void output_info(STU *h)/输出学生信息 FILE *fpin=fopen(d:stu.txt,w);STU *q=NUL

26、L;q=h;if(q!=NULL)fprintf(fpin,%-10s %-12s %4d %11s %-4s %-8s %-11s %20s,q-No,q-name,q-age,q-phone,q-sex,q-birth,q-qq,q-grade);q=q-next;while(NULL!=q)fprintf(fpin,n%-10s %-12s %4d %11s %-4s %-8s %-11s %20s,q-No,q-name,q-age,q-phone,q-sex,q-birth,q-qq,q-grade);q=q-next;fclose(fpin);void preview_info(S

27、TU *h,int type)/浏览学生信息 STU *p=NULL;p=h;system(cls);switch(type)case 1:printf(=);printf(n该学生的完整信息为:nt学号:%-10snt姓名:%-12snt年龄:%-4dnt电话:%-11snt性别:%-4snt生日:%-stntQQ号:%stnt班级:%-sn,h-No,h-name,h-age,h-phone,h-sex,h-birth,h-qq,h-grade);printf(=);break;case 2:if(p=NULL)printf(文件中没有信息!n);break;printf(=);while

28、(p!=NULL)printf(nt学号:%-10snt姓名:%-12snt年龄:%-4dnt电话:%-11snt性别:%-4snt生日:%-stntQQ号:%stnt班级:%-sn,p-No,p-name,p-age,p-phone,p-sex,p-birth,p-qq,p-grade);printf(=);p=p-next;break;default:break;1. 基于C8051F单片机直流电动机反馈控制系统的设计与研究2. 基于单片机的嵌入式Web服务器的研究 3. MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究 4. 基于模

29、糊控制的电阻钎焊单片机温度控制系统的研制 5. 基于MCS-51系列单片机的通用控制模块的研究 6. 基于单片机实现的供暖系统最佳启停自校正(STR)调节器7. 单片机控制的二级倒立摆系统的研究8. 基于增强型51系列单片机的TCP/IP协议栈的实现 9. 基于单片机的蓄电池自动监测系统 10. 基于32位嵌入式单片机系统的图像采集与处理技术的研究11. 基于单片机的作物营养诊断专家系统的研究 12. 基于单片机的交流伺服电机运动控制系统研究与开发 13. 基于单片机的泵管内壁硬度测试仪的研制 14. 基于单片机的自动找平控制系统研究 15. 基于C8051F040单片机的嵌入式系统开发 16

30、. 基于单片机的液压动力系统状态监测仪开发 17. 模糊Smith智能控制方法的研究及其单片机实现 18. 一种基于单片机的轴快流CO,2激光器的手持控制面板的研制 19. 基于双单片机冲床数控系统的研究 20. 基于CYGNAL单片机的在线间歇式浊度仪的研制 21. 基于单片机的喷油泵试验台控制器的研制 22. 基于单片机的软起动器的研究和设计 23. 基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究 24. 基于单片机的机电产品控制系统开发 25. 基于PIC单片机的智能手机充电器 26. 基于单片机的实时内核设计及其应用研究 27. 基于单片机的远程抄表系统的设计与研究 28

31、. 基于单片机的烟气二氧化硫浓度检测仪的研制 29. 基于微型光谱仪的单片机系统 30. 单片机系统软件构件开发的技术研究 31. 基于单片机的液体点滴速度自动检测仪的研制32. 基于单片机系统的多功能温度测量仪的研制 33. 基于PIC单片机的电能采集终端的设计和应用 34. 基于单片机的光纤光栅解调仪的研制 35. 气压式线性摩擦焊机单片机控制系统的研制 36. 基于单片机的数字磁通门传感器 37. 基于单片机的旋转变压器-数字转换器的研究 38. 基于单片机的光纤Bragg光栅解调系统的研究 39. 单片机控制的便携式多功能乳腺治疗仪的研制 40. 基于C8051F020单片机的多生理信

32、号检测仪 41. 基于单片机的电机运动控制系统设计 42. Pico专用单片机核的可测性设计研究 43. 基于MCS-51单片机的热量计 44. 基于双单片机的智能遥测微型气象站 45. MCS-51单片机构建机器人的实践研究 46. 基于单片机的轮轨力检测 47. 基于单片机的GPS定位仪的研究与实现 48. 基于单片机的电液伺服控制系统 49. 用于单片机系统的MMC卡文件系统研制 50. 基于单片机的时控和计数系统性能优化的研究 51. 基于单片机和CPLD的粗光栅位移测量系统研究 52. 单片机控制的后备式方波UPS 53. 提升高职学生单片机应用能力的探究 54. 基于单片机控制的自

33、动低频减载装置研究 55. 基于单片机控制的水下焊接电源的研究 56. 基于单片机的多通道数据采集系统 57. 基于uPSD3234单片机的氚表面污染测量仪的研制 58. 基于单片机的红外测油仪的研究 59. 96系列单片机仿真器研究与设计 60. 基于单片机的单晶金刚石刀具刃磨设备的数控改造 61. 基于单片机的温度智能控制系统的设计与实现 62. 基于MSP430单片机的电梯门机控制器的研制 63. 基于单片机的气体测漏仪的研究 64. 基于三菱M16C/6N系列单片机的CAN/USB协议转换器 65. 基于单片机和DSP的变压器油色谱在线监测技术研究 66. 基于单片机的膛壁温度报警系统

34、设计 67. 基于AVR单片机的低压无功补偿控制器的设计 68. 基于单片机船舶电力推进电机监测系统 69. 基于单片机网络的振动信号的采集系统 70. 基于单片机的大容量数据存储技术的应用研究 71. 基于单片机的叠图机研究与教学方法实践 72. 基于单片机嵌入式Web服务器技术的研究及实现 73. 基于AT89S52单片机的通用数据采集系统 74. 基于单片机的多道脉冲幅度分析仪研究 75. 机器人旋转电弧传感角焊缝跟踪单片机控制系统 76. 基于单片机的控制系统在PLC虚拟教学实验中的应用研究77. 基于单片机系统的网络通信研究与应用 78. 基于PIC16F877单片机的莫尔斯码自动译

35、码系统设计与研究79. 基于单片机的模糊控制器在工业电阻炉上的应用研究 80. 基于双单片机冲床数控系统的研究与开发 81. 基于Cygnal单片机的C/OS-的研究82. 基于单片机的一体化智能差示扫描量热仪系统研究 83. 基于TCP/IP协议的单片机与Internet互联的研究与实现 84. 变频调速液压电梯单片机控制器的研究 85. 基于单片机-免疫计数器自动换样功能的研究与实现 86. 基于单片机的倒立摆控制系统设计与实现 87. 单片机嵌入式以太网防盗报警系统 88. 基于51单片机的嵌入式Internet系统的设计与实现 89. 单片机监测系统在挤压机上的应用 90. MSP43

36、0单片机在智能水表系统上的研究与应用 91. 基于单片机的嵌入式系统中TCP/IP协议栈的实现与应用92. 单片机在高楼恒压供水系统中的应用 93. 基于ATmega16单片机的流量控制器的开发 94. 基于MSP430单片机的远程抄表系统及智能网络水表的设计95. 基于MSP430单片机具有数据存储与回放功能的嵌入式电子血压计的设计 96. 基于单片机的氨分解率检测系统的研究与开发 97. 锅炉的单片机控制系统 98. 基于单片机控制的电磁振动式播种控制系统的设计 99. 基于单片机技术的WDR-01型聚氨酯导热系数测试仪的研制 100. 一种RISC结构8位单片机的设计与实现 101. 基

37、于单片机的公寓用电智能管理系统设计 102. 基于单片机的温度测控系统在温室大棚中的设计与实现103. 基于MSP430单片机的数字化超声电源的研制 104. 基于ADC841单片机的防爆软起动综合控制器的研究105. 基于单片机控制的井下低爆综合保护系统的设计 106. 基于单片机的空调器故障诊断系统的设计研究 107. 单片机实现的寻呼机编码器 108. 单片机实现的鲁棒MRACS及其在液压系统中的应用研究 109. 自适应控制的单片机实现方法及基上隅角瓦斯积聚处理中的应用研究110. 基于单片机的锅炉智能控制器的设计与研究 111. 超精密机床床身隔振的单片机主动控制 112. PIC单

38、片机在空调中的应用 113. 单片机控制力矩加载控制系统的研究 项目论证,项目可行性研究报告,可行性研究报告,项目推广,项目研究报告,项目设计,项目建议书,项目可研报告,本文档支持完整下载,支持任意编辑!选择我们,选择成功!项目论证,项目可行性研究报告,可行性研究报告,项目推广,项目研究报告,项目设计,项目建议书,项目可研报告,本文档支持完整下载,支持任意编辑!选择我们,选择成功!单片机论文,毕业设计,毕业论文,单片机设计,硕士论文,研究生论文,单片机研究论文,单片机设计论文,优秀毕业论文,毕业论文设计,毕业过关论文,毕业设计,毕业设计说明,毕业论文,单片机论文,基于单片机论文,毕业论文终稿,毕业论文初稿,本文档支持完整下载,支持任意编辑!本文档全网独一无二,放心使用,下载这篇文档,定会成功!18

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服