- 20
- 0
- 约1.71万字
- 约 35页
- 2018-05-18 发布于浙江
- 举报
C语言课程设计报告-学生选课管理系统汇
《学生选课系统》
1 需求分析
1.1任务要求
制做学生选课系统,共包括课程信息和学生信息两部分。课程信息包括:课程编码、课程名称、适用专业、课程类型(必修、限选、必选、实践、学习)、学分、学时、主讲教师等。学生信息管理,学生选课管理(学生选课学分总数有一定范围),学生可以对课程进行查询、浏览,选完课后可以退选、重选,并可以按学号、姓名进行查询和统计。
要求:1.源文件采用多文件的工程结构。
2.数据储存采用文件形式。
3.标准的C输入输出。
4.功能完善,适当的注释。
5.关于文件的内容要自学。
1.2系统功能需求分析
1.为存储课程信息,需要定义一个结构体类型,成员包括课程编码、课程名称、适用专业、课程类型、学分、学时、主讲教师,所选人数等等,并建立链表,定义该结构体类型的指针,用于指向各节点;
2.为存储学生信息,需要定义一个结构体类型,成员包括学生编码、学生姓名、所选课程编码、所选课程学分和等等,并建立链表,定义该结构体类型的指针,用于指向各节点;
3.对于课程信息和学生信息,可以选择从键盘输入也可选择从文件中打开原来存盘的信息,并对他们分别建立添加、删除、浏览、查询等功能的子函数,完成相应的功能,对程序实现模块化。这其中要用到对链表的删除、插入、增加等知识。删除包括课程删除和学生信息删除,删除时用一结构体指针指向链表的第一个结点,检查该节点的值是否等于输入的要删除的课程编号或学生学号,若相等就删除,不相等则后移指针,直至表尾。插入时也要先找到相应结点,再添加。查询功能要设置按照学生姓名、学生编号等多种方式。
4.学生选课是要先输入自己的学号,如果在已经输入的学生信息中找不到此学号,则提示需要先输入自己的信息。如找到了自己的学号,则可以进行选课。在选课之前要先对所有的课程信息进行浏览。选课有一定的学分限制,超过相应的学分(这里设置的是10个学分),系统就会显示可以选满的信息。此系统还可以实现删除所选课程的功能,设计思路与选课功能相似。
5.为实现存储功能,需用到文件的相关函数,打开文件,将添加、修改或删除的信息存入磁盘中。
6.实现易于使用者理解和使用的友好界面。
2 概要设计
2.1系统总体设计框架
对程序进行模块化可以使整个程序清晰明了。对课程信息和学生信息建立从文件中输入、从键盘中输入、添加、删除、查询和浏览的功能,其各个子函数中运用链表储存数据。选课管理建立学生选课、推选、查询、浏览的功能,其各个子函数中运用链表储存数据。从主函数开始执行,依次调用各个子函数,并运用文件的相关知识将信息进行存盘。
2.2系统功能模块图
3 详细设计
3.1功能模块设计思路
主要功能模块的算法设计思路如下:
课程信息录入函数(void load())
①从键盘录入(void zhang( ))
I 定义指向结构体变量的指针;
II 从头指针指向的结构体开始依次录入结构体中所包含的各个成员;
III直到输入的结构体成员的编号为0,录入结束
②从文件录入(void zhang1( ))
I 分别定义指向结构体变量的指针和指向文件的指针;
II 输入文件的路径,打开文件,若没有找到则有提示;
III 将文件中的信息依次读出,最后结构体的指针为NULL
课程信息管理(void managementc())
①增加课程信息(void insert(struct course *incourse))
I 定义指向结构体变量的指针;
II 输入要增加的课程编号,从头指针指向的结构体依次向后,直到链表的最后;
III 输入课程结构体各个成员的信息,使最后一个结构体指针值为NULL
②删除课程信息(void delc(int num1))
I 定义指向结构体变量的指针;
II 输入要增加的课程编号,从头指针指向的结构体依次向后,直到找到课程编号为输入值的那个结构体;
III 将其删除,其前一个的结构体指针指向其后一个结构体
学生信息录入函数(void input())
①从键盘录入(void putin( ))
I 定义指向结构体变量的指针;
II 从头指针指向的结构体开始依次录入结构体中所包含的各个成员;
III 直到输入的结构体成员的编号为0,录入结束
②从文件录入(void putin2( ))
I 分别定义指向结构体变量的指针和指向文件的指针;
II 输入文件的路径,打开文件,若没有找到则有提示;
III 将文件中的信息依次读出,最后结构体的指针为NULL
学生信息管理(void managements())
①增加学生信息(void inserts(struct student * incouse))
I 定义指向结构体变量的指针;
II 输
您可能关注的文档
- 4G6发动机维修工艺汇.doc
- 46寸DID(液晶)数字拼接显示系统(2X2)设计方案汇.doc
- 51job社区网络口碑推广策略方案汇.ppt
- 5S活动基础知识培训教案汇.ppt
- 66千伏北郊变电站移址新建工程可行性研究报告汇.doc
- 561Q液晶互动系统-操作指南A5版汇.doc
- 46寸3X3超窄边液晶拼接屏方案汇.doc
- 6S检查评比管理实施细则汇.doc
- 6S推进指导手册汇.doc
- 6层砖混住宅楼施工组织设计汇.doc
- 河北盐山中学等校2025-2026学年上学期高三一模化学试卷(含解析).docx
- 河北正定中学2025-2026学年高一上学期期末考试物理试卷(含解析).docx
- 河北张家口市怀安县2025-2026学年第一学期期末教学综合评价八年级地理试卷(含解析).docx
- 河南安阳市殷都区2025-2026学年第一学期期末教学质量检测七年级地理试卷(含解析).docx
- 河南安阳市滑县2025一2026学年第一学期期末学业质量监测八年级地理试题(含解析).docx
- 河南安阳市林州市2025-2026学年上学期期末考试高一政治试题(含解析).docx
- 河南焦作市武陟县第一中学2025-2026学年高一上学期1月月考语文试卷(含解析).docx
- 河南济源市2025-2026学年上学期期末学业质量调研七年级历史试卷(含解析).docx
- PICC导管并发症的紧急处理与护理.pptx
- 河南鹤壁市2025-2026学年高二上学期期末考试生物试题(含解析).docx
最近下载
- 17J925-1_压型金属板建筑构造.docx VIP
- 2026春新人教版数学二年级下册全册教学课件.ppt
- 2026年江西机电职业技术学院单招职业技能测试题库含答案详解.docx VIP
- 部编版道德与法治四年级下册第一单元第3课《当冲突发生》课件.pptx VIP
- 单孔腹腔镜妇科手术实操指南.ppt
- 装饰装修工程事故案例分析报告.docx VIP
- 中国创新药械多元支付白皮书(2025).pdf VIP
- 2025天津市自来水集团有限公司人才引进招聘7人备考试题及答案解析.docx VIP
- 学堂在线人工智能原理(北大)章节测试答案.pdf VIP
- LEGO乐高积木拼砌说明书21323,钢琴,LEGO®Ideas(年份2020)安装指南_第2份共2份.pdf
原创力文档

文档评论(0)