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

JORGE BA-K

Bovino de alcurnia
#1
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;
}
 

Salandrews

Bovino maduro
#2
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?
 

Salandrews

Bovino maduro
#4
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.
 

JORGE BA-K

Bovino de alcurnia
#5
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
 

Salandrews

Bovino maduro
#6
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.
 

JORGE BA-K

Bovino de alcurnia
#7
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
 

Salandrews

Bovino maduro
#8
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"?
 

JORGE BA-K

Bovino de alcurnia
#9
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
 

animatrix92

Bovino adolescente
#10
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
 
Arriba