ke0ning 2017-06-13 07:42 采纳率: 0%
浏览 1632

'=' : left operand must be l-value 请大神们帮忙看看,谢谢!

#include
#include
#define LINE "=========================\n"
#define KEY "123456"
#define accounts "123456789"
int main()
{
//设置变量
int num;//用户选项
int m=5000;//账号初始金额
char key[6];//密码
int re;
char a[10];//用户输入账号
int cishu=0;//输入密码次数
int i = 0;
char key1[6];//新密码
//密码输入
do
{
printf("请输入密码: \n");
scanf("%s",key);
re = strcmp(KEY,key);
if(re==0)
{ printf("密码正确,登陆成功!^-^ \n");break;}
else{ printf("密码错误,你还有%d次机会!\n",3-cishu);}
cishu++;
}
while(re!=0&&cishu<=3);
//密码输入3次后结束程序
if(cishu>3)
{ return 0;}
do
{
//设置用户界面
printf(LINE);
printf("\t1.取款\n",num);
printf("\t2.存款\n",num);
printf("\t3.转账\n",num);
printf("\t4.修改密码\n",num);
printf("\t5.查询余额\n",num);
printf("\t6.退出\n",num);
printf(LINE);
//用户选择操作
printf("请选择交易类型: ");
scanf("%d",&num);

//判断用户选择交易

switch(num)
{
int m1;//取款金额
int m2;//存款金额
int m3;//转账金额
char key1[6];//新密码
int m5;//查询余额

    //取款
case 1:printf("你需要提取的金额: \n",m1);
       scanf("%d",&m1);
if(m<m1)
{  printf("你的余额不足! \n");m=m-m1;break;}
else{   printf("请提取现金!\n");m=m-m1;break;}
//存款
case 2:
    do
    {   printf("请输入你要存入的账号: ");
       scanf("%s",a);
     re = strcmp(accounts,a);
     if(re==0)
     {  printf("账号正确!^-^ \n");break;}
     else{  printf("请重新输入账号!\n");}
    }
   while(re!=0&&cishu<=3);
    printf("请输入你要存入的金额: \n",m2);
       scanf("%d",&m2);
    printf("你已成功向%s账号存入%d\n",a,m2);
       break;
       //转账

case 3:
do
{ printf("请输入你要转入的账号: ");
scanf("%s",a);
re = strcmp(accounts,a);
if(re==0)
{ printf("账号正确!^-^ \n");break;}
else{ printf("请重新输入账号!\n");}
}
while(re!=0&&cishu<=3);
printf("请输入你要转入的金额: \n",m3);
scanf("%d",&m3);
if(m<m3)
{ printf("你的余额不足,无法进行转账! \n");break;}
else
{ printf("转账成功!^-^\n"); break;}
case 4:
do
{
printf("请输入原密码:");
scanf("%s",key);
re = strcmp(KEY,key);
if(re == 0){
printf("密码验证正确!");
break;
} else {
printf("请重新输入原密码:");
}
} while (re != 0 );
printf("请输入新密码:");
scanf("%s",key1);
key=key1;(就是这里,怎么写都错)
printf("恭喜你,密码修改成功!");
break;

  • 写回答

1条回答 默认 最新

  • 战在春秋 2017-06-13 08:24
    关注

    key和key1都是数组名,C语言中数组名是 常量 指针,如果这样赋值就好比 36 = 3;
    显然不正确。

    可以这样:

     strcpy(key, key1);  //需要包含 #include <string.h>
    
    

    用心回答每个问题,如果对您有帮助,请采纳答案好吗,谢谢!

    评论

报告相同问题?

悬赏问题

  • ¥15 Matlab怎么求解含参的二重积分?
  • ¥15 苹果手机突然连不上wifi了?
  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用
  • ¥15 kafka topic 所有分副本数修改
  • ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
  • ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?
  • ¥40 串口调试助手打开串口后,keil5的代码就停止了
  • ¥15 电脑最近经常蓝屏,求大家看看哪的问题
  • ¥60 高价有偿求java辅导。工程量较大,价格你定,联系确定辅导后将采纳你的答案。希望能给出完整详细代码,并能解释回答我关于代码的疑问疑问,代码要求如下,联系我会发文档