| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1168 人关注过本帖
标题:求助,请大神修改,教教我,绝对不是请各位帮忙写作业
取消只看楼主 加入收藏
SR浮
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-6-21
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
求助,请大神修改,教教我,绝对不是请各位帮忙写作业
大一新生,期末c语言的课程设计,自己做了八成写不出来了,调试执行无错,运行有问题,我不知道哪行代码写错了,求大神教下我。
题目,代码如下:

题目:重庆大学城市科技学院运动会管理系统
1、数据分析

(1)学院名称

(2)男生竞赛项目名称

(3)女生竞赛项目名称

2、项目名次取法如下几种

第一名10分,第二名9分,第三名7分,第四名5分,第五名4分,第六名3分,第七名2分,第八名1分

由程序提醒用户填写比赛结果

所有信息记录完毕后,用户可以查询比赛项目信息,生成团体总分表,查看参赛院信息



#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<windows.h>

struct table_game//定义一个全局的结构体
{
 char xmmc[11];//项目名称
 char xymc[7][13];//所属学院名称
    char mc[7][3];   //名次
};
struct table_zf
{
 char xymc[13];
 int fs[7];
};
//定义结构体数组(全局)
struct table_game GAME[1000];
struct table_zf   ZF[100];
int x=0;//定义项目数


//定义一个全局变量存放实际的人数
int sjs;
//输入比赛成绩
void input()
{
 int n,i,j;
 char wrong[100];//用来存放输入选择时候手误输入可能的字符
 system("cls");
    printf("***************************************************************************\n");
 printf("***             亲,欢迎来到运动员成绩录入功能!                         ***\n");
 printf("***************************************************************************\n");

 sjs=0;

 for(i=0;i<=999;i++)
 {
  printf("\n********************************************************************\n");
  printf("*****                      亲,是否要录入比赛成绩!               *****\n");
  printf("---                             1、是哒!                           ---\n");
  printf("---                             2、不是哒!                         ---\n");
  printf("\n********************************************************************\n");

  printf("亲,请输入你的选择(1 or 2):");
  scanf("%d",&n);
  gets(wrong);

  while(n!=1 && n!=2)
  {
   printf("亲,你输得不是(1 or 2),请重新输入(1 or 2):");
   scanf("%d",&n);
   gets(wrong);
  }
  if(n==2)
  {
   printf("over\n");
    break;
  }
  else
  {
   
   //正常情况下一个运动员的所有信息录入
   printf("输入项目名称:");
   gets(GAME[i].xmmc);
   
   for(j=0;j<7;j++)
   {
    printf("输入运动员所属学院名称:");
    gets(GAME[i].xymc[j]);

    printf("输入名次:");
    gets(GAME[i].mc[j]);
   }
  }
 }
 system("pause");
}
 

void output()
{
 int i,j;
 system("cls");
 printf("%-11s","项目名称");
 printf("%-13s","所属学院名称");
 printf("%-7s","名次");
 printf("\n");

 for(i=0;i<=999;i++)
 {
  printf("%-11s",GAME[i].xmmc);
  printf("%-13s",GAME[i].xymc[j]);
  printf("%-7s",GAME[i].mc[j]);
 }
 system("pause");
}
//保存数据
void save()
{
 FILE *p;
 int n;
 char wrong[100];
 system("cls");

 printf("************************************************************************\n");
 printf("***                    亲,欢迎来到数据保存功能                      ***\n");
 printf("***                    1、确定保存   2、放弃保存                     ***\n");
 printf("************************************************************************\n");

    printf("亲,请输入你的选择(1 or 2):");
 scanf("%d",&n);
 gets(wrong);
 while(n!=1 && n!=2)
 {
  printf("亲,你输入的不是(1 or 2),请重新输入(1 or 2)");
  scanf("%d",&n);
  gets(wrong);
 }
 if(n==1)
 {
  p=fopen("保存数据.txt","w+");
  if(p==NULL)
  {
   printf("数据保存失败!\n");
   exit(0);
  }
  else
  {
               fwrite(GAME,sizeof(struct table_game),1000,p);
    printf("亲,数据保存成功了哟!\n");
                fclose(p);
  }
 }
  else
  {
   printf("放弃数据保存,返回主菜单!\n");
  }
 system("pause");
}
//读取函数
void load()
{
 FILE*p;
 int n;
 char wrong[100];
 system("cls");
 printf("************************************************************************\n");
 printf("***                    亲,欢迎进入信息读取功能                      ***\n");
 printf("***                    1、确定读取      2、放弃读取                  ***\n");
 printf("************************************************************************\n");
 printf("亲,请输入你的选择(1 or 2):");
 scanf("%d",&n);
 gets(wrong);
 while(n!=1 && n!=2)
 {
  printf("亲,你输入的不是(1 or 2),请重新输入(1 or 2):");
  scanf("%d",&n);
  gets(wrong);
 }
 if(n==1)
 {
  p=fopen("保存数据.txt","r+");
  if(p==NULL)
  {
   printf("文件打开失败!\n");
   exit(0);
  }
  else
  {
   fwrite(GAME,sizeof(struct table_game),1000,p);
   printf("亲,数据读取成功了哟!\n");
            fclose(p);
  }
 }
 else
 {
  printf("确定放弃数据读取,即将返回主菜单\n");
 }
 system("pause");
}

//查询比赛成绩
void search()
{
 int n,i,j,flag;
 char search_xmmc[11];
 char  search_mc[7][3];
 char search_xymc[7][13];
 char wrong[100];

 system("cls");

 printf("***********************************************************************\n");
 printf("***                 亲,欢迎来到查询比赛成绩功能                    ***\n");
    printf("***                     1、按照项目名称查询                         ***\n");
 printf("***                     2、按照名次查询                             ***\n");
 printf("***                     3、查询参赛院信息                           ***\n");
 printf("***                     4、退出查询 返回菜单                        ***\n");
 printf("***********************************************************************\n");
 printf("亲,请输入你的选择(1 or 2 or 3 or 4):");
    scanf("%d",&n);
 gets(wrong);
 while(n!=1 && n!=2 && n!=3 && n!=4)
 {
  printf("亲,你输入的不是(1 or 2 or 3 or 4),请重新输入(1 or 2 or 3 or 4)");
  scanf("%d",&n);
  gets(wrong);
 }
 
 switch(n)
 {
 case 1:
  printf("请输入要查询的项目名称:");
  gets(search_xmmc[11]);
  
  
  for(j=0;j<x;j++)
   
  {
   flag=0;
   puts(GAME[i].xmmc==0);
   if( strcmp(search_xmmc,GAME[i].xmmc)==0 )
    {
    flag=1;
       printf("******                 按项目名称查询有以下结果        ******\n");
    printf("***                      名次       学院                 ***\n ");
    printf("*************************************************************\n");
    for(i=0;i<7;i++)
    {
     printf("%7s%7s\n",GAME[j].mc[i],GAME[j].xymc[i]);
    }
      break;
    }
  }  
  
  
      if(flag==0)
  {
   printf("查无此项目!\n");
  }
            break;
 case 2:
  printf("请输入名次:");
  gets(search_mc[7][3]);
  
  for(j=0;j<x;j++)
  {
   flag==0;
   puts(GAME [i].mc==0);
  
   if(strcmp(search_mc,GAME[i].mc)==0)
   {
    flag=1;
             printf("******                 按名次查询有以下结果           ******\n");
    printf("***                  项目名称       学院                 ***\n ");
    printf("*************************************************************\n");
    for(i=0;i<7;i++)
    {
     printf("%11s%7s\n",GAME[i].xmmc,GAME[j].xymc[i]);
    }
     break;
   }
  }

  if(flag==0)
  {
   printf("该名次不存在!\n");
  }
  break;
 case 3:
  printf("请输入学院名称:");
  gets(search_xymc[7][13]);
 
  for(j=0;j<x;j++)
  {
   flag==0;
   puts(GAME[i].xymc==0);
  
   if(strcmp(search_xymc,GAME[i].xymc)==0)
   {
           flag=1;
             printf("******                 按学院名称查询有以下结果        ******\n");
    printf("***                  项目名称       名次                 ***\n ");
    printf("*************************************************************\n");
    for(i=0;i<7;i++)
    {
     printf("%11s%7s\n",GAME[i].xmmc,GAME[j].mc[i]);
    }
     break;
   }
  }
 
  if(flag==0)
  {
   printf("该学院不存在!\n");
  }
  break;
 case 4: break;
 }
       system("pause");
}

//显示团体总分排序
int sort()
{
 int i,j;
 struct table_game t;
 system("cls");
 printf("******                   团体总分显示如下              *****\n");
 printf("******                  学院    总成绩     名次        *****\n");
 printf("************************************************************\n");
 for(i=0;i<=999;i++);
 {
   for(j=0;j<999-1;j++)
   {
         if(GAME[j].mc<GAME[j+1].mc)
   {
    t=GAME[j];
    GAME[j]=GAME[j+1];
    GAME[j+1]=t;
   }

   }
   
 }
 output();
}
//统计总分
void tongji()
{
 int i;
 char wrong[100];
  system("cls");
  printf("***         亲,欢迎来到总分统计栏目      ***\n");
  
  for(i=0;i<=19;i++)
 {
  if(GAME[i].mc==1)
  {
   if(strcmp(GAME[i].xymc,"建管学院"==0))
          ZF[1].fs[1]+=10;
   if(strcmp(GAME[i].xymc,"土木学院"==0))
        ZF[2].fs[2]+=10;
   if(strcmp(GAME[i].xymc,"经管学院"==0))
        ZF[3].fs[3]+=10;
   if(strcmp(GAME[i].xymc,"人文学院"==0))
        ZF[4].fs[4]+=10;
            if(strcmp(GAME[i].xymc,"艺术学院"==0))
        ZF[5].fs[5]+=10;
   if(strcmp(GAME[i].xymc,"电气学院"==0))
        ZF[6].fs[6]+=10;
   if(strcmp(GAME[i].xymc,"建筑学院"==0))
        ZF[7].fs[7]+=10;
  }
  if(GAME[i].mc==2)
  {
   if(strcmp(GAME[i].xymc,"建管学院"==0))
     ZF[1].fs[1]+=8;
      if(strcmp(GAME[i].xymc,"土木学院"==0))
     ZF[2].fs[2]+=8;
      if(strcmp(GAME[i].xymc,"经管学院"==0))
     ZF[3].fs[3]+=8;
   if(strcmp(GAME[i].xymc,"人文学院"==0))
     ZF[4].fs[4]+=8;
   if(strcmp(GAME[i].xymc,"艺术学院"==0))
     ZF[5].fs[5]+=8;
   if(strcmp(GAME[i].xymc,"电气学院"==0))
     ZF[6].fs[6]+=8;
   if(strcmp(GAME[i].xymc,"建筑学院"==0))
     ZF[7].fs[7]+=8;
  }
  if(GAME[i].mc==3)
  {
            if(strcmp(GAME[i].xymc,"建管学院"==0))
     ZF[1].fs[1]+=6;
      if(strcmp(GAME[i].xymc,"土木学院"==0))
     ZF[2].fs[2]+=6;
      if(strcmp(GAME[i].xymc,"经管学院"==0))
     ZF[3].fs[3]+=6;
   if(strcmp(GAME[i].xymc,"人文学院"==0))
     ZF[4].fs[4]+=6;
   if(strcmp(GAME[i].xymc,"艺术学院"==0))
     ZF[5].fs[5]+=6;
   if(strcmp(GAME[i].xymc,"电气学院"==0))
     ZF[6].fs[6]+=6;
   if(strcmp(GAME[i].xymc,"建筑学院"==0))
     ZF[7].fs[7]+=6;
  }
  if(GAME[i].mc==4)
  {
            if(strcmp(GAME[i].xymc,"建管学院"==0))
     ZF[1].fs[1]+=5;
      if(strcmp(GAME[i].xymc,"土木学院"==0))
     ZF[2].fs[2]+=5;
      if(strcmp(GAME[i].xymc,"经管学院"==0))
     ZF[3].fs[3]+=5;
   if(strcmp(GAME[i].xymc,"人文学院"==0))
     ZF[4].fs[4]+=5;
   if(strcmp(GAME[i].xymc,"艺术学院"==0))
     ZF[5].fs[5]+=5;
   if(strcmp(GAME[i].xymc,"电气学院"==0))
     ZF[6].fs[6]+=5;
   if(strcmp(GAME[i].xymc,"建筑学院"==0))
     ZF[7].fs[7]+=5;
  }
  if(GAME[i].mc==5)
  {
           if(strcmp(GAME[i].xymc,"建管学院"==0))
     ZF[1].fs[1]+=4;
      if(strcmp(GAME[i].xymc,"土木学院"==0))
     ZF[2].fs[2]+=4;
      if(strcmp(GAME[i].xymc,"经管学院"==0))
     ZF[3].fs[3]+=4;
   if(strcmp(GAME[i].xymc,"人文学院"==0))
     ZF[4].fs[4]+=4;
   if(strcmp(GAME[i].xymc,"艺术学院"==0))
     ZF[5].fs[5]+=4;
   if(strcmp(GAME[i].xymc,"电气学院"==0))
     ZF[6].fs[6]+=4;
   if(strcmp(GAME[i].xymc,"建筑学院"==0))
     ZF[7].fs[7]+=4;
  }
  if(GAME[i].mc==6)
  {
            if(strcmp(GAME[i].xymc,"建管学院"==0))
     ZF[1].fs[1]+=3;
      if(strcmp(GAME[i].xymc,"土木学院"==0))
     ZF[2].fs[2]+=3;
      if(strcmp(GAME[i].xymc,"经管学院"==0))
     ZF[3].fs[3]+=3;
   if(strcmp(GAME[i].xymc,"人文学院"==0))
     ZF[4].fs[4]+=3;
   if(strcmp(GAME[i].xymc,"艺术学院"==0))
     ZF[5].fs[5]+=3;
   if(strcmp(GAME[i].xymc,"电气学院"==0))
     ZF[6].fs[6]+=3;
   if(strcmp(GAME[i].xymc,"建筑学院"==0))
     ZF[7].fs[7]+=3;
  }
  if(GAME[i].mc==7)
  {
            if(strcmp(GAME[i].xymc,"建管学院"==0))
     ZF[1].fs[1]+=1;
      if(strcmp(GAME[i].xymc,"土木学院"==0))
     ZF[2].fs[2]+=1;
      if(strcmp(GAME[i].xymc,"经管学院"==0))
     ZF[3].fs[3]+=1;
   if(strcmp(GAME[i].xymc,"人文学院"==0))
     ZF[4].fs[4]+=1;
   if(strcmp(GAME[i].xymc,"艺术学院"==0))
     ZF[5].fs[5]+=1;
   if(strcmp(GAME[i].xymc,"电气学院"==0))
     ZF[6].fs[6]+=1;
   if(strcmp(GAME[i].xymc,"建筑学院"==0))
     ZF[7].fs[7]+=1;
  }
 
  
 }

    system("pause");         

}

//菜单函数
void menu()
{
 time_t t;
 struct tm *p;
 int n;

 t=time(NULL);
 p=(struct tm *)localtime(&t);

 system("cls");

 printf("                             运动会管理系统                \n");
 printf("          %d-%d-%d  %d:%d:%d\n",p->tm_year+1990,p->tm_mon+1,p->tm_mday,p->tm_hour,p->tm_min,p->tm_sec);
 printf("***********************************************************\n");
 printf("---               1、录入比赛成绩功能                  ----\n");
 printf("---               2、查询各个比赛项目的成绩            ----\n");
 printf("---               3、显示团体总分报表                  ----\n");
 printf("---               4、统计总分                          ----\n");
 printf("---               5、保存数据                          ----\n");
 printf("---               6、读取数据                          ----\n");
 printf("---               7、退出系统                          ----\n");
 printf("***********************************************************\n");

 printf("请输入你的选择(1-7):");
 scanf("%d",&n);

 while(n<0 || n>7)
 {
  printf("亲,输错了,请重新输入(1-7)");
  scanf("%d",&n);
 }
 switch(n)
 {
 case 1: input(); menu(); break;
 case 2: search();menu(); break;
 case 3: sort();  menu(); break;
 case 4: tongji();menu(); break;
 case 5: save();  menu(); break;
 case 6: load();  menu(); break;
 case 7: exit(0); menu(); break;
 }
}
//主函数
void main()
{
 menu();//直接调用

}
搜索更多相关主题的帖子: 重庆大学 大一新生 项目信息 科技学院 比赛结果 
2016-06-21 14:59
SR浮
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-6-21
收藏
得分:0 
怎么没有大神帮忙呢?星期五还要交课程设计报告,求各位万能的网友,大神们帮帮忙
2016-06-21 16:36
SR浮
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-6-21
收藏
得分:0 
回复 3楼 wanglianyi1
c语言我学的实在太差,有些问题连逻辑关系都有错,查询显示统计功能运行不了,不知道是哪里定义错了,还是代码写错了
2016-06-21 17:30
SR浮
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-6-21
收藏
得分:0 
回复 4楼 grmmylbs
2016-06-21 17:31
SR浮
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-6-21
收藏
得分:0 
回复 5楼 grmmylbs
谢谢大神了,但是有个疑问,在你的修改下录入成绩功能,一个项目一次只能录入一个学院的成绩,但是有七个学院呢?这点我该怎么改
2016-06-21 17:38
SR浮
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-6-21
收藏
得分:0 
回复 9楼 grmmylbs
对,一个人只属于一个学院
2016-06-21 17:42
快速回复:求助,请大神修改,教教我,绝对不是请各位帮忙写作业
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.081907 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved