更新 '1.c'
This commit is contained in:
parent
bf2da24a6d
commit
2aaabff295
176
1.c
176
1.c
@ -141,6 +141,162 @@ void mark(SING sing[MAX], int num, int *num_){
|
||||
aver(sing,num,*num_);
|
||||
printf("评分完成。\n");
|
||||
}
|
||||
int find_xuhao(SING sing[MAX], int num){
|
||||
// 按序号查找
|
||||
int x;
|
||||
printf("请输入需要查找的序号: ");
|
||||
scanf("%d",&x);
|
||||
for(int i=0;i<num;i++){
|
||||
if(x==sing[i].num){
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
int find_xingming(SING sing[MAX],int num){
|
||||
// 按姓名查找
|
||||
char x[10];
|
||||
printf("请输入需要查找的姓名: ");
|
||||
scanf("%s",x);
|
||||
for(int i=0;i<num;i++){
|
||||
if(strcmp(x,sing[i].name)==0){
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
void find(SING sing[MAX],int num, int num_){
|
||||
// 查找
|
||||
printf("请选择查找方式\n");
|
||||
int x,n;
|
||||
printf("\t1.序号查找\n");
|
||||
printf("\t2.姓名查找\n");
|
||||
printf("\t0.退出\n");
|
||||
scanf("%d",&x);
|
||||
switch(x){
|
||||
case 1:
|
||||
n=find_xuhao(sing,num);
|
||||
break;
|
||||
case 2:
|
||||
n=find_xingming(sing,num);
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
if(n==-1){
|
||||
printf("未找到该人\n");
|
||||
return;
|
||||
}
|
||||
printf("序号\t姓名\t性别\t平均分\t原始成绩\n");
|
||||
printf("%d\t%s\t%s\t%.2f",sing[n].num,sing[n].name,sing[n].xb,sing[n].aver);
|
||||
for(int j=0;j<num_;j++){
|
||||
printf("\t%d",sing[n].score[j]);
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
void edit(SING sing[MAX],int num){
|
||||
// 修改信息
|
||||
int x,n;
|
||||
printf("请选择修改方式\n");
|
||||
printf("\t1.按序号修改\n");
|
||||
printf("\t2.按姓名修改\n");
|
||||
printf("\t0.退出\n");
|
||||
scanf("%d",&x);
|
||||
switch(x){
|
||||
case 1:
|
||||
n=find_xuhao(sing,num);
|
||||
break;
|
||||
case 2:
|
||||
n=find_xingming(sing,num);
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
if(n==-1){
|
||||
printf("未找到该歌手\n");
|
||||
return;
|
||||
}
|
||||
system("cls");
|
||||
printf("该歌手原信息如下:\n");
|
||||
printf("序号\t姓名\t性别\n");
|
||||
printf("%d\t%s\t%s\n\n",sing[n].num,sing[n].name,sing[n].xb);
|
||||
|
||||
printf("输入修改后的信息:\n");
|
||||
printf("序号\t姓名\t性别\n");
|
||||
scanf("%d%s%s",&sing[n].num,sing[n].name,sing[n].xb);
|
||||
}
|
||||
void Delete(SING sing[MAX], int *num){
|
||||
// 删除信息
|
||||
int x,n;
|
||||
printf("请选择删除方式\n");
|
||||
printf("\t1.按序号删除\n");
|
||||
printf("\t2.按姓名删除\n");
|
||||
printf("\t0.退出\n");
|
||||
scanf("%d",&x);
|
||||
switch(x){
|
||||
case 1:
|
||||
n=find_xuhao(sing,*num);
|
||||
break;
|
||||
case 2:
|
||||
n=find_xingming(sing,*num);
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
if(n==-1){
|
||||
printf("未找到该歌手\n");
|
||||
return;
|
||||
}
|
||||
// 删除
|
||||
for(int i=n;i<*num;i++){
|
||||
sing[i]=sing[i+1];
|
||||
}
|
||||
*num=*num-1;
|
||||
}
|
||||
void sort_xuhao(SING sing[MAX], int num){
|
||||
SING temp;
|
||||
for(int i=0;i<num-1;i++){
|
||||
for(int j=0;j<num-1-i;j++){
|
||||
if(sing[j].num>sing[j+1].num){
|
||||
// 交换
|
||||
temp=sing[j];
|
||||
sing[j]=sing[j+1];
|
||||
sing[j+1]=temp;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
void sort_aver(SING sing[MAX], int num){
|
||||
SING temp;
|
||||
for(int i=0;i<num-1;i++){
|
||||
for(int j=0;j<num-1-i;j++){
|
||||
if(sing[j].aver>sing[j+1].aver){
|
||||
// 交换
|
||||
temp=sing[j];
|
||||
sing[j]=sing[j+1];
|
||||
sing[j+1]=temp;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
void sort(SING sing[MAX], int num){
|
||||
int x;
|
||||
printf("请选择排序方式\n");
|
||||
printf("\t1.按序号排序\n");
|
||||
printf("\t2.按成绩排序\n");
|
||||
printf("\t0.退出\n");
|
||||
scanf("%d",&x);
|
||||
switch(x){
|
||||
case 1:
|
||||
sort_xuhao(sing, num);
|
||||
break;
|
||||
case 2:
|
||||
sort_aver(sing, num);
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
}
|
||||
int main(){
|
||||
SING sing[MAX];
|
||||
// num 为歌手数,num_ 为评委数
|
||||
@ -152,10 +308,10 @@ int main(){
|
||||
printf("\t1.输入歌手信息\n"); // 已完成
|
||||
printf("\t2.输出歌手信息\n"); // 已完成
|
||||
printf("\t3.新增一个歌手\n"); // 已完成
|
||||
printf("\t4.查找歌手信息\n");
|
||||
printf("\t5.修改歌手信息\n");
|
||||
printf("\t6.删除歌手信息\n");
|
||||
printf("\t7.排序歌手\n");
|
||||
printf("\t4.查找歌手信息\n"); // 已完成
|
||||
printf("\t5.修改歌手信息\n"); // 已完成
|
||||
printf("\t6.删除歌手信息\n"); // 已完成
|
||||
printf("\t7.排序歌手\n"); // 已完成
|
||||
printf("\t8.评委评分\n"); // 已完成
|
||||
printf("\t9.保存歌手信息\n"); // 已完成
|
||||
printf("\t10.加载歌手信息\n"); // 已完成
|
||||
@ -178,6 +334,18 @@ int main(){
|
||||
case 3:
|
||||
insert(sing,&num);
|
||||
break;
|
||||
case 4:
|
||||
find(sing,num,num_);
|
||||
break;
|
||||
case 5:
|
||||
edit(sing,num);
|
||||
break;
|
||||
case 6:
|
||||
Delete(sing,&num);
|
||||
break;
|
||||
case 7:
|
||||
sort(sing,num);
|
||||
break;
|
||||
case 8:
|
||||
mark(sing,num,&num_);
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user