C语言歌曲信息管理系统

时间:2026-01-27

C语言歌曲信息管理系统

学院: 计算机学院 专业: 网络工程 班级: *********** 姓名: ********** 学号: *********** 课题: 歌曲信息管理系统 指导老师: ***********

C语言歌曲信息管理系统

#include<stdio.h> #include<string.h> #include <stdlib.h> #define N 10

struct song

{char name_1[20]; /*the song name*/ char name_2[20]; /*the writer name*/

char name_3[20]; /*the singer name*/ char album[20]; /*the ablum*/ char date[20]; /*the date*/

}Song[N]; /*每个数组元素对应一首歌曲信息*/

void back() /*选择继续浏览还是返回主菜单*/ {int w,n; void menu(); void browse();

n=0; do

{printf("What do you want to do ?\\t n\n1.browse all now\t 2.back: [ ]\b\b"); scanf("%d",&w); if(w<1||w>2)

{n=1;

printf("Input Error Please choice again\n\n\n\n"); }

else n=0;} while(n==1); switch(w)

{case 1:browse();break; case 2:menu();break;} }

C语言歌曲信息管理系统

void input(int i) {

scanf("%s",Song[i].name_1); scanf("%s",Song[i].name_2); scanf("%s",Song[i].name_3); scanf("%s",Song[i].album); scanf("%s",Song[i].date); }

/******************输入模块*****************/

void enter() {FILE *fp; int i,n;

n=N;

printf("How many songs(0-%d)?",N-1); for(i=0;i<n;i++)

C语言歌曲信息管理系统

printf("\nNow please enter %dth song information:\n",i+1);

scanf("%s %s %s %s %s",Song[i].name_1,Song[i].name_2,Song[i].name_3,Song[i].album,Song[i].date); }

if((fp=fopen("d:/music.txt","a"))==NULL) {printf("\n Cannot open file\n"); }

for(i=0;i<n;i++) {

fprintf(fp,"%s %s %s %s %s\n",Song[i].name_1,Song[i].name_2,Song[i].name_3,Song[i].album,Song[i].date); }

fclose(fp); back();

}

C语言歌曲信息管理系统

int load() {FILE *fp;

int i;

if((fp=fopen("d:/music.txt","r"))==NULL) printf("\nCannot open file\n"); for(i=0;!feof(fp);i++)

fscanf(fp,"%s %s %s %s %s",Song[i].name_1,Song[i].name_2,Song[i].name_3,Song[i].album,Song[i].date);

return(i-1); /* 返回记录个数*/ }

void print(int i)

{printf("%dth song:",i+1);

printf("%s %s %s %s %s\n",Song[i].name_1,Song[i].name_2,Song[i].name_3,Song[i].album,Song[i].date);

}

C语言歌曲信息管理系统

/******************浏览模块*****************/

void browse() {

int i,n;

n=load();

for(i=0;i<n;i++) /*利用循环逐个输出歌曲信息*/ {print(i); puts("\n");}

back();

}

C语言歌曲信息管理系统

/******************查找模块*****************/

C语言歌曲信息管理系统

输入歌曲名

是否找到

N

Y 提 示 没有 找 到

显 示 所查 歌 曲信息

Y

是否继续查 找

N 调 用 查找 函 数

调用 back () 函数

结 束

C语言歌曲信息管理系统

void search() {char s[20]; int i,n,w,a; void print(); void getch(); w=0; n=load();

do {

printf("Please input the song's name you want:"); scanf("%s",s); for(i=0;i<n;i++)

if(strcmp(s,Song[i].name_1)==0) {print(i);w=1;}

if(w==0)

{printf("\nThis song is not existed\n"); }

printf("do you want to continue?\n"); printf("1.yes\n2.no\n"); scanf("%d",&a); getch();} while(a==1); back();}

C语言歌曲信息管理系统

/******************删除模块******************/

C语言歌曲信息管理系统

void del()

{FILE *fp; int i,j,n,flag,a; char name[20]; n=load();

printf("\n original songs:\n");

for(i=0;i<n;i++)

printf(" %dth:%s ",i+1,Song[i].name_1); n=i; do

{

printf("\n input song name deleted:\n"); scanf("%s",name);

for(flag=1,i=0;flag&&i<n;i++)

{if(strcmp(Song[i].name_1,name)==0) {for(j=i;j<n-1;j++)

{strcpy(Song[j].name_1,Song[j+1].name_1); strcpy(Song[j].name_2,Song[j+1].name_2); strcpy(Song[j].name_3,Song[j+1].name_3); strcpy(Song[j].album,Song[j+1].album); strcpy(Song[j].date,Song[j+1].date); }

flag=0; } } if(!flag) n=n-1; else

printf("\n not found\n");

printf("Now the songs are:\n\n");

if((fp=fopen("d:/music.txt","w"))==NULL) {printf("\n Cannot open file\n"); }

for(i=0;i<n;i++)

fwrite(&Song[i],sizeof(struct song),1,fp); fclose(fp);

fp=fopen("d:/music.txt","r"); for(i=0;i<n;i++) print(i); fclose(fp); puts("\n");

C语言歌曲信息管理系统

printf("do you want to continue?\n"); printf("1.yes\n2.no\n"); scanf("%d",&a); getch();} while(a==1);

back();}

C语言歌曲信息管理系统

/*******************按作者显示模块*******************/

C语言歌曲信息管理系统

void list() {struct song s[1]; int i,j,n; n=load();

for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) { }

for(i=0;i<n;i++)

{printf("%dth song:",i+1);

printf("%s %s %s %s %s\n",Song[i].name_1,Song[i].name_2,Song[i].name_3,Song[i].album,Song[i].date); }

back(); }

/** …… 此处隐藏:2658字,全部文档内容请下载后查看。喜欢就下载吧 ……

C语言歌曲信息管理系统.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:4.9 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:19元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219