Vistas de página en total

domingo, 27 de octubre de 2013

Programación Android con CCTools y C - pc12_Calc4

Calculadora de operaciones
aritmeticas con datos decimales introducidos
con teclado de pantalla, son validados
y se efectua las operaciones con las
instruciones de ifs anidados.


 

















/*pc12-Calculadora de operaciones
aritmeticas con datos decimales introducidos
con teclado de pantalla, son validados
y se efectua las operaciones con las
instruciones de ifs anidados.*/

/*Ver pc02 y seguir los procedimientos
de introducir el programa con el editor de
CCTools, guardalo con save como pc12.c,
compilar con run, si hay errores corregirlos
en el editor, hasta que se ejecute bien y se
obtengan los resultados deseados*/
/*La operación Raíz cuadrada
debe incluirse la librería math.h y
compilarse con build y aparece un
ventana de compile source file
en arguments poner -lm y activar
build ejecutable y run, aparece
otra ventana de ejecute file y pide
line arguments que no se ponen nada
y se continua la ejecución*/
/*Un programa en C primero debe
incluir librerías que usara el
programa*/
#include<stdio.h>
#include<math.h>
/*En C se puede crear nombres
constantes con define que son
sustituidos por su valor en el
programa*/
#define DOSMILLONES 2000000.00
#define MENOSDOSMILLONES -2000000.00
/*Un programa en C esta constituido
por funciones, una debe ser main y sera
el punto de entrada al ejecutarse el programa*/
int main(){
/*Una función como main es una secuencia de
instrucciones que realiza operaciones
con datos. Primero debe definirse los datos asignando
una variable con un nombre y un valor inicial de 0, como
dato1, dato2 y su tipo de datos decimales float*/
float dato1=0,dato2=0;
int operacion=0;
/*Asignamos un min. y max a los decimales
permitidos*/
float imin = MENOSDOSMILLONES;
float imax = DOSMILLONES;

/*Desplegamos el decimal float máximo y minimo
permitido*/
printf("Decimal Max Permitido: %.2f \n",imax);
printf("Decimal Min Permitido: %.2f \n",imin);
/*Desplegamos que se introduzcan
los datos por la pantalla*/
printf("Introduce dato inicial decimal: ");
scanf("%f",&dato1);

/*Utilizamos la instrucción de decisión y
repetición while para probar dos condiciones de los
valores del dato introducido si son
permitidos, si alguna o las dos se cumplen,
se despliega fuera de rango, se
repite pedir e introducir de nuevo el dato*/
while((dato1>=imax) || (dato1<=imin)){
  printf("Dato fuera de rango permitido \n");
  printf("Introduce dato inicial decimal: ");
  scanf("%f",&dato1);
}
printf("Dato inicial= %.2f \n",dato1);
 
do{
printf("\nCalculadora Decimal \n");
printf("Operaciones\n");
printf("0-FIN \n");
printf("1-Suma \n");
printf("2-Resta \n");
printf("3-Multiplica \n");
printf("4-Divide \n");
printf("5-Raíz cuadrada \n");
printf("Selecciona Operación: ");
scanf("%d",&operacion);
if(operacion==0){
printf("Fin de Calcular: \n");
break;
}
if((operacion<0) || (operacion>5)){
printf("Operación Inválida \n");
continue;
}
printf("Introduce dato decimal: ");
scanf("%f",&dato2);
while((dato2>=imax) || (dato2<=imin)){
  printf("Dato fuera de rango permitido \n");
  printf("Introduce dato decimal: ");
  scanf("%f",&dato2);
}
/*ifs anidados y las operaciones
aritméticas se realizan en main
sin llamar funciones */
/*Operación suma*/
if(operacion==1){
dato1=(dato1+dato2);
}else{
  /*Operación resta*/
  if(operacion==2){
  dato1=(dato1-dato2);
  }else{
  /*Operación multiplica*/
    if(operacion==3){
    dato1=(dato1*dato2);
    }else{
      /*Operación divide*/
      if(operacion==4){
      dato1=(dato1/dato2);
      }else{
        /*Operación raíz cuadrada*/
        if(operacion==5){
        dato1=sqrt(dato2+dato1);
        }//raíz cuadrada
      }//divide
    }//multiplica
  }//resta
}//suma

/*Subtotal de cada operación*/
printf("Subtotal= %.2f \n",dato1); 
}while((operacion>=0)||(operacion<=4));
/*Total de todas las operaciones*/
printf("Total= %.2f",dato1);
/*La función main debe tener un retorno
de 0 errores al sistema operativo*/
return 0;
}

No hay comentarios: