• Martes 30 de Abril de 2024, 03:55

Autor Tema:  Error ;  (Leído 1150 veces)

badyalberto

  • Miembro activo
  • **
  • Mensajes: 77
    • Ver Perfil
Error ;
« en: Jueves 6 de Noviembre de 2008, 15:24 »
0
#include<stdio.h>

main()
{
      int limitmax,pesosdiaris, totalpescats = 0, res;
     
      printf("Introdeix el limit maxim diari de peixos: n");
      scanf("%d", &limitmax);
      printf("Introdueix els pesos dels peixos pescats avui: n");
      scanf("%d", &pesosdiaris);
     
      do (pesosdiaris > 0)
      {
           
            totalpescats = totalpescats + pesosdiaris;
            printf("Els pesos dels peixos pescats fins al moment es: %d n",totalpescats);
           
                     
           
           
                        if ( totalpescats > limitmax)
                       
                             printf("HAS SUPERAT EL MAXIM PERMES n");
                             res = limitmax - totalpescats;
                             printf("Has superat el limit maxim en: %d n",res);
                             printf("Els pesos del peixos pescats en total es: %d n",totalpescats);
                             
                             else if (pesosdiaris <= -1)
           
                                     printf("La quantitat que has posat no pot ser negativa. n");
                             
      }                        
      while (pesosdiaris < limitmax);
           
 
getchar();
getchar();
}    


alguien sabe pq me dice que le falta un punto y coma e la linea 13 antes del { si ahi no puedo ponerlo :s

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Error ;
« Respuesta #1 en: Jueves 6 de Noviembre de 2008, 16:06 »
0
Tienes varios errores de sintaxis (por favor la próxima usa las etiquetas de código):

Código: C
  1.  
  2. #include<stdio.h>
  3.  
  4. main()
  5. {
  6.     int limitmax,pesosdiaris, totalpescats = 0, res;
  7.  
  8.     printf("Introdeix el limit maxim diari de peixos: n");
  9.     scanf("%d", &limitmax);
  10.     printf("Introdueix els pesos dels peixos pescats avui: n");
  11.     scanf("%d", &pesosdiaris);
  12.  
  13.     do (pesosdiaris > 0)
  14.     {
  15.  
  16.         totalpescats = totalpescats + pesosdiaris;
  17.         printf("Els pesos dels peixos pescats fins al moment es: %d n",totalpescats);
  18.  
  19.         if ( totalpescats > limitmax)
  20.             printf("HAS SUPERAT EL MAXIM PERMES n");
  21.  
  22.         res = limitmax - totalpescats;
  23.         printf("Has superat el limit maxim en: %d n",res);
  24.         printf("Els pesos del peixos pescats en total es: %d n",totalpescats);
  25.  
  26.         else if (pesosdiaris <= -1)
  27.             printf("La quantitat que has posat no pot ser negativa. n");
  28.     }
  29.  
  30.     while (pesosdiaris < limitmax);
  31.     getchar();
  32.     getchar();
  33. }
  34.  
  35.  

Líneas 19-20: el if, sino le pones llaves sólo afecta a la instrucción siguiente. Seguro que querías englobar las líneas 22, 23 y 24. Ponlo entre llaves.
Línea 26: como consecuencia del error anterior, el elseif se encuentra sin su if correspondiente. Aquí no hacen falta llaves puesto que sólo hay una sentencia.
Línea 30: el while no ejecuta nada dentro del bucle puesto que termina con ;, por tanto tendrías un bucle infinito si se cumple la condición de entrada.

Un saludo e intenta revisar bien la sintaxis...

JeoV

  • Miembro activo
  • **
  • Mensajes: 49
    • Ver Perfil
Re: Error ;
« Respuesta #2 en: Sábado 8 de Noviembre de 2008, 04:50 »
0
Código: Text
  1.  
  2. #include<stdio.h>
  3.  
  4. main()
  5. {
  6.     int limitmax,pesosdiaris, totalpescats = 0, res;
  7.  
  8.     printf("Introdeix el limit maxim diari de peixos: n");
  9.     scanf("%d", &limitmax);
  10.     printf("Introdueix els pesos dels peixos pescats avui: n");
  11.     scanf("%d", &pesosdiaris);
  12.  
  13.     do (pesosdiaris > 0)
  14.     {
  15.  
  16.         totalpescats = totalpescats + pesosdiaris;
  17.         printf("Els pesos dels peixos pescats fins al moment es: %d n",totalpescats);
  18.  
  19.         if ( totalpescats > limitmax)
  20.             printf("HAS SUPERAT EL MAXIM PERMES n");
  21.  
  22.         res = limitmax - totalpescats;
  23.         printf("Has superat el limit maxim en: %d n",res);
  24.         printf("Els pesos del peixos pescats en total es: %d n",totalpescats);
  25.  
  26.         else if (pesosdiaris <= -1)
  27.             printf("La quantitat que has posat no pot ser negativa. n");
  28.     }
  29.  
  30.     while (pesosdiaris < limitmax);
  31.     getchar();
  32.     getchar();
  33. }
  34.  
  35.  

en la linea 13 tuviste un error de sintaxis ya que el do while la condicion se pone en la parte de abajo del while

Citar
Línea 30: el while no ejecuta nada dentro del bucle puesto que termina con ;, por tanto tendrías un bucle infinito si se cumple la condición de entrada.

ese while es del do while, no es un while solo.

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Error ;
« Respuesta #3 en: Sábado 8 de Noviembre de 2008, 21:07 »
0
Cita de: "m0skit0"
Línea 30: el while no ejecuta nada dentro del bucle puesto que termina con ;, por tanto tendrías un bucle infinito si se cumple la condición de entrada.
Sí, me equivoqué, está bien, disculpas.