Autor
|
Tema: Error al compilar (Leído 3,024 veces)
|
DickGumshoe
|
¡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: //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
Mensajes: 1.639
|
Me parece que el mensaje de error lo dice todo. Revisa con cuidado el inicio de esa linea: 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
|
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... 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: 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
Mensajes: 301
Siempre aprendiendo
|
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
|
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... 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 EDITOYa 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
|
|
|
|
|
|