569529989 发表于 2016-6-5 15:47:16

投票系统

054第十章 结构体与共用体02(新版).mp4视频中 投票系统作业,感觉自己编的有点冗余,请大神指正!
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define NUM 10

struct person
{
    char name;
};

void main()
{
    int i, j, max, mark, array={0};
    struct person man;

    printf("欢迎进入良好公民评选投票系统:()\n\n");
    printf("候选人有: 小甲鱼, 苍井空, 松岛枫, 莫丁丁(路人甲)\n\n");

    for (i=0; i<NUM; i++)
    {
      printf("第 %2d 位投票,请写下支持的候选人名字: ", i+1);
      gets(man.name);

      if (!(strcmp(man.name, "小甲鱼")))
            ++array;
      else if (!(strcmp(man.name, "苍井空")))
            ++array;
      else if (!(strcmp(man.name, "松岛枫")))
            ++array;
      else if (!(strcmp(man.name, "莫丁丁")))
            ++array;
    }

    printf("\n");
    printf("小甲鱼 同学得票数为:%2d\n",array);
    printf("苍井空 同学得票数为:%2d\n",array);
    printf("松岛枫 同学得票数为:%2d\n",array);
    printf("莫丁丁 同学得票数为:%2d\n",array);
    printf("\n");

    max = mark = 0;
    for (j=1; j<4; j++)
    {
      if (array > max)
      {
            max = array;
            mark = j;
      }
    }

    switch (mark)
    {
      case (0):printf("本次投票活动的胜利者是: 小甲鱼\n"); break;
      case (1):printf("本次投票活动的胜利者是: 苍井空\n"); break;
      case (2):printf("本次投票活动的胜利者是: 松岛枫\n"); break;
      case (3):printf("本次投票活动的胜利者是: 莫丁丁\n"); break;
    }

    system("pause");
}

569529989 发表于 2016-6-5 16:12:16

能编译通过,能执行,就是感觉代码有点傻,求大神优化!自顶!!
页: [1]
查看完整版本: 投票系统