1、计算机三级数据库技术(上机操作)机试模拟试卷 69及答案与解析 一、程序设计题 1 已知在数据文件 in dat中存有 100个产品销售记录,每个产品销售记录由产品代码 dm(字符型 4位 )、产品名称 mc(字符型 10位 )、单价 dj(整型 )、数量 sl(整型 )、金额 je(长整型 )五部分组成。其中:金额由公式金额 =单价 *数量计算得出。函数 ReadDat()读取这 100个销售记录并存入结构体数组 sell中。请编写函数SortDat(),其功能是:按金额从小到大进行排列。若金额相等,则按产品代码从大到小进行排列最终排列 结果仍存入结构体数组 sell中。最后通过 main(
2、)函数调用函数 WriteDat(),把结果输出到文件 out dat中。 【试题程序】 #include #include #include #define MAX 100 typedef struct char dm5; *产品代码 * char mc11; *产品名称 * int dj; *单价 * int sl; *数量 * long je; *金额 * PR(); PRO sellMAX; void ReadDat(); void WriteDat(); void SortDat() void main() memset(sell 0, sizeof(sell); ReadDat(); SortDat(); WriteDat(); void ReadDat() FILE*fp; char str80, ch11; int i; fp=fopen(“in dat” “r”): for(i=0; isellj je selli je= selli je strcmp(selli dm, selli din)0) *判断条件 * temp: selli; selli=sellj; seni=temp