HR2112 发表于 2015-8-8 00:29:55

求救:投票系统的一个疑问

问题描述:代码可以运行,就只有 魏 的得票数显示不出来;如果输入的全部是 魏,那么则可以输出 魏 的得票数为10;但是只要有一个不是 魏,那么 魏 的得票数就显示不出来。   这是哪里错了????
源代码:#include<stdio.h>
#include<string.h>
void main()
{
        int i,a=0,b=0,c=0,d=0;
      char z="曾";
        char h="黄";         // 声明四个候选人名字
        char l="李";
        char w="魏";


    struct person               //定义结构体,保存投票
        {
          char x;
        };

struct person name;         //定义结构变量数组

printf("欢迎进入;良好公民评选投票系统:<>\n");   //欢迎语
printf("\n候选人有: 曾,黄,李,魏\n\n");      //提示语


   for(i=1;i<=10;i++)
   {
      printf("第%d位投票,请写下支持的候选人名字: ",i);       // 进行投票及保存
      gets(name.x);
   }

   for(i=1;i<=10;i++)
       {
           if(strcmp(name.x,z)==0)
             a++;
           else if(strcmp(name.x,h) ==0 )// 投票名与候选人名字对比,一致则+1票
             b++;
       else if(strcmp(name.x,l) ==0 )
             c++;
           else if(strcmp(name.x,w) ==0 )
             d++;
          
       }

printf("\n");

printf("曾 同学得票数为:%d\n",a);
printf("黄 同学得票数为:%d\n",b);   // 输出各个候选人得票数
printf("李 同学得票数为:%d\n",c);
printf("魏 同学得票数为:%d\n",d);

}
// 魏 的得票数显示不出来?,其他得票数可以正常显示

HR2112 发表于 2015-8-8 00:32:30

和上一个贴一样的问题,上贴没人回,估计是代码没复制好,所以重发一贴。这题纠结了好久了

HR2112 发表于 2015-8-8 01:05:52

原来是i= 0~9

笑脸对世界 发表于 2015-8-8 11:15:17

刚学,好厉害的样子:lol:

笑脸对世界 发表于 2015-8-8 11:17:34

帮顶一下,自己解决啦:lol:

会飞的鱼儿wxy 发表于 2015-8-20 16:13:12

本帖最后由 会飞的鱼儿wxy 于 2015-8-20 16:19 编辑

选择语句不要用else if,去掉else试试
或者把最后一个else if改成else

某。 发表于 2015-10-2 19:48:28

运行出来是对的,,,,

某。 发表于 2015-10-2 20:17:01

代码 似乎 有问题
不是 很清楚
改为 i=0;i<10;i++
似乎好了。
调试 可以看出问题
但是不懂原因,,,
页: [1]
查看完整版本: 求救:投票系统的一个疑问