Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Error de novato

Estas en el tema de Error de novato en el foro de C/C++ en Foros del Web. Buenas. Estoy aprendiendo a programar en C y en este programa de prueba no se porque me da fallo en la definición de la subrrutina. ...
  #1 (permalink)  
Antiguo 03/10/2009, 11:48
 
Fecha de Ingreso: junio-2007
Mensajes: 53
Antigüedad: 16 años, 10 meses
Puntos: 0
Error de novato

Buenas.

Estoy aprendiendo a programar en C y en este programa de prueba no se porque me da fallo en la definición de la subrrutina. Cuando la saco del programa y la pruebo en otro programa más simple me compila bien pero aqui no.

/*void tiempoLLamada(int *tiempoTotal,int diaI, int horaI, int minutoI, int segundoI, int diaF, int horaF, int minutoF, int segundoF);
int main()
{
const int FINSEC=-1;
int numTelefono;
int numLLamadas, numLLamadasOtrosOperadores, tiempoTotal;
char operadorPropio, operadorLLamado, espacio;
int i, diaI, horaI, minutoI, segundoI;
int diaF, horaF, minutoF, segundoF;
scanf("%d", &numTelefono);
while(numTelefono!=FINSEC)
{
printf("%d", numTelefono);
scanf("%c", &espacio);
scanf("%c", &operadorPropio);
scanf("%d", &numLLamadas);
numLLamadasOtrosOperadores=0;
tiempoTotal=0;
for(i=1; i==numLLamadas; i++)
{

scanf("%d", &numTelefono);
scanf("%c", &espacio);
scanf("%c", &operadorLLamado);
scanf("%d", &diaI);
scanf("%d", &horaI);
scanf("%d", &minutoI);
scanf("%d", &segundoI);
scanf("%d", &diaF);
scanf("%d", &horaF);
scanf("%d", &minutoF);
scanf("%d", &segundoF);
if(operadorPropio!=operadorLLamado)
{
numLLamadasOtrosOperadores=numLLamadasOtrosOperado res+1;
tiempoLLamada(&tiempoTotal,diaI,horaI,minutoI,segu ndoI,diaF,horaF,minutoF,segundoF);
}
}
if(numLLamadasOtrosOperadores>0)
{
printf(" %.2f ",((float)tiempoTotal/(float)numLLamadasOtrosOperadores));
}
else
{
printf(" %.2f ", 0.0);
}
scanf("%d", &numTelefono);
}
return 0;
}
void tiempoLLamada(int *tiempoTotal,int diaI, int horaI, int minutoI, int segundoI, int diaF, int horaF, int minutoF, int segundoF);
{
const int SEGUNDOSDIA=86400;
int segundos1, segundos2, segundos;
segundos1 = horaI*3600+minutoI*60+segundoI;
segundos2 = horaF*3600+minutoF*60+segundoF;
segundos = 0;
if(diaI==diaF)
{
segundos = segundos2-segundos1;
}
else
{
if(diaI<diaF)
{
segundos = SEGUNDOSDIA-segundos1+segundos2+SEGUNDOSDIA*(diaF-diaI-1);
}
else
{
segundos = SEGUNDOSDIA-segundos1+segundos2+SEGUNDOSDIA*(364-diaI-diaF);
}
}
*tiempoTotal=*tiempoTotal+segundos;
}*/
  #2 (permalink)  
Antiguo 03/10/2009, 20:12
Avatar de fradve  
Fecha de Ingreso: abril-2009
Mensajes: 157
Antigüedad: 15 años
Puntos: 7
Busqueda Respuesta: Error de novato

Solo quitale el punto y coma al final de la línea:

Código c:
Ver original
  1. void tiempoLLamada(int *tiempoTotal,int diaI, int horaI, int minutoI, int segundoI, int diaF, int horaF, int minutoF, int segundoF);
  2. {
  3. }

Ya que inicias la implementación de una función y no lleva punto y coma al final.
__________________
En programación hay mil y un formas de hacer lo mismo...
  #3 (permalink)  
Antiguo 04/10/2009, 00:46
 
Fecha de Ingreso: junio-2007
Mensajes: 53
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Error de novato

Gracias fravde, no se que estaba mirando pero me estaba volviendo loco. Mira que no darme cuenta del punto y coma del final de la declaración de la función.



Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:18.