-2

C ++で税金計算を行っていますが、エラーが発生します。車両の種類、日付、モデルなど、いくつかのデータを入力する必要があります。しかし、プログラムは一時停止の前に 1 つしか尋ねず、先に進みません。

操作は次のように想定されています: 車両の種類、発行日、価格を入力します。

これらのデータが与えられると、プログラムは含まれなければならない税のパーセンテージを計算することになっています。

しかし、私が言ったように、プログラムは 2 番目のデータである年を尋ねる前に一時停止します。

これがコードです

#include <iomanip>
#include <iostream>

using namespace std;

int main(){

std:string a;//tipo
int b;//año
double c;//precio
char d;//resultado

cout << "Ingrese el tipo:";
cin >> a;

cout << "Ingrese el año:";
cin >> b;

cout << "Ingrese el precio:";
cin >> c;

if (a = "automovil" && b <= 1980){
   d = c*100/3.3;
   }else if ( a == "automovil" && b <= 1990){
         d = c*100/5.5;
   }else if ( a == "automovil" && b <= 2000){
         d = c*100/7;
   }else if ( a == "automovil" && b <= 2010){
         d = c*100/10;
   }else if ( a == "camioneta" && b <= 1980){
         d = c*100/3.3;
   }else if ( a == "camioneta" && b <= 1990){
         d = c*100/5.5;
   }else if ( a == "camioneta" && b <= 2000){
         d = c*100/7;
   }else if ( a == "camioneta" && b <= 2010){
         d = c*100/10;
   }else if ( a == "camion" && b <= 1980){
         d = c*100/3.3;
   }else if ( a == "camion" && b <= 1990){
         d = c*100/5.5;
   }else if ( a == "camion" && b <= 2000){
         d = c*100/7;
   }else if ( a == "camion" && b <= 2010){
         d = c*100/10;
   }else if ( a == "volqueta" && b <= 1980){
         d = c*100/3.3;
   }else if ( a == "volqueta" && b <= 1990){
         d = c*100/5.5;
   }else if ( a == "volqueta" && b <= 2000){
         d = c*100/7;
   }else if ( a == "volqueta" && b <= 2010){
         d = c*100/10;
   }

cout << d;

return 0;
}

助言がありますか?

4

3 に答える 3

1

コードにいくつかのエラーがあります。何よりも、「a」を char として宣言する必要はないようです。コードからは、代わりに std::string にする必要があるようです。次のコードが間違っていることにも注意してください

if (a = "automovil" && b <= 1980){

あなたが使用する必要があります

if (a == "automovil" && b <= 1980){
于 2016-07-23T17:34:36.813 に答える