1、目的: 掌握C语言中文件的读写操作。 2、基本要求: 编制程序将从键盘输入的数据保存到磁盘数据文件中

快点解答,谢谢1、目的:掌握C语言中文件的读写操作。2、基本要求:编制程序将从键盘输入的数据保存到磁盘数据文件中,并能从该文件中读取数据,按要求对每个侯选人进行选票统计,... 快点解答,谢谢
1、目的:
掌握C语言中文件的读写操作。
2、基本要求:
编制程序将从键盘输入的数据保存到磁盘数据文件中,并能从该文件中读取数据,按要求对每个侯选人进行选票统计,最后将统计结果保存到磁盘文件中。
提交程序设计流程图和设计说明书。
3、问题描述:
程序首先提示用户输入选民人数,分别对10个侯选人进行选举投票,将选民的投票信息存入到选票数据文件countin.dat,数据存放格式为:每条记录长度均为10位,从低位到高位依次表示每个人的选中情况,0表示未选中,1表示选中,全选或不选均为无效选票。编制程序,依据该文件统计每个侯选人的得票数,将得票数依次存入数组元素count[1] ~count[10],并把结果输出到磁盘文件countout.dat中。
4、实现过程和步骤提示:
程序启动后出现候选人名单和对应选票数,然后要求输入选民人数,选民可以通过输入候选人名称或编号来投票,每投一票,候选人得票数相应的加1。投票结束,显示最终结果,按得票数高低排序显示。
展开
 我来答
heartfleet
2011-03-28 · TA获得超过248个赞
知道答主
回答量:135
采纳率:0%
帮助的人:119万
展开全部
我写过这个程序 现在找找看

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

struct person//选举程序
{
int age;
char *name;
//char gender;
int count;

};
struct person leader[3]={{20,"liming",0},{21,"dinghu",0},{20,"lili",0}};//选举人数 3人
void main()
{
FILE *fp;

if((fp=fopen("countout.dat","w"))==NULL)
{
printf("can,t open the file!");
exit(0);
}

for(int i=0;i<10;i++)// 选举的投票数
{

loop: char s[20];
int flag=0;
printf("the name of getting people is:\n");
scanf("%s",s);

for(int j=0;j<3;j++)
{

if(strcmp(leader[j].name,s)==0)
leader[j].count++;
else
flag++;
}
if(flag==3)
{
printf("The Input name is ERROR!\n");
goto loop;//goto 语句不要多用

}
}
for(i=0;i<3;i++)
{
printf("%5s:%d%4d\n",leader[i].name,leader[i].count,leader[i].age);
fprintf(fp,"%s %d %d",leader[i].name,leader[i].count,leader[i].age);

}
fclose(fp);

}

从前写的 10张选票 3个候选人 只要改动 候选人的个数和 选票的张数即可
更多追问追答
追问
选民人数要自己输进去,还有1个选民可以多个选择只要不全选,所以麻烦帮忙改下可以吗?谢谢啦
追答
字数超了,留下你的邮箱我发给你吧!应该能满足你的要求了
aplus2000
2011-03-28 · TA获得超过130个赞
知道小有建树答主
回答量:1229
采纳率:0%
帮助的人:409万
展开全部
写文件用fwrite,读输入用scanf。
锐英源有专业的C语言指导,欢迎来学,全面能力综合教材海量源码因人施教,保证掌握工作能力。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式