题目

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. VC++6.0打开文件出错的解决办法

    1.下载http://support.microsoft.com/kb/241396里面的一个叫FileTool.exe的文件并解压,解压后是一个vc工程,用vc6.0打开工程,编译,得到FileTo ...

  2. Tableau 群集部署

    由于公司连续两个月月底Tableau服务器过载崩溃,因此有了搭建Tableau服务器群集的想法.目前还在测试阶段,所以做一步写一步了. 目录: 一.安装和配置工作服务器 二.其他参考文档 一. 安装和 ...

  3. Two Sum-n方优化与C++map的使用

    LeetCode第一题,刚拿到题目时虽然明知道n方的遍历算法会超时,但还是不信邪的提交了一次,然而编程不存在运气,TLE不可避免.但是之后的思维方式比较直接,我并没有立刻想到O(n)的方法,想了一种先 ...

  4. OpenSSL命令---rsa

    用途: Rsa命令用于处理RSA密钥.格式转换和打印信息.其实其用法和dsa的差不多. 用法: openssl rsa [-inform PEM|NET|DER] [-outform PEM|NET| ...

  5. [LeetCode]题解(python):024-Swap Nodes in Pairs

    题目来源: https://leetcode.com/problems/swap-nodes-in-pairs/ 题意分析: 给定一个链表,每两个相邻节点就行交换.比如1->2->3-&g ...

  6. Kqueue与epoll机制

    首先介绍阻塞与非阻塞:阻塞是个什么概念呢?比如某个时候你在等快递,但是你不知道快递什么时候过来,而且你没有别的事可以干(或者说接下来的事要等快递来了才能做):那么你可以去睡觉了,因为你知道快递把货送来 ...

  7. Eclipse中DTD验证导致无法进行代码提示的问题(转)

    eclipse的xml插件进行dtd验证的时候由于找不到dtd或请求主机相应超时,会出现黄色的警告 The file cannot be validated as the host "www ...

  8. 图的BFS代码

    图是严蔚敏书上P168的图, 图的邻接表存储,DFS可以看以前写的文章:http://www.cnblogs.com/youxin/archive/2012/07/28/2613362.html ]; ...

  9. poj 2833 The Average(堆)

    题目链接:http://poj.org/problem?id=2833 思路分析:由于数据量较大,超出存储范围,使用不能使用数组存储数据在进行排序.考虑维护一个最大堆与最小堆,依次读取数据, 记录数据 ...

  10. stm32之Systick(系统时钟)

    Systick的两大作用: 1.可以产生精确延时: 2.可以提供给操作系统一个单独的心跳(时钟)节拍: 通常实现Delay(N)函数的方法为: for(i=0;i<x;i++) ; 对于STM3 ...