Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: DotarSojat en 04 de Diciembre 2015, 21:05
-
Buenas, intentando hacer una verificación de datos en una función con un do while y luego quiero retornar diferente valores, pero la manera en que la implemente no me funciona
#include <iostream>
using name space std;
int verificacion (int a, int b, int c, int d ){
int n2=0;
do { //ciclo que se repite mientras los datos suministrados esten malos
//cuando sean validos los datos se sale
cout<<"suministre a"<<endl;
cin>>a;
cout<<"suministre b"<<endl;
cin>>b;
cout<<"suministre c"<<endl;
cin>>c;
cout<<"suministre d"<<endl;
cin>>d;
} while (a>b and c>d)
if (n2==0){ // si los datos son erroneos que la funcion retorne el siguiente mensaje
cout<<"datos suministrados erroneos"<<endl;
return n2;
n2++
}
else { // en otro caso que retorne este mensaje
cout<<"Datos suministrado correctos"<<endl;
return n2;
}
}
int main () {
int a,b,c,d,n1;
n1=verificacion(a,b,c,d);
cout<<"Los datos son :"<<n1<<endl;
}
-
Buenas
La lógica del programa no está bien planteada. Si tratas de verificar unos datos lo normal será pedir los datos en el main y pasárselos a la función para que los verifique, no llamar a una función sin datos y pedir los datos dentro de la función.
Tampoco se entiende while (a>b and c>d) en el bucle sin introducir un mensaje advirtiendo de cómo se deben introducir los datos. Es decir, lo lógico sería que pusieras un mensaje diciendo cómo se deben introducir los datos, por ejemplo "Introduzca cuantro números enteros decrecientes" o como sea que se deban introducir.
Salu2