看一下这个

来源:百度知道 编辑:UC知道 时间:2024/06/02 06:27:52
http://zhidao.baidu.com/question/44817870.html
文件操作一直没满意答复~
在那个题上回答后拿分

运行了一下你的源码
你有没有看到错误提示pos is out range!
说明有地方越界了
再看看你的程序
for(int i=0;i<=n;i++) //i从0开始
{
g=GetElem(L,i);
ofstr<<g.code<<g.name<<g.minq<<g.curq<<endl;
}

再看看你的
ElemType GetElem(List& L, int pos)//得到线性表中指定序号的元素
{
if(pos<1||pos>L.size)
{
cerr<<"pos is out range!"<<endl;
exit(1);//操作错误返回
}
如果pos小于1 就返回
那么g有怎么能获得正确的值呢
刚才那个贴,我就告诉你看看g有没有获得正确的值了
可以做改动如下
for(int i=1;i<=n;i++) //i从1开始
{
g=GetElem(L,i);
ofstr<<g.code<<g.name<<g.minq<<g.curq<<endl;
}
现在就应该可以写到goods.dat了
当然你的程序还有问题
比如数组一开始需要清空等
这些自己慢慢看吧
我只能给你指点一下

贴下完整代码可否?