首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知在数据文件in.dat中存有100个产品销售记录,每个产品销售记录由产品代码din(字符型4位),产品名称me(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额一单价*数量。函数ReadDat()读取这100
已知在数据文件in.dat中存有100个产品销售记录,每个产品销售记录由产品代码din(字符型4位),产品名称me(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额一单价*数量。函数ReadDat()读取这100
admin
2013-12-10
62
问题
已知在数据文件in.dat中存有100个产品销售记录,每个产品销售记录由产品代码din(字符型4位),产品名称me(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额一单价*数量。函数ReadDat()读取这100个销售记录并存人结构数组sell中。请编写函数SortDat(),其功能要求:按金额从小到大进行排列,若金额相等。则按产品代码从小到大进行排列,最终排列结果仍存人结构数组sell中。最后main()函数调用函数WriteDat()把结果输出到文件out.dat中。
【试题程序】
#include
#include~string.h>
#include
#define MAX 100
typedef struct{
char dmE5]; /*产品代码*/
char mc[11]; /*产品名称*/
int dh\*单价*/
int s1; /*数量*/
long je; /*金额*/
}PRO;
PRO sell[MAX];
void ReadDat();
void WriteDat();
void SortDat()
{
}
void main()
{
memset(sell,0,sizeof(sell));
ReadDat();
SortDat();
WriteDat();
}
void ReadDat()
{
FILE*fp;
char strE80],ch[11];
int i,
fp=fopen(”in.dat”,”r11);
for(i=0;i<100Ii++){
fgets(str,80,fp),
memcpy(sellEi].dm,str,4);
memcpy(sell
.me,str+4,10);
memcpy(ch,str+14,4);ch[4]=0;
sell
.dj=atoi(ch);
memcpy(ch。str+18,5)Ich[5]=0;
sell
.sl=atoi(ch);
sell
.je=(10ng)sell
.ai*sellEi].sl,
}
fclose(fp);
}
void WriteDat()
{
FILE*fp;
int i;
fp=fopen(“out.dat”,“W”);
for(i=0;i<<100;i++){
fprintf(fp,“%s%s%4d%Sd OA 101d\n”,
sell
.dm,sell
.mc,sell
.dj,sell
.sl,sell
.je);
}
fclose(fp);
}
选项
答案
void SortDat() { int i,j ; /*定义变量*/ PRO temp; for(i一0;i
sell[j].je||sell[i].je== sell[j].je&&strcmp(sell[i].dm,sell[j].dm)>0) /*判断条件*/ { temp—sellEi]; sell[i]=sellPj]; sellEj]:templ } }
解析
转载请注明原文地址:https://kaotiyun.com/show/UblZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
一个关系数据库文件中的各条记录
关系数据库管理系统应能实现的专门运算包括
在PowerBuilder应用程序中,对数据库数据的操作是通过下列哪一个对象进行的?
在关系数据库中,表(table)是三级模式结构中的
为保证对故障恢复的支持,登记日志记录时必须先把日志记录写到外存的日志文件中,再把相应的数据库修改写到外存的数据库中。这称作【】原则。
随机试题
下列属于资产负债表流动资产项目的内容有()。
金属茶具的清洁一般用热水清洗后再用冷水冲洗
绵羊、山羊和鹿这类动物总是在秋天进入生殖期,这主要是因为()
女性,5个月,因腹泻1天入院,腹泻30次,已为泻下无度,质稀如水,色黄混浊,小便10小时未解,皮肤干燥,目眶及前囟凹陷,啼哭无泪,烦躁不安,口渴引饮,齿干唇红,舌绛无津,属何变证
A、柔红霉素B、环磷酰胺C、阿糖胞苷D、紫杉醇E、雌激素干扰核酸生物合成的药物是
根据社会保险法律制度的规定,失业人员在领取就业保险金期间,下列情形中,应当停止领取失业保险金,并同时停止享受其他失业保险待遇的有()
1,3,12,45,171,()
不授予专利权的有()。
Readthetextsfromabookinwhichfivepeopletalkedaboutclimate.Forquestions61to65,matchthenameofeachperson(61
Sowhatisbullyingintheworkplace?Accordingtotheexperts,ittakesmanyforms,includingunfairlytreated,public【B1】_____
最新回复
(
0
)