文号
t73864
阅读
6259
回复
2
收藏
2
C语言设计统计选票的程序
2015/10/04
IP:福建
设计一个统计选票的程序,一共3个候选人,在屏幕上显示个人得票结果,并且输出到文件中。

屏幕上显示的没问题,但是打开文件就没法正确显示。怎么改过来呢?
#include "string.h"
#include "stdio.h"
struct person
{char name[20];
    int count;
} leader[3]={"li",0,"zhang",0,"sun",0};
    void main()
{  FILE * fp;
int i,j;
char leader_name[20];
   for(i=1;i<=10;i++)
   { scanf("%s",leader_name);
   for(j=0;j<3;j++)
       if(strcmp(leader_name,leader[j].name)==0)leader[j].count++;
   }
   if((fp=fopen("XUANPIAORESOULR.dat","w"))==NULL)
   {printf("can't open file!\n");
   return;}
   printf("\nRESOULT:\n");
  for(i=0;i<3;i++)
  {  fwrite(&leader[i],sizeof(struct person),1,fp);
    
     printf("%5s:%d\n",leader[i].name,leader[i].count);
  }
  getch();
}
11年2个月前IP:四川
792236
1楼
fwrite是输出二进制数据。输出文本数据应该用fputs或fprintf
引用
评论
11年2个月前IP:四川
792238
2楼
如果让我设计程序的话,我会把'1'视为投给候选人1,'2'视为投给候选人2,'3'视为投给候选人3,'0'视为弃权,这样更好操作一些[s::lol]
引用
评论
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的