- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言学生选课管理系统
C语言学生选课管理系统
PAGE / NUMPAGESPAGE / NUMPAGES
C语言学生选课管理系统
《学生选课系统》
需求剖析
任务要求
制做学生选课系统,共包含课程信息和学生信息两部分。课程
信息包含:课程编码、课程名称、合用专业、课程种类(必修、限选、必选、实践、学习)、学分、学时、主讲教师等。学生信息管理,学
生选课管理(学生选课学分总数有必定范围) ,学生能够对课程进行查问、阅读,选完课后能够退选、重选,并能够按学号、姓名进行查问和统计。
要求: 1. 源文件采纳多文件的工程构造。
数据储藏采纳文件形式。
标准的 C 输入输出。
功能完美,适合的说明。
对于文件的内容要自学。系统功能需求剖析
为储存课程信息,需要定义一个构造体种类 , 成员包含课程编码、课程名称、合用专业、课程种类、学分、学时、主讲教师,所选人数等等,并成立链表,定义该构造体种类的指针,用于指向各节点;
为储存学生信息,需要定义一个构造体种类,成员包含学生编码、学生姓名、所选课程编码、所选课程学分和等等,并成立链表,定义
该构造体种类的指针,用于指向各节点;
对于课程信息和学生信息, 能够选择从键盘输入也可选择从文件中
翻开本来存盘的信息,并对他们分别成立增添、删除、阅读、查问等功能的子函数,达成相应的功能,对程序实现模块化。这此中要用到对链表的删除、插入、增添等知识。删除包含课程删除和学生信息删除,删除时用一构造体指针指向链表的第一个结点, 检查该节点的值能否等于输入的要删除的课程编号或学生学号, 若相等就删除, 不相等则后移指针,直至表尾。插入时也要先找到相应结点,再增添。查问功能要设置依据学生姓名、学生编号等多种方式。
学生选课是要先输入自己的学号, 假如在已经输入的学生信息中找不到此学号,则提示需要先输入自己的信息。如找到了自己的学号,则能够进行选课。 在选课以前要先对全部的课程信息进行阅读。 选课有必定的学分限制,超出相应的学分(这里设置的是 10 个学分),系统就会显示能够选满的信息。此系统还能够实现删除所选课程的功
能,设计思路与选课功能相像。
5.为实现储存功能,需用到文件的有关函数,翻开文件,将增添、改正或删除的信息存入磁盘中。
实现易于使用者理解和使用的友善界面。
纲要设计
系统整体设计框架
对程序进行模块化能够使整个程序清楚了然。对课程信息和学
生信息成立从文件中输入、从键盘中输入、增添、删除、查问和阅读
的功能,其各个子函数中运用链表储藏数据。 选课管理成立学生选课、
选举、查问、阅读的功能,其各个子函数中运用链表储藏数据。从主
函数开始履行, 挨次调用各个子函数, 并运用文件的有关知识将信息
进行存盘。
系统功能模块图
学生选课系统
从
从
选
退
从
从
文
键
课
课
文
键
件
盘
件
盘
详尽设计
功能模块设计思路
主要功能模块的算法设计思路以下:
1、课程信息录入函数( void load ())
①从键盘录入( void zhang( ) )
定义指向构造体变量的指针;
从头指针指向的构造体开始挨次录入构造体中所包含的各个成员;
直到输入的构造体成员的编号为 0,录入结束
②从文件录入( void zhang1( ) )
分别定义指向构造体变量的指针和指向文件的指针;
输入文件的路径,翻开文件,若没有找到则有提示;
将文件中的信息挨次读出,最后构造体的指针为NULL
2、课程信息管理( void managementc() )
①增添课程信息( void insert(struct course *incourse) )
定义指向构造体变量的指针;
输入要增添的课程编号,从头指针指向的构造体挨次向后,直到链表的最后;
输入课程构造体各个成员的信息, 使最后一个构造体指针值为N
ULL
②删除课程信息( void delc(int num1) )
定义指向构造体变量的指针;
输入要增添的课程编号,从头指针指向的构造体挨次向后,直到找到课程编号为输入值的那个构造体;
将其删除,其前一个的构造体指针指向后来一个构造体
3、学生信息录入函数( void input ())
①从键盘录入( void putin( ) )
定义指向构造体变量的指针;
从头指针指向的构造体开始挨次录入构造体中所包含的各个成员;
直到输入的构造体成员的编号为 0,录入结束
②从文件录入( void putin2( ) )
分别定义指向构造体变量的指针和指向文件的指针;
输入文件的路径,翻开文件,若没有找到则有提示;
将文件中的信息挨次读出,最后构造体的指针为NULL
4、学生信息管理( void managements() )
①增添学生信息( void inserts(struct student *
文档评论(0)