




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目目 录录 1 实习目的 1 2 需求分析 1 2 1 主要功能需求描述如下 1 2 11 用户登录 1 2 12 系统主控制平台 2 2 13 添加图书信息处理 2 2 14 删除图书信息处理 2 2 15 图书排序信息处理 2 2 16 图书列表信息处理 2 2 17 查询图书信息处理 2 2 18 修改图书信息处理 3 2 19 录入数据信息处理 3 3 概要设计 4 4 详细设计 4 5 调试与测试结果分析 6 6 总结 11 参考文献 11 附录 12 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 0 学学生生信信息息管管理理系系统统的的设设计计与与实实现现 1 实习目的 1 通过课程设计 加深对结构化程序设计思想的理解 能对系统功能进行分析 并设计合理的模块化结构 2 通过课程设计 进一步掌握 C 有并重要的数据结构 掌握并熟练运用指针 链 表 结构体 文件等数据结构 3 通过课程设计 提高程序开发能力 能运用合理的控制流编写清晰高效的程序 4 通过课程设计 培养 C 语言知识运用和自学能力 真正的把课堂上获得的知 识 运用起来 培养自己对程序编写的兴趣 并能独立设计和实现一个中小型系统 5 通过课程设计 加强了自己的程序分析能力 6 通过本课程设计巩固 C 语言程序设计 课程教学成果 深入理解结构体 指 针 链表 动态分配内存和文件操作等 C 程序设计中的中高级技术 熟练掌握 C 语言 的调试方法 初步培养良好的编程习惯和编程风格 初步学习程序文档的撰写方法 2 需求分析 图书管理系统采用的开发工具是 Visual C 主要用于对大量的图书信息 包括 图书编号 书名 类型 作者名 出版日期 等进行增加 查询 排序 修改等操作 同时也包括对用户的管理 为保存信息 系统将图书信息存储在文件中 每次启动系 统时 先将数据从文件中读到单链表中 进行增 删 改 查等操作 在系统推出前 再将单链表中的数据保存到文件中 有效地将数据进行保存 系统为用户提供了简单 的人机界面 使用户可以提供提示 输入操作项 调用系统提供的管理功能 2 1 主要功能需求描述如下主要功能需求描述如下 2 11 用户登录用户登录 首先提示用户输入用户名和密码 调用文件中存储的用户信息进行校验 只有用 户名和密码都匹配时才允许用户使用该系统 用户可以完成所有操作 可以进行图书 的管理 修改 排序等 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 1 2 12 系统主控制平台系统主控制平台 用户登录以及退出系统两大功能模块 用户登录中包括添加图书信息 删除图书 信息 查询图书信息 图书列表 对图书进行排序 修改图书 录入数据和保存图书 信息等 2 13 添加图书信息处理添加图书信息处理 用户根据提示输入图书的书名 作者 出版社 出版日期 类别 编号 等添加 数据 输入完一条图书信息后 可根据提示继续输入下一条图书信息或继续其他操作 允许输入多条图书信息记录 输入完图书信息后 以单链表的形式暂时保存在单链表 中 等待下一步操作 系统退出之前 将单链表中的全部图书信息保存到文件中 2 14 删除图书信息处理删除图书信息处理 首先提示用户输入要修改的图书的编号 类型 书名 作者名 出版时间 用户 根据输入的信息在单链表中查找 如果该图书存在 则首先显示图书的基本信息 并 提示用户是否进行删除操作 用户确认删除后 直接删除 如果没找到 系统会给出 提示信息 2 15 图书排序信息处理图书排序信息处理 在选择了图书排序信息后 将图书信息按类型选择排序 然后从内存中调出来显 示 最后提示是否显示排序结果 如果没有查询都任何信息 系统会给出提示信息 2 16 图书列表信息处理图书列表信息处理 在选择了图书列表信息后 将图书信息从内存中调出来显示 最后提示是否查看 图书信息 如果没有查询到任何信息 系统会给出提示信息 2 17 查询图书信息处理查询图书信息处理 首先提示用户输入要查找的编号 根据用户输入的编号从单链表中对图书信息进 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 2 行查询 查询成功后 显示该图书信息 并提示是否对根据用户输入的信息可以完成 对图书的查询 如果没有查询到任何信息 系统会给出提示信息 2 18 修改图书信息处理修改图书信息处理 首先要提示用户输入要修改的图书编号 根据用户输入的编号从单链表对图书信 息进行查询 根据菜单输入要修改的图书信息的编号 然后将内存中输入的信息进行 修改 2 19 录入数据信息处理录入数据信息处理 用户根据提示输入图书的书名 作者 出版社 出版日期 类别 编号 等数据 输入完一条图书信息后 可根据提示继续输入下一条图书信息或继续其他操作 允许 输入多条图书信息记录 输入完图书信息后 以单链表的形式暂时保存在单链表中 等待下一步操作 系统退出之前 将单链表中的全部图书信息保存到文件中 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 3 3 概要设计 图 1 4 详细设计 图书管理设置用户登录 用户的身份登录可以对系统中的所有功能模块进行操作 开始 输入用户名和密码 管理员用户名和 密码是否正确 主菜单界面 退 出 系 统 结束 添 加 图 书 删 除 图 书 修 改 图 书 录 入 数 据 退 出 系 统 图 书 列 表 图 书 排 序 查 询 图 书 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 4 整个系统的功能模块的是图书信息管理 系统启动时 主函数中调用对用户模块进行 初始化的操作 即设定最初的管理员的用户名 为 admin 和密码 为 1234 并对文件进行初始设置 即用户文件不存在 则创建用户文件 用函数 system color 03 来控制整个程序的颜色 录入数据主要完成图书文件的初始设置 即图书文件不 存在 则创建图书文件 下面对模块的功能做简单介绍 1 登录系统 系统用选择结构 switch 语句来完成登录操作 首先提示用户输入用户名和密 码 接着判断密码是否正确 如果密码错误 给出密码输入错误的提示信息 如果密 码都正确则进入主程序 在主程序中完成程序的判断 2 添加图书信息 系统调用 struct book addbook struct book head 函数以增加图书信息 将用户输 入的信息添加到图书单链表中 输入完成后提示用户是否继续增加图书信息的操作 如果用户输入 Y 或 y 则再次调用该函数 实现继续增加图书信息的操作 如果 用户输入 N 或 n 则返回主菜单界面 3 删除图书信息 系统调用 void deletebook struct book head 完成图书信息的操作 首先提示用户输 入图书的编号 在单链表中查询该图书信息是否存在 如果图书不存在 给出图书不存 在的提示信息 如果图书存在 系统提示是否确认删除 如果用户输入 Y 或 y 则删除该图书信息 否则返回主菜单界面 4 图书列表信息 系统调出 void print book struct book head 函数来输出图书列表信息 将图书链表 中的图书信息按指定的格式显示出来 显示完成后 提示用户是否再次浏览 如果用 户输入 Y 或 y 则再次显示单链表中的图书信息 否则 返回主菜单界面 5 图书排序信息 系统调出 void Sort Book struct book head 函数来对图书信息进行排序 选择子菜 单 可以分别按编号 出版时间 价格 书名 作者名进行排序 将图书链表中的图 书信息按指定的排序格式显示出来 1 按图书编号排序 调用 void Num Sort struct book head 函数按图书编号进行排序 2 按出版时间排序 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 5 调用 void Time Sort struct book head 函数 按出版时间对图书信息进行排序 3 按图书价格排序 调用 void Price Sort struct book head 函数 按出版时间对图书信息进行排序 4 按图书名排序 调用 void BName Sort struct book head 函数 按图书名对图书信息进行排序 5 按作者名排序 调用 void WName Sort struct book head 函数 按作者名对图书信息进行排序 6 查询图书信息 系统调出 void Search struct book head 函数来对图书信息进行查询 选择子菜单 可以分别按编号 出版时间 价格 书名 作者名进行查询 将图书链表中的图书信 息按指定的查询格式显示出来 1 按图书编号查找 调用 void Num Search struct book head 函数按图书编号进行查找 2 按出版时间查找 调用 void Time Search struct book head 函数 按出版时间对图书信息进行查找 3 按图书名查找 调用 void BName Search struct book head 函数 按图书名对图书信息进行查找 4 按作者名查找 调用 void WName Search struct book head 函数 按作者名对图书信息进行查找 5 按类别查找 调用 void Class Search struct book head 函数 按类别对图书信息进行查找 7 修改图书信息 系统调用 void Revise struct book head 函数来修改图书信息 可以根据编号对图 书进行修改 包括全部修改和放弃修改 8 退出系统 退出系统时 首先提示用户是否确定退出 如果用户输入 Y 或 y 将用户链 表中的数据保存到用户文件 用户输入 N 或 n 则不退出 5 调试与测试结果分析 1 登录系统 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 6 系统运行后提示用户输入编号 选择要用户登录还是退出系统 选择用户登录 系统首次运 行时的用户名为 admin 密码是 1234 以用户的身份登录系统 进入主菜单界面 登录界面 如图 2 所示 主菜单界面如图 3 所示 图 2 图 3 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 7 2 添加图书 在主菜单界面中 输入数字 1 进入输入添加图书界面 用户可以根据提示信息输入图书的基 本信息 输入 y 保存图书信息按回车键返回主菜单界面 输入信息情况如图 4 图 4 3 删除图书信息 在主菜单界面中 输入数字 2 进入输入删除图书界面 用户可以根据提示信息输入图书的编 号信息 输入 y 确定删除图书信息按回车键返回主菜单界面 输入信息情况如图 5 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 8 图 5 4 图书列表 在主菜单界面中 输入数字 3 进入图书列表界面 系统会显示图书的基本信息 按回车键返 回主菜单界面 图书列表信息情况如图 6 图 6 5 查询图书 在主菜单界面中 输入数字 5 进入查询图书界面 用户可以根据提示信息输入图书的基本信 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 9 息 来查询图书信息 并查看查找的图书 按回车键返回主菜单界面 查找图书信息情况如图 7 图 7 6 修改图书 在主菜单界面中 输入数字 6 进入修改图书界面 用户可以根据提示信息修改图书的基本信 息 输入 y 保存修改后的图书信息按回车键返回主菜单界面 输入信息情况如图 8 图 8 7 录入数据 在主菜单界面中 输入数字 7 进入录入图书信息界面 用户可以根据提示信息输入图书的基 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 10 本信息 输入 y 保存图书信息按回车键返回主菜单界面 输入信息情况如图 9 图 9 6 总结 1 程序设计思路一定要清晰 主函数尽量简洁 这样在调试过程中若出现错误 只要沿着 主函数的思路逐个排查即可 一个条理清楚的框架结构有利于编译过程中查找并解决问题 2 编译 调试时最好分模块进行 我第一次调试时是在整个程序编辑完后一次性编译 一 下子出现了很多处错误 分模块调试 检查错误是最快的方法 3 细节处一定要注意 我刚刚编程时很容易丢落 等符号 而这会对程序的编译 造成极大的不便 一个优秀的程序员应时刻注意细节 养成细心的良好品质 4 本次 C 语言课程设计我是通过程序设计课本加上别的参考文献来完成的 其中虽然还存 在比较多的瑕疵 但我都是一饱满的热情 认真的态度去对待本次课程设计的 通过这次课程设 计我对完全靠现有的知识 是很难编写出来的 所以要有读除课本以外的参考书的习惯 可以学 习更多的知识 参考文献 1 谢延红 王付山 C 语言程序设计教程 M 北京 国防工业出版社 2010 152 171 2 梁旭 谷晓琳 C 语言课程设计 3 版 北京 电子工业出版社 2013 8 3 张福祥 C 语言程序设计 M 辽宁大学出版社 2008 1 4 张福祥 王萌 C 语言程序设计习题解答与实验实沈阳 辽宁大学出版社 2008 5 牛莉 刘远军等 计算机等级考试辅导教程 M 北京 中国铁道出版社 2008 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 11 6 石柱 何新贵 优序法在软件评价中的应用 J 计算机工程与设计 2002 23 2 45 46 附录 include include include struct book int num char bname 50 char wname 20 char press 50 char sort 50 int time float price struct book next struct book creatbook 创建链表 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 12 struct book addbook struct book head 添加图书 int is exist struct book head int m 验证新添加的图书编码是否已 存在 void deletebook struct book head 删除图书 void fprint struct book head 将链表写入文件 struct book load 从文件中读取信息并建成 链表 void print book struct book head 将链表信息输出 void Search struct book head 查询图书信息 void Num Search struct book head 按图书编号查询图书 void WName Search struct book head 按作者名查询图书 void Class Search struct book head 按类别查询图书 void Time Search struct book head 按出版时间查询图书 void BName Search struct book head 按图书名查询图书 void Revise struct book head 修改图书信息 void Sort Book struct book head 对图书进行排序 void Num Sort struct book head 按图书编号排序 void Time Sort struct book head 按图书出版时间排序 void Price Sort struct book head 按图书价格排序 void BName Sort struct book head 按图书名排序 void WName Sort struct book head 按作者名排序 int main system color 03 控制颜色 int choice n x y 1 c c1 1234 char a d b 10 b1 10 ycl struct book head NULL while y 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 13 system cls 清屏 printf n n n n n n n puts 欢迎光临 n printf 图书信息管理系统 n n n printf n n printf 1 用户登录 n printf 0 退出系统 n printf 请输入您的选择 scanf d printf n getchar switch n case 0 y 0 break case 1 printf 请输入您的用户名 gets b printf n printf 请输入您的密码 scanf d printf n if strcmp b b1 0 c c1 printf 验证失败 请重新输入 n scanf c 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 14 getchar system cls else printf 验证通过 请按 Enter 键进入 n scanf c getchar x 1 while x system cls printf n printf 图书信息管理系统 n printf n n printf n n printf n n printf 1 添加图书 2 删除图书 n n printf 3 图书列表 4 图书排序 n n printf 5 查询图书 6 修改图书 n n printf 7 录入数据 0 退出系统 n n printf n n printf 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 15 n n printf 请输入所选择的序号 scanf d getchar system cls switch choice case 0 x 0 break case 1 head load if head NULL printf 文件为空 请先录入数据 n getchar break else head addbook head printf 添加成功 n printf 是否将新信息保存到文件 y n n scanf c getchar switch a case n break case y fprint head printf 保存成功 n getchar break 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 16 break case 2 head load if head NULL printf 文件为空 请先录入数据 n getchar break else deletebook head getchar break break case 3 head load if head NULL printf 文件为空 请先录入数据 n getchar break else print book head getchar break 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 17 case 4 head load if head NULL printf 文件为空 请先录入数据 n getchar break else Sort Book head getchar break case 5 head load if head NULL printf 文件为空 请先录入数据 n getchar break else Search head getchar break case 6 head load if head NULL printf 文件为空 请先录入数据 n getchar break 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 18 else Revise head getchar break break case 7 printf 注意 输入图书编码为 0 时结束 n head creatbook printf 是否将输入的信息保存到文件以覆盖文件中已存在 的信息 y n n getchar scanf c getchar switch a case n break case y fprint head printf 保存成功 n getchar break break default printf 您的输入有误 请重新输入 n getchar break 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 19 break default printf 您的输入有误 请重新输入 n getchar break 录入数据并形成链表 struct book creatbook struct book head tail p int num time n char bname 50 wname 20 press 50 sort 50 float price int size sizeof struct book head tail NULL printf 请输入图书编号 scanf d printf 请输入图书名 scanf s bname getchar printf 请输入作者名 scanf s wname getchar printf 请输入出版社 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 20 scanf s press getchar printf 请输入类别 scanf s sort getchar printf 请输入出版时间 scanf d getchar printf 请输入价格 scanf f getchar while 1 p struct book malloc size p num num strcpy p bname bname strcpy p wname wname strcpy p press press strcpy p sort sort p time time p price price p next NULL if head NULL head p else tail next p tail p do printf 请输入图书编号 scanf d n is exist head num 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 21 if n 0 break else printf 您输入的编号已存在 请重新输入 n while 1 if num 0 break else printf 请输入图书名 scanf s bname getchar printf 请输入作者名 scanf s wname getchar printf 请输入出版社 scanf s press getchar printf 请输入类别 scanf s sort getchar printf 请输入出版时间 scanf d getchar printf 请输入价格 scanf f getchar return head 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 22 插入结点 并且插入后仍按一定顺序 struct book addbook struct book head struct book ptr p1 p2 p char bname 50 wname 20 press 50 sort 50 int size sizeof struct book int num time n 1 float price do printf 请输入图书编号 scanf d n is exist head num if n 0 break else printf 您输入的编号已存在 请重新输入 n while 1 printf 请输入图书名 scanf s bname getchar printf 请输入作者名 scanf s wname getchar printf 请输入出版社 scanf s press getchar printf 请输入类别 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 23 scanf s sort getchar printf 请输入出版时间 scanf d getchar printf 请输入价格 scanf f getchar p struct book malloc size p num num strcpy p bname bname strcpy p wname wname strcpy p press press strcpy p sort sort p time time p price price p2 head ptr p while ptr num p2 num p2 p2 next if ptr numnum if head p2 head ptr else p1 next ptr p next p2 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 24 else p2 next ptr p next NULL return head 验证添加的图书编号是否已存在 int is exist struct book head int m struct book p p head while p NULL if p num m break p p next if p NULL return 0 else return 1 将新链表写入文件中 void fprint struct book head FILE fp char ch 1 struct book p1 if fp fopen f1 txt w NULL 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 25 printf File open error n exit 0 fputc ch fp for p1 head p1 p1 p1 next fprintf fp d s s s s d f n p1 num p1 bname p1 wname p1 press p1 sort p1 time p1 price fclose fp 从文件中读取图书信息 struct book load FILE fp char ch struct book head tail p1 head tail NULL if fp fopen f1 txt r NULL printf File open error n exit 0 ch fgetc fp if ch 1 while feof fp p1 struct book malloc sizeof struct book fscanf fp d s s s s d f n if head NULL head p1 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 26 else tail next p1 tail p1 tail next NULL fclose fp return head else return NULL 将整个链表的信息输出 void print book struct book head struct book ptr if head NULL printf n 没有信息 n return printf 图书信息列表如下 n printf n printf 编号 图书名 作者名 出版社 类别 出版时 间 价格 n n for ptr head ptr ptr ptr next printf d s s s s d 2f n n ptr num ptr bname ptr wname ptr press ptr sort ptr time ptr price printf 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 27 n 删除图书信息 void deletebook struct book head int a char b ch 1 struct book p1 p2 FILE fp printf 请输入要删除的图书编号 scanf d p1 head if p1 num a getchar scanf c getchar switch b case n break case y if fp fopen f1 txt w NULL printf File open error n exit 0 fclose fp printf 文件已清空 n 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 28 else while p1 num a p1 p1 next if p1 next NULL if p1 num a p2 next NULL printf 是否确定从文件中彻底删除该图书 y n n getchar scanf c switch b case n break case y fprint head printf 删除成功 n getchar break else printf 没有找到要删除的数据 n getchar 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 29 else if p1 head head p1 next printf 是否确定从文件中彻底删除该图书 y n n getchar scanf c switch b case n break case y fprint head printf 删除成功 n getchar break else p2 next p1 next printf 是否确定从文件中彻底删除该图书 y n n getchar scanf c switch b case n break case y fprint head printf 删除成功 n getchar 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 30 break 图书查询 void Search struct book head int a printf n printf 1 按图书编号查询 2 按图书名查询 n printf 3 按图书类别查询 4 按作者名查询 n printf 5 按出版时间查询 0 退出查询 n printf n printf 请输入所选择的编号 scanf d getchar switch a case 0 break case 1 Num Search head break 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 31 case 2 BName Search head break case 3 Class Search head break case 4 WName Search head break case 5 Time Search head break default printf 您的输入有误 n break 按编号查询图书信息 void Num Search struct book head int a struct book p printf 请选择您要查询的图书编号 scanf d getchar p head while p NULL if p num a break 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 32 p p next if p NULL printf 没有找到该编号的图书 n else printf 你所查询的图书信息如下 n printf n printf 编号 图书名 作者名 出版社 类别 出版 时间 价格 n printf d s s s s d 2f n n p num p bname p wname p press p sort p time p price printf n 按图书名查询图书信息 void BName Search struct book head char a 50 int flag 0 struct book p printf 请选择您要查询的图书名 gets a p head 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 33 while p NULL if strcmp p bname a 0 flag 1 break p p next if flag 0 printf 没有找到该图书名的图书 n else printf 你所查询的图书信息如下 n printf n printf 编号 图书名 作者名 出版社 类别 出版时间 价格 n while p NULL if strcmp p bname a 0 printf d s s s s d 2f n n p num p bname p wname p press p sort p time p price p p next printf n 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 34 按作者名查询图书信息 void WName Search struct book head char a 50 int flag 0 struct book p printf 请选择您要查询的图书作者名 gets a p head while p NULL if strcmp p wname a 0 flag 1 break p p next if flag 0 printf 没有找到该图书名的图书 n else printf 你所查询的图书信息如下 n printf n printf 编号 图书名 作者名 出版社 类别 出版时间 价格 n while p NULL 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 35 if strcmp p wname a 0 printf d s s s s d 2f n n p num p bname p wname p press p sort p time p price flag 1 p p next printf n 按图书类别查询图书信息 void Class Search struct book head char a 50 int flag 0 struct book p printf 请选择您要查询的图书类别 gets a p head while p NULL if strcmp p sort a 0 flag 1 break p p next 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 36 if flag 0 printf 没有找到该图书名的图书 n else printf 你所查询的图书信息如下 n printf n printf 编号 图书名 作者名 出版社 类别 出版时间 价格 n while p NULL if strcmp p sort a 0 printf d s s s s d 2f n n p num p bname p wname p press p sort p time p price flag 1 p p next printf n 按图书出版时间查询图书信息 void Time Search struct book head int a flag 0 struct book p 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 37 printf 请选择您要查询的图书出版时间 scanf d getchar p head while p NULL if p time a flag 1 break p p next if flag 0 printf 没有找到该图书名的图书 n else printf 你所查询的图书信息如下 n printf n printf 编号 图书名 作者名 出版社 类别 出版时间 价格 n while p NULL if p time a printf d s s s s d 2f n n p num p bname p wname p press p sort p time p price flag 1 p p next 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 38 printf n 修改图书信息 void Revise struct book head int a b char c struct book p printf 请输入要修改的图书编号 scanf d p head while p NULL if p num a break p p next if p NULL printf 没有找到该编号的图书 n getchar else printf n printf 1 编号 2 图书名 3 作者名 n printf 4 出版社 5 类别 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 39 6 出版时间 n printf 7 价格 8 修改全部 0 放弃修改 n printf n printf 请选择你要修改的信息编号 scanf d getchar switch b case 1 printf 请输入新编号 scanf d printf 修改成功 n getchar break case 2 printf 请输入新图书名 gets p bname printf 修改成功 n break case 3 printf 请输入新作者名 gets p wname printf 修改成功 n break case 4 printf 请输入新出版社 gets p press printf 修改成功 n break 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 40 case 5 printf 请输入新类别 gets p sort printf 修改成功 n break case 6 printf 请输入新出版时间 scanf d printf 修改成功 n getchar break case 7 printf 请输入新价格 scanf f printf 修改成功 n getchar break case 8 printf 请输入新图书编号 scanf d printf 请输入新图书名 scanf s p bname getchar printf 请输入新作者名 scanf s p wname getchar printf 请输入新出版社 scanf s p press getchar printf 请输入新类别 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 41 scanf s p sort getchar printf 请输入新出版时间 scanf d getchar printf 请输入新价格 scanf f getchar printf 修改成功 n getchar break case 0 break default printf 您的输入有误 n break printf 是否将修改后的信息保存到文件中 y n n scanf c getchar switch c case n break case y fprint head printf 保存成功 n getchar break 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 42 图书排序 void Sort Book struct book head int a printf n printf 1 按图书编号排序 2 按出版时间排 序 n printf 3 按图书价格排序 4 按图书名排序 n printf 5 按作者名排序 0 取消排序操作 n printf n printf 请输入您选择的编号 scanf d getchar switch a case 0 break case 1 Num Sort head break case 2 Time Sort head 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 43 break case 3 Price Sort head break case 4 BName Sort head break case 5 WName Sort head break default printf 您的输入有误 n break 按图书编号排序 void Num Sort struct book head struct book a 1000 p p1 temp int i k index n 0 char b p1 head for p head p p p next n for i 0 inext for k 0 k n 1 k 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 44 index k for i k 1 inumnum index i temp a index a index a k a k temp printf 排序成功 n printf 是否显示排序结果 y n n scanf s getchar switch b case n break case y printf n printf 编号 图书名 作者名 出版社 类别 出版 时间 价格 n for i 0 inum p bname p wname p press p sort p time p price printf n 德州学院 信息管理学院 2015 级 计算机科学与技术专业 高职 自主学习能力 C 语言 45 break default printf 您的输入有误 n break 按出版时间排序 void Time Sort struct book head struct book a 1000 p p1 temp int i k index n 0 char b p1 h
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025浙江温州中亚企业有限公司面向社会招聘一线岗位劳务派遣用工性质人员10人笔试参考题库附带答案详解
- 2025河南省储备粮管理集团有限公司招聘12人笔试参考题库附带答案详解
- 2025年甘肃电投常乐发电有限责任公司招聘15人笔试参考题库附带答案详解
- 2025年中国能源建设集团陕西院社会招聘(13个岗位)笔试参考题库附带答案详解
- 2025安徽芜湖市投资控股集团有限公司及下属子企业校园招聘14人笔试参考题库附带答案详解
- 2025四川南充市蓬安县发兴隆创建筑劳务有限公司招聘42人笔试参考题库附带答案详解
- 《海上日出》课件 统编版语文四年级下册
- 2025年连云港经济技术开发区事业单位第二批招聘13人笔试备考题库及答案详解一套
- 社区工作人员全真模拟模拟题附答案详解【研优卷】
- 2025年中国文物交流中心面向社会招聘高层次专业技术人员(1人)考前自测高频考点模拟试题附答案详解(预热题)
- 小学竹编教学课件
- 2025至2030年中国汽车轮胎压力监测系统(TPMS)行业市场运行态势及发展前景研究报告
- CJ/T 480-2015高密度聚乙烯外护管聚氨酯发泡预制直埋保温复合塑料管
- CJ/T 197-2010燃气用具连接用不锈钢波纹软管
- 食品加工项目商业计划书范文模板
- 儿科试题及答案泌尿感染
- 肥胖症诊疗指南(2024年版)解读
- JJF 2184-2025 电子计价秤型式评价大纲(试行)
- 《光学性质中的手性光学异构》课件
- 《肺癌诊治》课件
- 澳大利亚知识点课件
评论
0/150
提交评论