c语言课程设计报告-学生选课管理系统

c语言课程设计报告-学生选课管理系统

ID:34282599

大小:484.50 KB

页数:35页

时间:2019-03-04

c语言课程设计报告-学生选课管理系统_第1页
c语言课程设计报告-学生选课管理系统_第2页
c语言课程设计报告-学生选课管理系统_第3页
c语言课程设计报告-学生选课管理系统_第4页
c语言课程设计报告-学生选课管理系统_第5页
资源描述:

《c语言课程设计报告-学生选课管理系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、《学生选课系统》1需求分析1.1任务要求制做学生选课系统,共包括课程信息和学生信息两部分。课程信息包括:课程编码、课程名称、适用专业、课程类型(必修、限选、必选、实践、学习)、学分、学时、主讲教师等。学生信息管理,学生选课管理(学生选课学分总数有一定范围),学生可以对课程进行查询、浏览,选完课后可以退选、重选,并可以按学号、姓名进行查询和统计。要求:1.源文件采用多文件的工程结构。2.数据储存采用文件形式。3.标准的C输入输出。4.功能完善,适当的注释。5.关于文件的内容要自学。1.2系统功能需求分析1.为存储课程信息,需要定义一个结构

2、体类型,成员包括课程编码、课程名称、适用专业、课程类型、学分、学时、主讲教师,所选人数等等,并建立链表,定义该结构体类型的指针,用于指向各节点;2.为存储学生信息,需要定义一个结构体类型,成员包括学生编码、学生姓名、所选课程编码、所选课程学分和等等,并建立链表,定义该结构体类型的指针,用于指向各节点;3.对于课程信息和学生信息,可以选择从键盘输入也可选择从文件中打开原来存盘的信息,并对他们分别建立添加、删除、浏览、查询等功能的子函数,完成相应的功能,对程序实现模块化。这其中要用到对链表的删除、插入、增加等知识。删除包括课程删除和学生信息

3、删除,35删除时用一结构体指针指向链表的第一个结点,检查该节点的值是否等于输入的要删除的课程编号或学生学号,若相等就删除,不相等则后移指针,直至表尾。插入时也要先找到相应结点,再添加。查询功能要设置按照学生姓名、学生编号等多种方式。4.学生选课是要先输入自己的学号,如果在已经输入的学生信息中找不到此学号,则提示需要先输入自己的信息。如找到了自己的学号,则可以进行选课。在选课之前要先对所有的课程信息进行浏览。选课有一定的学分限制,超过相应的学分(这里设置的是10个学分),系统就会显示可以选满的信息。此系统还可以实现删除所选课程的功能,设计

4、思路与选课功能相似。5.为实现存储功能,需用到文件的相关函数,打开文件,将添加、修改或删除的信息存入磁盘中。6.实现易于使用者理解和使用的友好界面。2概要设计2.1系统总体设计框架对程序进行模块化可以使整个程序清晰明了。对课程信息和学生信息建立从文件中输入、从键盘中输入、添加、删除、查询和浏览的功能,其各个子函数中运用链表储存数据。选课管理建立学生选课、推选、查询、浏览的功能,其各个子函数中运用链表储存数据。从主函数开始执行,依次调用各个子函数,并运用文件的相关知识将信息进行存盘。2.2系统功能模块图学生选课系统课程信息从文件录入从键盘

5、录入增加删除学生信息从文件录入从键盘录入增加删除选课退课信息存储353详细设计3.1功能模块设计思路主要功能模块的算法设计思路如下:1、课程信息录入函数(voidload())①从键盘录入(voidzhang())I定义指向结构体变量的指针;II从头指针指向的结构体开始依次录入结构体中所包含的各个成员;III直到输入的结构体成员的编号为0,录入结束②从文件录入(voidzhang1())I分别定义指向结构体变量的指针和指向文件的指针;II输入文件的路径,打开文件,若没有找到则有提示;III将文件中的信息依次读出,最后结构体的指针为NUL

6、L2、课程信息管理(voidmanagementc())①增加课程信息(voidinsert(structcourse*incourse))I定义指向结构体变量的指针;II输入要增加的课程编号,从头指针指向的结构体依次向后,直到链表的最后;III输入课程结构体各个成员的信息,使最后一个结构体指针值为NULL②删除课程信息(voiddelc(intnum1))I定义指向结构体变量的指针;II输入要增加的课程编号,从头指针指向的结构体依次向后,直到找到课程编号为输入值的那个结构体;III将其删除,其前一个的结构体指针指向其后一个结构体3、学

7、生信息录入函数(voidinput())①从键盘录入(voidputin())I定义指向结构体变量的指针;35II从头指针指向的结构体开始依次录入结构体中所包含的各个成员;III直到输入的结构体成员的编号为0,录入结束②从文件录入(voidputin2())I分别定义指向结构体变量的指针和指向文件的指针;II输入文件的路径,打开文件,若没有找到则有提示;III将文件中的信息依次读出,最后结构体的指针为NULL2、学生信息管理(voidmanagements())①增加学生信息(voidinserts(structstudent*inco

8、use))I定义指向结构体变量的指针;II输入要增加的学生编号,从头指针指向的结构体依次向后,直到链表的最后;III输入学生结构体各个成员的信息,使最后一个结构体指针值为NULL②删除学生信息(voidde

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。