本篇文章是在学习c语言结构体过程中得一个简单的投票系统程序。很简单应用了strcmp函数进行了比较。很简单但花了一上午才调通,看来我这编程还有点加强啊。不过也对自己是一个提升继续加油。话不多说直接上代码。代码有注释就不一一解释了。在Microsoft Visual C++上运行的程序,不太懂在结束while循环中需要两侧ctrl+z再加上Enter键

 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<stdlib.h>
 4 
 5 struct vote
 6 {
 7     int num;       //投票数
 8     char *name;    //城市名称
 9 }people1,people2,people3;
10 
11 void main()
12 {
13     people1.num=0;            
14     people2.num=0;
15     people3.num=0;
16     people1.name="北京";
17     people2.name="西安";
18     people3.name="郑州";
19     printf("请为以下城市中您喜欢的城市进行投票:1、北京;2、西安;3、郑州,4、其他\n");
20     int num=0;              //记录其他城市的投票数
21     char *name;
22     name=(char*)malloc(sizeof(char));     //功能是开辟新的地址,要是没有这一行,下面while循环就只能输入一次,原因应该是没有开辟新的地址,无法再输入吧
23 
24     
25     while(scanf("%s",name)!=EOF)
26     {
27         if(strcmp(name,people1.name)==0)       //简单的字符串比较
28         {
29             people1.num++;
30         }
31         else if(strcmp(name,people2.name)==0)
32         {
33             people2.num++;
34         }
35         else if(strcmp(name,people3.name)==0)
36         {
37             people3.num++;
38         }
39         else
40         {
41             num++;
42         }
43     }
44     
45     printf("%s得票数为%d\n%s得票数为%d\n%s得票数为%d\n其他得票数为%d\n",people1.name,people1.num,people2.name,people2.num,people3.name,people3.num,num);
46     
47 }