Ver Mensaje Individual
  #11 (permalink)  
Antiguo 26/05/2016, 21:22
Avatar de SrKaesar
SrKaesar
 
Fecha de Ingreso: mayo-2016
Ubicación: Venezuela
Mensajes: 9
Antigüedad: 8 años
Puntos: 0
Respuesta: validar si el usuario ingreso la letra P o M

Hola. Solo te corregí el caso para 'p'

primero: los pesos no pueden ser negativos, las restas estan al reves.
segundo: no es 0,3 sino 0.3 recuerda que los girngos usan es el punto
tercero: pesoelemento debe ser float tambien
cuarto: &c es para leer o mostar UN caracter y %s es para una CADENA de caracteres
quinto: los scanf no te guardan los datos por el tema del buffer. Te recomiendo simplemente agregar un \n en el scanf
ultimo: Lo mas importante, te recomiendo ampliamente que sea limpio y ordenado con tu codigo. Los espacio y las sangrias son muy importante. Te ayudará a encontrar errores tontos de tipeo. No es solo por estetica. Es muy necsario. Te ahorrará mucho tiempo


Código C++:
Ver original
  1. #include <stdio.h>
  2.  
  3.  
  4. int main()
  5. {
  6.     int  niveles, pesocarton, pesobruto, baquelas, pesofinal, pesoelementos, pesoinicial = 0;
  7.     float pesobaquelas;    
  8.     char c;
  9.    
  10.     printf(" Escriba cantidad de niveles en la estiba (1,2,3 etc...): ");
  11.     scanf("\n%d", &niveles); //guardamos el valor introducido en la variable
  12.  
  13.     printf(" Escriba tipo de estiba p(plastico)m(madera): ");
  14.     scanf("\n%c",&c); //guardamos el valor introducido en la variable
  15.        
  16.            
  17.     if (c =='p' ){
  18.        
  19.         printf(" Escriba peso inicial de la bascula: ");
  20.         scanf("\n%d",&pesoinicial); //guardamos el valor introducido en la variable
  21.        
  22.        
  23.         baquelas = niveles * 16;
  24.         pesobaquelas = baquelas * 0.3; // float
  25.         pesocarton = 3 * niveles;
  26.         pesoelementos = 71 + 33 + pesobaquelas + pesocarton;
  27.         pesofinal = pesoelementos - pesoinicial;  
  28.         pesobruto = 71 - pesoinicial;
  29.        
  30.         printf("\n EL peso inicial es: %d", pesoinicial);
  31.         printf("\n El peso neto con estiba de plastico es: %d", pesofinal);
  32.         printf("\n El peso bruto es: %d", pesobruto);
  33.         printf("\n La cantidad de elementos es: %i \n",  baquelas);
  34.     }
  35.     else if(c =='m' ){
  36.         int pesoinicial=0;
  37.          printf("Escriba peso inicial de la bascula: ");
  38.     scanf("%d",&pesoinicial); //guardamos el valor introducido en la variable
  39.        
  40.         baquelas=niveles*16;
  41.         pesobaquelas=baquelas*0.3;
  42.         pesocarton=3*niveles;
  43.         pesoelementos= 71 + 20 + pesobaquelas + pesocarton;
  44.         pesofinal=pesoinicial-pesoelementos;
  45.         pesobruto=pesoinicial - 71;
  46.        
  47.         printf("\n EL peso inicial es: %d", pesoinicial);
  48.         printf("\n El peso neto con estiba de madera es: %d", pesofinal);
  49.         printf("\n El peso bruto es: %d", pesobruto);
  50.         printf("\n La cantidad de elementos es: %d \n", baquelas);
  51.        
  52.     }
  53.     else
  54.      printf("Error, tiene que ingresar un numero mayor o iguala  150 he ingresar tipo de estiba P(plastico) M(madera) ");
  55.  
  56.  
  57.     return 0;
  58. }