您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 学生信息管理系统c语言程序设计报告(完美)
学生信息管理系统第1页HUNANUNIVERSITY程序设计训练报告学生姓名学生学号专业班级指导老师院长(系主任)2013年5月25日学生信息管理系统第2页目录一系统功能简介......................................3二本人完成的主要工作.................................3三实训分析.................................4四实训设计...............................5五实训源程序代码和调试过程.....................7六实训总结.................................11附录1................................12附录2.................................12-22学生信息管理系统第3页一系统功能简介.学生信息管理系统1,进入主界面:要求输入密码,输入三次错误系统锁定。2,输入记录:将学生的基本信息包括学号,姓名,性别,地区,分数等数据作为一个记录写入文件。3,显示记录:显示学生的各项信息。4,增加记录:增加多个学生的基本信息,位于之前的学生后面。5,删除记录:删除学生信息。6,修改记录:可以修改学生的任何一项基本信息。7,查找记录:可以根据学生的学号查找并显示出学生的信息。8,统计记录:统计全班通过情况和不及格情况。9,退出系统经过逐层逐块、不断细化、求精过程,编写程序并进行测试、验证,可以逐个模块地分开调试,并通过文件包含或用工程文件的形式进行逐步联合调试。二本人完成的主要工作学生信息管理系统由我和龚晨同学共同完成。主程序的编写由我们两个共同完成。我负责的是:1、修改记录:可以修改学生的任何一项基本信息。2、查找记录:可以根据学生的学号查找并显示出学生的信息。3、统计记录:统计全班通过情况和不及格情况。4、退出系统三实训分析1、用结构化程序设计思想进行C环境下程序设计。学生信息管理系统第4页2、设计一个管理系统,上机编程、调试并通过该管理系统中的各功能模块。3、设计完成后,每人必须提交程序清单及关于程序设计、维护和使用方面的图文材料即程序设计说明书各一份。4、基于结构化程序设计思想和所使用的C语言开发环境与开发工具,并运用“软件工程”和“数据结构”中的有关概念和方法,针对具体设计题目和要求,分析功能要求,划分功能模块,用链表结构设计功能模块函数,以菜单方式调用相应功能模块来实现信息和数据处理四实训设计1、系统功能模块结构图本图书管理系统理由输入记录,显示记录,增加记录,删除记录,修改记录,统计数据,查找记录,七个大模块组成,其总体结构图如下:2.核心数据结构设计:1.头文件说明如:#includestring.h#includestdio.h#includestdlib.h增加记录模块修改记录模块删除记录模块修改记录模块统计记录模块输入记录模块显示记录模块查找记录模块退出系统学生信息管理系统学生信息管理系统第5页#includeconio.h2,函数的编写定义结构类型;定义全局变量;定义、编写记录(数据)输入函数;定义、编写记录(数据)显示函数;定义、编写记录(数据)增加函数;定义、编写记录(数据)删除函数;定义、编写记录(数据)修改函数;定义、编写记录(数据)统计函数;定义、编写记录(数据)查找函数;函数名称函数功能enter()进入函数input();输入函数display()显示函数add()增加函数delet()删除函数amend()修改函数preside();统计函数fint();查找函数output();退出函数3.核心算法描述(程序流程图)主函数结构流程初始化、定义主菜单、分支菜单指针数组及变量程序开始读键盘按键的键值学生信息管理系统第6页NY五实训源程序代码和调试过程(包括截图)1.1进入界面判断键值并弹出对应菜单根据按键执行菜单选项对应的函数从被调用函数中返回并转移退出管理系统用户按了1-8键吗?N学生信息管理系统第7页图一输入密码进行身份验证,输入三次则系统锁定。1.2选择菜单图二主菜单接界面,选择数字执行相应功能。1.3输入信息学生信息管理系统第8页图三依次输入学生的各项基本信息。1.4显示信息图四可以显示录入及增加的各项信息。1.5增加信息学生信息管理系统第9页图五根据需要添加新的学生信息。1.6删除记录图六删除信息。1.7修改记录学生信息管理系统第10页图七可修改任何学生的任何一项纪录。1.8统计信息图八对所有的信息进行统计显示不及格人数。1.9查找信息学生信息管理系统第11页图九根据学号查找出需要的学生信息。六实训结论通过C语言实训,让我加深了对C语言的了解,而不只是单单的在课本中学到的那些理论,平时乏味的课程,通过自己动手亲自编写,变的生动有趣,而在自己动手的过程中,出现的问题很多,比理论要难的多,当一个程序写完以后,经常会有很多错误而没法解决。不过,通过几天的实训,逐渐积攒了一些经验,有些错误可以较快看出来。这次实训有很大的收获,让我对C语言有了更深的认识,平时在课堂上学到的东西可以自己动手编写,将其转化成一些实用的技能。如果是一个程序写完一处错误也没有,会有种成就感,于是兴趣就来了,兴趣来了,自然学的东西也就多了,能把理论变成实际的技能,让我对C语言有了浓厚的兴趣和更深层的认识。C语言是一个有序的学习,条理很清楚,不是一个零散的知识,实际上所有的课程都如此,要从整体上把握。不过通过实训我也知道了自己的不足,存在的很多问题。希望能在以后的学习中,不断提高自己的能力,让问题越来越少。附录1参考文献[1]刘振安等.C程序设计课程设计.北京:机械工业出版社,2004.9[2]谭浩强等.c语言程序设计.(第二版).清华大学出版社,2002,.8[3]张引等著《C程序设计设计基础课程设计》浙江大学出版社2007[5]曹哲等《C程序设计课程设计》机械工业出版社2010.7学生信息管理系统第12页附录2源程序代码#includestdio.h#includestdlib.h#includeconio.h#includestring.h#defineN20structstudent/*定义学生结构体*/{longnum;charname[20];charsex[2];charaddress[20];intscore[3];intsum;intave;};structstudentstu[N];intt=1,pl=0;voidenter();voidinput();voiddisplay();voidadd();voiddelet();voidamend();voidpreside();voidfint();voidoutput();voidmain(){intpassword;inti;printf(\n\n\n\n\t\t\t欢迎进入学生信息管理系统\n);/*初始界面输入验证密码*/for(i=1;i=3;i++){学生信息管理系统第13页printf(\n\n\t\t\t请输入密码:);scanf(%d,&password);if(password==000000){enter();break;}printf(error!pleaseinputagain!);}printf(密码输入三次有误!系统锁定!);}voidenter()/*进入主菜单函数*/{intchoice,w;chark;system(cls);printf(\t\t\t学生信息管理系统\n\n);printf(\t\t1.录入.\t2.显示.\t3.增项.\t4.删项.\n\t\t5.修改.\t6.统计.\t7.查找.\t8.退出.\n);printf(\n输入序号执行相应功能:);scanf(%d,&choice);switch(choice){case1:input();break;case2:display();break;case3:add();break;case4:delet();break;case5:amend();break;case6:preside();break;case7:fint();break;case8:output();break;default:w=1;}if(w==1){printf(输入有误,按任意键重新选怿.\n);k=getchar();getch();enter();}}voidinput()/*学生信息录入的函数*/学生信息管理系统第14页{intx,count=0,i;charw,r[20],o;structstudent*p;p=stu;system(cls);printf(\t\t\t学生信息的录入.\n);do{pl++;printf(请输入第%d个学生的信息.\n\n,t);printf(学号:\n);scanf(%ld,&p-num);printf(姓名:\n);scanf(%s,&p-name);printf(\n);printf(性别:\n);gets(r);gets(&p-sex);printf(\n);printf(地区:\n);scanf(%s,&p-address);printf(\n);printf(三门成绩:1.语文.2.数学.3.英语.\n);for(i=0;i3;i++)scanf(%d,&p-score[i]);p-sum=p-score[0]+p-score[1]+p-score[2];p-ave=p-sum/3;printf(\n\n是否要继续输入学生信息,如果是请按y;不是请按n.\n);o=getchar();w=getchar();if(w=='y'||w=='Y'){t++;x=1;p++;}elsex=0;}while(x==1);学生信息管理系统第15页if(w=='n'||w=='N')printf(按任意键返回.\n);getch();enter();}voiddisplay()/*显示学生信息*/{inti,j;system(cls);printf(\t\t\t学生信息显示.\n\n);for(j=0;jt;j++){printf(%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n\n,学号,姓名,性别,地区,语文,数学,英语,平均分,总分);printf(%ld\t%s\t%s\t%s\t,stu[j].num,stu[j].name,stu[j].sex,stu[j].address);for(i=0;i3;i++)printf(%d\t,stu[j].score[i]);printf(%d\t,stu[j].ave);printf(%d\t,stu[j].sum);printf(\n\n);}printf(\n按任意键返回.\n);getch();enter();}voidadd()/*学生信息的增加*/{inti,x;chara,w;structstudent*p;p=stu+t;system(cls);printf(\n\t\t\t增加学生信息.\n);do{printf(请输入第%d个学生的信息.\n\n,t+1);printf(学号:\n);scanf(%ld,&p-num);printf(\n);学生信息管理系统第16页printf(姓名:\n);scanf(%s,p-name);printf(\n);printf(性别:\n);scanf(%s,p-sex);printf(\n);printf(地区:\n);scanf(%s,p-address);printf(\n);printf(三门成绩:1.语文.2.数学.3.英语.\n);for(i=0;i3;i++)scanf(%d,&p-score[i]);for(i=0;i3;i++)p-sum=p-score[0]+p-s
本文标题:学生信息管理系统c语言程序设计报告(完美)
链接地址:https://www.777doc.com/doc-2130158 .html