请VC++的编程高手帮忙!!!

来源:百度知道 编辑:UC知道 时间:2024/05/18 00:53:27
这是要用VC++2005做的一道练习题:在商场买东西,如果价格在300元(包括300)以上就打85折,在200~300之间则打90折,100~200之间打90折,100以下不打折,编一个程序,在输入价格后就能显示实际要支付的金额。
用switch做的,这是我写的代码,但是不知道错在哪里,一直运行不了:
#include "stdafx.h"
#include <iostream>
using namespace std;

int main()
{
switch
{
cout<<"Please enter the price:";
cin>>intA;

case 1:
(int(intA/100)=0)
Actual payment==price
break;

case 2:
(int(intA/100)=1)
Actual payment==price*.95
break;

case 3:
(int(intA/100)=2)
Actual payment==price*.90
break;

case4:
(int(intA/100)=3)
Actual payment==price*.85
break;
}

cout<<"you should pay:";
cout<<Actual payment<<endl;

return 0;
}

这不能叫VC的问题.C/C++
推荐用IF-ELSE处理,但楼主采用了Switch的结构.我就把你的程序改一下吧.在早期的时候,switch的确被认为处理效率比IF-ELSE要慢.但现在的硬件基础,其实并不用太在意这些.但必须记住一点,switch只适用于有限种可能,也就是说你,如果你要使用switch,就必须要把条件的可能性转为有限可能.解决方案如下:
#include "stdafx.h"
#include <iostream>
using namespace std;

int main()
{
cout<<"Please enter the price:";
cin>>price;
int ToCH=price/100;
switch
{
case 0:
Actual_payment=price;
break;
case 1:
Actual_payment=price*.95;
break;
case 2:
Actual_payment==price*.90;
break;
default:
Actual_payment==price*.85;
break;
}
cout<<"you should pay:";
cout<<Actual_payment<<endl;
return 0;
}

博客: http://ak_19860216.blog.163.com
希望学VC开发的,都可以上来交流.本人学VC 6年了.目前从事游戏协议开发.

你的错误太多。变量没有定义,switch 语句写错。