C语言编程问题,请大家帮帮忙 15

程序中输入数据是通过键盘的,请把它改成由磁盘文件读入。把测试数据事先用“记事本”编辑成磁盘文件,存好。在程序中,通过键盘给出文件名(DOS路径),程序自动读入数据#inc... 程序中输入数据是通过键盘的,请把它改成由磁盘文件读入。把测试数据事先用“记事本”编辑成磁盘文件,存好。在程序中,通过键盘给出文件名(DOS路径),程序自动读入数据
#include<stdio.h> //预编译命令
#include<string.h> //预编译命令
#define N 10 //预编译命令
struct worker
{ int num[10],wage,avr;
char name[8];
}wor[N];
void input(int num[],char name[N][8],int wage[]) //输入数据的函数
{
int i;
for(i=0;i<N;i++)
{
printf("\n输入职工号:");
scanf("%d",&num[i]);
printf("输入职工姓名:");
getchar();
gets(name[i]);
printf("输入工资:");
scanf("%d",&wage[i]);
}
}
void main()
{
int i,c,num[N],number,wage[N],flag=1,sum=0,avr;
char name[N][8];
FILE *fp;//文件指针
input(num,name,wage);
sort(num,name,wage);
for(i=0;i<N;i++)//求出总工资
sum+=wage[i];
printf("\n该公司共为职员给出的工资为:%d\n",sum);
avr=sum/N;//求平均工资
printf("该公司的平均工资为:%d",avr);
fp=fopen("d:\\stud","w");//指针指向文件stud
if(fwrite(&wor[i],sizeof(struct worker),1,fp)!=1)//数据存入磁盘文件中
printf("file write error\n");
fclose(fp);//关闭文件
}
展开
 我来答
百度网友1b344793b
2006-09-10 · TA获得超过521个赞
知道小有建树答主
回答量:314
采纳率:50%
帮助的人:0
展开全部
有若干错误,我已经给你改正了。你自己对一对

1)worker存储每一个员工的信息,所以应该没有avr。num应该是一个数,不是数组。
2)主函数main中,worker的数据没有记录就存储了。我把它放在了for循环中
3)求avr,应该转换为float

#include<stdio.h> //预编译命令
#include<string.h> //预编译命令
#define N 10 //预编译命令

struct worker {
int num, wage;
char name[8];
}wor[N];

void input(int num[], char name[N][8], int wage[]) {
int i;
for(i=0; i<N; i++) {
printf("\n输入职工号:");
scanf("%d",&num[i]);
printf("输入职工姓名:");
getchar();
gets(name[i]);
printf("输入工资:");
scanf("%d",&wage[i]);
}
}

void main() {
int i, num[N], wage[N], sum=0;
float avr;
char name[N][8];
FILE *fp;//文件指针

input(num,name,wage);
fp = fopen("d:\\stud.txt","w");//指针指向文件stud
for(i=0;i<N;i++) {
sum += wage[i];
wor[i].num = num[i];
strcpy(wor[i].name, name[i]);
// wor[i].name = name[i];
wor[i].wage = wage[i];
if(fwrite(&wor[i],sizeof(struct worker),1,fp)!=1)//数据存入磁盘文件中
printf("file write error\n");
}
printf("\n该公司共为职员给出的工资为:%d\n",sum);
avr = sum / (float)N;//求平均工资
printf("该公司的平均工资为:%f",avr);
fclose(fp);//关闭文件
getch();
}
waxsabc1985
2006-08-29 · TA获得超过247个赞
知道答主
回答量:129
采纳率:0%
帮助的人:0
展开全部
不懂
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式