C语言课程设计-学生选修课程管理系统(36页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C语言课程设计-学生选修课程管理系统(36页).doc》由会员分享,可在线阅读,更多相关《C语言课程设计-学生选修课程管理系统(36页).doc(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-C语言课程设计-学生选修课程管理系统-第 34 页内蒙古科技大学本科生课程设计说明书题 目:C语言课程设计 学生选修课程管理系统学生姓名:学 号:专 业:软件工程班 级:软件一班指导教师:日 期:2014年12月23日内蒙古科技大学课程设计任务书课程名称C语言课程设计设计题目学生选修课程管理系统指导教师余金林时间2014.12.132014.12.23一、教学要求1. 巩固和加深学生对C语言课程的基本知识的理解和掌握2. 掌握C语言编程和程序调试的基本技能3. 利用C语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用C语言解决实际问题的能力二、设计资料及参数每个学生在教
2、师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。学生选修课程管理系统设计假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。试设计一选修课程系统,使之能提供以下功能:1.课程信息录入功能(课程信息用文件保存)输入;课程信息浏览功能输出2.查询功能:(至少一种查询方式)算法 按学分查询 按课程名称查询3.学生选修课程(可选项)三、设计要求及成果1. 分析课程设计题目的功能需求(可选用数组或链表实现,可多人(最多3人)协作完成一个题目)2. 写出详细设计说明(至少包括功能实现
3、分析和模块流程图)3. 编写程序代码,调试程序使其能正确运行(代码书写要规范,标示符要见名知意,要有必要的注释,每人至少500行代码,不包括注释和花括号)4. 设计完成的软件要便于操作和使用5. 设计完成后提交课程设计报告(请严格按照模板进行排版)四、进度安排第一天 选择课程设计题目,分析课题的要求第二天 编程第三天 编程及调试第四天 写课程设计报告第五天 提交课程设计报告(打印稿及电子稿)五、评分标准1. 根据平时上机考勤、表现和进度,教师将每天点名和检查2. 根据课程设计完成情况,必须有可运行的软件。3. 根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。六、建议参考资料1
4、C语言程序设计,谭浩强,清华大学出版社2C语言程序设计课程设计,刘振安,机械工业出版社目 录内蒙古科技大学课程设计任务书I目 录II第一章 需求分析31.1引言31.2任务概述31.3数据描述31.4功能需求31.5性能需求31.6运行需求41.7任务计划4第二章概要设计42.1总体设计42.2数据类型设计(或数据结构设计)52.3接口设计 /函数声明62.4运行界面设计6第三章详细设计103.1输入模块设计103.2输出模块设计123.3查找模块设计18第四章测试分析204.1测试程序执行情况20第五章用户手册(可选)265.1使用说明265.2运行说明26第六章课程设计总结27附录:程序代
5、码28参考文献48致谢48第一章 需求分析1.1 引言本课设真对于选修课,增加课程,阅览课程,按学分选择课程,等一系列功能。现在大学生正处于选课阶段,特作本课设,帮助学生选课。1.2 任务概述1、采用结构体的形式进行信息输入与输出。2、对输入的课程的信息进行简单的排序。3、对输入的课程的信息进行删除。4、对输入的课程信息进行修改。5、对输入的课程信息进行浏览。6、对输入的课程信息进行查询。1.3 数据描述课程编号:课程名字:课程学分:课程性质:课程学时:开课学期:001幸福学2哲学163-8周春002大学语文2文学1412-18周春1.4 功能需求1、有登陆系统的界面和一些必要的提示。2、有输
6、入信息的界面和返回主目录的功能。3、有信息的浏览功能,对信息进行系统的输出。4、有信息的删除功能,对无关紧要或不必要并且已输入的信息进行删除。5、有信息的修改功能,对有错误或对需要修改的信息进行修改。6、有信息的查询功能,按学分可进行查询。1.5 性能需求1、具有一定的信息提示功能。2、对信息由基本的处理功能,如:输入、输出、查询、修改、删除等。3、对管理的信息进行系统的输入和输出。1.6 运行需求1、输入信息要严格按照提示顺序进行输入。2、输入选择项功能,要在选项范围内进行选择。3、输入的信息严格按照要求的格式输出。4、输入的信息必须清晰,不可连续不断。1.7 任务计划1、本程序是以为了更好
7、地帮助学生选课而编写的一个程序。目的是以以一种更系统的操作来帮助学生选课,所以本程序的输入是以数据和文字两种形式输入的,输出也是一样。而本程序可以对学生所选课程进行输入和输出,对信息进行删除和修改并可以对信息进行浏览,使使用者更方便的浏览所选课程的信息。还可以对信息尽查找,方便使用者对信息进行提取。2、对程序进行调试时,如果有输入错的信息的时候,本程序会对使用者进行提示,而让使用者对信息进行重新输入。第二章 概要设计2.1 总体设计 学生选课 课程浏览 课程查询学生登录 新增课程 课程浏览登陆页面管理员登录 课程查询退出系统2.2 数据类型设计(或数据结构设计)struct course/定义
8、课程结构体int c_num;/课程编号char c_name20;/课程名字int c_score;/课程学分char c_properties20;/课程性质int c_time;/课程学时char c_term20;/开课学期struct studentchar s_number10;char s_password10;struct managerchar m_name10;char m_password10;2.3 接口设计 /函数声明表2.1:函数列表函数名函数格式 /即函数首部函数功能login()void登陆bye_sys()void退出界面stu_login()void学生登陆
9、菜单c_select()void选择课程c_view()void课程浏览c_add()void新增课程c_searchs()void学生查询函数c_searchm()void管理员查询函数c_viewm()void管理员浏览函数c_views()void学生浏览函数2.4 运行界面设计void login()/登陆界面void stu_login();void man_login();void bye_sys();int input;dosystem(cls);printf(nnnnnntttt1.学生登陆n);printf(ntttt2.管理员登陆n);printf(ntttt3.退出系统n
10、nn);printf(nnnt请输入项目代号:);scanf(%d,&input);if(input!=1&input!=2&input!=3)printf(nt 输入有误!请重新输入n);printf(nt 按任意键返回nt);getchar();getchar();system(cls);if(input=3)bye_sys();while(input!=1&input!=2&input!=3);switch(input)case 1:stu_login();break;case 2:man_login();break;void bye_sys()/退出界面exit(0);void man
11、_login()/管理员登陆void c_add();void c_view();void c_searchm();int in;dosystem(cls);printf(nnnnttt -管理员登陆菜单-nn);printf(nntttt1.新增课程n);printf(ntttt2.课程浏览n);printf(ntttt3.课程查询n);printf(ntttt4.退出n);printf(nnt请输入项目代号:);scanf(%d,&in); while(in!=1&in!=2&in!=3&in!=4);switch(in)case 1:c_add();break;case 2:c_view
12、m();break;case 3:c_searchm();break;case 4:login();break;第三章 详细设计3.1 输入模块设计void c_add()/新增课程函数void c_add();void man_login();int i=0,j,inp;FILE *fp;struct course course_new;struct course courses10;system(cls);printf(nntt请输入课程信息);printf(nntt1.课程编号:);scanf(%d,&course_new.c_num);printf(nntt2.课程名字:);scanf
13、(%s,course_new.c_name);printf(nntt3.课程学分:);scanf(%d,&course_new.c_score);printf(nntt4.课程性质:);scanf(%s,course_new.c_properties);printf(nntt5.课程学时:);scanf(%d,&course_new.c_time);printf(nntt6.开课学期:);scanf(%s,course_new.c_term);if(fp=fopen(course.dat,rb)!=NULL)dofread(&coursesi,sizeof(struct course),1,f
14、p);i=i+1;while(!feof(fp);fclose(fp);if(fp=fopen(course.dat,rb)=NULL)fp=fopen(course.dat,wb);elsefclose(fp);fp=fopen(course.dat,ab);fwrite(&course_new,sizeof(struct course),1,fp);fclose(fp);printf(nntt 信息输入完毕t 按任意键继续);getchar();getchar();dosystem(cls);printf(nntt1.继续输入);printf(nntt2.返回管理菜单);printf(nn
15、tt请输入标号:);scanf(%d,&inp);while(inp!=1&inp!=2);switch(inp)case 1:c_add();break;case 2:man_login();break;3.2 输出模块设计void c_viewm()void stu_login();void c_view();int inp,i=0,n=0;FILE*fp;char input;struct course courseview10;if(fp=fopen(course.dat,rb)=NULL)system(cls); printf(nnt 课程不存在nn);printf(tnt);get
16、char();getchar();man_login();elsedofread(&courseviewi,sizeof(struct course),1,fp);i=i+1;while(!feof(fp);fclose(fp);dosystem(cls);if(i=1)printf(nnnttt没有记录!n);getchar();getchar();man_login();elseprintf(nttt-共有%d条记录-,i-1);printf(nnttt 课程编号: %dn,courseviewn.c_num);printf(nnttt 课程名字: %sn,courseviewn.c_na
17、me);printf(nnttt 课程学分: %dn,courseviewn.c_score);printf(nnttt 课程性质: %sn,courseviewn.c_properties);printf(nnttt 课程学时: %dn,courseviewn.c_time);printf(nnttt 开课学期: %sn,courseviewn.c_term);printf(nntt1.上一页t2.下一页t3.回目录);printf(nt请选择: );scanf(%d,&inp);switch(inp) case 1:if(n=0)printf(nt已到达首页t按任意键返回);input=g
18、etchar();input=getchar();elsen=n-1;break;case 2: if(n=i-2)printf(nt已到达尾页t按任意键返回);input=getchar();input=getchar();elsen=n+1;break;case 3:man_login();break;default:printf(nt操作错误t按任意键返回);getchar();getchar();break;while(inp!=3);void c_views()void stu_login();void c_view();int inp,i=0,n=0;FILE*fp;char in
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 学生 选修 课程 管理 系统 36
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内