回 帖 发 新 帖 刷新版面

主题:程序设计题,一点头绪都没啊

已知在E盘子目录“数据”中文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四部分组成。其中:金额=单价*数量计算得出。请编制程序,要求:
(1)函数ReadDat()读取这100个销售记录并存入结构数组sell中;
(2)函数SortDat(),其功能为:按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中;
(3)函数WriteDat()的功能是把结果输出到D盘子目录“产品\输出”下的文件OUT.DAT中。(36分)
    程序开始部分如下(不得修改):
    #include<stdio.h>
    #include<mem.h>
    #include<string.h>
    #include<conio.h>
    #include<stdlib.h>
    
           #define MAX 100
        typedef struct{
    char dm[5]; /*产品代码*/
    char mc[11]; /*产品名称*/ 
    int dj; /*单价*/
    int sl; /*数量*/ 
    long je; /*金额*/
}PRO;
PRO sell[MAX];
void ReadDat();
void WriteDat();
void SortDat();
    
void main(){
memset(sell,0,sizeof(sell));
ReadDat();
SortDat();
WriteDat();
}

回复列表 (共6个回复)

沙发

这个  比我们数据结构 课程设计有意思多了。我们的题目网上都找的到。

板凳

有多难啊,真是的!!!

3 楼

$$$

4 楼

1. 用fscanf循环读取数组到结构数组sell[MAX]中去;
2. 依产品代码降序快速排序结构数组;
3. 查找一段产品代码相同的数据,将这段数据按金额降序快速排序;
4. 用fprintf将已排序的结构数组数据写入文件。

基本的思路就是这样

5 楼

[quote]1. 用fscanf循环读取数组到结构数组sell[MAX]中去;
2. 依产品代码降序快速排序结构数组;
3. 查找一段产品代码相同的数据,将这段数据按金额降序快速排序;
4. 用fprintf将已排序的结构数组数据写入文件。

基本的思路就是这样[/quote]
关键是我自己几乎放弃了文件,结构体这部分。。
现在挺惨的[em7]

6 楼

放弃???还是忘记?学呗!!!

我来回复

您尚未登录,请登录后再回复。点此登录或注册