Ver Mensaje Individual
  #3 (permalink)  
Antiguo 27/10/2014, 05:13
Avatar de vangodp
vangodp
 
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 7 meses
Puntos: 38
Respuesta: No se ejecuta el programa :/ no se identificar el error

Código C:
Ver original
  1. #include <stdio.h>
  2.  
  3. int main (){
  4.    
  5.     int n = 2362;     //funciona con numeros de 1051 hasta 99999
  6.    
  7.     int mil;
  8.     int cen;
  9.     int dec;
  10.    
  11.     if ( n > 1050 ){
  12.         //guardo el resultado de dividir n por 1000
  13.         mil = n/1000; // En ese caso el guardo el 2 en mil.
  14.        
  15.         //nos deshacemos del 2000 quedando solo con 362
  16.         n = n%1000; // Ahora n tiene 362
  17.        
  18.         //Separamos centena haciendo lo mismo que antes
  19.         cen = n/100; //cen guarda el 3
  20.        
  21.         //Ya solo queda obtener la decena, o sea el 62
  22.         dec  = n%100;  //dec guarda 62
  23.        
  24.         //Miramos si dec "dec" es mayor o menor que 50 para aplicar el debido cambio
  25.        
  26.        
  27.         //si es dec es mayor que 50 redondeamos la casa de centena a mas
  28.         if ( dec > 50 ){
  29.             //volvemos a empaquetar el numero por si queremos usar despues ;)
  30.             mil = mil * 1000;
  31.             cen = cen * 100;
  32.             n = mil+(cen+100);
  33.            
  34.             //listo! n esta reempaquetado y redondeado hacia arriba a causa de su decena ser mayor que 50
  35.            
  36.        
  37.         //si es dec es menor que 50 redondeamos la casa de centena a memos    
  38.         }else{
  39.             //volvemos a empaquetar el numero por si queremos usar despues ;)            
  40.             mil = mil * 1000;
  41.             cen = cen * 100;
  42.             n = mil+cen;
  43.            
  44.             //listo! n esta reempaquetado y redondeado hacia abajo a causa de su decena ser menor que 50
  45.            
  46.         }
  47.     }
  48.    
  49.     //Solo queda imprimir
  50.     printf("%d",n);    
  51.  
  52.     //una pausita
  53.     getchar();
  54.    
  55.     //salimos por puerta XD
  56.     return 0;
  57. }

Te dejo una forma que trabaja con un simple int y no con 4.
a pesar de entrar con un solo int, es el mismo programa que lo destripa y lo vuelve a ensamblar al fin una vez redondeado.

Es bien fácil de entenderlo pero te lo comento por si ves dificultad.

Intenta terminar tu programa como sea, no es por que te haya dado una solución que debas abandonar lo que estas haciendo.
Si logras hacerlo sera una victoria y así lo practicaras. ;)
Es mas... quiero que pongas aquí tu programa después de listo =3