读书人

error LNK2001: unresolved external

发布时间: 2012-03-03 15:33:02 作者: rapoo

error LNK2001: unresolved external symbol "void __cdecl chaozhuo(void)" (?chaozhuo@@YAXXZ)
程序如下:

#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 ;
}

[解决办法]
void chaozhou() ...写错了void chaozhuo();
[解决办法]
呵呵,典型的函数编程。
void chaozhuo(); <>void chaozhou() {}

读书人网 >C++

热点推荐