Resultados 1 al 3 de 3

Ayuda progrma c

  1. #1 Ayuda progrma c 
    Avanzado
    Fecha de ingreso
    Sep 2007
    Ubicación
    Dando vueltas en el Astra
    Mensajes
    213
    Descargas
    0
    Uploads
    0
    Hola amigos, tengo un problema, tengo k hacer un programa en c pero me ha dicho mi profesor k lo hago de otra forma.

    Código:
    #include<stdio.h>
    #include<stdlib.h>
    #include<math.h>
    main()
    {
          
          int opcion;
          printf("Redondeos :\n\n\n");
          printf("Opcion 1:Introduce un numero real y lo devuelve redondeado a entero.\n");
          printf("Opcion 2:Introduce un numero real y lo devuelve redondeado con dos decimales.\n");
          printf("Introduce tu eleccion: ");scanf("%d",&opcion);
          
          
          if (opcion==1)
         {
          double num;
          printf("Introduce un numero real: ");scanf("%lf",&num);
          if(num-floor(num)<0.5){
          printf("%f es redondeado\n",floor(num));
          }
          if(num-floor(num)>=0.5){
          printf("%f es el numero ya redondeado\n",ceil(num));
          }
          system("pause");
          
          }else{
          if(opcion==2)
          {
          double num, redondeo;
          printf("Introduce un numero real: ");scanf("%lf",&num);
          redondeo=ceil(num*100);   
          if(num-floor(num)<0.5)
          printf("El numero redondeado es %.2f\n",num);
          if(num-floor(num)>=0.5)
          printf("El numero redondeado es %.2f\n",redondeo/100);
          system("pause");
    }}}
    en la 2 opcion tengo k cambiarlo de una forma que no tenga el %.2f.

    Help Me.
    Citar  
     

  2. #2  
    Iniciado
    Fecha de ingreso
    Dec 2007
    Mensajes
    3
    Descargas
    0
    Uploads
    0
    Hola, a simple vista te puedo decir que tu error esta en %.2f, ya que los comandos para precisar el formato que vamos a usar se escriben así:

    %[anchura].[precisión] carácter_de_tipo

    Donde anchura es el número opcional mínimo de carácteres que tendrá el número a mostrar en pantalla; precisión el número opcional mínimo de decimales tras la coma y caracter_de_tipo el carácter que representa el formato en el cual queremos imprimir el número.

    Si pones %3.2f tendrás que el número minimo de carácteres que tendrá el número a mostrar será 3 (El entero y los dos decimales que quieres).

    Espero haberte ayudado.

    Saludos
    Citar  
     

  3. #3  
    Moderador HH
    Fecha de ingreso
    Feb 2002
    Ubicación
    México
    Mensajes
    1.156
    Descargas
    4
    Uploads
    0
    Se podría hacer de la siguiente forma:
    Código:
    int parteEntera, parteDecimal;
    parteEntera=num;
    ...
    parteDecimal=floor((num-parteEntera)*100);//o ceil, según sea el caso
    printf("El numero redondeado es %i.%i\n",parteEntera,parteDecimal);
    Espero se le entienda bien.

    Saludos
    Mientras el mundo permanezca no acabarán la fama y la gloria de México-Tenochtitlan
    Citar  
     

Marcadores

Marcadores