Revision: 59450
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at September 8, 2012 09:19 by OdnetninI
Initial Code
// Includes of the System
#include <stdio.h>
#include <inttypes.h>
#include <math.h>
// Float variables of numbers
float a = 0;
float b = 0;
// Float variable of result
float result = 0;
// Check Variable
uint8_t lastresult = 0;
uint8_t error = 0;
// Define PI
#define PI 3.14159265
/*
Fuction AskNumbers
Ask for the numbers
*/
void AskNumbers ()
{
if (lastresult == 0 )
{
printf("Elige el primer Número: ");
scanf("%f", &a);
printf("Elige el segundo Número: ");
scanf("%f", &b);
}
else if (lastresult == 1)
{
a = result;
printf("Elige el segundo Número (El Primero es el Resultado anterior): ");
scanf("%f", &b);
}
else if (lastresult == 2)
{
b = result;
printf("Elige el Primer Número (El Segundo es el Resultado anterior): ");
scanf("%f", &a);
}
}
/*
Fuction PrintfOptions
Printf the Options
*/
void PrintfOptions ()
{
printf("Basic Calculador by OdnetninI\n");
printf("-----------------------------\n");
printf(" 1. Suma\n");
printf(" 2. Resta\n");
printf(" 3. Multiplicación\n");
printf(" 4. División\n");
printf(" 5. Potencia\n");
printf(" 6. Coseno\n");
printf(" 7. Seno\n");
printf(" 8. Tangente\n");
printf(" 9. Logaritmo Base 10\n");
printf("10. RaÃz Cuadrada\n");
printf("-----------------------------\n");
}
/*
Main
Init point of System
*/
int main()
{
// Temporal vairables
uint8_t salir = 0;
uint8_t opcion = 0;
// Main While
while(salir == 0)
{
// Printf the Options
PrintfOptions();
// Ask for the option
printf("Elija su Opción: ");
scanf("%d", &opcion);
// Check if answer is correct
if (opcion > 0 && opcion < 6)
AskNumbers();
else if (opcion >= 6 && opcion < 11)
{
if (lastresult == 0 )
{
printf("Elige el Número: ");
scanf("%f", &a);
}
else
{
a = result;
}
}
// Make the operation
switch (opcion)
{
case 1:
printf("%5.2f + %5.2f = %5.2f\n", a, b, a + b);
result = a + b;
break;
case 2:
printf("%5.2f - %5.2f = %5.2f\n", a, b, a - b);
result = a - b;
break;
case 3:
printf("%5.2f * %5.2f = %5.2f\n", a, b, a * b);
result = a * b;
break;
case 4:
printf("%5.2f / %5.2f = %5.2f\n", a, b, a / b);
result = a / b;
break;
case 5:
result = a;
for (float i = 0; i < b-1; i++)
result *= a;
printf("%5.2f ^ %5.2f = %5.2f\n", a, b, result);
break;
case 6:
result = cos (a*PI/180);
printf("cos(%5.2f) = %5.2f", a, result);
break;
case 7:
result = sin (a*PI/180);
printf("sin(%5.2f) = %5.2f", a, result);
break;
case 8:
result = tan (a*PI/180);
printf("tan(%5.2f) = %5.2f", a, result);
break;
case 9:
result = log10 (a);
printf("log10(%5.2f) = %5.2f", a, result);
break;
case 10:
result = sqrt (a);
printf("Raiz Cuadrada(%5.2f) = %5.2f", a, result);
break;
default:
printf("Operación Desconocida\n");
error = 1;
break;
}
// Ask for go out
printf("¿Desea salir? [0:No, 1:Si]");
scanf("%d", &opcion);
// Check the answer
if (opcion == 1)
salir = 1;
else
{
salir = 0;
if (error == 0)
{
printf("¿Quieres conservar el resultado? [0:No, 1:Resultado es A, 2: Resultado es B]");
scanf("%d", &opcion);
if (opcion == 1) lastresult = 1;
else if (opcion == 2) lastresult = 2;
else lastresult = 0;
}
error = 0;
}
// New Line
printf("\n");
}
// Exit of the program
return 0;
}
Initial URL
Initial Description
Two new Fuctions and a solved error
Initial Title
Calculator V 2.7
Initial Tags
Initial Language
C