Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: JOSELR en 21 Junio 2012, 15:06 pm



Título: tengo problemas al compilar este codigo
Publicado por: JOSELR en 21 Junio 2012, 15:06 pm
#include <stdio.h>
//#include <stdlib.h>


int cociente (int n,int m);
void main(void)
{
   int n,m;
   do{
       printf("Dame dos numeros:");
       scanf("%d %d",&n,&m);

       }

    while((n<=0)||(m<=0))
    {

        printf("El cociente es %d\n",cociente(n,m));

    }
}



//FUNCION

int cociente (int n,int m)
{
    int c,Mayor,menor,acu;
    if(n<m)
    {
        Mayor=m;
        menor=n;
        }
     else
     {
         Mayor=n;
         menor=m;
         }

         acu=menor;
         c=0;
         while(acu<=Mayor)
         {
             acu+=menor;
             c++;
             }
    return (c);
    }


ME MARCA  ERRORES
EN LA LINEA 7 Y 16


GRACIAS



Título: Re: tengo problemas al compilar este codigo
Publicado por: Ferno en 21 Junio 2012, 15:37 pm
Hola!

Este tipo de problemas puedes postearlo en el subforo de programación C/C++. Ahí es donde corresponde.

Sobre tu problema, lo primero que veo es que no utilizas bien las estructuras de control.
¿Utilizas un do-while, o usas un do, y después haces un while?

Supongo que quieres usar un do-while.
Por ende, debes borrar las llaves que encierran el "printf". Están de más!

Otra cosa, la firma del main es muy fea de esa manera y no es estándar.
Puedes usar la forma
Código
  1. int main(){
  2. //codigo
  3. return 0;
  4. }

(lo ideal sería que uses:

Código
  1. int main (int argc, char* argv[]){
  2. //codigo
  3. return 0;
  4. }

pero no son necesarios los argumentos en este caso).

Saludos!


Título: Re: tengo problemas al compilar este codigo
Publicado por: overxfl0w13 en 21 Junio 2012, 16:18 pm
mmm para empezar main, debe retornar un entero, así que empezamos por cambiar eso:

Código
  1. int main()

Y después el bucle es do while, no do y while, vamos que deben ir juntos :)

Código
  1. #include <stdio.h>
  2. //#include <stdlib.h>
  3.  
  4.  
  5. int cociente (int n,int m);
  6. int main()
  7. {
  8.   int n,m;
  9.   do{
  10.       printf("Dame dos numeros:");
  11.       scanf("%d %d",&n,&m);
  12.  
  13.       } while((n<=0)||(m<=0));
  14.  
  15.  
  16.        printf("El cociente es %d\n",cociente(n,m));
  17.  
  18.  
  19. }
  20.  
  21.  
  22.  
  23. //FUNCION
  24.  
  25. int cociente (int n,int m)
  26. {
  27.    int c,Mayor,menor,acu;
  28.    if(n<m)
  29.    {
  30.        Mayor=m;
  31.        menor=n;
  32.        }
  33.     else
  34.     {
  35.         Mayor=n;
  36.         menor=m;
  37.         }
  38.  
  39.         acu=menor;
  40.         c=0;
  41.         while(acu<=Mayor)
  42.         {
  43.             acu+=menor;
  44.             c++;
  45.             }
  46.    return (c);
  47.    }
  48.