爱问知识人 爱问教育 医院库

用c语言编写歌手比赛系统

首页

用c语言编写歌手比赛系统

对一次歌手比赛的成绩进行管理,功能要求:1、输入每个选手的数据包括编号、姓名、十个评委的成绩,根据输入计算出总成绩和平均成绩(去掉最高分,去掉最低分)。2、显示主菜单如下:1)输入选手数据 2)评委打分 3)成绩排序(按平均分)4)数据查询  5)追加... 对一次歌手比赛的成绩进行管理,功能要求:1、输入每个选手的数据包括编号、姓名、十个评委的成绩,根据输入计算出总成绩和平均成绩(去掉最高分,去掉最低分)。2、显示主菜单如下:1)输入选手数据 2)评委打分 3)成绩排序(按平均分)4)数据查询  5)追加学生数据 6)写入数据文件7)退出系统。 展开

提交回答

全部答案

    2018-06-01 05:06:33
  •   大致就是这样
    界面和提示信息你自己做一下 我的系统不支持中文 弄出来也不是你想要的
    123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199#include #include #include  typedef struct {    int index;    char name[50];    int score[10];    float ave;}INFO; typedef struct{    int n;    INFO *info;}INST; #define FILE_NAME "info。
      dat" int menu(){    char input[1024];    int ret = -1;    int i = 0, j = 0;         while(ret  7)    {        if(ret != -1) printf("input error, should be 1-7 ");        if(j >= i)            printf("menu: 1-7 ");        ret = 0;        gets(input);        for(i = 0; input[i]; i  )            if(input[i] != ' ' && input[i] != ' ') break;        j = strlen(input) -1;        for(; j > i; j --)            if(input[i] != ' ' && input[i] != ' ') break;        if(i == j) ret = input[i] - '0';        else if(j info)     {        free(inst->info);        inst->info = NULL;    }    inst ->n = 0;         fp = fopen(FILE_NAME, "rb");    if(fp == NULL) return;     fseek(fp, 0, SEEK_END);    size = ftell(fp);    fseek(fp, 0, SEEK_SET);    if(size % sizeof(INFO) != 0 || size n = size/sizeof(INFO);        inst->info = (INFO *) malloc(sizeof(INFO) * inst->n);         fread(inst->info, sizeof(INFO), inst->n, fp);    }    fclose(fp);} void input(INST * inst){    INFO * info = NULL;     info = (INFO *)malloc((inst->n   1) * sizeof(INFO));    memset(info inst->n, 0, sizeof(INFO));         if(inst->n)    {        memcpy(info, inst->info, sizeof(INFO) * inst->n);        free(inst->info);    }    inst->info = info;    info = &inst->info[inst->n];    inst->n  ;    scanf("%d%s", &info->index, info->name);} INFO *get_item(INST *inst){    int id, i;    INFO * ret = NULL;    scanf("%d", &id);    for(i = 0; i n; i  )        if(inst->info[i]。
      index == id)        {            ret = &inst->info[i];            break;        }    return ret;}void score(INFO * info){    int min, max, sum = 0, i;    if(info == NULL) return;    for(i = 0; i score[i]);        if(i == 0) min = max = info->score[i];        else if(min > info->score[i]) min = info->score[i];        else if(max score[i]) max = info->score[i];        sum  = info->score[i];    }    sum -= min max;    info->ave = sum/8。
      0;} void sort(INST *inst){    INFO t, *info;    int i, j;         info = inst->info;    for(i = 0; i n - 1; i  )        for(j = i   1; j n; j )            if(info[i]。
      ave index, info->name, info->ave);    for(i = 0; i score[i]);    printf(" ");} void modify(INFO * info){    if(info == NULL) return;     print(info);        scanf("%d%s", &info->index, info->name);    score(info);} void save(INST *inst){    FILE *fp;         fp = fopen(FILE_NAME, "wb");    if(fp)        fwrite(inst->info, sizeof(INFO), inst->n, fp);    fclose(fp);} int main(){    INST inst = {0};    int in;         read_info(&inst);    while((in = menu()) != 7)    {        switch(in)        {            case 1:                input(&inst);                break;            case 2:                score(get_item(&inst));                break;            case 3:                sort(&inst);                break;            case 4:                print(get_item(&inst));                break;            case 5:                modify(get_item(&inst));                break;            case 6:                save(&inst);                break;        }    }    return 0;}
    PS: 5)追加学生数据 不理解什么功能 做成修改数据的了。
      

    断***

    2018-06-01 05:06:33

类似问题

换一换

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 177-196
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):