更新 '1.c'
This commit is contained in:
parent
9114af76e0
commit
b1f1776435
69
1.c
69
1.c
@ -1,6 +1,7 @@
|
|||||||
#include<stdio.h>
|
#include<stdio.h>
|
||||||
#include<stdlib.h>
|
#include<stdlib.h>
|
||||||
#include<conio.h>
|
#include<conio.h>
|
||||||
|
#include<string.h>
|
||||||
#define MAX 100
|
#define MAX 100
|
||||||
#define MAX_1 100
|
#define MAX_1 100
|
||||||
typedef struct singer{
|
typedef struct singer{
|
||||||
@ -93,7 +94,49 @@ void load(SING sing[MAX], int *num, int *num_){
|
|||||||
// 关闭文件
|
// 关闭文件
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
}
|
}
|
||||||
|
void aver(SING sing[MAX], int num, int num_){
|
||||||
|
int temp,data[MAX_1];
|
||||||
|
for(int k=0;k<num;k++){
|
||||||
|
memcpy(data,sing[k].score,sizeof(int)*MAX_1);
|
||||||
|
// 对分数按从小到大排序
|
||||||
|
for(int i=0;i<num_-1;i++){
|
||||||
|
for(int j=0;j<num_-1-i;j++){
|
||||||
|
if(data[j]>data[j+1]){
|
||||||
|
// 交换元素
|
||||||
|
temp=data[j];
|
||||||
|
data[j]=data[j+1];
|
||||||
|
data[j+1]=temp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 计算平均分
|
||||||
|
temp=0;
|
||||||
|
for(int j=1;j<num_-1;j++){
|
||||||
|
temp+=data[j];
|
||||||
|
}
|
||||||
|
sing[k].aver = temp / (float)(num_-2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void mark(SING sing[MAX], int num, int *num_){
|
||||||
|
// 输入评委个数
|
||||||
|
printf("请输入评委个数:");
|
||||||
|
scanf("%d",num_);
|
||||||
|
// 逐个评分
|
||||||
|
for(int i=0;i<num;i++){
|
||||||
|
system("cls");
|
||||||
|
printf("当前正在对第 %d 个歌手进行评分:\n\n",i+1);
|
||||||
|
printf("歌手信息如下:\n");
|
||||||
|
printf("序号\t姓名\t性别\n");
|
||||||
|
printf("%d\t%s\t%s\n\n",sing[i].num,sing[i].name,sing[i].xb);
|
||||||
|
for(int n=0;n<*num_;n++){
|
||||||
|
printf("现在请第 %d 个评委进行评分(0-10分):",n+1);
|
||||||
|
scanf("%d",&sing[i].score[n]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 计算平均分
|
||||||
|
aver(sing,num,*num_);
|
||||||
|
printf("评分完成。\n");
|
||||||
|
}
|
||||||
int main(){
|
int main(){
|
||||||
SING sing[MAX];
|
SING sing[MAX];
|
||||||
// num 为歌手数,num_ 为评委数
|
// num 为歌手数,num_ 为评委数
|
||||||
@ -102,17 +145,18 @@ int main(){
|
|||||||
|
|
||||||
while(1){
|
while(1){
|
||||||
// 1.菜单
|
// 1.菜单
|
||||||
printf("\t1.输入歌手信息\n");
|
printf("\t1.输入歌手信息\n"); // 已完成
|
||||||
printf("\t2.输出歌手信息\n");
|
printf("\t2.输出歌手信息\n"); // 已完成
|
||||||
printf("\t3.新增一个歌手\n");
|
printf("\t3.新增一个歌手\n"); // 已完成
|
||||||
printf("\t4.查找歌手信息\n");
|
printf("\t4.查找歌手信息\n");
|
||||||
printf("\t5.修改歌手信息\n");
|
printf("\t5.修改歌手信息\n");
|
||||||
printf("\t6.删除歌手信息\n");
|
printf("\t6.删除歌手信息\n");
|
||||||
printf("\t7.评委评分\n");
|
printf("\t7.排序歌手\n");
|
||||||
printf("\t8.输出歌手成绩\n");
|
printf("\t8.评委评分\n");
|
||||||
printf("\t9.保存歌手信息\n");
|
printf("\t9.输出歌手成绩\n");
|
||||||
printf("\t10.加载歌手信息\n");
|
printf("\t10.保存歌手信息\n"); // 已完成
|
||||||
printf("\t0.退出\n");
|
printf("\t11.加载歌手信息\n"); // 已完成
|
||||||
|
printf("\t0.退出\n"); // 已完成
|
||||||
|
|
||||||
// 2.输入
|
// 2.输入
|
||||||
scanf("%d", &choice);
|
scanf("%d", &choice);
|
||||||
@ -131,10 +175,13 @@ int main(){
|
|||||||
case 3:
|
case 3:
|
||||||
insert(sing,&num);
|
insert(sing,&num);
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 8:
|
||||||
save(sing,num,num_);
|
mark(sing,num,&num_);
|
||||||
break;
|
break;
|
||||||
case 10:
|
case 10:
|
||||||
|
save(sing,num,num_);
|
||||||
|
break;
|
||||||
|
case 11:
|
||||||
load(sing,&num,&num_);
|
load(sing,&num,&num_);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
Loading…
Reference in New Issue
Block a user