本篇主要是C语言课程设计示例:歌曲信息管理系统 , 希望对大家C语言的学习有一定的帮助 。
我们在学习C语言时 , 最终都会面临这个“大项目”:课程设计 , 而知识的整合与庞大的代码量总会让许多初学者手足无措 。 还记得我当时的课程设计 , 真的是挑灯夜战好几天 , 最终才算是整合成功 。 希望这个示例可以给还没有头绪的同学一点启发 。 我会在代码的注释中帮助大家理解 。
注:代码运行之前要在 E 盘新建一个 zxx 的文件夹 , 在文件夹中新建两个文本文件 zxx 和 zxxluru
zxx 为存储全部歌曲信息的文件 , 可以先为空
zxxluru 内为被录入的信息 , 即可以将 zxxluru 里的信息都存储到 zxx 中
文章图片
zxxluru 文件内格式为:歌曲名 演唱者 作词者 作曲者 发行时间 中间用空格隔开
文章图片
下面是完整代码:
#include<stdio.h> //头文件就不多说了
#include<stdlib.h>
#include<string.h>
【C语言课程设计】#define N 10000 //最大可以存储的歌曲数量
struct song //定义一个歌曲信息的结构体
{
char name[20]; //歌曲名
char singer[20]; //演唱者
char authors[20]; //作词者
char compose[20]; //作曲者
char time[20]; //发行日期
}so[N];
//声明函数
void menu(); //菜单函数
void display(); //查看函数
void create(); //录入函数
void search(); //查找函数
void modify(); //修改函数
void delete(); //删除函数
void input1(int i); //键盘录入
void input2(); //文件录入
void save(int n); //储存函数
int back(); //返回函数
//主函数
int main()
{
system("color 9f"); //主菜单的颜色美化
menu(); //进入菜单函数
return 0;
}
//菜单函数
void menu()
{
system("cls"); //每次进入菜单都清屏
printf("|_**__**__**__**__**__**__**__**__**__**_|\n");
printf("** **\n"); //这里装饰框在编译器中会对齐
printf("|| 406舞厅歌曲管理系统 ||\n");
printf("** 1、 显示歌曲信息 **\n");
printf("|| 2、 录入歌曲信息 ||\n");
printf("** 3、 查找某首歌曲 **\n");
printf("|| 4、 修改歌曲信息 ||\n");
printf("** 5、 删除某首歌曲 **\n");
printf("|| 0、 退出系统 ||\n");
printf("** -ZXX **\n");
printf("|_**__**__**__**__**__**__**__**__**__**_|\n");
printf("请选择相应的功能:\n");
int n;
scanf("%d", &n);
switch(n) //根据功能选择跳转到相应函数
{
case 0:exit(0);
case 1:display();break;
case 2:create();break;
case 3:search();break;
case 4:modify();break;
case 5:delete();break;
default: //输入上面以外的数字会响铃并再次显示菜单
printf("\a");
menu();
break;
}
}
//信息显示函数
void display()
{
FILE *fp = fopen("E:\\zxx\\zxx.txt","r"); //打开存储信息的文件
int i, a, n, j, k;
if(fp == NULL) //判断文件是否存在
{
printf("\n无法打开此文件!\n\a");
exit(0);
}
system("cls");
printf("\n\n请选择排序方式:\n");
printf("1、按歌名排序\n");
printf("2、按演唱者排序\n");
scanf("%d", &a);
for(i = 0; !feof(fp); i++) //将文件中的内容按格式存储到程序中的结构体中
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
