1、C语言课程设计学生选修课程管理系统内蒙古科技大学本科生课程设计说明书题 目: C 语言课程设计 学生选修课程管理系统学生姓名:学 号:专 业:软件工程班 级:软件一班指导教师:日 期:2014年 12月 23日内蒙古科技大学课程设计说明书内蒙古科技大学课程设计任务书课程名称 C 语言课程设计设计题目 学生选修课程管理系统指导教师 余金林 时间 2014.12.13 2014.12.23一、教学要求1.巩固和加深学生对 C 语言课程的基本知识的理解和掌握2.掌握 C 语言编程和程序调试的基本技能3.利用 C 语言进行基本的软件设计4.掌握书写程序设计说明文档的能力5.提高运用 C 语言解决实际问
2、题的能力二、设计资料及参数每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。学生选修课程管理系统设计假定有 n 门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于 60)自由选课。试设计一选修课程系统,使之能提供以下功能:1.课程信息录入功能 ( 课程信息用文件保存 ) 输入;课程信息浏览功能输出2. 查询功能: ( 至少一种查询方式 ) 算法 按学分查询 按课程名称查询3.学生选修课程 ( 可选项 )三、设计要求及成果1. 分析课程设计题目的功能需求(可选用数组或链表实现,可多人(
3、最多 3 人)协作完成一个题目)2.写出详细设计说明(至少包括功能实现分析和模块流程图)3.编写程序代码,调试程序使其能正确运行(代码书写要规范,标示符要见名知意,要有必要的注释,每人至少 500 行代码,不包括注释和花括号)4.设计完成的软件要便于操作和使用5.设计完成后提交课程设计报告(请严格按照模板进行排版)四、进度安排第一天 选择课程设计题目,分析课题的要求第二天 编程第三天 编程及调试第四天 写课程设计报告第五天 提交课程设计报告(打印稿及电子稿)五、评分标准1.根据平时上机考勤、表现和进度,教师将每天点名和检查2.根据课程设计完成情况,必须有可运行的软件。3.根据课程设计报告的质量
4、,如有雷同,则所有雷同的所有人均判为不及格。六、建议参考资料1 C 语言程序设计 ,谭浩强,清华大学出版社2C 语言程序设计课程设计 ,刘振安,机械工业出版社I内蒙古科技大学课程设计说明书内蒙古科技大学课程设计任务书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测试程序执行情况
5、20第五章用户手册(可选)265.1使用说明265.2运行说明26第六章课程设计总结27附录:程序代码 28 参考文献 48 致谢 48II内蒙古科技大学课程设计说明书第一章 需求分析1.1 引言本课设真对于选修课,增加课程,阅览课程,按学分选择课程,等一系列功能。现在大学生正处于选课阶段,特作本课设,帮助学生选课。1.2 任务概述1、采用结构体的形式进行信息输入与输出。2、对输入的课程的信息进行简单的排序。3、对输入的课程的信息进行删除。4、对输入的课程信息进行修改。5、对输入的课程信息进行浏览。6、对输入的课程信息进行查询。1.3 数据描述课程编号 : 课程名字 : 课程学分 : 课程性质
6、 : 课程学时 : 开课学期 :001 幸福学 2 哲学 16 3-8 周春002 大学语文 2 文学 14 12-18 周春1.4 功能需求1、有登陆系统的界面和一些必要的提示。2、有输入信息的界面和返回主目录的功能。3、有信息的浏览功能,对信息进行系统的输出。4、有信息的删除功能,对无关紧要或不必要并且已输入的信息进行删除。5、有信息的修改功能,对有错误或对需要修改的信息进行修改。6、有信息的查询功能,按学分可进行查询。1.5 性能需求1、具有一定的信息提示功能。2、对信息由基本的处理功能,如:输入、输出、查询、修改、删除等。3内蒙古科技大学课程设计说明书3、对管理的信息进行系统的输入和输
7、出。1.6 运行需求1、输入信息要严格按照提示顺序进行输入。2、输入选择项功能,要在选项范围内进行选择。3、输入的信息严格按照要求的格式输出。4、输入的信息必须清晰,不可连续不断。1.7 任务计划1、本程序是以为了更好地帮助学生选课而编写的一个程序。目的是以以一种更系统的操作来帮助学生选课,所以本程序的输入是以数据和文字两种形式输入的,输出也是一样。 而本程序可以对学生所选课程进行输入和输出, 对信息进行删除和修改并可以对信息进行浏览, 使使用者更方便的浏览所选课程的信息。 还可以对信息尽查找,方便使用者对信息进行提取。2、对程序进行调试时,如果有输入错的信息的时候,本程序会对使用者进行提示,
8、而让使用者对信息进行重新输入。第二章 概要设计2.1 总体设计学生选课课程浏览课程查询学生登录新增课程课程浏览登陆页面 管理员登录课程查询退出系统4内蒙古科技大学课程设计说明书2.2 数据类型设计(或数据结构设计)struct course/定义课程结构体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 manag
9、erchar m_name10;char m_password10;5内蒙古科技大学课程设计说明书2.3 接口设计 / 函数声明表 2.1:函数列表函数名函数格式/ 即函数首部函数功能login()void登陆bye_sys()void退出界面stu_login()void学生登陆菜单c_select()void选择课程c_view()void课程浏览c_add()void新增课程c_searchs()void学生查询函数c_searchm()void管理员查询函数c_viewm()void管理员浏览函数c_views()void学生浏览函数2.4 运行界面设计6内蒙古科技大学课程设计说明书v
10、oid login()/ 登陆界面void stu_login();void man_login();void bye_sys();int input;dosystem(cls);printf(nnnnnntttt1. 学生登陆 n);printf(ntttt2. 管理员登陆 n);printf(ntttt3. 退出系统 nnn);printf(nnnt 请输入项目代号: );scanf(%d,&input);if(input!=1&input!=2&input!=3)printf(nt 输入有误!请重新输入 n);printf(nt 按任意键返回 nt);getchar();getchar(
11、);system(cls);if(input=3)bye_sys();while(input!=1&input!=2&input!=3);switch(input)case 1:7内蒙古科技大学课程设计说明书stu_login();break;case 2:man_login();break;void bye_sys()/退出界面exit(0);void man_login()/管理员登陆void c_add();void c_view();void c_searchm();int in;dosystem(cls);printf(nnnnttt -管理员登陆菜单 -nn);printf(nnt
12、ttt1. 新增课程 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:8内蒙古科技大学课程设计说明书c_viewm();break;case 3:c_searchm();break;case 4:login();break;9内蒙古科技大学课程设计说明书第三章 详细设计3.1 输入模块设计void
13、 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(%s,course_new.c_name);printf(nntt3. 课程学分: );scanf(%d,&course_new.c_scor
14、e);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,fp);10内蒙古科技大学课程设计说明书i=i+1;while(!feof(fp);fclose(fp);if(fp=fopen(
15、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(nntt 请输入标号: );scanf(%d,&inp);while(inp!=1&in
16、p!=2);switch(inp)case 1:c_add();break;case 2:man_login();break;11内蒙古科技大学课程设计说明书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);getchar();getchar();man_log
17、in();elsedofread(&courseviewi,sizeof(struct course),1,fp);i=i+1;while(!feof(fp);fclose(fp);dosystem(cls);if(i=1)12内蒙古科技大学课程设计说明书printf(nnnttt 没有记录 !n);getchar();getchar();man_login();elseprintf(nttt- 共有 %d 条记录 -,i-1);printf(nnttt 课程编号 : %dn,courseviewn.c_num);printf(nnttt 课程名字 : %sn,courseviewn.c_na
18、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
19、按任意键返回 );input=getchar();input=getchar();elsen=n-1;13内蒙古科技大学课程设计说明书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;14内蒙古科技大学课程设计说明书while(inp!=3);void c_views()void st
20、u_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(nnnt 课程不存在 nn);printf(tnt);getchar();getchar();stu_login();elsedofread(&courseviewi,sizeof(struct course),1,fp);i=i+1;while(!feof(fp);fclose(fp);do15内蒙古科技大学课程设计说明书
21、system(cls);if(i=1)printf(nnnttt 没有记录 !n);getchar();getchar();stu_login();elseprintf(nttt- 共有 %d 条记录 -,i-1);printf(nnttt 课程编号 : %dn,courseviewn.c_num);printf(nnttt 课程名字 : %sn,courseviewn.c_name);printf(nnttt 课程学分 : %dn,courseviewn.c_score);printf(nnttt 课程性质 : %sn,courseviewn.c_properties);printf(nnt
22、tt 课程学时 : %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=getchar();input=getchar();else16内蒙古科技大学课程设计说明书n=n-1;break;case 2:if(n=i-2)printf(nt 已到达尾页 t 按任意键返回 );input=getchar();input=getchar();elsen=n+1;break;case
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2