学了大概一个月C++,发现果然还是写应用程序适合我=-=
今天写了个投票系统,分享给大家吧OwO~

/*
C++ 投票系统
日期:2015年6月23日15:49:05
作者:A/B 可萌工作室
我们的QQ群:237897946
网站:comOwO.com
转载请保留原作者信息 :)
谢谢!
*/
#include <windows.h>//sleep
#include <stdio.h>
#include <stdlib.h>
#include <iostream>//cin cout
#define maxelect 200//设置最大选举人数 maxelect+1
using namespace std;
int main(){
	//声明
char a[maxelect][maxelect];//储存姓名
int re[maxelect];//储存相同最高票数人
double per;//计算百分比
int sum;//计算共同最高票数人数
int vote;//计算可投人数
int elector;//计算投票者人数
int b[maxelect];//储存票数
int quits;//储存投票序号
int qiquan;//计算弃权票
system("color F0");//改色
// /* 以下是拿来玩的 可删除
cout<<"C++ 投 票 系 统 n";
Sleep (1500);
cout<<"可	萌	工	作	室n";
Sleep (500);
cout<<"Comowo studion";
Sleep (1500);
cout<<"转载时请手下留情,留下原作者信息哦:)n";
Sleep (1500);
system("cls");
// */ !!!!!
sum=1;
qiquan=0;
//初始化
printf("请输入可投人数:");
scanf("%d",&vote);
for (int i=1;i<=vote;i++){//循环读取
printf("请输入第%d位的姓名:",i);
scanf("%s",&a[i-1]);
b[i-1]=0;
}

printf("请输入投票的人数:");
scanf("%d",&elector);

for (int k=1;k<=elector;k++){//开始选举,循环读取票数
//list
system("cls");
printf("现在开始进行投票,投票者名单如下:n");
for (int j=1;j<=vote;j++){//循环列出名单 
printf("%d号 %sn",j,a[j-1]); } 
printf("有请%d号上台投票,请输入有效序号,否则论弃权处理(%d/%d):",k,k,elector); 
scanf("%d",&quits); 
if (quits>elector || quits<=0) {//如果是无效票(大于总选举人数或序号小于等于0)
qiquan+=1;}//算做弃权
else
{
b[quits-1]+=1;//加一票
}

}

//投票过程结束
printf("投票结束,");
system("pause");
system("cls");
printf("现在开始唱票:n");

int gmax;//储存最大票数
int rmax;//储存最大票数人序号
gmax=-1;
rmax=0;

int piao;//临时存储没人票数
for (int p=1;p<=vote;p++){
per= 1.0*b[p-1] / elector;
per=per*100;
Sleep (1000);
printf("%d 号 %s %d 票 %f %% n",p,a[p-1],b[p-1],per);
piao=b[p-1];
if (gmax==piao){//票数相等于储存数值
re[sum]=p;
sum+=1;}
if (gmax<piao){//大于了就清空
for (int w=0;w<=sum;w++){
re[w]=0;
}
re[0]=p;
sum=1;
gmax=piao;
rmax=p;
}
}
printf("%d人弃权n",qiquan);
printf("nnn");
if (sum==1){//只有一个人独揽最高票数
printf("让我们恭喜最终的嬴家:%d 号同学 %s !!!n",rmax,a[rmax-1]);
printf("他获得的票数是 %d 票!!!n",gmax);
system("pause");}
else{//有一个人以上
printf("投票已结束,以下同学票数最高且相同:n");
for (int u=1;u<=sum;u++){
printf("%d号 %s同学 %d票n",re[u-1],a[re[u-1]-1],gmax);
}
system("pause");

return 0;

}
}