Páginas

domingo, 27 de octubre de 2013

Programación Android con CCTools y C - pc09_Calc1

Calculadora de Operaciones
aritmeticas con datos enteros
introducidos con teclado de pantalla,
son validados y llama las funciones
aritméticas y retornar un valor a
la función principal main.



















/*pc09-Calculadora de Operaciones
aritmeticas con datos enteros
introducidos con teclado de pantalla,
son validados y llama las funciones
aritméticas y retornar un valor a
la función principal main:
sumar +
restar -
multiplicar *
dividir /
resto %
*/
/*Ver pc02 y seguir los procedimientos
de introducir el programa con el editor de
CCTools, guardalo con save como pc09.c,
compilar con run, si hay errores corregirlos
en el editor, hasta que se ejecute bien y se
obtengan los resultados deseados*/
/*Un programa en C primero debe
incluir librerías que usara el
programa*/
#include <stdio.h>
/*En C se puede crear nombres
constantes con define que son
sustituidos por su valor en el
programa*/
#define DOSMILLONES 2000000
#define MENOSDOSMILLONES -2000000
/*Un programa en C esta constituido
por funciones que son llamadas por
la funcion main o principal*/
/*Función de suma fsuma recibe de
main los enteros int v1, v2 y
realiza la operación aritmética de
suma, y retorna un resultado
entero int r1 a la función main*/
int fsuma(int v1, int v2){
int r1;
r1=v1+v2;
return r1;
}
/*Función de resta fresta recibe de
main los enteros int v1, v2 y
realiza la operación aritmética de
resta y retorna un resultado
entero int r1 a la función main*/
int fresta(int v1, int v2){
int r1;
r1=v1-v2;
return r1;
}
/*Función de multiplica fmultiplica recibe de
main los enteros int v1, v2 y
realiza la operación aritmética de
multiplica y retorna un resultado
entero int r1 a la función main*/
int fmultiplica(int v1, int v2){
int r1;
r1=v1*v2;
return r1;
}

/*Función de divide fdivide recibe de
main los enteros int v1, v2 y
realiza la operación aritmética de
divide y retorna un resultado
entero int r1 a la función main*/
int fdivide(int v1, int v2){
int r1;
r1=v1/v2;
return r1;
}
/*Función de resto fresto recibe de
main los enteros int v1, v2 y
realiza la operación aritmética de
resto y retorna un resultado
entero int r1 a la función main*/
int fresto(int v1, int v2){
int r1;
r1=v1%v2;
return r1;
}
/*Un programa en C esta constituido
por funciones, una debe ser main y
llamara a las funciones anteriores 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 operación con tipo de datos enteros*/
int dato1=0,dato2=0;
int operacion=0;
/*Asignamos un min. y max a los enteros
permitidos*/
int imin = MENOSDOSMILLONES;
int imax = DOSMILLONES;

/*Desplegamos el entero int máximo y minimo
permitido*/
printf("Entero Max Permitido: %d \n",imax);
printf("Entero Min Permitido: %d \n",imin);
/*Desplegamos que se introduzcan
los datos por la pantalla*/
printf("Introduce dato1 entero: ");
scanf("%d",&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
petite pedir e introducir de nuevo dato*/
while((dato1>=imax) || (dato1<=imin)){
  printf("Dato1 fuera de rango permitido \n");
  printf("Introduce dato1 entero: ");
  scanf("%d",&dato1);
}
printf("Subtotal= %d \n",dato1);
 
do{
printf("\nCalculadora Enteros \n");
printf("Operaciónes: \n");
printf("0-FIN \n");
printf("1-Suma \n");
printf("2-Resta \n");
printf("3-Multiplica \n");
printf("4-Divide \n\n");
printf("Selecciona Operación: ");
scanf("%d",&operacion);
if(operacion==0){
printf("Fin de Calcular: \n");
break;
}
if((operacion<0) || (operacion>4)){
printf("Operación Inválida \n");
continue;
}
printf("Introduce dato2 entero: ");
scanf("%d",&dato2);
/*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((dato2>=imax) || (dato2<=imin)){
  printf("dato2 fuera de rango permitido \n");
  printf("Introduce dato2 entero: ");
  scanf("%d",&dato2);
}
/*Operación suma*/
if(operacion==1){
dato1=fsuma(dato1,dato2);
}

/*Operación resta*/
if(operacion==2){
dato1=fresta(dato1,dato2);
}
/*Operación multiplica*/
if(operacion==3){
dato1=fmultiplica(dato1,dato2);
}
/*Operación divide*/
if(operacion==4){
dato1=fdivide(dato1,dato2)+fresto(dato1,dato2);
}
/*Subtotal de cada operación*/
printf("Subtotal= %d \n",dato1); 
}while((operacion>=0)||(operacion<=4));
/*Total de todas las operaciones*/
printf("Total= %d",dato1);
/*La función main debe tener un retorno
de 0 errores al sistema operativo*/
return 0;
}

No hay comentarios:

Publicar un comentario