题目

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. [译]Stairway to Integration Services Level 11 - 日志配置

    介绍 在前一个章节我们讨论了事先行为,分享了如何操作默认的行为和时间冒泡,并且介绍了父子模型. 本文中,我们会配置SSIS日志. 进行简单及高级日志配置,存储,和检索的实验.并且生成自定义日志信息. ...

  2. FreeCodeCamp:Confirm the Ending

    要求: 检查一个字符串(str)是否以指定的字符串(target)结尾. 如果是,返回true;如果不是,返回false. 结果: confirmEnding("Bastian", ...

  3. CSS——图片替换方法比较

    图片替换主要是指将文字替换成图片的技术,即在html语句中使用文字,浏览器显示时用对应的图片显示.其意义在于便于做网站优化(SEO),文字才是搜索引擎寻找的主要对象. 经典的替换方法: Fahrner ...

  4. apache加载php模块失败

    LoadModule php5_module "G:/php54/php5apache2_2.dll" apache2 conf加入这个之后无法加载 解决办法 在这句之前加入PHP ...

  5. U-Boot在FL2440上移植(三)----支持NAND Flash

    <一>支持NAND Flash 1. 首先在配置文件 include/config/fl2440.h 的宏 CONFIG_COMMANDS 中增加 CFG_CMD_NAND, #defin ...

  6. 转:C++:从子类访问父类的私有函数

    众所周知,c和c++的数组都是不安全的,因为无论c还是c++都不提供数组边界检查功能,这使得数组溢出成为可能.从某个意义上说,c和c++是一种缺少监督的语言,然而这也正是其魅力所在.c++给予程序员更 ...

  7. Vim中如何全选并复制?

    全部删除:按esc后,然后dG全部复制:按esc后,然后ggyG 全选高亮显示:按esc后,然后ggvG(这个好像有点问题)或者ggVG正确 vim如何与剪贴板交互(将vim的内容复制出来) 习惯了在 ...

  8. Hadoop Hive与Hbase整合+thrift

    Hadoop Hive与Hbase整合+thrift 1.  简介 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句 ...

  9. poj 3053 Fence Repair(优先队列)

    题目链接:http://poj.org/problem?id=3253 思路分析:题目与哈夫曼编码原理相同,使用优先队列与贪心思想:读入数据在优先队列中,弹出两个数计算它们的和,再压入队列中: 代码如 ...

  10. Oracle Licensing

    Oracle根据什么来计算License的? Unlimited License Agreements Unlimited License Agreements通常简称ULA,表示在一个固定期限内(2 ...