elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problema con este programa, me aparece un mensaje de error.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con este programa, me aparece un mensaje de error.  (Leído 5,893 veces)
Anastacio

Desconectado Desconectado

Mensajes: 111



Ver Perfil
Problema con este programa, me aparece un mensaje de error.
« en: 21 Enero 2012, 01:45 am »

Tengo un problema con un programa que calcula signos zodiacales.

Código:
# include <stdio.h>
# include <conio.h>

int main()

{
    int a;
    int ACUARIO;
    int ACUARIO1;
    int Piscis;
    int Piscis1;
    int Aries;
    int Aries1;
    int Tauro;
    int Tauro1;
    int Geminis;
    int Geminis1;
    int Cancer;
    int Cancer1;
    int Leo;
    int Leo1;
    int Virgo;
    int Virgo1;
    int Libra;
    int Libra1;
    int Escorpio;
    int Escorpio1;
    int Sagitario;
    int Sagitario1;
    int Capricornio;
    int Capricornio1;
    int Capricornio2;
    int Capricornio3;
   
    a = 0;
    ACUARIO = 0121;
    ACUARIO1 = 0219;
    Piscis = 0220;
    Piscis1 = 0319;
    Aries = 0320;
    Aries1 = 0420;
    Tauro = 0421;
    Tauro1 = 0521;
    Geminis = 0522;
    Geminis1 = 0622;
    Cancer = 0623;
    Cancer1 = 0722;
    Leo = 0723;
    Leo1 = 0823;
    Virgo = 0824;
    Virgo1 = 0923;
    Libra = 0924;
    Libra1 = 1023;
    Escorpio = 1024;
    Escorpio1 = 1122;
    Sagitario = 1123;
    Sagitario1 = 1221;
    Capricornio = 1222;
    Capricornio1 = 1231;
    Capricornio2 = 0101;
    Capricornio3 = 0120;
   
    printf("Con este programa usted podra saber su signo zodiacal\n");
    printf("Ahora, de su mes y dia de nacimiento, colocando primero el mes, y luego el dia, sin separarlos\n");
    printf("Ejemplo: Si usted nacio el 10 de enero, usted colocara 0110.\n");
    scanf("%d",&a);
   
    if(a >= ACUARIO and a <= ACUARIO1)
    {
     printf("Tu signo zodiacal es Acuario");
     getch();
     return 0;
     }
    if(a >= Piscis and a <= Piscis1)
    {
         printf("Tu signo zodiacal es Piscis");
         getch();
         return 0;
    }
     if(a >= Aries and a <= Aries1)
     {
          printf("Tu signo zodiacal es Aries");
          getch();
          return 0;
     }
     if(a >= Tauro and a <= Tauro1)
     
     {
          printf("Tu signo zodiacal es Tauro");
          getch();
          return 0;
         
     }
     if(a >= Geminis and a <= Geminis1)
     {
          printf("Tu signo zodiacal es Geminis");
          getch();
          return 0;
     }
     if(a >= Cancer and a <= Cancer1)
     {
          printf("Tu signo Zodiacal es Cancer");
          getch();
          return 0;
     }
     if(a >= Leo and a <= Leo1)
     {
          printf("Tu signo zodiacal es Leo");
          getch();
          return 0;
     }
     if(a >= Virgo and a <= Virgo1)
     {
          printf("Tu signo zodiacal es Virgo");
          getch();
          return 0;
     }
     if(a >= Libra and a <= Libra1)
     {
          printf("Tu signo zodiacal es Libra");
          getch();
          return 0;
     }
     if(a >= Escorpio and a <= Escorpio1)
     {
          printf("Tu signo zodiacal es Escorpio");
          getch();
          return 0;
     }
     if(a >= Sagitario and a <= Sagitario1)
     {
          printf("Tu signo zodiacal es Sagitario");
          getch();
          return 0;
     }
     if(a >= Capricornio and a <= Capricornio1)
     {
          printf("Tu signo zodiacal es Capricornio");
          getch();
          return 0;
     }
     if (a >= Capricornio2 and a <= Capricornio3)
     {
          printf("Tu signo zodiacal es Capricornio");
          getch();
          return 0;
     }
}     


Con todas las constantes que estan ahi, me da mensaje de error a las que tienen numeros con 8 y 9. Me aparece este mensaje de error: invalid digit in octal constant.

Porque???


En línea

You, stop to close my post, you were novice too!!!!!!!!!!!!
x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Problema con este programa, me aparece un mensaje de error.
« Respuesta #1 en: 21 Enero 2012, 01:52 am »

por eso, porque para representar numeros en base 8 llega hasta ahí osea que
el numero maximo es 7 es igual que en hexadecimal, es 16 pero llega hasta F


En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Problema con este programa, me aparece un mensaje de error.
« Respuesta #2 en: 21 Enero 2012, 01:56 am »

Porque en C las constantes numéricas enteras que inician con un cero se toman como base 8 y en esta base solo son validos los dígitos 0 a 7. Para eliminar ese error basta con eliminar el cero inicial.

Aparte de eso deberías eliminar el uso de la biblioteca conio de Borland. El porque de ello es explica en el tema |Lo que no hay que hacer en C/C++. Nivel basico|.

Por ultimo en tu programa los casos son exclusivos (no se puede ser de un signo y otro a la vez) y todas las sentencias de selección "if" terminan con:
Código
  1. return 0;
Eso lo debes colocar solo una vez, justo antes del final de la función principal.

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
seba123neo


Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: Problema con este programa, me aparece un mensaje de error.
« Respuesta #3 en: 21 Enero 2012, 01:58 am »

Ayudas o sugerencias - programa signo zodiaco
En línea

Anastacio

Desconectado Desconectado

Mensajes: 111



Ver Perfil
Re: Problema con este programa, me aparece un mensaje de error.
« Respuesta #4 en: 21 Enero 2012, 02:02 am »

Nunca se podria ser de un signo y otro a la vez. A que te refieres con eso??

Nota: No uso borland.

Ya acomode lo otro, gracias!!!!
En línea

You, stop to close my post, you were novice too!!!!!!!!!!!!
BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Problema con este programa, me aparece un mensaje de error.
« Respuesta #5 en: 21 Enero 2012, 02:20 am »

Como sabras los '0' a la izquierda de un numero no influyen... quitalos... que si no estaras haciendo valores OCTALES... jamas dejes 0 a la izquierda...

en C/C++ 015 es dinto de 15 ya que 015 esta en octal y 15 en decimal...

015 octal = 13 en decimal...

Dulces Lunas!¡.
« Última modificación: 21 Enero 2012, 02:22 am por BlackZeroX (Astaroth) » En línea

The Dark Shadow is my passion.
Anastacio

Desconectado Desconectado

Mensajes: 111



Ver Perfil
Re: Problema con este programa, me aparece un mensaje de error.
« Respuesta #6 en: 21 Enero 2012, 03:25 am »

Muchas gracias a todos.
En línea

You, stop to close my post, you were novice too!!!!!!!!!!!!
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Duda] Insertar a este código, Mensaje de Error en caso de...
Programación Visual Basic
Soir 4 2,328 Último mensaje 15 Agosto 2010, 00:15 am
por Fitoschido
error...no sé como suprimir este mensaje ....
Foro Libre
Constance 6 3,356 Último mensaje 26 Abril 2011, 03:30 am
por flacc
¿Porque me aparece este error en esta funcion?
Programación C/C++
SonicBlader 1 2,874 Último mensaje 26 Mayo 2012, 06:11 am
por The Swash
me aparece un error en este ejercicio
Programación C/C++
terry2602 4 2,627 Último mensaje 30 Mayo 2012, 05:24 am
por durasno
Por que me aparece este error !!!
Programación C/C++
BrokerJoker 7 3,951 Último mensaje 3 Junio 2012, 23:32 pm
por BrokerJoker
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines