Dev - C++ - Necesito ayuda con estos operadores

 
Vista:

Necesito ayuda con estos operadores

Publicado por AVR_318 (1 intervención) el 24/09/2019 17:04:58
Disculpen quisiera saber que tipo de operadores, funciones o librerias se podrian usar en este caso (lo estoy utilizando para lanzar errores en una calculadora de operaciones bastante sencillas

Esta es la idea que tengo en mente utilizar en la calculadora:

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
26
include<iostream>
 
using namespace std;
 
int A, B;
 
int main(){
 
	do{
 
		cout << "\n\t Introduce el primer valor: "; cin >> A; cout << "\n\n\t";
		if( A != numero ){
 
			cout<<"***ERROR: no introdujo ningun numero***";
			cout << "\n\n\t"; system("pause"); system("cls");
 
		}
		else{
 
			system("pause"); break;
 
		}
 
	}while( A != numero );
 
}

Espero sus respuestas con mucho gusto... gracias por su atencion
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
Imágen de perfil de Alfil
Val: 1.846
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Necesito ayuda con estos operadores

Publicado por Alfil (473 intervenciones) el 24/09/2019 19:48:59
Me he limitado a corregir los errores para hacerlo funcionar

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
26
#include <iostream>
 
using namespace std;
 
int A, B;
 
 
int main()
{
    int numero = 0;
 
	do{
		cout << "\n\t Introduce el primer valor: "; cin >> A; cout << "\n\n\t";
 
		if( A != numero ){
			cout << "***ERROR: no introdujo ningun numero***";
			cout << "\n\n\t"; system("pause"); system("cls");
		} else
			system("pause"); break;
 
 
	}while( A != numero );
 
    return 0;
 
}

Para lo que quieres hacer mírate el tratamiento de errores, y los estados de error de entrada de flujo.
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
Imágen de perfil de Alfil
Val: 1.846
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Necesito ayuda con estos operadores

Publicado por Alfil (473 intervenciones) el 24/09/2019 20:27:25
Tratamiento de excepciones y estados de error de entrada de flujo
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
Imágen de perfil de Rodrigo
Val: 557
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Necesito ayuda con estos operadores

Publicado por Rodrigo (131 intervenciones) el 25/09/2019 17:55:39
Parece que el break de la linea 19 esta fuera del else (y del if) y va a provocar la salida del do-while siempre.
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

Necesito ayuda con estos operadores

Publicado por Alejandro (1 intervención) el 26/09/2019 15:04:31
Hola AVR_318, yo haría lo siguiente, es tratar de verificar que el usuario introdujo un numero, pero validar que este numero sea 0 o que el character que introdujo sea un numero,seria algo del estilo siguiente, espero te sirva de algo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
include<iostream>
include <ctype.h>
using namespace std;
 
char A;
int main(){
 
	do {
		cout << "\n\t Introduce el primer valor: "; cin >> A; cout << "\n\n\t";
		if( isalpha(A) || atoi(A.c_str()) <= 0 ) {
 
			cout<<"***ERROR: no introdujo ningun numero***";
			cout << "\n\n\t"; system("pause"); system("cls");
 
		}
		else {
			system("pause"); break;
		}
 
	} while(isalpha(A) || atoi(A.c_str()) <= 0 );
 
}
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
Imágen de perfil de Alfil
Val: 1.846
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Necesito ayuda con estos operadores

Publicado por Alfil (473 intervenciones) el 26/09/2019 21:06:06
Lo más sencilloy correcto es utilizar los estados de error de entrada de flujo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
 
using namespace std;
 
int main()
{
    int numero;
 
    do{
        if( cin.fail() || cin.bad() ){
            cin.clear();
            cin.ignore(80, '\n');
            cout << "\nDebe introducir un numero\n";
        }
 
        cout << "\nIntroduce un numero: "; cin >> numero;
 
    } while( cin.fail() || cin.bad() );
 
    cout << "\nEl numero introducido es " << numero << endl;
 
    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
0
Comentar