求助!程序无法build!error LNK2001: fatal error LNK1120:

zdnan001 2012-05-28 07:44:29
#include<iostream>
#include<string>
using namespace std;

typedef struct NodeUser//用户结点结构体
{
string AccountNum;//账号
string name;//用户名字
string id;//身份证
long int allmoney;//账户余额
NodeUser*next;//指向下一个结点的指针
};

class Menu//菜单类
{
public:
Menu();
void AddUser(); //销户
void DeleteUser(); //取钱
void DepositMoney(long int);//存钱
void DrawMoney(long int);
private:
NodeUser*headnode;//头结点
};

class NoMoney//异常类
{
public:
NoMoney();
};

void main()//主函数
{
int choice;//选择操作
long int money;
Menu manage;

do//选择退出前可持续选择
{
cout<<"1)开户"<<endl;
cout<<"2)销户"<<endl;
cout<<"3)存款"<<endl;
cout<<"4)取款"<<endl;
cout<<"5)退出"<<endl;
cout<<"请选择项目:";

cin>>choice;
system("CLS");//清屏

switch(choice)
{
case 1:manage.AddUser();break;
case 2:manage.DeleteUser();break;
case 3:manage.DepositMoney(money);break;
case 4:
try
{
manage.DrawMoney(money);
}
catch(NoMoney)
{
cout<<"账户金额小于取款金额,无法操作!"<<endl;break;
}
break;

case 5:break;
default:cout<<"输入错误,无法操作!"<<endl;break;
}
}
while(choice==1||choice==2||choice==3||choice==4);
}

Menu::Menu()//构造函数
{
headnode=new NodeUser;//为头结点分配内存
headnode->next=NULL;//初始化为空
}

void Menu::AddUser()//开户
{
NodeUser*node=new NodeUser;//为新结点分配内存空间
cout<<"请输入要开户的账户:";
cin>>node->AccountNum;
cout<<"请输入姓名:";
cin>>node->name;
cout<<"请输入身份证号:";
cin>>node->id;
cout<<"请输入开户金额:";
cin>>node->allmoney;

NodeUser*curNode;//定义两个结点用于搜索
NodeUser*preNode;

if(headnode->next==NULL)//每添加结点就把新结点放在头结点后
{
node->next=headnode->next;
headnode->next=node;
}

else//否则,若没添加新结点,就将结点放在最后
{
preNode=headnode;
curNode=preNode->next;

while(curNode!=NULL)
{
if(curNode->AccountNum==node->AccountNum)
{
cout<<"该账户已存在!\n";
return;
}

else
{
curNode=curNode->next;
}
}
if(curNode==NULL)//将结点放在头结点后
{
node->next=headnode->next;
headnode->next=node;
}
}
cout<<"开户成功!\n";
}

void Menu::DeleteUser()//销户
{
string AccountNum;
NodeUser*curNode;
NodeUser*preNode;
preNode=headnode;
curNode=preNode->next;

cout<<"请输入要销户的账户:";
cin>>AccountNum;//输入要删除的账号

if(curNode==NULL)//如果没有该账号
{
cout<<"该账户不存在!\n";
}

else//否则在链表中查找该账号
{
while(curNode!=NULL)
{
if(curNode->AccountNum==AccountNum)//如果找到了就删除
{
NodeUser*node=curNode;
preNode->next=curNode->next;
curNode=curNode->next;
delete node;
cout<<"销户成功!"<<endl;
return;
}

else//否则继续往后查找
{
preNode=curNode;
curNode=curNode->next;
}
}

if(curNode==NULL)
{
cout<<"该账户不存在!\n";
}
}
}

void Menu::DepositMoney(long int money)//存钱
{
string AccountNum;
cout<<"请输入账户:";
cin>>AccountNum;
NodeUser*curNode;
curNode=headnode->next;

while(curNode!=NULL)//在链表中查找
{
if(curNode->AccountNum==AccountNum)//如果找到了就输入存款金额
{
cout<<"账户当前余额为:"<<curNode->allmoney<<endl;
cout<<"请输入存款金额:";
cin>>money;
curNode->allmoney+=money;

cout<<"存款后账户余额为:"<<curNode->allmoney<<endl;
return;
}

else//否则继续往后查找
{
curNode=curNode->next;
}
}

if(curNode==NULL)
{
cout<<"该账户不存在!\n";
}
}

void Menu::DrawMoney(long int money)//取钱
{
string AccountNum;
cout<<"请输入账号:";
cin>>AccountNum;
NodeUser*curNode;
curNode=headnode;

while(curNode!=NULL)//在链表中查找该账号
{
if(curNode->AccountNum==AccountNum)
{
cout<<"账户当前余额为:"<<curNode->allmoney<<endl;
cout<<"请输入取款金额:";
cin>>money;
if(money>curNode->allmoney)
{
throw NoMoney();//如果取款金额大于账户余额,抛出一个异常
}
else
{
curNode->allmoney-=money;
cout<<"取款后账户余额为:"<<curNode->allmoney<<endl;
}
return;
}
else
{
curNode=curNode->next;
}
}
if(curNode==NULL)//没有这个账号
{
cout<<"该用户不存在!\n";
}
}


bank.obj : error LNK2001: unresolved external symbol "public: __thiscall NoMoney::NoMoney(void)" (??0NoMoney@@QAE@XZ)
Debug/bank.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.
...全文
114 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
W170532934 2012-05-28
  • 打赏
  • 举报
回复
typedef struct NodeUser//用户结点结构体
{
string AccountNum;//账号
string name;//用户名字
string id;//身份证
long int allmoney;//账户余额
NodeUser*next;//指向下一个结点的指针
};
如果不起别名的话请你把typedef给去掉。

class NoMoney//异常类
{
public:
NoMoney(){}
};
请你把已经申明的函数给实现了
MTK 技术总结 一、环境与编译注意 在编译生成版本之前需要对环境目录进行修改, 将 \SUNNY26_05C.W06.16_F1_MMI\make 目录下的Option.mak 文件中 DIR_ARM = c:\Progra~1\ARM\RVCT DIR_ARM = c:\progra~1\arm\adsv1_2 ARM 环境的安装目录对应正确。否则make 有两个error,提示app 错误 当用make 或Res_Generator.bat 生成时,如果出现“找不到文件– SB_JWPSET.PBM” 则正确,否则错误。 一般使用sourceInsight 和make 配合使用,然后在debug 中运行。或用VC 编程序调试。 注意VC 模拟器和make 之间有差别 在#if #else 等地方可能有多条一样的语句需要添加。 已经有一模拟器不能再运行另一个模拟器,会出现问题 --------------------Configuration: PixtelMMI - Win32 Debug-------------------- Linking... LINK : fatal error LNK1168: cannot open Debug/PixtelMMI.exe for writing Error executing link.exe. PixtelMMI.exe - 1 error(s), 0 warning(s) 添加菜单最好使用代码比较工具用现成工程添加 Make 出错判断: build\SUNNY_F181\ MT6226M.log 连接错误 build\SUNNY_F181\log 编译错误 二、plutommi\Customer\CustResource\PLUTO_MMI\ref_list.txt 添加字符串资源 最后 STR_ID_TEST_MYTEST Undefined 20 MYTEST MYTES T 我的测试我的测试MYTEST MYTEST MYTEST 三、plutommi\mmi\Inc\ GlobalMenuItems.h 菜单ID //zdd begin 20050929 added for kkclub download MENU_SETTING_WALLPAPER_KKCLUB, MENU_SETTING_SS_KKCLUB, MENU_SETTING_POWER_ON_KKCLUB, MENU_SETTING_POWER_OFF_KKCLUB, MENU_TONE_SETUP_KKCLUB, //zdd end 20050929 added for kkclub download //zdd++ 20060414 for new kkclub MENU_KKCLUB_OPTION, MENU_KKCLUB_OPTION_BACK, MENU_KKCLUB_OPTION_CHANGEMENU,

64,282

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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