CALCULADORA DE CONSOLA, AULA DE INFORMATICA CON PUNTEROS
Calculadora de consola, utilizando ANSI C, SI utilizamos punteros que apuntan a unas variables reales: “float”
Se crea una aplicación de consola (Consola Application) Simple, y se añade el siguiente código
// calculadoradeconsola.cpp : Defines the entry point for the console application.
//
// PROGRAMA CALCULADORA DE CONSOLA EN C
ESTÁNDAR CON PUNTEROS
//ENCABEZAMIENTOS
#include "stdafx.h"
#include <stdio.h>
//DECLARACIÓN DE VARIABLES float: para números reales y entera para la operación
float numero1;
float numero2;
float resultado;
//DECLARACIÓN DE PUNTEROS A LAS VARIABLES
float *puntero_numero1;
float *puntero_numero2;
float *puntero_resultado;
int operacion;
//DECLARACIÓN DE FUNCIONES
void introducir_datos();
void calcular();
//IMPLEMENTACIÓN DE LA FUNCIÓN PRINCIPAL
int main(int argc, char* argv[])
{
//DECLARACIÓN Y INICIALIZACIÓN DE LA VARIABLE SALIR Y
RESPUESTA PARA LA RESPUESTA
bool salir=false;
char respuesta;
//INICIALIZACIÓN DE LAS VARIABLES
numero1=0;
numero2=0;
resultado=0;
//INICIALIZACIÓN DE LOS PUNTEROS A LA DIRECCIÓN DE LAS
VARIABLES
puntero_numero1=&numero1;
puntero_numero2=&numero2;
puntero_resultado=&resultado;
operacion=0;
//BUCLE
CONTROLADO POR LA VARIABLE SALIR
while(!salir)
{
//LLAMADA
A LA FUNCIÓN INTRODUCIR DATOS
introducir_datos();
//LLAMADA
A LA FUNCIÓN CALCULAR
calcular();
//PREGUNTAR
SI SALIR DE LA APLICACIÓN
printf("\n¿Quiere salir de la aplicacion? (s/n)");
//INTRODUCIMOS
DOS SCANF PORQUE EL PRIMERO RECOJE EL INTRO DEL ÚLTIMO NÚMERO
//Y
EL SEGUNDO LA RESPUESTA DEL USUARIO A LA PREGUNTA
scanf("%c",&respuesta);
scanf("%c",&respuesta);
if(respuesta == 's' || respuesta == 'S')salir=true;
}
return 0;
}
//IMPLEMENTACIÓN DE LA FUNCIÓN INTRODUCIR
DATOS
void introducir_datos()
{
//OPERAMOS
CON LOS PUNTEROS, NO CON LAS VARIABLES
printf("\n\nCALCULADORA DE CONSOLA: AULA DE
INFORMATICA\n");
printf("\nIntroduzca el primer numero ");
scanf("%f",puntero_numero1);
printf("\nIntroduzca el segundo numero ");
scanf("%f",puntero_numero2);
printf("Introduzca la operacion que quiere
efectuar\n");
printf("\n1 - Sumar");
printf("\n2 - Restar");
printf("\n3 - Multiplicar");
printf("\n4 - Dividir\n");
printf("\n Operacion
");scanf("%d",&operacion);
}
//IMPLEMENTACIÓN DE LA FUNCIÓN CALCULAR
void calcular()
{
switch(operacion)
{
case 1:
*puntero_resultado
= *puntero_numero1 + *puntero_numero2;
break;
case 2:
*puntero_resultado
= *puntero_numero1 - *puntero_numero2;
break;
case 3:
*puntero_resultado
= *puntero_numero1 * *puntero_numero2;
break;
case 4:
if(*puntero_numero2
!= 0) *puntero_resultado = *puntero_numero1 / *puntero_numero2;
break;
}
//IMPRIMIMOS
EL RESULTADO CON TRES DECIMAL
printf("\nEl resultado de la operacion es:
%.3f\n",*puntero_resultado);
//IMPRIMIMOS EL CONTENIDO DEL PUNTERO QUE EN REALIDAD
MUESTRA LA
//DIRECCIÓN
DE LA VARIABLE A LA QUE APUNTA
printf("\nEl resultado de la operacion es:
%.d\n",puntero_resultado);
}