首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

用C语言编高校录取管理系统解决思路

2012-02-14 
用C语言编高校录取管理系统[问题描述]模拟高校旧录取流程,现有4个学校,4个考生,每位考生填写1个志愿,录取

用C语言编高校录取管理系统
[问题描述]   模拟高校旧录取流程,现有4个学校,4个考生,每位考生填写1个志愿,录取规则如下:每个学校同时按志愿进行录取
一、系统功能
1、录入:
(1)学校信息:编号、名称
(2)考生信息:编号、姓名、分数、志愿
2、查询和统计:
按考生编号查询录取情况,包括编号、姓名、填写志愿信息、录取学校编号


下面是我编的程序,但就是在查询时输出的录取学校编号有误,请高手帮帮忙
#include <stdio.h>
#define   M   3
#define   N   4
struct   school
{
                int   num;
                char   name[30];

}sch[M]={{1, "zhejianguniversity "},{2, "ningbouniversity "},{3, "wenzhouuniversity "}};
struct   student
{
                int   num;
                char   name[8];
                int   score;
                int   ruqu;
                char   will[20];
}stu[N];
int   main()
{       //菜单化界面
  printf( "##############################\n ");
  printf( "##         高校录取管理系统             ##\n ");
  printf( "##############################\n ");
  printf( "**********   系统功能   **********\n ");  
        printf( "**********   录入功能   **********\n ");
        printf( "**********   查找功能   **********\n ");
  printf( "**********   统计功能   **********\n ");
  printf( "**********   信息输出   **********\n ");
  printf( "zhejianguniversity---------------1\n ");
  printf( "ningbouniversity-----------------2\n ");
  printf( "wenzhouuniversity----------------3\n ");
  printf( "******************************\n ");
  printf( "*           按   “1”键进入系统           *\n ");
  
        void   print(struct   student   stu[]);
        void   luqu(struct   student   stu[]);
        void   chaxun(struct   student   stu[]);
  int   a,i;
  scanf( "%d ",&a);
if(a==1)
    {   printf( "**********   录入功能   **********\n ");
        {   printf( "   警告:请按学生的成绩高低输入\n ");
            printf( "请输入学生的学号,姓名,成绩,志愿\n ");
            printf( "\n ");
       for(i=0;i <N;i++)
            {
              printf( "学生%d\n ",i+1);
         printf( "           学号: ");
         scanf( "%d ",&stu[i].num);
         printf( "           姓名: ");
              scanf( "%s ",&stu[i].name);
              printf( "           成绩: ");
         scanf( "%d ",&stu[i].score);
         printf( "         志愿: ");
         scanf( "%s ",&stu[i].will);
              printf( "\n ");


            }

        print(stu);
      }
    }  
else
    {     printf( "   无法进入系统\n ");
        return   (0);     }


    //录取功能
    luqu(stu);


        //查找功能
  printf( "\n ");
        printf( "**********   查找功能   **********\n ");
      chaxun(stu);
}
void   print(   struct   student   stu[])
{
      int   i;

        {printf( "\n你输入的信息为: ");
          printf( "\n ");
          printf( "\n         NO.               name               score                 志愿\n ");
          for(i=0;i <N;i++)
              {   printf   ( "学生     %d               %s               %d             %s\n ",stu[i].num,stu[i].name,stu[i].score,stu[i].will);
                  printf( "\n ");     }
        }

}


void   luqu(struct   student   stu[])
{   int   i;
for(i=0;i <N;i++)
{
                if(stu[i].will==sch[0].name)stu[i].ruqu=1;
                else   if(stu[i].will==sch[1].name)stu[i].ruqu=2;
                else   if(stu[i].will==sch[2].name)stu[i].ruqu=3;
}
}


void   chaxun(struct   student   stu[])
{       int   i,j,flag;
        printf( "请输入您想查询的学生的学号: ");
        scanf( "%d ",&j);
        flag=1;
        for   (i=0;i <N;i++)
            {   if(j==stu[i].num)
                      {printf( "学生:%d\n ",stu[i].num);
                      printf( "学生姓名:   %s       志愿:   %s               录取学校编号:%d\n ",stu[i].name,stu[i].will,stu[i].ruqu);
                      flag=0;}
            }
        if(flag==1)
                printf( "没有你要查询的学生 ");
}

[解决办法]
zycy(混世魔王) ( ) 信誉:100
;;;;;
已经说对了,字符串不能作为整体比较,要一个字符一个字符比较,strcmp()函数可以帮你实现
strcmp(a,b);a> b,返回大于零的数
      a=b,返回0
      a<b,返回 小于零的书

热点排行