Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - lgamerm

#1
 
Cita de: AprendiendoAProgramar en 25 Enero 2017, 23:35 PM
Esto no tiene sentido, se supone que debería dar el cuadrado de el numero pero siempre bota el numero -1.
Ejemplo:
5^2 = 24.                         .____.
.-. Por favor, ¿qué pasó? D: Soy nuub en esto.
no sé si será mi pc o que pasará.
Código (cpp) [Seleccionar]
#include <iostream>
#include <windows.h>
#include <cmath>



using namespace std;

int Cuadrado(int);


int main(){

   int Numero;


   cout<<" INGRESE NUMERO "<<endl;
   cin>>Numero;

   cout<<"El cuadrado del numero es: "<<Cuadrado(Numero)<<endl;


   system("pause");
 return 0;

}


int Cuadrado(int a){


   a = pow(a,2);

   return a;



}




· No se debe escribir en mayúsculas
>aquí las reglas del foro
-Engel Lex


cambia esto: a = pow(a,2); por esto: a *= a;
#2
Wuau XD son de mucha ayuda ya estare molestando cuando tenga otra duda XD, no pense que hubiera tanto apoyo en este foro  :o
#3
Cita de: MAFUS en 14 Octubre 2016, 00:39 AM
fgets también recoge el caracter '\n' como parte de la cadena introducida. Por eso, al compararlo con las palabras que le das a strcmpi no son iguales. Antes de dárselas debes cambiar el '\n' por '\0'.
Muchisimas gracias, luego que encuentre alguna otra duda la pondre XD grax.




Cita de: HardForo en 16 Octubre 2016, 16:16 PM
Es TAL CUAL te explicó @MAFUS, mira como podria quedar:


#include<stdio.h>
#include<string.h>

int main(){
    char a[10];

    printf("Escribe una figuroa geometrica: ");       
    fgets(a, 10, stdin);

while (a[0]!='\n')
{
    if(strcmpi(a,"Cuadrado\n") == 0){
        printf("Tiene 4 lados\n");
    }else
    if(strcmpi(a, "Triangulo\n") == 0){
        printf("Tiene tres lados\n");
    }else
    if(strcmpi(a, "Circulo\n") == 0){
        printf("Es redondo\n");
    }else
    printf("Figura no reconcida!\n");

printf("Escribe una figuroa geometrica: ");   
    fgets(a, 10, stdin);    
}

    getchar();
    return 0;
}


Con dos ENTER consecutivos sale.
Gracias tambien, ya probe el codigo y todo correcto esepto que debi aumentar el arreglo a 11, pero esta bien el concepto GRACIAS  ;-)
#4
Programación C/C++ / Duda sobre fgets() en c
14 Octubre 2016, 00:06 AM
Yo estoy aprendiendo a progrmar en c creo que ya soy de un nivel medio XD, pero hay un problema que tengo y no se si ustedes me la puedan resolver o explicarme que es lo que pasa, aqui tengo un codigo en el cual tienes que escribir "circulo" "cuadrado" y "triangulo" dependiendo cual palabra teclees el programa te dira una caracteristica de esa figura. Pues el problema viene porque con fgets guardo la palabra que escribe el usuario pero aunque sea correcta el programa no entra en ningun if, si lo hago con scanf todo correcto pero con fgets no, alguien me podria decir si es un fallo de fgets o yo me estoy equivocando.

#include<stdio.h>
#include<string.h>

int main(){
   char a[10];

   printf("Escribe una figuroa geometrica: ");
   fgets(a, 10, stdin);//si esto lo cambio con scanf("%s", &a); todo iria bien pero con     //fgets no

   if(strcmpi(a, "Cuadrado") == 0){
       printf("Tiene 4 lados\n");
   }
   if(strcmpi(a, "Triangulo") == 0){
       printf("Tiene tres lados\n");
   }
   if(strcmpi(a, "Circulo") == 0){
       printf("Es redondo\n");
   }

   system("pause");
   return 0;
}


:-( :-( :-( :-( :-( :-( :-( :-( :-( :-( :-(



Mod: Los códigos deben ir en etiquetas GeSHi