标题:为什么这个程序不执行就结束了?
只看楼主
猴开森
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2016-11-27
结帖率:60%
已结贴  问题点数:10 回复次数:2 
为什么这个程序不执行就结束了?
#include <iostream>

using namespace std;
class Book
{
private:
    char bookname[20];
    double price;
    int number;
public:
    Book(char *n,double p,int n2)
    {
        while(*n!=0)
        {
            int i=0;
            bookname[i]=*n;
            n++;
            i++;
        }
        price=p;
        number=n2;
    }

    void display();
    int borrow();
    int restore();
};
void Book::display()
{
    cout<<price;
    cout<<number;

}
int Book::borrow()
{
    number-=1;
    cout<<"当前存书数量";
    return number;
}
int Book::restore()
{
    number+=1;
    cout<<"当前存书数量";
    return number;
}
int main()
{
    char str[10]="abc";
    Book book1(str,10,40);
    book1.display();
    cout<<book1.borrow();
    cout<<book1.restore();
}
搜索更多相关主题的帖子: private display include public double 
2017-03-29 14:11
猴开森
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2016-11-27
得分:0 
还有,怎样在display里除了输出price和number还输出bookname?
2017-03-29 14:13
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:10 
为什么这个程序不执行就结束了?
“程序不执行”哪来的“结束”?应该是执行完毕后就结束了。
执行完毕后就结束了 是非常正确的行为呀,难道死赖着不走?
请在控制台(cmd.exe)中执行你的控制台程序,如果是VC,请按CTRL+F5运行。

你的代码错误得一塌糊涂
程序代码:
#include <iostream>
#include <string>

class Book
{
public:
    Book( const char* name, double price, unsigned number )
        : name_(name), price_(price), number_(number)
    {
    }
    unsigned borrow()
    {
        return number_ ? --number_ : number_;
    }
    unsigned restore()
    {
        return ++number_;
    }

private:
    std::string name_;
    double price_;
    unsigned number_;

    friend std::ostream& operator<<( std::ostream& os, const Book& book );
};

std::ostream& operator<<( std::ostream& os, const Book& book )
{
    return os << book.name_ << " | "
              << book.price_ << " | "
              << book.number_;
}

using namespace std;

int main( void )
{
    Book b( "abc", 12.3, 2 );

    cout << b << endl;
    cout << "Current number = " << b.borrow() << endl;
    cout << "Current number = " << b.restore() << endl;
}


2017-03-29 14:48



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-475624-1-1.html




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

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