/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

POR QUÉ NO COMPILA?

 
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
betaprog



Registrado: 11 Oct 2007
Mensajes: 1

MensajePublicado: 11/10/2007 11:34 am
Título: POR QUÉ NO COMPILA?

hola gente ...soy nueva en esto de la programación y necesito que alguien me ayude con este problemita de C++ ....La cosa es que cuando quiero ver en pantalla lo que hice...me salta o sea no compila sino que vuelve otra vez al algoritmo...Acá va el algoritmo para que alguien me diga qué es lo que está mal...PORFISSSSS!!!!!!!!!!!!!!!!!!!!CHAAAAAAAAAGRACIAAAAAASSSSS

#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int a,result;
printf("ingrese un nro");
scanf("%f",&a);
result=(a/2);

if(result==0)
printf("el numero %f es par");

else
if(result!=0)
printf("el numero %f es impar");
getch();
}
Volver arriba
digies



Registrado: 18 Nov 2005
Mensajes: 176
Ubicación: Cono Sur

MensajePublicado: 11/10/2007 2:35 pm
Título:

Hola

A mi gusto tu código es C y no C++ (aunque C esté incluido en C++).
Declaras la variable a como integer, por lo tanto la entrada y la salida también deben ser de tipo integer.
Cuando imprimes el resultado del valor de una variable, debes colocar la variable como argumento así como también el tipo de retorno correcto; el operando debe ser de tipo integer.
Reemplaza a/2 por a%2 par obtener el resto de la división y así saber si el número es par o impar.
Yo eliminaría la librería de terceros conio y lo haría de una forma stándar.
Código:

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

int main(void)
{
    system("CLS");
    int a,result;
    printf("ingrese un nro: ");
    scanf("%d",&a);
    result=(a%2);
    if(result==0)
        printf("el numero %d es par\n\n", a);
    else
        printf("el numero %d es impar\n\n", a);
    system("PAUSE");
    return EXIT_SUCCESS;
}


Otra versión más optimizada sería descartando la variable reuslt y colocar el valor retornado por % directamente en el if:
Código:

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

int main(void)
{
    system("CLS");
    int a;
    printf("ingrese un nro: ");
    scanf("%d",&a);
    if((a%2)==0)  /* Equivalente a if(!(a%2)) */
        printf("el numero %d es par\n\n", a);
    else
        printf("el numero %d es impar\n\n", a);
    system("PAUSE");
    return EXIT_SUCCESS;
}


Un saludo
Volver arriba
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com