题目

aaarticlea/png;base64,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" alt="" />

解决代码及点评


/*
4. 将存放在worker1.rec中的职工数据按工资高低排序,
将排好序的各记录存放在 worker2.rec中(用 fread和fwrite函数)。
*/
#include <stdio.h>
#include <stdlib.h>
typedef struct Staff_9_4
{
int num;
char name[30];
char sex[5];
int age;
float salary; } Employee;
/*
读取员工信息
*/
void readAllInfo94(Employee *tempEmp,int fileType)
{
Employee temp;
FILE *fp = NULL;
if (fileType == 1)
{
fopen_s(&fp, "worker1.rec","rb");
}
else if (fileType == 2)
{
fopen_s(&fp, "worker2.rec","rb");
} if (fp)
{
int i = 0;
fread(&temp,sizeof(temp),1,fp);
while(!feof(fp))
{
tempEmp[i] = temp;
printf("num = %d,name = %s,sex = %s,age = %d,salary = %f\n",
tempEmp[i].num,tempEmp[i].name,tempEmp[i].sex,tempEmp[i].age,tempEmp[i].salary);
fread(&temp,sizeof(temp),1,fp);
tempEmp[i] = temp;
i++;
}
fclose(fp);
}
else
{
printf("open file failed!");
}
}
/*
按照工资从高到低排序
*/
void sortAllEmp94(Employee *emp,int n)
{
Employee tempEmp;
for (int i = 0; i < n - 1; i++)
{
for (int j = i + 1; j < n; j++)
{
if (emp[i].salary < emp[j].salary)
{
tempEmp = emp[i];
emp[i] = emp[j];
emp[j] = tempEmp;
}
}
}
} /*
保存员工信息
*/
void saveAllInfo94(Employee * emp,int n)
{
FILE *fp = NULL;
fopen_s(&fp, "worker2.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 main()
{
const int N = 10;
Employee emp[N];
//读取所有员工保存到emp
printf("排序前的数据:\n");
readAllInfo94(emp,1);//参数1表示打开worker1.rec文件
//给emp排序
sortAllEmp94(emp,N);
//保存排序后的员工信息
saveAllInfo94(emp,N);
printf("排序后的数据:\n");
//排序后员工的信息
readAllInfo94(emp,2);//参数2表示打开worker2.rec文件
system("pause");
}

代码编译以及运行

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

1)新建工程

2)选择工程

3)创建完工程如下图:

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

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

6)添加文件

7)拷贝代码与运行

程序运行结果

代码下载

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

解压密码:c.itcast.cn




基于visual Studio2013解决C语言竞赛题之0904文件排序的更多相关文章

  1. 基于visual Studio2013解决C语言竞赛题之0906文件插入

       题目

  2. 基于visual Studio2013解决C语言竞赛题之0515国名排序

     题目

  3. 基于visual Studio2013解决C语言竞赛题之0506选择排序

     题目

  4. 基于visual Studio2013解决C语言竞赛题之0611素数排序

       题目

  5. 基于visual Studio2013解决C语言竞赛题之0908文件合并

       题目

  6. 基于visual Studio2013解决C语言竞赛题之0905文件读写显示

       题目

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

       题目

  8. 基于visual Studio2013解决C语言竞赛题之0902文件查找

       题目

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

       题目

随机推荐

  1. 【Linux命令】mysql数据库常用操作命令

    #数据库操作: #建立数据库 create database data_name #删除数据库 drop database data_name #查看: show databases; #表操作: # ...

  2. 在一个数组中是否存在两个数A、B的和为M

    #include <iostream>#include <algorithm>//#include <vector>using namespace std; int ...

  3. JDK和JRE的差异和区别

    来源:http://docs.oracle.com/javase/7/docs/

  4. Android之判断设备网络连接状态,并判断连接方式

    在Android开发过程中,对于一个需要连接网络的Android设备,对设备的网络状态检测是很有必要的!有很多的App都需要连接网络.判断设备是否已经连接网络,并且在连接网络的状态下判断是wifi无线 ...

  5. eclipse导出doc文档

    选中需要导出的项目, 1 点击eclipse上面的Project,选择Generate javadoc..., 2 然后配置 javadoc command,比如我本地的路径为: C:\Program ...

  6. 深入浅出—JAVA(4)

    4.方法操作实例变量

  7. 关于java中强制转换

    在百度上遇到一个问题,描述如下: 在java中,定义两个变量 byte x = (byte) 128; byte y = (byte)-129; 输出后,为什么结果是-128和128? 借此机会,自己 ...

  8. Java学习笔记51:数组转ArrayList和ArrayList转数组技巧

    ArrayList转数组: public class Test { public static void main(String[] args) { List<String> list = ...

  9. ligh@local-host$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.3

    ligh@local-host$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.3

  10. iOS UIView非常用方法及属性详解

    在调用视图的 Quartz  调用都可以正确地在视图中描画.   视图对象通过 bounds .和 center  属 性声明来跟踪自己的大小和位置.frame 属性包含一个矩形,即边框矩形,用于指定 ...