会C语言编程的来 不要C++ 是C语言 基础的

来源:百度知道 编辑:UC知道 时间:2024/06/16 05:05:12
问题描述:
在数据处理中经常需要对大量数据进行汇总,将相同关键字记录的某些数据项的值叠加起来,生成一个分类汇总表。
假设某超级市场销售有m种商品(假设商品的编号为1,2,3,┅┅,m),有n台前台收款机(假设收款机的编号为1,2,3,┅┅,n)进行收款,以记录的形式提供给计算机,每个记录表示某台收款机的一种商品一次交易的数量和销售额。记录由4个域组成:收款机编号、商品编号、销售数量、销售金额。构造一个结构体类型,每次销售数据以一个结构体变量保存在一个数据文件中。
实现要求:
⑴ 编写实现将数据记录插入到数据文件的最后的函数;
⑵ 编写以收款机为单位的数据分类处理函数。构造n个单链表,每个链表保存一台收款机的销售记录,这n个单链表的头指针存放在一个指针数组中,通过数组的下标就可以知道是哪台收款机。读取数据文件的记录,将所有的销售记录(数据文件中的全部记录)分解插入到n个单链表;
⑶ 统计每台收款机的销售总额;
⑷ 编写以商品为单位的数据分类处理函数。构造m个单链表,每个链表保存一种商品的销售记录,这m个单链表的头指针存放在一个指针数组中,通过数组的下标就可以知道是哪种商品。读取数据文件的记录,将所有的销售记录(数据文件中的全部记录)分解插入到m个单链表;
⑸ 以商品为单位,统计每种商品的销售总额。
⑹ 设计一个菜单,具有插入数据记录、按收款机统计销售总额、按商品统计销售总额、退出系统等最基本的功能。
要求 可以不做完 但必须要完成第5小问 不要用C++的字符 是C语言
1楼的 我看不明白

简单说下吧。写代码太多了。
假如有一个文件 record.txt
内容假如是:
1 1 23 3 // 记录的4个域的数值
2 3 43 4 //
首先是读入文件fopen函数,怎么用自己linux下man下或者baidu
然后fget函数,取得一行的内容,
解析一行的用字符串处理函数,strsep什么的,具体的忘了,有好多,是在string.h里面
数据插入数据文件最后用fwrite函数,把偏移量指到文件的最后。
这个是第一题
第二题
链表结构 struct node{
int a,b,c,d; //域值

}
比如要建立n个,就
struct node *dstart = (struct node*)malloc(n*sizeof(node));
dstart[0].a = A; //A来源于record.txt中读取的数据。见上面写的。
dstart[0].b = B;

。。。
有别的事了。后面都差不多。慢慢自己学点吧。