基于visual Studio2013解决C语言竞赛题之0903文件读写

来源:互联网 发布:淘宝大学武汉商学院 编辑:程序博客网 时间:2024/05/16 06:10





题目


解决代码及点评

/*3.将10名职工的数据从键盘输入, 然后送入磁盘文件worker1. rec 中保存。设职工数据包括:职工号、职工名、性别、年龄、工资,再从磁盘调入这些数据,依次打印出来(用 fread和fwrite函数)。*/#include <stdio.h>#include <stdlib.h>typedef struct Staff_9_3{int num;char name[30];char sex[5];int age;float salary;} Employee;/*保存员工信息*/void saveInfo93(Employee * emp,int n){FILE *fp = NULL;fopen_s(&fp, "worker1.rec","wb");if (fp){for (int i = 0; i < n; i++){fwrite(&emp[i],sizeof(emp[i]),1,fp);}fclose(fp);}else{printf("open file failed!");}}/*读取员工信息*/void readInfo93(){FILE *fp = NULL;Employee tempEmp;fopen_s(&fp, "worker1.rec","rb");if (fp){fread(&tempEmp,sizeof(tempEmp),1,fp);while(!feof(fp)){printf("num = %d,name = %s,sex = %s,age = %d,salary = %f\n",tempEmp.num,tempEmp.name,tempEmp.sex,tempEmp.age,tempEmp.salary);fread(&tempEmp,sizeof(tempEmp),1,fp);}fclose(fp);}else{printf("open file failed!");}}void main(){const int N = 10;Employee emp[N];for (int i = 0; i < N; i++){printf("请输入第%d员工的姓名:\n",(i + 1));scanf_s("%s",&(emp[i].name));printf("请输入第%d员工的性别:\n",(i + 1));scanf_s("%s",&(emp[i].sex));printf("请输入第%d员工的编号:\n",(i + 1));scanf_s("%d",&(emp[i].num));printf("请输入第%d员工的年龄:\n",(i + 1));scanf_s("%d",&(emp[i].age));printf("请输入第%d员工的工资:\n",(i + 1));scanf_s("%f",&(emp[i].salary));}saveInfo93(emp,N);readInfo93();system("pause");}


代码编译以及运行

由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:

1)新建工程

2)选择工程

3)创建完工程如下图:

4)增加文件,右键点击项目

5)在弹出菜单里做以下选择

6)添加文件

7)拷贝代码与运行


程序运行结果






代码下载

http://download.csdn.net/detail/yincheng01/6694119

解压密码:c.itcast.cn