C语言学生选课管理系统.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 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)

135****6574 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档