功数据结构课程设计报告.doc

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计报告 【问题描述】 1、有3个文件: Student.txt中的内容: Sno Sname Ssex Sage Sdept 李勇 男 20 CS 刘晨 女 19 CS 王敏 女 18 MA 张立 男 19 IS Course.txt中的内容: Cno Cname Ccredit 1 英语 4 2 数学 2 3 信息系统 4 4 操作系统 3 5 数据结构 4 6 数据处理 2 7 C/C++ 4 SC.txt中的内容: Sno Cno Grade 1 90 2 80 4 85 1 86 3 82 5 88 7 90 2、为存储学生、课程和选课信息设计数据结构,将以上文件内容导入其中; 3、对学生表进行插入、删除、修改和查询操作; 插入时注意学号的处理,可以不填吗?是否重复?其他数据是否可以乱填?如何控制? 删除时一要防止误操作,二要考虑该生的选课信息,如何处理? 修改时同样要考虑各数据项的性质; 查询要求可以实现多条件查询 4、对选修表进行插入、删除、修改操作; 5、综合查询 6、最后把系统中的数据保存回文件中。 【解题思路】 1、创建表:分别创建结构体,作为链表结点的data类型,从文件中分别读取、插入。 2、学生表 (1)插入:初始化一个Student类型的结构体,输入信息(学号不能为空),验证,若未插入 过,生成结点,在尾部插入。 (2)删除:输入要删除的学生的学号,查询并验证,若找到确定要删除,free该结点,并删 除该学生相应的选课信息。 (3)修改:输入要修改的学生的学号,若查找到,选择要修改的选项,赋值修改。 (4)查询:设计多条件查询,选择查询方法,输入信息进行比较,找到输出信息。 选修表 (1)插入:初始化一个SC类型的结构体,按提示输入信息(成绩可以为空),在学生表和课 程表验证,若存在且在选课表中未插入,生成结点,在尾部插入。 (2)删除:输入要删除学生的学号和课程号,进行查找,若找到确定要删除,free该结点; 否则输出未找到该信息。 (3)修改:输入要修改学生的学号和课程号,进行查找,若找到并确定修改成绩;否则输出 未找到该信息。 综合查询 (1)查询选修了某一门课的所有学生的信息 先输入课程名在课程表中进行查找验证,若存在,在选修表中找到选修了该门课的学生 的学号,然后在学生表中查找信息。 (2)查询某个学生获得的学分 先输入学生学号在学生表中进行查找验证,若存在,在选修表中找到该学生选修的课程 的课程号,然后在课程表中找到各课程的学分,依次相加并输出。 5、依次把系统中的数据保存回文件中。 打开原文件,重写原文件。 6、本次课程设计采用C语言编写。 【算法描述】 学生管理系统总模块 主函数的流程图 从学生管理系统菜单中选择相应操作的序号,执行相应的操作,如想继续,返回主菜单 继续选择,否则停止结束。 基本操作的流程图 (1)学生表、课程表、选修表的输入(读取) (3)学生表的删除 (5)学生表的查询 选修表的插入 (8)选修表的删除 (10)查询选修了某一门课的所有学生的信息 (12)将学生表、课程表、选修表的最终结果保存回文件中 【程序设计】 1、本程序中所有用到的数据及其数据结构的定义 (1)头文件 #include stdio.h #includestring.h #includestdlib.h #includemath.h #includemalloc.h #includeprocess.h #define OK 1 #define ERROR 0 typedef int Status; (2

文档评论(0)

wawahao + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档