c语言大作业点歌系统,基于C语言的KTV点歌系统

0x00. 前言

更换了编辑器为markdown,来码一个以前的编程作业,KTV点歌系统.

0x01. 选题

模拟KTV点歌系统。用户可按歌名查找某首歌曲或按歌手名查找其所有歌曲,点歌后显示所点歌曲歌词。管理员可添加和删除歌曲,每个歌曲的歌词用一个单独的文件存储。

0x02. 软件的功能要求

查询歌手的歌曲功能、

查询歌曲的歌词功能、

登录管理员功能、

增添歌曲及其歌词功能、

删除歌曲(文件)功能、

修改管理员密码功能 等

0x03. 作为验收的依据,选取的测试用例及对应的验收数据

把歌手以txt文件命名,文件内每行都是他(她)的一首歌曲,歌词也是以txt文件命名存在同个文件夹内。

查询/删除歌曲:可选择下图1的所有内容。

查询歌手:可选择下图2的所有内容。

登录管理员:登录密码是初始化的 'admin123'。

增添歌曲:歌曲名直接输入、歌词内容直接复制粘贴(末尾行要输入quit然后回车)

图片1

图片2

0x04. 各模块的描述

函数定义

函数总体上是很简单的 ,除了登录函数login返回一个int整数表示不同的登录状态,其他的函数都是无传参、无返回值的。

main函数的第一个while循环,根据输入数字选择功能,以实现下面三个功能:查询歌曲歌词(select_song函数)、查询歌手歌曲(select_singer函数)、登录功能(login函数);如果没输入1 2 3就退出程序。值得注意的是登录函数返回值传给state变量保存,登陆成功后state == 1。

main函数第二个while循环便是依据state变量判断是否已登录,如果没有登录就直接结束了程序,state为1就作为管理员运行第二个while循环。这个循环和上一个循环的实现异曲同工,完全是根据输入选择不同功能,输入非1 2 3就结束循环退出程序。

0x05. 软件结构图

0x06. 使用说明

基于GCC编译器或VC6编译器。

文本文件是UTF-8编码,如果用cmd直接执行会显示乱码,我用的是cmder前端命令行工具,它支持UTF-8编码,可以正常显示。

文件夹结构:

0x07. 测试结果

1. 点歌结果

2. 查询歌手

3. 登录管理员

可以清楚地看到,登录初始密码为admin123,登陆后会进入管理员界面,可以选择添加歌曲、删除歌曲、更改密码等功能。

3.1 添加歌曲

值得注意的是,上面歌词最后一行输入quit回车来确认歌词提示输入完毕,结束输入歌词过程。此时打开歌曲目录能找到新添加的文件:黑猫警长.txt:

3.2 删除刚刚添加的歌曲

3.3 管理员更改登录密码

0x08. 代码

你可能感兴趣的:(c语言大作业点歌系统)