小甲鱼的投票系统,经过我修过后的版本!
#include <stdio.h>#include <stdlib.h>
#include <string.h>
/*
*小甲鱼的投票系统,经过我修过后的版本!
*小甲鱼的C语言教程。
*/
#defineCAND 4
#defineVOTE CAND * 2
#define__SAVE_FILENAME__ "WINNER.txt"
struct VOTESYSTEM
{
char name;// 姓名
int vNum; // 票数
}vNum;
char *winner();
int main ( int argc,char *argv [ ] )
{
int i, j;
FILE *fileopen = NULL;
char select;
for ( i = 0; i < CAND; i++)
{
printf("请输入候选人的姓名: ");
scanf("%s", vNum.name);
}
system("pause");
system("cls");
printf("候选人姓名: ");
for ( j = 0; j < CAND; j++)
{
printf("%-2s", vNum.name );
}
putchar('\n');
for ( i = 0; i < VOTE; i++)
{
printf("请输入要投票的候选人: ");
scanf("%s", select);
for ( j = 0; j < CAND; j++)
{
if (strcmp(vNum.name, select) == 0)
{
vNum.vNum++;
break;
}
}
}
struct VOTESYSTEM vTemp;
for (i = 0; i < CAND - 1; i++)
{
for (j = 0; j < CAND - i - 1; j++)
{
if (vNum.vNum < vNum.vNum)
{
vTemp = vNum;
vNum = vNum;
vNum = vTemp;
}
}
}
system("cls");
fileopen = fopen(__SAVE_FILENAME__, "w+");
printf("投票结果\n");
for ( i = 0; i < CAND; i++)
{
fprintf(fileopen, "候选人: %s\t票数: %d\n", vNum.name, vNum.vNum);
printf("候选人: %s\t票数: %d\n", vNum.name, vNum.vNum);
}
printf("获胜者: %s\n", winner());
fprintf(fileopen, "获胜者: %s\n", winner());
return 0;
}
char *winner()
{
int i = 0,
Winner = i;
for (int i = 1; i < CAND; i++)
{
if (vNum.vNum < vNum.vNum)
{
Winner = i;
}
}
return vNum.name;
} 兄弟们,这里本人犯了一个小错误,文件读写完成之后一定要关闭。
不要学我这样,后补的代码 fclose(fileopen);
页:
[1]