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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Error al compilar
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Error al compilar  (Leído 3,059 veces)
DickGumshoe


Desconectado Desconectado

Mensajes: 480



Ver Perfil WWW
Error al compilar
« en: 1 Noviembre 2011, 02:24 am »

¡Hola!

Estaba haciendo un pequeño programa; el cual debe calcularme el mes, día, hora, minuto y segundo que será si le sumo 1 segundo (y posteriormente, le añadiré los años).

Tengo todo terminado, pero al compilar me da el error "expected ´(´ before ´{´ token (línea 48; la dejaré anotada al poner el código).

Bueno, el código es:

Código:

//programa para sumar un segundo a los segundos, minutos, horas, dias, meses y años

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



int main (void){
   
    int me, d, h, m, s;
   
    printf("\n Escribe el numero del mes");
    scanf("%d",&me);
   
    printf("\n Escribe los dias");
    scanf("%d",&d);
   
    printf("\n Escribe las horas");
    scanf("%d",&h);
   
    printf("\n Escribe los minutos");
    scanf("%d",&m);
   
    printf("\n Escribe los segundos");
    scanf("%d",&s);
   
   
    printf("\n");
   
    if (s!=59){
      s=s+1;
      }
      else{
        if(m!=59){
                  m=m+1;
                  s=0;
                  }
        else{
        if(h!=23){
        h=h+1;
        m=0;
        s=0;
        }
         
       
         
           
        else{     
   //ESTA LÍNEA ES LA QUE DA ERROR             if{     (((me=1)||(me=3)||(me=5)||(me=7)||(me=8)||(me=10)||(me=12))&(d!=31)){                       
                 me=me+1;
                 d=0;
                 h=0;
                 m=0;
                 s=0;}
                 
             else{
                 me=me;
                 d=d+1;
                 h=0;
                 m=0;
                 s=0;}
                 
               
                 
               
                 else{if (((me==4)||(me==6)||(me==9)||(me==11))&(d==30))){
                 me=me+1;
                 d=0;
                 h=0;
                 m=0;
                 s=0;}
                 
                 else{
                 me=me;
                 d=d+1;
                 h=0;
                 m=0;
                 s=0;}
                     
                         
                         
                         }
                 
                 }
                 
                         }
                         }                   
                     
        }
     
     
       
      printf("Los meses, las horas, los minutos y los segundos un segundo despues son  %d mes %d dias %d h %d min %d s \n", me,d,h,m,s);
       
   
    system("pause");
}

Por favor, ¿alguien podría ayudarme?

Muchísimas gracias.


En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Error al compilar
« Respuesta #1 en: 1 Noviembre 2011, 02:51 am »

Me parece que el mensaje de error lo dice todo. Revisa con cuidado el inicio de esa linea:
Código
  1. if{     (
Lo solucionas en cuestion de segundos.

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
DickGumshoe


Desconectado Desconectado

Mensajes: 480



Ver Perfil WWW
Re: Error al compilar
« Respuesta #2 en: 1 Noviembre 2011, 10:28 am »

Ah, ese paréntesis lo puse porque no me salía, y estaba probando varias opciones; pero incluso poniendo en esa línea un, dos, tres o ningún paréntesis, me da el mismo error...

Código:
                  else{ 
      //AQUÍ ERROR                  if{        ((me==1)||(me==3)||(me==5)||(me==7)||(me==8)||(me==10)||(me==12)&(d!=31)){                          
                 me=me+1;
                 d=0;
                 h=0;
                 m=0;
                 s=0;}

Y así también me sigue dando error:

Código:
 else{ 
                        if{        (me==1)||(me==3)||(me==5)||(me==7)||(me==8)||(me==10)||(me==12))&(d!=31){                          
                 me=me+1;
                 d=0;
                 h=0;
                 m=0;
                 s=0;}

(Aunque lo que sé que en realidad es correcto es el primer código que he puesto en este mismo mensaje, ya que abro el primer paréntesis para todo el if{, el segundo para englobar a me==1, ya empiezo a abrir paréntesis dentro del if, pero todos los cierro, y por último, cierro el paréntesis de d!=31 y el paréntesis del if...

Pero muchísimas gracias por responderme ^^
« Última modificación: 1 Noviembre 2011, 11:36 am por DickGumshoe » En línea

satu


Desconectado Desconectado

Mensajes: 301

Siempre aprendiendo


Ver Perfil WWW
Re: Error al compilar
« Respuesta #3 en: 1 Noviembre 2011, 12:00 pm »

Hola

Te sobra la llave que tienes justo después del if. Tu tienes
if  { (....) {
y debería ser
if (.....) {

Saludos
En línea

Breakbeat como forma de vida
DickGumshoe


Desconectado Desconectado

Mensajes: 480



Ver Perfil WWW
Re: Error al compilar
« Respuesta #4 en: 1 Noviembre 2011, 12:14 pm »

Ah, ¡muchísimas gracias! Ya ese error no me sale. No me había dado cuenta de que le había metido uno ahí...

Ahora me da otro error más para abajo...

Código:
 else{
                 me=me;
                 d=d+1;
                 h=0;
                 m=0;
                 s=0;
                 }
                
              
                
                
         //AQUÍ ERROR        else{ if ((me==4||me==6||me==9||me==11)&(d==30)){
                 me=me+1;
                 d=0;
                 h=0;
                 m=0;
                 s=0;
                 }

El error dice que es " expected primary-expression before "else" " expected `;' before "else" "

Muchas gracias!

Saludos

EDITO


Ya me ha salido esto último por mí mismo; muchas gracias a todos!
« Última modificación: 1 Noviembre 2011, 13:05 pm por DickGumshoe » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Error al compilar
Programación Visual Basic
newbY 2 2,010 Último mensaje 9 Noviembre 2007, 13:40 pm
por newbY
me da error al compilar
Programación Visual Basic
elguast 2 1,910 Último mensaje 29 Junio 2008, 11:54 am
por elguast
Error al compilar un BAT a EXE « 1 2 »
Scripting
xXEsEtUlOnXx 10 8,193 Último mensaje 26 Julio 2008, 02:19 am
por morenochico
Error al compilar
ASM
Kerber0 4 7,486 Último mensaje 7 Enero 2010, 09:58 am
por Eternal Idol
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines