| Ver tema anterior :: Ver siguiente tema | | Autor | Mensaje |
|---|
betaprog
Registrado: 11 Oct 2007 Mensajes: 1
| Publicado: 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
| Publicado: 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 | |  | | |
| No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas
|
|
| |