资源预览内容
第1页 / 共50页
第2页 / 共50页
第3页 / 共50页
第4页 / 共50页
第5页 / 共50页
第6页 / 共50页
第7页 / 共50页
第8页 / 共50页
第9页 / 共50页
第10页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
C语言课程设计报告学生选修课系统设计一、设计目的当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于信息系统的环境。计算机的最到好处的于利用它能够进行信息管理,使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好学生选课信息而设计的。数据处理手工操作,工作量大,出错率高,出错后不易更改,造成了时间上的浪费。基于这个问题,我认为有必要建立一个学生选课系统,使学生选课信息管理工作规范化、系统化、程序化,避免学生选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。二、题目说明假定有n门课程,每门课程都有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。试设计一选修课程系统,使之能提供一下功能:(1) 系统以菜单方式工作;(2) 课程信息和学生信息的录入功能(课程信息有文件保 存)-输入;(3) 课程信息浏览功能-输出;(4) 查询功能(至少一种查询方式)-算法;(5) 按学分查询;(6) 某门课程学生选修情况(可选项)。提示数据结构可用结构体,包括课程和选秀两个结构体,其中课程结构体包括课程编号、课程名称、课程性质、总学时、授课学时、实验或上机学时、学分、开课学期。选修结构体成员包括学号,课程编号,该结构体的建立主要是为了查询某门课程学生选修情况.。三、数据结构设计本系统的实现,全部采用链表这种数据结构,用链表实现课程的查找、添加、删除、课程的选修、追加选修的课程,课程信息采用结构体这种数据结构。typedef struct subjects int num; /课程编号 char name20; /课程名称 char kind10; /课程性质 int stime; /总学时 int ttime; /授课学时 int etime; /实验或上机学时 int score; /学分 int term; /开课学期 struct subjects *next;SUB;SUB *head=NULL;四、程序分析现代的社会是信息化的社会,信息无所不在。在生产领域、流通领域、各个部门每天都和信息打交道,如何处理如此多的信息成为了一个重要的课题。学生在学期开始选课是教学活动中的一个重要环节,该环节如果能管理好,它不仅能加快学生的选课速度,也提高了整个活动的效率。 大学一般都有上千名学生,每学期开始学生都要选课,因而产生了大量的课程信息。考虑到用户使用的方便和处理的信息量系统要完成录入,保存,查询,修改和删除课程信息的各种过程,能打印出课程信息表。对象: 系统的主要使用对象是需要选课的学生。学生在选课是要察看各个课程的详细信息,还要选择一些感兴趣的课程,需要生成课表,在发现课程有冲突后能够修改先前选择的信息。需要随学生选课的变化,计算相应的总学分。在全部选定后,打印报表。系统还需要管理员来查看和修改学生的总体选课情况课程信息和学生信息。五、程序设计大纲主 模 块管理员模块学生模块浏览课程查询课程添加课程删除课程浏览所有课程查询课程信息选择选修课程浏览我选修的课程删除错选的课程六、模块设计(一) 主函数,头文件及结构体声明主函数设计地比较简洁,只是提供一个主菜单,switch语句将整个程序分为两个大的功能模块:进入选课系统选择序号进行选课进入下一层程序#include stdio.h#include string.h#include stdlib.h#includemalloc.hvoid prin1();void choose();typedef struct subjects /课程结构体 int num; /课程编号 char name20; /课程名称 char kind10; /课程性质 int stime; /总学时 int ttime; /授课学时 int etime; /实验或上机学时 int score; /学分 int term; /开课学期 struct subjects *next;SUB;SUB *head=NULL;int main()int n,w=1;do system(cls); puts(nntt*MENU*nn);puts(tttt1.以管理员身份登录n);puts(tttt2.以学生身份登录n);puts(tttt3.退出);puts(nntt*n);printf(Chiose your number(1-3): bb);scanf(%d,&n);switch(n)case 1:Mangers() ;break;case 2:Students();break;case 3:w=0;break;default:; while(w=1); return 0;(二) 管理员功能模块管理员的功能一共有四个功能:浏览,查询,添加,删除课程,运用字符串处理函数处理密码的问题,用一个switch语句实现函数的调用:管理员登录菜单输入密码进行码匹对验证进入管理员界面i=3i0按任意键退出是否否是程序void Mangers() int n,w=1,flag=0,i=3; char s8; char password7=1; do printf(nnEnter password:); scanf(%s,s); if(!strcmp(s,password) /进行密码匹配验证 flag=1; break; else printf(nnError! You only have %d times! Enter again:n,i-1); i-; while(i0); if(!flag) printf(you have Enter 3 times!); /输入密码超过了3次! exit(0); /自动退出 do system(cls); puts(nntt*管理员菜单*nn); puts(tttt1-浏览课程n);puts(tttt2-查询课程n); puts(tttt3-添加课程n); puts(tttt4-删除课程n);puts(tttt5-返回主菜单);puts(nntt*n); printf(Chiose your number(1-5): bb); scanf(%d,&n); switch(n) case 1:prin();break; case 2:search();break; case 3:insert();savefile();break; case 4:del();savefile();break; case 5:return; default:; while(w=1);void Students()int n,w=1; do system(cls); puts(nntt*学生菜单*nn); puts(tttt1-浏览所有课程n);puts(tttt2-查询课程信息n); puts(tttt3-选择选修课程n); puts(tttt4-浏览我选修的课程n); puts(tttt5-删除错选课程n);puts(tttt6-返回主菜单); puts(nntt*n); printf(Chiose your number(1-6): bb); scanf(%d,&n); switch(n) case 1:prin();break; case 2:sea
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号