Cargando

alguien me puede decir en que estoy mal | Codigo C++



  •   Responder

Pulsa corazón para recibir avisos de nuevas Respuestas

  AUTOR PREGUNTA

Publicado 22 septiembre 2021 - 15:15

#include<stdio.h>
#include<stdlib.h>

using namespace std;

int x;
float y;
char z;
//Manipulacion del tipo de dato: Binario

void LeerDatoEntero()
{
int x=0;
printf("Dar un valor entero: ");
scanf("%d", &x);
return x;
}
int LeerDatoFlotante(){
float y=0.0;
printf("Valor float:");
scanf("%f", &y);
return y;
}
char LeerDatoChar(){
char z=" ";
printf("Valor Char: ");
scanf("%c",&z);
return z;
}
void manipulaData(){
int val=0;
char valc= ' ';
//printf("Dame un valor entero");
//scanf("%c", &val);
val=LeerDatoEntero();
if(val<=10)
{
printf("El valor es menor o igual a 10\n");
}
printf("Dame Char: ");
scanf("%c", &valc);
getchar();
//valc=LeerDatoChar();
//printf("Car=%c\n",valc);
if(valc=='1'){
printf("Encender LED\n");
}
else
{
printf("Apagar LED\n");
}
}


  • 2 personas más tuvieron esta duda Yo también
  • Volver arriba

 

Publicado 22 septiembre 2021 - 15:15

Comprobandote compilador me saltan estos errores que pueden a lo mejor servirte de ayuda:

 

Compilation failed due to following error(s).main.cpp:16:8: error: return-statement with a value, in function returning 'void' [-fpermissive]
return x;
      ^
main.cpp: In function ‘char LeerDatoChar()’:
main.cpp:25:8: error: invalid conversion from ‘const char*’ to ‘char’ [-fpermissive]
char z=" ";
      ^~~
main.cpp: In function ‘void manipulaData()’:
main.cpp:35:20: error: void value not ignored as it ought to be
val=LeerDatoEntero();

 

testea por aqui:

Por favor Identificate o Registrate para poder ver este contenido



 

Publicado 09 enero 2022 - 21:11
El problema que yo veo es que en las llamadas a las funciones declaras un tipo de dato a devolver distinto al que luego devuelves dentro de las funciones. Me explico.

En la prinera funcion LeerDatoEntero declaras void osea que no devuelve ningún valor, pero en la función devuelves x. Tienes dos opciones o no devuelves nada y borras return x. O Cambias void por int que es el tipo de dato que almacena en x.

Y este mismo tipo de error cometes en las demás funciones posteriores. Devuelves tipos de dato diferente a la declaración.


X