对候选人得票进行统计,现有候选人3位:分别是 Lisi,Zhangsan,Wuting
候选人信息类型:包括候选人姓名姓名,票数
in.txt文件中保存者所有的投票记录(候选人名字),从in.txt文件中读取候选人名字,为相应的候选人计票。
将投票统计结果 (每位候选人的姓名及票数)输出到out.txt文件中
提示:判断字符串比较函数 strcmp( )==0 ,可确定字符串是否是对应的候选人
了解一下结构体和文件的结构化读写操作,就明白了。没有那么难!
供参考:
#include <stdio.h>
#include <string.h>
#define N 3
struct SPerson
{
char name[20];//姓名
int num; //票数
}stu[N] = {{"Lisi",0},{"Zhangsan",0},{"Wuting",0}};
int main()
{
FILE *fp;
int i,j,k,n;
char x[20]={0};
fp = fopen("in.txt", "rt");
if (fp){
while (1){
if (fscanf(fp,"%s", x) == 1){
for (j = 0;j < N; j++)
{
if (!strcmp(stu[j].name, x)){
stu[j].num++;
break;
}
}
}
else
break;
}
fclose(fp);
}
else{
printf("open file error.");
return 1;
}
fp = fopen("out.txt", "wt");
if (fp){
for(i=0;i < N;i++) //输出到文件 out.txt
fprintf(fp,"%s %d\n",stu[i].name, stu[i].num);
fclose(fp);
}
return 0;
}