1>MSVCRTD.lib(exe_main.obj) : error LNK2019: 无法解析的外部符号 _main,该符号在函数 "int __cdecl

qq_30818041 2015-10-11 09:31:17
代码
#pragma once

#include<string>

class Brass
{
private:
std::string fullName;
long acctNum;
double balance;
public:
Brass(const std::string &s = "nullbody", long an = -1, double bal = 0.0);
void deposit(double amt);
virtual void Withdraw(double amt);
double Balance()const;
virtual void Viewacct()const;
virtual ~Brass(){}

};
class Brasspulus : public Brass

{
private :
double maxloan;
double rate;
double owesbank;
public:
Brasspulus(const std::string &s = "nullbody", long an = -1, double bal = 0.0,
double ml=500,double r = 0.11125);
Brasspulus(const Brass & ba, double ml = 500,
double r = 0.11125);
virtual void Viewacct()const;
virtual void Withdraw(double amt);
void Resetmax(double m) { maxloan = m; }
void Resetrate(double r) { rate = r; }
void Resetowes() { owesbank = 0; }

};

#include<iostream>
#include"brass.h"
using namespace std;
typedef std::ios_base::fmtflags format;
typedef std::streamsize precis;
format setFormat();
void restore(format f, precis p);
void restore(format f, precis p);/*
Bress::Bress(const string &s, long an,double bal)
{
fullName = s;
acctNum = an;
balance = bal;
}

void Bress::Deposit(double amt)
{
if (amt < 0)
cout << "Negative deposit not allowed;"
<< "deposit is cancelled .\n";
else balance += amt;
}

void Bress::Withdraw(double amt)
{
format initialstate = setFormat();
precis prec = cout.precision(2);
if (amt < 0)
cout << "withdrawal amount must be positive ;"
<< "Withdraw canceled.\n";
else
cout << " withdrawal amount mu of$" << amt << "esceds your balance .\n"
<< "withdrawal canceled\n";
restore(initialstate, prec);

}

double Bress::Balance() const
{
return balance;
}

void Bress::Viewacct() const
{
format initialstate = setFormat();
precis prec = cout.precision(2);
cout << " cilent :" << fullName << endl;
cout << " Balance & " << balance << endl;
restore(initialstate, prec);
}


Brassplus::Brassplus(const string & s, long an, double bal, double ml, double r):Bress(s,an,bal)
{
maxloan = ml;
owesbank = 0.0;
rate = r;
}

Brassplus::Brassplus(const Bress & ba, double ml, double r)
:Bress(ba)
{
maxloan = ml;
owesbank = 0.0;
rate = r;
}

void Brassplus::Viewacct() const
{
format initialstate = setFormat();
precis prec = cout.precision(2);
Bress::Viewacct();
cout << "maximum loan : " << maxloan << endl;
cout << " owend to back :&" << owesbank << endl;
cout.precision(3);
cout << " loan rate :" << 100 * rate << "%\n";
restore(initialstate, prec);
}

void Brassplus::Withdraw(double amt)
{
format initialstate = setFormat();
precis prec = cout.precision(3);
double bal = Balance();
if (amt <= bal)
Bress::Withdraw(amt);
else if (amt <= bal + maxloan - owesbank)
{
double advance = amt - bal;
owesbank += advance*(1.0 + rate);
cout << "Bank advance :& " << advance << endl;
cout << "finance charge : $" << advance*rate << endl;
Deposit(advance);
Bress::Withdraw(amt);
}
else cout << "只是一段预言\n";
restore(initialstate, prec);
}
format setyFormat()
{
return cout.setf(std::ios_base::fixed,
std::ios_base::floatfield);
}
void restore(format f, precis p)
{
cout.setf(f, std::ios_base::floatfield);
cout.precision(p);
}*/
Brass::Brass(const string & s, long an, double bal)
{
fullName = s;
acctNum = an;
balance = bal;

}
void Brass::deposit(double amt)
{
if (amt < 0)
cout << "negative deposit not\n";
else
balance += amt;
}
void Brass::Withdraw(double amt)
{
format initials = setFormat();
precis prec = cout.precision(2);
if (amt < 0)
cout << "withdrawal amount must be positive ;\n";
else if (amt <= balance)
balance -= amt;
else
cout << "withdrawl amount of $" << amt << "done\n";
restore(initials, prec);
}
double Brass::Balance()const
{
return balance;
}
void Brass::Viewacct()const
{
format initials = setFormat();
precis pres = cout.precision(2);
cout << "client :" << fullName << endl;
cout << "Account number :" << acctNum << endl;
cout << "balance :$" << balance << endl;
restore(initials, pres);
}

Brasspulus::Brasspulus(const std::string & s, long an, double bal, double ml, double r)
:Brass(s, an, bal)
{
maxloan = ml;
owesbank = 0.0;
rate = r;
}

Brasspulus::Brasspulus(const Brass & ba, double ml, double r):Brass(ba)

{
maxloan = ml;
owesbank = 0.0;
rate = r;
}

void Brasspulus::Viewacct() const
{
format initials = setFormat();
precis prec = cout.precision(2);
Brass::Viewacct();
cout<< "yi" << maxloan << endl;
cout<< "er" << owesbank << endl;
cout.precision(3);
cout << "loan rate :" << 100 * rate << "%\n";
restore(initials, prec);

}
void Brasspulus::Withdraw(double amt)
{
format initials = setFormat();
precis prec = cout.precision(2);
double bal = Balance();
if (amt <= bal)
Brass::Withdraw(amt);
else if (amt < bal + maxloan - owesbank)
{
double advance = amt - bal;
owesbank += advance*(1.0 + rate);
cout << "Bank advance :&" << advance << endl;
cout << "Finance chreg:& " << advance*rate << endl;
deposit(advance);
Brass::Withdraw(amt);
}
else
cout << "Credit limit exceeded . Transaction cancelled .\n";
restore(initials, prec);


}
format setFormat()
{
return cout.setf(std::ios_base::fixed, std::ios_base::floatfield);
}
void restore(format f, precis p)
{
cout.setf(f, std::ios_base::floatfield);
cout.precision(p)
;
}

#include<iostream>
#include"brass.h"

int mian()
{

using std::cout;
using std::endl;
Brass piggy("porcelot", 381299, 4000.00);
Brasspulus hoggy("Horatio hogg", 382288, 3000.00);
piggy.Viewacct();
cout << endl;
hoggy.Viewacct();
cout << endl;
cout << "Depositing $100 into :\n";
hoggy.deposit(1000.00);
cout << "New balance :$" << hoggy.Balance() << endl;
cout << "WWithdrawing $4200 from the pigg account :\n";
piggy.Withdraw(4200.00);
cout << "pigg account balance :$" << piggy.Balance() << endl;
cout << "WWithdrawing $4200 from the pigg account :\n";
hoggy.Withdraw(4200.00);
hoggy.Viewacct();
std::cin.get();
return 0;
}
...全文
1526 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fefe82 2015-10-11
  • 打赏
  • 举报
回复
你把 main 写成 mian 了 ...
qq_30818041 2015-10-11
  • 打赏
  • 举报
回复
希望大家帮忙运行调试一下 谢谢
我用的Blend for Visual Studio 2015调试器
qq_30818041 2015-10-11
  • 打赏
  • 举报
回复
引用 2 楼 fefe82的回复:
你把 main 写成 mian 了 ...
我太马虎了,为了快,以后要慢点写代码,谢谢
赵4老师 2015-10-11
  • 打赏
  • 举报
回复
关于自己是否适合编程的很简单的测试:
在报纸或杂志上随便找一段约1000字的文章,在Word中输入一遍。输完后再参考下面答案:

A里面有10处以上文字或标点错误
B里面没有文字或标点错误并敢为此跟人打赌
C里面没有文字或标点错误并且字体和排版完全与原稿一致
D打印在半透明的纸上和原稿重叠在一起检查一模一样,且自我感觉很有成就感

A不适合编程(理由:打字准确度偏低、粗心大意)
B初级程序员(理由:打字准确度很高、认真细致、自信、理解全角半角概念)
C高级程序员(理由:在B的基础上理解字体和排版也是电脑打印的重要因素、但相比D还不够偏执、精益求精、结果可验证)
D软件项目经理(理由:能针对项目给出令人信服的细致到极点的需求说明和典型测试用例。用户几乎挑不出毛病。专业!)

如果想从A变成B的话,到我的资源http://download.csdn.net/detail/zhao4zhong1/4084259里面下载“适合程序员的键盘练习”

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧