我想要输入购买装备刀,弹出相应的结果
都是无论输入什么都把什么结果弹了出来
#include<stdio.h>
int main(void)
{
int choice, i;
double price;
printf("需要购买哪些商品?\n");
printf("你现在的余额是100\n");
printf("[1]Select dao :price 15\n");//刀
printf("[2]Select jian :price 20\n");//剑
printf("[3]Select qiang :price 50\n");//枪
printf("[4]Select pao :price 100\n");//炮
printf("[5]Select quantao : price 10\n");//拳套
printf("[6]Select daodan : price 200\n");//导弹
printf("[0]exit\n");
for (i = 1; i <= 7; i++) {
printf("Enter chioice:");
scanf_s("%d", &choice);
if (choice == 0)
break;
switch (choice) {
case 1: price = 85; break;
case 2:price = 80; break;
case 3: price = 50; break;
case 4: price = 0; break;
case 5: price = 90; break;
case 6: price = -100; break;
default: price = 0; break;
}
printf("price=%0.lf\n", price);
}
printf("Thanks\n");
printf("现在外面充满了怪兽,少年拿起自己的武器进攻吧\n");
if (choice = 1) {
printf("你的刀是秦朝打造\n");
printf("时间过久,刀已经生锈\n");
printf("经过敌方强烈打击,刀已经损坏\n");
printf("你已经战败\n");
if (choice = 2) {
printf("你的剑是秦朝打造\n");
printf("时间过久,剑已经生锈\n");
printf("经过敌方强烈打击,刀已经损坏\n");
printf("你已经战败\n");
}
}
return 0;
}
虽然我还是没搞懂你这个到底要干啥,但是我看到了两个问题,一个就是你的 if 判断语句里面的等号要写两个,一个等号是赋值,所以每次赋值都会成功,这就导致 if 后面的语句都会执行,所以要改成两个等号,还有一个就是,你的 if choice等于二写到了等于一里面,这个在判断的时候应该是有问题的,当你输入 2 的时候,想要一把剑,但是只有choice 等于1了之后才有机会判断是不是等于2,所以这里建议你把choice从等于一的括号里拿出来
如果你还有什么问题欢迎叨扰
是否这么改:
#include<stdio.h>
int main(void)
{
int choice=1, i;
double price;
while(choice)
{
printf("需要购买哪些商品?\n");
printf("你现在的余额是100\n");
printf("[1]Select dao :price 15\n");//刀
printf("[2]Select jian :price 20\n");//剑
printf("[3]Select qiang :price 50\n");//枪
printf("[4]Select pao :price 100\n");//炮
printf("[5]Select quantao : price 10\n");//拳套
printf("[6]Select daodan : price 200\n");//导弹
printf("[0]exit\n");
printf("Enter chioice:");
scanf("%d", &choice);
switch (choice) {
case 1: price = 85;
printf("你的刀是秦朝打造\n");
printf("时间过久,刀已经生锈\n");
printf("经过敌方强烈打击,刀已经损坏\n");
printf("你已经战败\n");
break;
case 2: price = 80;
printf("你的剑是秦朝打造\n");
printf("时间过久,剑已经生锈\n");
printf("经过敌方强烈打击,刀已经损坏\n");
printf("你已经战败\n");
break;
case 3: price = 50; break;
case 4: price = 0; break;
case 5: price = 90; break;
case 6: price = -100;break;
default: price = 0; choice=0; break;
}
printf("price=%0.lf\n", price);
}
printf("Thanks\n");
printf("现在外面充满了怪兽,少年拿起自己的武器进攻吧\n");
return 0;
}