error LNK2001: unresolved external symbol "void __cdecl chaozhuo(void)" (?chaozhuo@@YAXXZ)

elegant87 2008-06-02 01:07:23
程序如下:

#include<iostream>
#include<cstring>
#include<cstdlib>
using namespace std;

const int M = 100;
const int N = 10;
int card[M][N+3],card_numble,card_code,card_excess=0;
//开卡时用作卡号,密码,余额,存储款的变量
int numble,code,money1,money2,code1;
//操作时的也是比较的卡号,密码,取钱,存钱,改密码
char cardname[M][16],name[16];
//姓名和用作比较的姓名
int z=3,x=0,c=0,v=0,b=0; //每次存取的标志,取的标志,存的标志,写存取次数的标志,排列卡号的标志
void zhuce();
void chaozhuo();
void close();
void qukuan();
void cunkuan();
void xiugai();
void chaxun();
int main()
{

char jadge1; //第一次菜单选项标志符
do
{
cout<<"********************************\n";
cout<<"选择你要进行的操作 : \n";
cout<<"\t1:如果你需要注册 \n";
cout<<"\t2:如果你已注册,要进行操作 \n";
cout<<"\t3:关闭系统(数据将全失) \n";
cout<<"********************************\n";
cout<<endl; //第一菜单
cin>>jadge1;
switch (jadge1)
{
case '1':zhuce();break;
case '2':chaozhuo();break;
case '3':close();break;
default:
cout<<"你搞错了.\n";
} //一次switch
} while(jadge1>0) ; //一次for
return 0;
}

void zhuce()
{ if(b>M)
{
cout<<"卡位已满,不能在申请.\n";
exit(1);
}
card_numble=b;
cout<<"你的卡号是:"<<card_numble<<endl;
card[card_numble][0]=card_numble;
b++;
cout<<"输入你的姓名:";
cin>>cardname[card_numble];
cout<<"输入你设的密码(必须是一串数字):";
cin>>card_code;
if(card_code<0)
{
cout<<"你的密码不合法.\n";
return ;
}
else
{
card[card_numble][1]=card_code;
}
cout<<"你要存多少钱:";
cin>>card_excess;
if(card_excess<=0)
{
cout<<"\n对不起,您存入的数额不够。\n";
}
else
if(card_excess>0)
{
card[card_numble][2]=card_excess;
cout<<"你已注册成功.\n";

}
}

void chaozhou()
{
char jadge2;
cout<<"卡号:";
cin>>numble;
cout<<"姓名:";
cin>>name;
cout<<"密码:";
cin>>code;
if((strcmp(name,cardname[numble]))||card[numble][1]!=code)

{
cout<<"你的的姓名或密码不对,还可能是你还没有开卡.\n";
return ;
}
else
{
cout<<"欢迎进入\n";
while(1)
{

cout<<"----------------------------\n";
cout<<"请输入你要进行的操作号: \n";
cout<<"\t1:取款 \n";
cout<<"\t2:存款 \n";
cout<<"\t3:修改密码 \n";
cout<<"\t4:查询当前信用卡情况 \n";
cout<<"\t5返回 \n";
cout<<"----------------------------\n";
cout<<endl; //第二菜单

if(x+c>N)
{
cout<<"你进今天操作已满10次,不能再存取款.\n";
exit(1);
}
cin>>jadge2;
switch (jadge2)
{
case '1':qukuan();
break;
case '2':cunkuan();
break;
case '3':xiugai();
break;
case '4':chaxun();
break;
case '5':
break; //回到开始
default:
cout<<"你搞错了.\n";
} //2次switch
}
} //二次for
return ;
} //if


void close()
{ cout<<"退出"<<endl;
exit(1);
}

void qukuan()
{
cout<<"你要取多少钱:";
cin>>money1;
if(card[numble][2]-money1<0)
{
cout<<"\n你的余额不够.\n";
return ;
}
else
if(card[numble][2]-money1>=0)
{
card[numble][2]=card[numble][2]-money1;
card[numble][z]=0-money1;
z=z+1;
x=x+1;
cout<<"ok\n";
return ;
}
}

void cunkuan()
{
cout<<"你要存多少钱:";
cin>>money2;
if(money2<=0)
{
cout<<"对不起,您的存款不够。?\n";
return ;
}
else
{
card[numble][2]=card[numble][2]+money2;
card[numble][z]=money2;
z=z+1;
c=c+1;
cout<<"ok\n";
return ;
}
}

void xiugai()
{
cout<<"你想要得新密码是(必须是一串数字):";
cin>>code1;
if(code1<0)
{
cout<<"你的密码不合法.\n";
return ;
}
else
{
card[numble][1]=code1;
cout<<"ok\n";
return ;
}
}

void chaxun()
{
cout<<"---------------------------------------"<<endl;
cout<<"卡号: "<<card[numble][0]<<endl;
cout<<"余额: "<<card[numble][2]<<" 元"<<endl;
cout<<"密码: "<<card[numble][1]<<endl;
for(v=0;v<z-3;v++)
{
cout<<"第 "<<v+1<<"次操做: "<<card[numble][v+3]<<" 元"<<endl;
}
cout<<"今天一共存取: "<<c+x<<"次"<<endl;
cout<<"其中取"<<x<<"次,存"<<c<<"次 \n";
cout<<"你今天还可以操作"<<N-x-c<<"次\n";
cout<<"---------------------------------------"<<endl;
return ;
}
...全文
1574 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
youkongzekong 2010-01-14
  • 打赏
  • 举报
回复
看过
elegant87 2008-06-02
  • 打赏
  • 举报
回复
#include <iostream> 
#include <cstring>
#include <cstdlib>
using namespace std;

const int M = 100;
const int N = 10;
int card[M][N+3],card_numble,card_code,card_excess=0;
//开卡时用作卡号,密码,余额,存储款的变量
int numble,code,money1,money2,code1;
//操作时的也是比较的卡号,密码,取钱,存钱,改密码
char cardname[M][16],name[16];
//姓名和用作比较的姓名
int z=3,x=0,c=0,v=0,b=0; //每次存取的标志,取的标志,存的标志,写存取次数的标志,排列卡号的标志
void zhuce();
void chaozhuo();
void close();
void qukuan();
void cunkuan();
void xiugai();
void chaxun();
int main()
{

char jadge1; //第一次菜单选项标志符
do
{
cout < <"********************************\n";
cout < <"选择你要进行的操作 : \n";
cout < <"\t1:如果你需要注册 \n";
cout < <"\t2:如果你已注册,要进行操作 \n";
cout < <"\t3:关闭系统(数据将全失) \n";
cout < <"********************************\n";
cout < <endl; //第一菜单
cin>>jadge1;
switch (jadge1)
{
case '1':zhuce();break;
case '2':chaozhuo();break;
case '3':close();break;
default:
cout < <"你搞错了.\n";
} //一次switch
} while(jadge1>0) ; //一次for
return 0;
}

void zhuce()
{ if(b>M)
{
cout < <"卡位已满,不能在申请.\n";
exit(1);
}
card_numble=b;
cout < <"你的卡号是:" < <card_numble < <endl;
card[card_numble][0]=card_numble;
b++;
cout < <"输入你的姓名:";
cin>>cardname[card_numble];
cout < <"输入你设的密码(必须是一串数字):";
cin>>card_code;
if(card_code <0)
{
cout < <"你的密码不合法.\n";
return ;
}
else
{
card[card_numble][1]=card_code;
}
cout < <"你要存多少钱:";
cin>>card_excess;
if(card_excess <=0)
{
cout < <"\n对不起,您存入的数额不够。\n";
}
else
if(card_excess>0)
{
card[card_numble][2]=card_excess;
cout < <"你已注册成功.\n";

}
}

void chaozhou()
{
char jadge2;
cout < <"卡号:";
cin>>numble;
cout < <"姓名:";
cin>>name;
cout < <"密码:";
cin>>code;
if((strcmp(name,cardname[numble])) ¦ ¦card[numble][1]!=code)

{
cout < <"你的的姓名或密码不对,还可能是你还没有开卡.\n";
return ;
}
else
{
cout < <"欢迎进入\n";
while(1)
{

cout < <"----------------------------\n";
cout < <"请输入你要进行的操作号: \n";
cout < <"\t1:取款 \n";
cout < <"\t2:存款 \n";
cout < <"\t3:修改密码 \n";
cout < <"\t4:查询当前信用卡情况 \n";
cout < <"\t5返回 \n";
cout < <"----------------------------\n";
cout < <endl; //第二菜单

if(x+c>N)
{
cout < <"你进今天操作已满10次,不能再存取款.\n";
exit(1);
}
cin>>jadge2;
switch (jadge2)
{
case '1':qukuan();
break;
case '2':cunkuan();
break;
case '3':xiugai();
break;
case '4':chaxun();
break;
case '5':
break; //回到开始
default:
cout < <"你搞错了.\n";
} //2次switch
}
} //二次for
return ;
} //if


void close()
{ cout < <"退出" < <endl;
exit(1);
}

void qukuan()
{
cout < <"你要取多少钱:";
cin>>money1;
if(card[numble][2]-money1 <0)
{
cout < <"\n你的余额不够.\n";
return ;
}
else
if(card[numble][2]-money1>=0)
{
card[numble][2]=card[numble][2]-money1;
card[numble][z]=0-money1;
z=z+1;
x=x+1;
cout < <"ok\n";
return ;
}
}

void cunkuan()
{
cout < <"你要存多少钱:";
cin>>money2;
if(money2 <=0)
{
cout < <"对不起,您的存款不够。?\n";
return ;
}
else
{
card[numble][2]=card[numble][2]+money2;
card[numble][z]=money2;
z=z+1;
c=c+1;
cout < <"ok\n";
return ;
}
}

void xiugai()
{
cout < <"你想要得新密码是(必须是一串数字):";
cin>>code1;
if(code1 <0)
{
cout < <"你的密码不合法.\n";
return ;
}
else
{
card[numble][1]=code1;
cout < <"ok\n";
return ;
}
}

void chaxun()
{
cout < <"---------------------------------------" < <endl;
cout < <"卡号: " < <card[numble][0] < <endl;
cout < <"余额: " < <card[numble][2] < <" 元" < <endl;
cout < <"密码: " < <card[numble][1] < <endl;
for(v=0;v <z-3;v++)
{
cout < <"第 " < <v+1 < <"次操做: " < <card[numble][v+3] < <" 元" < <endl;
}
cout < <"今天一共存取: " < <c+x < <"次" < <endl;
cout < <"其中取" < <x < <"次,存" < <c < <"次 \n";
cout < <"你今天还可以操作" < <N-x-c < <"次\n";
cout < <"---------------------------------------" < <endl;
return ;
}
codeangel 2008-06-02
  • 打赏
  • 举报
回复
呵呵,典型的函数编程。
void chaozhuo(); <>void chaozhou() {}
mimong_lin 2008-06-02
  • 打赏
  • 举报
回复
应该是引入库文件吧。
iambic 2008-06-02
  • 打赏
  • 举报
回复
应该是
caozuo
吧……
Supper_Jerry 2008-06-02
  • 打赏
  • 举报
回复
chaozhuo 放到调用它的前面去
薛定谔之死猫 2008-06-02
  • 打赏
  • 举报
回复
这个错误发生的情况有以下几种:
1、使用静态库,引入了头文件,却未指定二进制的代码文件
2、使用动态库,引用了头文件,却未制定连接时确定动态库函数入口的描述文件
3、未在代码中实现声明的方法
......
babyvox1999 2008-06-02
  • 打赏
  • 举报
回复
void chaozhou() ...写错了void chaozhuo();

64,654

社区成员

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

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