| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 508 人关注过本帖
标题:麻烦帮我看一下哪里出问题了,一头雾水
只看楼主 加入收藏
l9958958
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-6-27
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
麻烦帮我看一下哪里出问题了,一头雾水
#include<iostream>
#include<fstream>
#include<string>
#include<stdlib.h>
#include<iomanip>
using namespace std;
class product
{
    public:
        void put();//入库
        void sell();//销售
        void search();//查找
        void all();//查看库存
        void jiesuan();//结算
        void cmd();//查看指令
    private:
        int id;
        string name;
        int price;//价格
        int number;

};
//入库
void product::put()
{
    fstream infile;
    infile.open("txt.txt",ios_base::out|ios_base::app);
    if(!infile)
        cout<<"无法打开文件"<<endl;
        cout<<"请输入商品编号"<<endl;
        cin>>id;
        cout<<"\n请输入商品名称"<<endl;
        cin>>name;
        cout<<"\n请输入商品价格"<<endl;
        cin>>price;
        cout<<"\n请输入商品数量"<<endl;
        cin>>number;
        infile<<id<<"\t"<<name<<"\t"<<price<<"\t"<<number<<"\t\n";
        infile.close();
}
//显示所有记录
void product::all()
{
    fstream infile;
    infile.open("txt.txt",ios_base::in);
    if(!infile)
        cout<<"无法打开文件"<<endl;
        cout<<'\t'<<"商品编号"<<'\t'<<"商品名称"<<'\t'<<"商品价格"<<'\t'<<"商品数量\n";
        infile>>id>>name>>price>>number;
        cout<<setw(12)<<id<<setw(16)<<name<<setw(16)<<price<<setw(20)<<number;
        infile.close();

}
//结算
void product::jiesuan()
{
    cout<<"jiesuan"<<endl;
}
//查询
void product::search()
{ product a;

    fstream infile;
    infile.open("txt.txt",ios_base::in|ios_base::out);
    if(!infile)
        cout<<"无法打开文件"<<endl;
cout<<'\t'<<"商品编号"<<'\t'<<"商品名称"<<'\t'<<"商品价格"<<'\t'<<"商品数量\n";

    infile>>setw(8)>>id>>setw(8)>>name>>setw(3)>>price>>setw(4)>>number;
    cout<<setw(12)<<id<<setw(16)<<name<<setw(16)<<price<<setw(16)<<number;
//    infile>>setw(8)>>id>>setw(8)>>name>>setw(3)>>price>>setw(4)>>number;
//    cout<<setw(12)<<id<<setw(16)<<name<<setw(16)<<price<<setw(20)<<number;
    infile.close();
}
//销售
void product::sell()
{
    cout<<"sell"<<endl;
}

int main()
{
    product one;
    char ch;
    cout<<"\t******************************************"<<endl;
    cout<<"\t*         欢迎来到超市管理系统           *"<<endl;
    cout<<"\t*             请输入指令                 *"<<endl;
    cout<<"\t*        查看指令查看指令输入请按C       *"<<endl;
    cout<<"\t******************************************"<<endl;
    do{
        cout<<"请输入商品编号或者指令"<<endl;
        cin>>ch;
        switch(ch)
        {
        case 'a':
            one.all();//查看库存
            break;

        case'r':
            one.put();//入库
            break;

        case'j':
            one.jiesuan();//结算
            break;

        case'z':
            one.search();//查找
            break;

        case's':
            one.sell();//销售
            break;

        case'c':
            one.cmd();//查看指令
            break;

        case'e':
            break;
        default:
            cout<<"输入有误,请重新输入"<<endl;
            break;
        }

        }while(ch!='e');
   
    return 0;
    }
一下是分析结构
1>------ 已启动生成: 项目: 模拟超市收银系统, 配置: Debug Win32 ------
1>  源.cpp
1>源.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall product::cmd(void)" (?cmd@product@@QAEXXZ),该符号在函数 _main 中被引用
1>d:\用户目录\我的文档\visual studio 2012\Projects\模拟超市收银系统\Debug\模拟超市收银系统.exe : fatal error LNK1120: 1 个无法解析的外部命令
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
搜索更多相关主题的帖子: private include product search public 
2015-06-27 23:22
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:10 
回复 楼主 l9958958
你在打开文件失败的处理之后忘了退出函数过程,在没有找到文件的情况下仍然会对文件进行操作,这当然不行。把你的cout<<"无法打开文件"<<endl;和 return 语句用花括号关在一起放到if条件下面去。
还有就是从文件当中读取信息不要直接用cout,试试fstream对象的getline函数(自己去了解一下参数怎么输),可以把文件中的内容以字符串形式读出来,如果需要的是数字,再用atoi函数将字符串转成数字。
最后一点,大致瞄了一下没有看到你cmd函数的实现,是不是忘写了。
2015-06-28 13:46
without_yt
Rank: 2
等 级:论坛游民
帖 子:1
专家分:10
注 册:2015-6-29
收藏
得分:10 
cmd没有定义
2015-06-29 16:08
l9958958
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-6-27
收藏
得分:0 
回复 楼主 l9958958
谢谢
2015-06-29 18:42
快速回复:麻烦帮我看一下哪里出问题了,一头雾水
数据加载中...
 
   



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

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