Dev - C++ - IF CON UNA CADENA DE CARACTERES

 
Vista:
sin imagen de perfil
Val: 2
Ha aumentado su posición en 3 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

IF CON UNA CADENA DE CARACTERES

Publicado por SANDRO (1 intervención) el 06/01/2019 22:29:01
Necesito ayuda, estamos comenzando a programar en C++ y falte a la clase de cadenas de caracteres y tengo este problema:
. En una mueblería aplican un descuento del 20 por ciento si el artículo es de madera.
Mi solución más sencilla por deducción fue lo que el codigo explica, pero cuando ejectuo no hay error pero al INGRESAR MADERA hace la parte del else más no lo del if

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
using namespace std;
 
int main(){
 
	char ART[6];
	double P,DESC,T;
	cout << "INGRESAR TIPO DEL ARTICULO : ";
	cin >> ART;
	cout << "INGRESAR PRECIO : ";
	cin >> P;
	if(ART=="MADERA")
	{
		DESC=P*0.20;
		T=P-DESC;
		cout << "\nEL VALOR A PAGAR ES : "<<T<<"\n";
	}
	else
	{
		cout << "\nEL VALOR A PAGAR ES : "<<P<<"\n";
	}
	system("pause");
	return 0;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

IF CON UNA CADENA DE CARACTERES

Publicado por juanki (73 intervenciones) el 06/01/2019 23:25:54
Hola

Las cadenas de caracteres no se comparan así, tienes que usar la función strcmp:
http://www.cplusplus.com/reference/cstring/strcmp/?kw=strcmp

O ya que estás usando C++ también puedes usar la clase strings, que también tiene un método compare:
http://www.cplusplus.com/reference/string/string/compare/

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 190
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

IF CON UNA CADENA DE CARACTERES

Publicado por dario (109 intervenciones) el 07/01/2019 04:34:38
Hola, he copiado tu codigo y si me funciona. Uso LINUX MINT.
PD: No uses system("pause") no es standard, cambia el char por string.
Salu2.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
 
using namespace std;
 
int main(){
 
  string ART;
  double P,DESC,T;
 
  cout << "INGRESAR TIPO DEL ARTICULO : ";
  cin >> ART;
  cout << "INGRESAR PRECIO : ";
  cin >> P;
 
  if(ART=="MADERA")
  {
    DESC=P*0.20;
    T=P-DESC;
    cout << "\nEL VALOR A PAGAR ES : "<<T<<"\n";
  }
  else
    cout << "\nEL VALOR A PAGAR ES : "<<P<<"\n";
 
  return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar