- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言课程设计-学生选修课系统设计汇
目 录
课程设计评语 2
目 录 3
1.课程论文题目 4
2.程序设计思路 4
3.功能模块图 5
4.数据结构设计 5
5.算法设计 6
6.程序代码 13
7.程序运行结果 22
8.编程中遇到的困难及解决方法 25
9.总结心得及良好建议 26
10.致谢 26
课程论文题目
名称:学生选修课系统设计
【要求】
假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课时间,实验或上级时间,学分,开课学期等信息,学生可按要求(如总学分不超过60)自由选课。是设计一选修课课程系统,使只能提供以下功能:
(1)系统一菜单方式工作
(2)课程信息和学生选课信息录入功能(课程信息用文件保存
输入
(3)课程信息浏览功能——输出
(4)查询功能(至少一种查询方式)——算法
(5)按学分查询
(6)某门课程学生选修情况(可选项)
【提示】
数据结构可用结构体,包括授课和选课两个结构体,其中课程结构体成员包括编号,课程名称,课程性质,总学时,授课学时,实验或上机时间,学分,开课学期。学秀结构体成员包括学号,课程编号,该结构体的建立主要是为了查询某门课程学生选修情况。
系统以菜单方式工作,因而要提供键盘式选择菜单以实现功能选择;由于课程信息要用文件保存,因而要提供文件的输入输出操作;由于要浏览信息,所以要提供显示功能;要实现查询功能,故要提供查找操作。
2、总体设计
整个系统可以设计为信息输入模块、信息查询模块以及信息浏览模块。
3、详细设计
数据结构采用结构体,这里采用课程信息结构体和学生选课信息结构体。
Struct
{
Char courseCode[10]; //课程编号
Char courseName[20]; //课程名称
Char courseType[10]; //课程类别
Int totalPeriod; //总学时
Int classPeriod; //授课学时
Int experiPeriod; //上机学时
Float creditHour; //学分
Int term; //开课学期
}CourseInfo[N]; //课程信息结构体
Struct
{
Int stuNo; //学号;
Char courseCode[10]; //课程编号
}StuCourInfo[N]; //学生选课信息结构体
4.(1) 信息输入模块
从键盘输入课程信息和学生选课信息,写入文件。(fwrite, fprintf)
(2)信息浏览模块
分屏显示课程信息,每屏10条课程记录,按任意键继续。
(3)信息查询模块
通过菜单选择查询字段,可以按照课程编号、课程名称、课程性质、开课学期、学分对课程信息文件进行查找,查找算法可以选择基本查找、二分查找等算法。
可以通过菜单选择课程编号,在学生选课信息文件中查询该课程学生选修情况。
3.功能模块图
数据结构设计
由于C语言是面对过程的语言,故我的设计思路是根据目标程序运行的过程来编写的。
在编写本程序的过程中,首先借助老师给的指导材料,确定了目标程序运行的次序与界面,即本程序首先运行【用户系统】菜单界面,其次程序运行【用户插入课程信息】及【用户浏览课程】菜单界面,最后程序运行【统计选课信息】及【选课】界面。如果用户选择【插入用户信息】上图是简单的将输入学号和密码的过程提示是一遍,但实际函数中我使用的三从循环。第一重循环是输入学号;第二重循环是判断该学会是否存在,若学号不存在便提示是再输,还是退出系统;在学号存在时进入第三重循环,输入密码(注:学号和密码是在运行此函数时从文件中读到数组里)并在数组中查找,若有和该密码相等的数组元素,就将进入系统,否则提示继续或退出.
在次函数中用户通过输入选项进入不同的函数模块。当每次运行一个模块后,又进行选择。
程序代码
#includestdio.h
#includestring.h
#includestdlib.h
#define M 20
#define N 100
int x; //x为供选课程数
/*****主主菜单函数开始*****/
void menu()
{int n,w;
void enter_linformation();
void browse_linformation();
void enter_sinformation();
void search_num();
void search_score();
void l_choice_num();
do
{
puts(\t\t*
您可能关注的文档
最近下载
- GBT28827.8-2022 信息技术服务 运行维护 第8部分:医院信息系统管理要求.pdf
- Barracuda 瑞典巴拉库达 X射线机多功能质量检测装置.doc
- 危化品仓库标准,仓库安全设计、监控探测、仓储管理规范.pdf VIP
- SMT贴片机抛料记录表V1.0.pdf VIP
- TGXAS-良种肉牛优质牛肉分割及质量等级评定.pdf
- SMT贴片机抛料管制规范.docx VIP
- 工程技术研究中心管理办法(章程).docx VIP
- FOCUS-PDCA原理及流程完整版.pptx
- 2023春国开现代教育管理专题形考任务1试题及答案.docx
- 第7课党是最高政治领导力量(课件)【中职专用】高一思想政治《中国特色社会主义》(高教版2023·基础模块).pptx VIP
文档评论(0)