您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 用C语言实现学生信息管理系统设计及源代码
一、课程设计目的让学生综合应用所学的计算机基础知识和所掌握的程序设计语言(C语言),自主实现一个较为完整的小型管理信息系统的设计与开发。其主要目的是使学生通过系统分析、系统设计、编程调试,写实验报告等环节,初步掌握软件系统设计的方法和步骤,训练灵活运用程序设计语言进行软件开发的能力,提高分析问题和解决问题的能力,提高程序设计水平,培养必要的工程实践动手二、课程设计内容序号阶段名称具体内容要求1数据录入录入系统所需的数据用链表或结构体数组组织数据2数据存储数据读写将录入的数据存储,对数据进行读写操作用文件的形式将录入的数据存储,并进行读写操作3数据修改对数据进行更新操作可以进行新数据的插入,旧数据的修改操作4数据删除对数据进行删除操作根据具体题目将对应记录删除5数据查询按要求对数据进行查询含简单查询及组合查询6数据统计按要求对数据进行统计含简单统计及综合统计7数据排序按要求对数据进行排序含升序排序及降序排序8数据报表按要求对数据打印报表依规定的报表格式对数据打印报表9界面设计总体菜单界面简单菜单、下拉式或弹出式三、需求分析(1)学生信息管理系统是用结构体数组来实现,该结构体数组中包括整型,字符型及其数组,实现系统功能的调用函数。(2)学生信息系统的功能是对学生的学生信息的录入、显示、修改、添加、删除、查询、排序、保存、读取来对学生信息进行管理。(3)该学生信息管理程序的要求是:结构清晰,书写规范;各种信息都保存在文件中;界面采用最简单的菜单,层次清楚,操作方便。四、概要设计1.系统结构图(功能模块图)主函数验证密码输出信息读取文件查找信息删除信息排序信息修改信息保存信息读入信息2.功能模块说明1录入信息模块:将要入库的学生信息加到信息数据中。它包括学生的学号、姓名、性别、班级、年龄、电话、家庭地址等。2.显示学生信息:分为两个模块(1)显示学生基本信息。它包括学生的学号、姓名、性别、班级、年龄、家庭住址、电话等。(2)显示学生成绩信息。它包括学生的学号、姓名、数学、物理、英语、C语言成绩。3.查找信息模块:分为两个模块(1)根据学生学号进行查找。(2)根据学生姓名进行查找。包括学号、姓名、成绩等。4.修改信息模块:对现存的学生信息进行修改分为两个模块(1)根据学生学号进行修改。(2)根据学生姓名进行修改。它包括各科成绩。5.删除信息模块:同样分为按学号与姓名进行把某学生的学生信息删除。6.学生信息排序模块:把已存在的学生信息按照学号进行排序。7.信息查询统计模块:输入学号后,显示该生学生信息。8.退出模块:退出程序。退出主函数五、详细设计及运行结果1:主函数流程图4、输入密码进入菜单Case4显示成绩信息Case5排序信息Case6修改信息Case7查询信息Case8删除信息Case9储存信息Case0breakSwitch()Case2输入信息输入选项(1、2)输入学号或姓输入学号/姓名输出结开始删除处理Case1读取文件Case3显示基本信息输入学号姓名性别年龄电话家庭显示排序信息显示基本信息显示信息2.按学号查找流程图结束结束选择7进入输入学号numberStu[i].num=num?输入错误;输出这个学生的信息yesni=0;iN;i++;i=N;六、调试情况,设计技巧及体会(1).这次课程设计和以前所做题目截然不同,在这之前,以前从未尝试过写一个较大的程序,由于上学期C语言学得不是很好,所以设计过程中遇到好多问题,比如没有思路、算法分析、不知如何下手等。但是通过查阅资料和咨询同学终于有了想法。所以自己就慢慢设计了这个程序。但是程序设计有些简单,没有运用链表知识,只应用了结构体和数组。而且设计中还存在很多问题,管理系统不够完善,实现的功能不够详尽,没有实现自己想要实现的那么复杂和完善的功能。(2)在这两周的课程设计过程中,我感触颇深,让我深刻感受到知识总是在用的时候才知道匮乏,以前觉得自己C语言考试过了,就是合格了,对自己要求太低,以至于这次实习遇到很大的麻烦.基础知识不够扎实是我最大的问题,对很多知识点是只知其一,不知其二,或是只知其然而不知其所以然,自己的知识真的很浅薄,而且动手能力,分析问题、解决问题的的能力很差,以后一定要增加自己的知识储备,努力锻炼自己的实践能力。在实践过程中也遇到好多困难想要放弃,但又一想这样就放弃了以后还如何面多更大地挑战,终于还是坚持下来了,虽然自己做的不是很好,但是自己也用心努力了,我相信只要自己肯努力结果就一定不会太差!一份耕耘一份收获,两个星期的C语言实习,我终于又重新拾起了渐以模糊的C语言知识和概念,通过上机调试程序,不但熟悉了C语言的一些基本知识,而且熟练了上机实践,通过实践,又掌握了一些在书本上学不到的解决实际问题的方法本次的课程设计不仅让我学会了如何使用C语言编程,更多的我学会了如何持之以恒,细心的去做完一件事,我深信,只要我能一直坚持实习这段时间的精神,相信我也一定会到达成功的彼岸!七、参考文献1.王曙燕主编,C语言程序设计,科学出版社,2005年2.谭浩强,《C程序设计》,清华大学出版社2002年八、附录:源代码(略,详见电子版实验报告)#includestdio.h#includedos.h#includeconio.h#includestring.h#defineMAX50/*studentbasicinformationstruct*/typedefstruct{intnumber;charname[10];charsex[2];intage;charkind[20];chardormitory[10];charaddress[30];charphone[11];intscore1;intscore2;intscore3;intscore4;intsum;doubleaverage;}STUDENT;voidpassword(void);voidinput(void);voidsort();voiddisplaybasic(void);voiddisplayscore(void);voidrevise(void);voidrevise_num(void);voidrevise_name(void);voidinquire(void);voidinquire_number(void);voidinquire_name(void);voiddel(void);voiddel_number(void);voiddel_name(void);voidsave(void);voidread(void);STUDENTstudent[MAX];intcount=0;voidmain(){intselect=-1;password();while(select!=0){printf(\n);printf(========================================\n);printf(=1---read\n);printf(=2---Input\n);printf(=3---Displaybasic\n);printf(=4---Displayscore\n);printf(=5---sort\n);printf(=6---Revise\n);printf(=7---inquire\n);printf(=8---delete\n);printf(=9---save\n);printf(=0---Exit\n);printf(========================================\n);printf(Pleaseinputselect(0-9):\n);scanf(%d,&select);switch(select){case1:read();break;case2:input();break;case3:displaybasic();break;case4:displayscore();break;case5:sort();break;case6:revise();break;case7:inquire();break;case8:del();break;case9:save();break;case0:break;}}}/*inputthesecretcodefunction*/voidpassword(){inti;charn[8],m[8];m[0]='0';m[1]='4';m[2]='0';m[3]='8';m[4]='2';m[5]='0';m[6]='3';m[7]='7';printf(\n\n\n\n\n\t-----Welcometothestudent'sstatusmanagesystem-----\n\n\n\n\n\n\n\n);printf(\n\n\n\n\n\t\t\tPleaseinputthesecretcode:);do{for(i=0;i8;i++){n[i]=getch();if(n[i]='0'||n[i]='9'||n[i]='a'||n[i]='z'||n[i]='A'||n[i]='Z')putchar('*');}getch();if(n[0]==m[0]&&n[1]==m[1]&&n[2]==m[2]&&n[3]==m[3]&&n[4]==m[4]&&n[5]==m[5]&&n[6]==m[6]&&n[7]==m[7]){system(cls);printf(=================================================================\n);printf(\n\n\n\n\n\n\t-----Thesecretcodeisright!---\n\n);printf(\t\t\t-------------Wellcometouse!-----\n\n\n\n\n\n);printf(===============================================================\n);getchar();printf(pressanykeycontiue!);break;}else{system(cls);printf(\t\tSorry!thesecretcodeiswrong!pleaseinputagain!:\n);continue;}}while(1);}/*informationinputfunction*/voidinput(void){printf(pleaseinputstudentbasicintormation:\n);printf(number:);scanf(%d,&student[count].number);printf(name:);scanf(%s,student[count].name);printf(sex:);scanf(%s,student[count].sex);printf(age:);fflush(stdin);scanf(%d,&student[count].age);printf(kind:);scanf(%s,student[count].kind);printf(dormitory:);scanf(%s,student[count].dormitory);printf(address:);scanf(%s,student[count].address);printf(phone:);scanf(%s,student[count].phone);printf(pleaseinputnumberbetween0~100:\n);printf(math:\n);scanf(%d,&student[count].score1);printf(physics:\n);scanf(%d,&student[count].score2);printf(c:\n);scanf(%d
本文标题:用C语言实现学生信息管理系统设计及源代码
链接地址:https://www.777doc.com/doc-6192424 .html