[源码和文档分享]基于C语言的歌曲信息管理系统设计与实现

一、需求分析

  • 用文件储存信息

  • 第一个功能,录入歌曲记录

  • 第二个功能,查找并删除记录

  • 第三个功能,浏览记录

  • 第四个功能,查找信息记录

  • 第五个功能,按照作者姓名进行排序

二、设计思路

2.1 歌曲信息结构体

结构体内有五个数据

  • 其中前四个是字符串类型的歌曲的各种数据,分别是歌曲名、作者、演唱者、发行年月

  • 第五个定义了一个整形变量_exist,初始化有效的结构体的时候会给这个变量赋值,赋的值为一个宏IS_EXIST,目的是在之后的模块中能够更方便地筛选出有效的结构体记录

2.2 辅助函数

共有三个辅助函数,分别是读取文件函数、写入文件函数、打印数据函数,目的是将模块函数里的重复代码写成函数,简化代码;

  • 读取文件函数,有一个结构体指针类型参数,函数实现读取”song.txt “文件中的数据,并写入结构体数组中,通过参数指针传递

  • 写入文件函数,和读取文件函数逻辑相同,将参数里面的数据写入文件

  • 打印数据函数,参数为结构体变量,功能是将该结构体的数据格式化打印到屏幕上

2.3 菜单函数(模块函数)

有五个菜单函数,分别对应实现的五个功能:

  • 第一个函数,录入记录

    • 定义一个结构体数组,做为读取文件函数的参数得到文件中的数据
    • 接着用一个for循环遍历结构体数组
    • 内部接一个判断每个结构体内的_exist是否为IS_EXIST,到没有数据的记录,
    • 再向里是让用户录入数据
    • 录入完之后让用户选择是否继续录入,选择是就进入下一次循环,选择否就结束循环
    • 完成之后就调用写入文件函数,将录入的记录保存到文件,结束
  • 第二个函数,删除记录

    • 思路和录入记录函数相同,读取文件,函数功能,写入文件
    • 用户输入歌曲名字,进入for循环查找
    • 如果查找不到,就打印未找到记录
    • 如果找到了,则让用户选择是否确认删除
  • 第三个函数,浏览记录

    • 逻辑:读取文件,函数功能,写入文件
    • 中间用for循环,接打印数据函数,将结构体数组中的所有记录打印到屏幕上
  • 第四个函数,查询记录

    • 逻辑相同
    • 用户输入歌曲名或者作者或者演唱者
    • for循环查找所有记录
    • 将所有符合的记录打印到屏幕上
  • 第五个函数,分组显示

    • 逻辑相同
    • 用冒牌排序进行排序,排序按照作者的名字升序
    • 打印排序后的所有记录

 


参考文档和完整的文档和源码下载地址:

https://www.write-bug.com/article/150.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值