




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 中中 国国 地地 质质 大大 学学 本科生课程论文封面本科生课程论文封面 课程名称 c 语 言 课 程 设 计 教师姓名 樊媛媛 本科生姓名 本科生学 本科生专业 所在院系 类别 日期 课程设计评语课程设计评语 2 对课程论文的评语 平时成绩 课程论文成绩 总 成 绩 评阅人签名 注 1 无评阅人签名成绩无效 2 必须用钢笔或圆珠笔批阅 用铅笔阅卷无效 3 如有平时成绩 必须在上面评分表中标出 并计算入总成绩 目目 录录 3 课程设计评语 2 目 录 3 1 课程论文题目 4 2 程序设计思路 4 3 功能模块图 5 4 数据结构设计 5 5 算法设计 6 6 程序代码 13 7 程序运行结果 22 8 编程中遇到的困难及解决方法 25 9 总结心得及良好建议 26 10 致谢 26 1 课程论文题目 课程论文题目 图书管理系统 2 程序设计思路 程序设计思路 4 根据要求 图书管理系统以文本文件存放在文件中 故需要 提供文件的输入 输出等操作 还需要保持记录以进行删除 查 询 借书 还书 退出 添加等等操作 另外还有键盘式旋转菜 单以实现功能选择模块 3 功能模块图 功能模块图 图书管理系统 数据输入查询数据添加删除还书借书 系统功能模块图 4 数据结构设计 数据结构设计 先写主函数 main 然后设计个功能选项 用 switch 选择 然后进入不 同模块 进行不同选择 实现不同功能 每个图书信息设置一个结构体 将输入 信息存入文件 提供查询功能 还有删除功能以及借书还书功能 每运行一功能 后都返回主界面 方便再次选择 还有设置退出模块 方便退出 5 算法设计 算法设计 5 main sr sc cx js jsh hs 先定义结构体数组 struct books 然后设置主界面 主界面出现 6 个功能选项 分 别是输入 sr 借书 js 还书 hs 删除 sc 退出 tc 查询 cx 各模块设计如下 输入模块 sr 先调用文件 eup 对其进行读取 然后增加 再对其进行保存和 调用 其中结构体只输入 tsmc 图书名称 tsbh 图书编号 dj 单价 zz 作者 然后自动 生成 czzt 存在状态 姓名 xm 学号 xh 性别 xb 查询模块 cx 有选项图书编号和图书名称 然后选择 用 if 选择 然后用 for 循 环查找 当输入名称与文件中的名称相同时 便显示此信息 删除模块就是在查找功能的图书后 选择删除 将 strcpy 将 s i 1 的值赋给 s i 借出模块也是在查询的基础上 若 s i 的存在状态为已借出 则显示已借出 无 法再借 若未借出 则将 s i 的存在状态 czzt 变为已借出 然后输入姓名 学号 性别 最后显示出已借出 还书模块就是在查询的基础上 若 s i 的存在状态为未借出 则无法归还 若借 出 则将存在状态变为未借出 然后自动将姓名 学号 性别变为初始值 退出模块使 flag 1 而在 main 就有 bool flag 且 main 中已令 main 0 这样就实现 了退出功能 其中若输入超过选项值后 都会显示输入错误 请重新输入 若字符错误 程序 就直接出现错误了 6 程序代码 程序代码 include include include include define M 100 struct books char tsmc 12 int tsbh float dj char zz 12 char czzt 12 char xm 12 删除 6 char xb 12 int xh s M int N bool flag int main int sele flag 0 sele 1 void sr void cx void sc void js void hs void tc void jsh system tsgl printf n n printf n printf 1 输入 2 查询 3 删除 n printf 4 借书 5 还书 0 退出 n printf n while 1 printf n n 请输入功能序号 scanf d if sele 0 break case 2 cx break case 3 sc break case 4 js break case 5 hs break case 0 jsh break if flag break printf n n printf n printf 1 输入 2 查询 3 删除 n printf 4 借书 5 还书 0 退出 n printf n else printf 输入错误请再次输入 n n printf n n 7 printf n printf 1 输入 2 查询 3 删除 n printf 4 借书 5 还书 0 退出 n printf n printf n n 让任意键继续 n wr file 主函数 输入 void sr int n i N 0 printf 可输入的书本数 scanf d N n N printf 请输入相关信息 n for i 1 i n i printf 图书名称 scanf s s N n 1 i tsmc printf 图书编号 scanf d printf 单价 scanf f printf 作者 scanf s strcpy s N n 1 i czzt 未借出 strcpy s N n 1 i xm 无 查询 void cx int i j 100 1 d k t 0 char m 20 printf 查询 printf 1 图书名称 2 图书编号 printf n n 请输入查询选项 scanf d if k 1 printf 请输入图书名称 8 scanf s m for i 0 i N i if strcmp m s i tsmc 0 j t i t t 1 else if k 2 printf 请输入图书编号 scanf d for i 0 i N i if d s i tsbh j t i t if j 0 1 if j 0 1 for i 0 i t i printf t s t d t f t s t s t s t s t d s j i tsmc s j i tsbh s j i dj s j i zz s j i czzt s j i xm s j i xb s j i xh 删除模块 void sc int i d k t 0 char ms 20 int ja 1 printf 查询 printf 1 图书名称 2 图书编号 printf n n 请输入查询选项 scanf d if k 1 printf 请输入图书名称 scanf s ms for i 0 i N i if strcmp ms s i tsmc 0 ja i break else if k 2 9 printf 请输入图书编号 scanf d for i 0 i N i if d s i tsbh ja i break printf 确定删除该图书吗 1 表示 Yes 其他 No int p scanf d if p 1 printf Congratulations 删除成功 n if ja 1 for i ja i N i strcpy s i tsmc s i 1 tsmc s i tsbh s i 1 tsbh s i dj s i 1 dj strcpy s i zz s i 1 zz strcpy s i czzt s i 1 czzt strcpy s i xm s i 1 xm strcpy s i xb s i 1 xb s i xh s i 1 xh else if ja 1 printf 没有找到 n 借书模块 void js int i j 100 1 d k t 0 char m 20 printf 查询 printf 1 图书名称 2 图书编号 printf n n 请输入查询选项 scanf d if k 1 printf 请输入图书名称 scanf s for i 0 i N i if strcmp m s i tsmc 0 j t i t t 1 10 else if k 2 printf 请输入图书编号 scanf d for i 0 i N i if d s i tsbh j t i t if j 0 1 strcpy s j i czzt 已借出 printf 此书已借出 n if j 0 1 printf 1 确定借阅 2 退出 n scanf d switch k case 1 printf 请输入学号 n scanf d printf 请输入姓名 n scanf s printf 请输入性别 n scanf s strcpy s j i czzt 已借出 printf 已借出 按任意键继续 n getch case 2 break 还书模块 void hs int i j 100 1 d k t 0 char m 20 printf 查询 printf 1 图书名称 2 图书编号 printf n n 请输入查询选项 scanf d if k 1 printf 请输入图书名称 scanf s for i 0 i N i if strcmp m s i tsmc 0 11 j t i t break else if k 2 printf 请输入图书编号 scanf d for i 0 i N i if d s i tsbh j t i t break if t 0 printf 没有找到 n else printf s f s s s s d n s j i tsmc s j i dj s j i zz s j i czzt s j i xm s j i xb s j i xh printf 1 确定归还 2 退出 n int p scanf d if p 1 strcpy s j i czzt 未借出 strcpy s j i xm 无 s j i xh 0 printf 已归还 按任意键继续 n getch 结束模块 void jsh flag 1 7 程序运行结果 程序运行结果 13 14 15 各模块均能执行 8 编程中遇到的困 编程中遇到的困难及解决方法难及解决方法 1 做程序时 文件函数无法实现 于是找了同学跟我讲解 看书还有就是看例 子等等 最终找出了个解决方案 还有系统最初运行时有很多不尽人意的 比如 我希望每次运行后都出现主界面 这样方便选择 如果出现错误的话 要显示出 错误原因 并给出提示 我解决了几个这样的问题 比如借书时如果已借出就要 显示出
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广西来宾市投资促进局招聘后勤服务控制数人员1人考前自测高频考点模拟试题及参考答案详解1套
- 2025江苏南通市通州区兴东街道招聘劳务派遣人员4人模拟试卷附答案详解(模拟题)
- 2025年北京师范大学庆阳实验学校教师招聘40人考前自测高频考点模拟试题附答案详解(黄金题型)
- 2025河北保定市定兴县国有公司领导人员招聘2人考前自测高频考点模拟试题及答案详解一套
- 2025贵州沿河土家族自治县事业单位引进高层次和急需紧缺人才92人考前自测高频考点模拟试题带答案详解
- 2025国家统计局兴仁调查队招聘村级劳动保障协管员模拟试卷附答案详解(典型题)
- 2025贵州遵义医科大学附属口腔医院第十三届贵州人才博览会引进急需紧缺专业人才6人模拟试卷及答案详解(历年真题)
- 2025广西桂林荔浦市人民医院招聘16人模拟试卷及参考答案详解1套
- 2025甘肃省兰州市榆中县中医医院春季招聘15人模拟试卷及答案详解(夺冠系列)
- 2025年河北张家口市专职消防队伍管理中心第一批政府专职消防员招聘160名模拟试卷及答案详解(新)
- 低代码行业应用案例分析-深度研究
- 2.1岩石圈的组成及物质循环 课件高中地理鲁教版(2019)选择性必修1
- 外研版(三起)五年级上册英语期末完形填空专题训练
- 广东省惠州市联考2024-2025学年上学期12月教学质量阶段性诊断八年级数学试卷(无答案)
- 足下垂康复治疗
- GB/T 15822.3-2024无损检测磁粉检测第3部分:设备
- 工程结算协议书
- 2024-2030年中国痘痘贴行业营销动态及消费需求预测研究报告
- (高清版)AQ 1075-2009 煤矿低浓度瓦斯往复式内燃机驱动的交流发电机组通 用技术条件
- 六年级上册道德与法治全册教学课件
- 中国食物成分表2018年(标准版)第6版
评论
0/150
提交评论