| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1226 人关注过本帖
标题:[求助]线性表管理商品库存表的代码问题
只看楼主 加入收藏
guanjun
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-10-11
收藏
 问题点数:0 回复次数:4 
[求助]线性表管理商品库存表的代码问题
#include<iostream.h>
#include<stdlib.h>
#include<iomanip.h>
#include<string.h>
#include<fstream.h>
const int maxsize=10;
struct goods //商品纪录类型
{
char code[5]; //商品代号
char name[15]; //商品名称
int minq; //商品库存量
int curq; //当前库存量
};
typedef goods elemtype;
struct List{
elemtype list[maxsize];
int size;
};
int operator ==(const elemtype& e1,const elemtype& e2)
{
return (strcmp(e1.code,e2.code) ==0);
}
int operator <(const elemtype& e1,const elemtype& e2)
{
return (strcmp(e1.code,e2.code) ==-1);
}
ostream& operator <<(ostream& ostr,const elemtype& x)
{
ostr<<x.code<<setw(12)<<x.name<<setw(4)<<x.minq<<setw(4)<<x.curq<<endl;
return ostr;
}
#include"list.h"
void setupgoodslist(list&l, char*fname)
{
ifstream ifstr(fname,ios::in|ios::nocreate);
if(!ifstr){
cerr<<"file 'goods'not found!"<<endl;
exit(1);
}
goods g;
while(ifstr>>g.code){
ifstr>>g.name>>g.minq>>g.curq;
insertrear(l,g);
}
ifstr.close();
}
void writegoodsfile(char*fname, list&l)
{
ofstream ofstr(fname);
if(!ofstr){
cerr<<"file'good'no create!"<<endl;
exit(1);}
goods g;
int n=listsize(l);
for(int i=1;i<=n;i++){
g=getelem(l,i);
ofstr<<g.code<<" "<<g.name<<" "<<g.minq<<" "<<g.curq<<endl;
}
ofstr.close();
}
void main()
{
list l2; //说明一个线性表l2
initlist(l2); //初始化l2
setupgoodslist(l2,"a:goods.dat"); //把文件"a:goods.dat"中的记录顺序读到线性表l2中
int i,flag=1;
while(flag) //当flag为真时执行循环
{
cout<<"1 打印整个库存表"<<endl;
cout<<"2 修改库存表中的记录"<<endl;
cout<<"3 删除库存表中的记录"<<endl;
cout<<"4 对库存表排序"<<endl;
cout<<"5 结束处理过程"<<endl;
cout<<"输入你的选择";
cin>>i:
while(i<1||i>5){
cout<<"请重新输入选择(1~5):";
cin>>i;
}
cout<<endl;
switch(i)
{
case 1: //打印
traverselist(l2);
break;
case 2: //修改
goods.g;
int x;
cout<<"输入待修改的商品代号:";
cin>>g.code;
if(find(l2,g)){
cout<<"输入该商品的修正量:";
cin>>x;
g.curq+=x;
update(l2,g);
}
else
{
cout<<"输入新商品记录的其余字段的内容:"<<endl;
cin>>g.name>>g.minq>>g.curq:
insertrear(l2,g);
}
break;
case 3: //删除
cout<<"输入待删商品的商品代号:"
cin>>g.code:
delete(l2,g);
break;
case 4: //排序
sort(l2);
break;
case 5: //结束
cout<<"本次处理结束,再见!"<<endl;
flag=0;
}
}
writegoodsfile("a:goods.dat",l2); //把处理后的线性表重新写回到原文件中
}


上面的代码俺在编译时出现list.h的错误提示,是不是头文件没有啊,哪个大虾可以帮俺完整一下喃?在线急等.........
搜索更多相关主题的帖子: 线性 库存 商品 include int 
2006-10-11 20:24
guanjun
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-10-11
收藏
得分:0 
从网上看咯一些论坛,我估计我的线性表的各种操作函数没有写在"list.h"中,但是我试着写咯好几次都没有写对,请各位大虾帮忙写下线性表的各种操作函数.............

2006-10-11 21:24
woodhead
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:1124
专家分:0
注 册:2005-7-18
收藏
得分:0 
代码没仔细看,
标准模板库里已经有了一个list了,你换个类名试试

2006-10-12 10:02
guanjun
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-10-11
收藏
得分:0 
谢谢提醒,问题已经解决!!!!!!!!!!

2006-10-12 12:33
longyunji
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2021-4-3
收藏
得分:0 
想问一下完整代码
2021-04-03 18:22
快速回复:[求助]线性表管理商品库存表的代码问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.072100 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved