- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网络技术上机100题
产品销售类
1. 已知在文件IN1.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)五部分组成。其中:金额=单价×数量。函数ReadDat()的功能是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从小到大进行排列,若产品名称相同,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT1.DAT中。
注意:部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
【试题程序】
#include stdio.h
#include memory.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()
{
}
main()
{
memset(sell, 0, sizeof(sell)) ;
ReadDat() ;
SortDat() ;
WriteDat() ;
}
void ReadDat()
{
FILE *fp ;
char str[80], ch[11] ;
int I ;
fp = fopen(IN1.DAT, r) ;
for (I = 0 ; I 100 ; I++)
{
fgets(str, 80, fp) ;
memcpy(sell[I].dm, str, 4) ;
memcpy(sell[I].mc, str + 4, 10) ;
memcpy(ch, str + 14, 4) ; ch[4] = 0 ;
sell[I].dj = atoi(ch) ;
memcpy(ch, str +18, 5) ; ch[5] = 0 ;
sell[I].sl = atoi(ch) ;
sell[I].je = (long)sell[I].dj * sell[I].sl;
}
fclose(fp) ;
}
void WriteDat()
{
FILE *fp;
int I ;
fp = fopen(OUT1.DAT, w) ;
for(I = 0 ; I 100 ; I++)
fprintf (fp, %s %s %4d %5d %10ld\n,sell[I].dm, sell[I].mc,sell[I].dj,sell[I].sl,
sell[I].je) ;
fclose(fp) ;
}
【参考答案】
void SortDat()
{
int I,j;
PRO xy;
for( i=0;i99;i++)
for(j=i+1;j100;j++)
{
if(sell[i].mcsell[j].mc) /*按产品名称从小到大进行排列*/
{xy=sell[i]; sell[i]=sell[j]; sell[j]=xy; }
Elseif((sell[i].mc==sell[j].mc)(sell[i].jesell[j].je))
/*若产品名称相同则按金额从小到大进行排列*/
{ xy=sell[i]; sell[i]=sell[j]; sell[j]=xy; }
}
}
2.已知在文件IN2.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)五部分组成。其中:金额=单价×数量。函数ReadDat()的功能是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从大到小进行排列,若产品名称相同,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT2.DA
您可能关注的文档
最近下载
- 解读《保险代理人监管规定》-合规培训课件.pptx VIP
- 2025外研英语四年级上册Unit4 Wonderful seasons 第1课时 Start up 课件.pptx
- 心血管疾病教学课件.ppt VIP
- 海底捞餐饮服务标准化与个性化创新融合研究报告2025.docx
- 2025-2026学年小学信息技术(信息科技)四年级上册甘教版教学设计合集.docx
- 实用洗涤剂配方与制备200例.docx VIP
- 2025在线网课《英国长篇小说( 东北)》单元测试考核答案.pdf VIP
- 标准图集-华北-12N1 供暖工程.pdf VIP
- 医疗器械采购管理制度.docx
- LJ8Q使用说明书客户版发力聚锅炉.pdf VIP
原创力文档


文档评论(0)