鱼C论坛

 找回密码
 立即注册
查看: 3248|回复: 2

投票系统 不管用谁帮我看看

[复制链接]
发表于 2011-5-17 18:09:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 soldier 于 2011-5-19 08:50 编辑

B_W2JQF}E[WW~N9{T@[JDYT.jpg 结构体与共用体 里小甲鱼老师留了一道写投票的课后题 费尽千辛万苦写出来了 但不管用
代码:
  1. #include "stdio.h"
  2. struct toupiao
  3. {
  4.        
  5.         char name[100];
  6. }x[10];



  7. void main()
  8. {
  9.         int i,i1,i2=0,i3=0,i4=0,i5;
  10.        
  11.         printf ("候选语言有: c语言,  汇编语言,  易语言!\n");
  12.        
  13.        
  14.         for (i=0,i1=0; i<10; i++,i1++)
  15.         {
  16.                 printf ("请输入候选语言名称:   ");
  17.                 scanf ("%s",x[i1].name);
  18.                
  19.                
  20.                
  21.                
  22.                 if(x[i1].name=="c语言")
  23.                 {
  24.                         i2++;
  25.                        
  26.                 }
  27.                 else if (x[i1].name=="汇编语言")
  28.                 {
  29.                 i3++;       
  30.                 }
  31.                 else if(x[i1].name=="易语言")
  32.                 {
  33.                         i4++;
  34.                 };
  35.                
  36.                
  37.         };
  38.         printf ("易语言   得票 :  %d\n",i4);
  39.         printf ("汇编语言 得票 : %d\n",i3);
  40.         printf ("c语言    得票 :%d\n", i2);
  41.         if((i4>i3)&&(i4>i2))
  42.         {
  43.                 printf ("得票最多的是 易语言 \n");
  44.                
  45.         }
  46.         else if ((i3>i4)&&(i3>i2))
  47.         {
  48.                 printf ("得票最多的是 汇编语言 \n");
  49.         }
  50.         else if ((i2>i4)&&(i2>i3))
  51.         {
  52.                 printf ("得票最多的是 c语言\n");
  53.                
  54.         };

  55.                
  56.        
  57.        
  58.        
  59.            
  60.             }
复制代码
运行结果:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-18 23:20:22 | 显示全部楼层
本帖最后由 f314191434 于 2011-5-18 23:22 编辑

我倒是从来没有见过c语言中判断字符串是否相等可以这么做-->“x[i1].name=="c语言"”,这是一个错误的语法,应该用strcmp

strcmp
函数原型:int strcmp(char *str1,char *str2);
功能
比较两个字符串str1,str2
返回值:str1<str2,返回负数
str1=str2,返回0
str1>str2,返回正数
包含的头函数:string.h

判断语句修改成这样就行了 if(strcmp(x[i1].name,"c语言"))

c语言不同于c#之类的其他语言,不能直接用=判断字符串是否相等。

评分

参与人数 1鱼币 +4 收起 理由
小甲鱼 + 4 乐于助人奖~

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-19 10:45:34 | 显示全部楼层
进来学习下,新人成长中!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 20:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表