Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

No da el resultado en un programa en C [Ayuda]

JORGE BA-K

Bovino de la familia
Desde
20 Oct 2008
Mensajes
4.072
Resulta q sale todo bien menos la ganancia ya no le busco mas amigos. cual es mi problema?


Gracias

HTML:
#include<stdio.h>
     #include<conio.h>
     #include<windows.h>
     
     float N5,R2,N3,R1,TG,W,P,H,R,Z,J,N,N2,N1,V,X,S,P1,J1,N4,V1,X1,T,Y,R3,N6,V2,X2,K;
     char gu,s,pu[0],no;
     int  M;
     
     
     
     
     main()
     
     {
           
           N=0,R=0,N1=0,V=0,X=0,J=0,P=0,N2=0,K=0, W=0,R1=0,N3=0,P1=0,J1=0,N4=0,V1=0,X1=0,Z=0,R2=0,N5=0,Y=0,R3=0,N6=0,V2=0,X2=0,TG=0;
           
           printf("desea ingresar");
           scanf("%s", &gu);
           
           if(gu=='s')
           {
                do
                {
                         printf("dame el numero de maquina");
                         scanf("%d", &M);
                         
                         if((M>=1)&&(M<=3))
                         {
                                           
                                           if(M==1)
                                           {
                                                  printf("cuantas horas se utilizo");
                                                  scanf("%d", &H);
                                                  
                                                  if(H>=1)
                                                  {
                                                           N=H+N;
                                                           R=N*10;
                                                           printf("el resultado es %f", N);
                                                           N1=R+N1;
                                                  }
                                                  
                                                  else
                                                  {
                                                      P=H+P;
                                                      J=P*5;
                                                      N2=J+N2;
                                                  }
                                                  
                                                  V=N2+N1;
                                                  X=V+X;
                                           }  
                                           else
                                           {
                                               if(M==2)
                                               {
                                                       printf("cuantas horas se utilizo");
                                                       scanf("%d", &S);
                                                       
                                                       if(S>=1)
                                                       {
                                                                W=S+W;
                                                                R1=W*10;
                                                                N3=R1+N3;
                                                       }
                                                       else
                                                       {
                                                           P1=S+P1;
                                                           J1=P1*5;
                                                           N4=J1+N4;
                                                       }
                                                       
                                                       V1=N3+N4;
                                                       X1=V1+X1;
                                               }
                                               else
                                               {
                                                   if(M==3)
                                                   {
                                                           printf("\n\n  cuantas horas se utilizo");
                                                           scanf("%d", &T);
                                                           if(T>=1)
                                                           {
                                                                    Z=T+Z;
                                                                    R2=Z*10;
                                                                    N5=R2+N5;
                                                                    
                                                           }
                                                           else
                                                           {
                                                               Y=T+Y;
                                                               R3=Y*5;
                                                               N6=R3+N6;
                                                           }
                                                           V2=N6+N5;
                                                           X2=V2+X2;
                                                   }
                                                   else
                                                   {
                                                      printf("\n\n fin");
                                                        
                                                   }
                                                }
                                            }
                                        }
                                        else
                                        {
                                            printf("error");
                                        }
                                        
                                        printf("desea registrar otra maquina");
                                        scanf("%s", &pu);
                                    
                                    
                                    
                                    }                
                
                   while (strcmp("si",pu)==0);
                      
                   
                 TG=X+X1+X2;
                 K=K+TG;        
        
                    printf("\n\n  la ganancia del dia es  %f", TG);
        
         
            }
            else
             {
                    printf("\n\n error");
             }
            getch ();
            return 0;
}
 
Disculpa compañero, no entiendo. ¿A que te refieres con "todo sale bien menos la ganancia"? ¿No la calcula bien, no muestra nada, no la saca bajo el formato que quieres?
 
Disculpa compañero, no entiendo. ¿A que te refieres con "todo sale bien menos la ganancia"? ¿No la calcula bien, no muestra nada, no la saca bajo el formato que quieres?


Pues al final no saca la ganacia no la calcula me sale puro 00000000...
 
Si salen puros 0, es probable que el problema este desde la captura de los tiempos de las máquinas.

Código:
printf("cuantas horas se utilizo");
scanf("%d", &H);


printf("cuantas horas se utilizo");
scanf("%d", &S);

printf("\n\n cuantas horas se utilizo");
scanf("%d", &T);

Las variables H,S y T las declaraste de tipo float, pero las pides bajo el formato "%d", prueba pedirlas bajo formato "%f" o bien, cambia su tipo de dato a int.

Si no, escribe a pantalla los valores de N1,N2,N3,N4,N5 Y N6 para ver si están bien calculados desde ahí. Si en estas variables ya te sale 0, quiere decir que no esta tomando en cuenta las horas que ingresas y que por lo tanto, el problema es la captura de las horas.

¿Otra cosa, para que datos estas probando? Puedes dar un ejemplo, gracias.

Prueba y me cuentas.
 
Si salen puros 0, es probable que el problema este desde la captura de los tiempos de las máquinas.

Código:
printf("cuantas horas se utilizo");
scanf("%d", &H);


printf("cuantas horas se utilizo");
scanf("%d", &S);

printf("\n\n cuantas horas se utilizo");
scanf("%d", &T);
Las variables H,S y T las declaraste de tipo float, pero las pides bajo el formato "%d", prueba pedirlas bajo formato "%f" o bien, cambia su tipo de dato a int.

Si no, escribe a pantalla los valores de N1,N2,N3,N4,N5 Y N6 para ver si están bien calculados desde ahí. Si en estas variables ya te sale 0, quiere decir que no esta tomando en cuenta las horas que ingresas y que por lo tanto, el problema es la captura de las horas.

¿Otra cosa, para que datos estas probando? Puedes dar un ejemplo, gracias.

Prueba y me cuentas.


las cambie a float amigo y nada... aver q pasa ya no le busco otro error... q raro...


lo estoy usando para un ciber. numero de maquina las horas con ciclo while para contar varios usuarios
 
Cada vez que termines de calcular un N, muestralo en pantalla y observa si tiene el valor 0 o el valor que debería corresponder.

Cambia (por el momento) el tipo de dato de H,S y T a int y prueba con horas enteras (1,2,3,4, etc). De hecho, yo preferiría manejar horas y minutos por separado.

En todo caso, mejor utiliza el debugger, para ver que valores están tomando tus variables y buscar la solución en base a ello.
 
Cada vez que termines de calcular un N, muestralo en pantalla y observa si tiene el valor 0 o el valor que debería corresponder.

Cambia (por el momento) el tipo de dato de H,S y T a int y prueba con horas enteras (1,2,3,4, etc). De hecho, yo preferiría manejar horas y minutos por separado.

En todo caso, mejor utiliza el debugger, para ver que valores están tomando tus variables y buscar la solución en base a ello.

Hola amigo pues fijate que puse en pantalla las N-- y si las imprime en valores de 0, puse int a HS Y T usando puros enteros... uso Devc++ no funciona el debugger :S
 
usa printf inmediatamente después de capturar H,S y T, para ver que si tengan el valor que ingresaste de hora.

Así mismo cada vez que hagas un calculo sobre una variable, manda a imprimir el valor de la variable a pantalla, para ver que si se esta realizando bien.

Otra cosa, en esta parte while (strcmp("si",pu)==0); pu solo tiene una posición, ¿como lo comparas con "si"?
 
usa printf inmediatamente después de capturar H,S y T, para ver que si tengan el valor que ingresaste de hora.

Así mismo cada vez que hagas un calculo sobre una variable, manda a imprimir el valor de la variable a pantalla, para ver que si se esta realizando bien.
imprimi todo lo que me indicaste estan mal los datos. gracias de todas formas amigo mañana ire con el maestro y le mostrare el codigo aver si no me ponen un 0 jaja.. ya no sale el 0 amigo ya salen los valores aunque erroneos. saludos ba-kuno ya mañana te comento que paso va? estamos en contacto amigo saludos
 
aqui tienes un error scanf("%d", &H);

deberia ser "%f", &H);

checa todo tu codigo si utilizas variables float para ingresar el valor deberias poner %f no %d, y pon tu codigo en etiquetas html para que tu codigo quede mas ordenado y sea mas facil ayudarte
 
Volver
Arriba