Código de C/Visual C - Calculadora en C

sin imagen de perfil

Calculadora en Cgráfica de visualizaciones


C/Visual C

estrellaestrellaestrellaestrellaestrella(10)
Publicado el 15 de Febrero del 2002 por Lucía Acuña Rey
92.636 visualizaciones desde el 15 de Febrero del 2002
Sencilla calculadora realizada en C.

Versión 1
estrellaestrellaestrellaestrellaestrella(10)

Publicado el 15 de Febrero del 2002gráfica de visualizaciones de la versión: Versión 1
92.637 visualizaciones desde el 15 de Febrero del 2002
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Sencilla calculadora que realiza las operaciones de suma, resta, multiplicación, raiz cuadrada y potencia.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
/* Calculadora */
#include<stdio.h>
#include<conio.h>
#include<math.h>
 
main()
{
	int resultado; /* Variable reservada para cada resultado de las operaciones */
	int a;         /* Primer numero que introducimos */
	int b;         /* Segundo numero que introducimos */
	int opcion;    /* Opcion que elegimos */
	do
	{
		clrscr();
		printf("\n         ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»");
		printf("\n         º               :: C A L C U L A D O R A ::                 º");
		printf("\n         ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹");
		printf("\n         º                                                           º");
		printf("\n         º       1.- Suma                     4.- Multiplicacion     º");
		printf("\n         º                                                           º");
		printf("\n         º       2.- Resta                    5.- Division           º");
		printf("\n         º                                                           º");
		printf("\n         º       3.- Raiz Cuadrada            6.- Potencia           º");
		printf("\n         º                                                           º");
		printf("\n         º                        7.- Salir                          º");
		printf("\n         ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ");
		printf("\n                     Nota: Solo funciona con numeros enteros");
		printf("\n");
		printf("\n                              Elija una opcion: ");
		scanf("%d",&opcion);
		switch(opcion)  /* Segun la opcion elegida tendremos los siguientes casos...*/
		{
			case 1:     /* Suma */
			printf("\n         -> Introduzca el primer sumando: ");
			scanf("%i",&a);
			printf("\n         -> Introduzca el segundo sumando: ");
			scanf("%i",&b);
			resultado=a+b;
			printf("\n         La SUMA de %i + %i es igual a %i",a,b,resultado);
			break;
 
			case 2:     /* Resta */
			printf("\n         -> Introduzca el primer numero: ");
			scanf("%i",&a);
			printf("\n         -> Introduzca el segundo numero: ");
			scanf("%i",&b);
			resultado=a-b;
			printf("\n         La RESTA de %i - %i es igual a %i",a,b,resultado);
			break;
 
			case 3:     /* Raiz Cuadrada */
			printf("\n         -> Introduzca el numero al que efectuar la raiz: ");
			scanf("%i",&a);
			if (a>0) /* Con este if se pretende que solo haga la raiz de los numeros positivos */
			{
				resultado=sqrt(a);
				printf("\n         La RAIZ CUADRADA de %i es igual a %i",a,resultado);
			}
			else printf("\n         No puede hacer la raiz cuadrada de un numero negativo!!");
			break;
 
			case 4:     /* Multiplicacion */
			printf("\n         -> Introduzca el primer multiplicando: ");
			scanf("%i",&a);
			printf("\n         -> Introduzca el segundo multiplicando: ");
			scanf("%i",&b);
			resultado=a*b;
			printf("\n         La MULTIPLICACION de %i * %i es igual a %i",a,b,resultado);
			break;
 
			case 5:     /* Division */
			printf("\n         -> Introduzca el dividendo: ");
			scanf("%i",&a);
			printf("\n         -> Introduzca el divisor: ");
			scanf("%i",&b);
			if (b!=0)  /* Si el divisor es distinto de 0 realizara la operacion */
			{
				resultado=a/b;
				printf("\n         El cociente de la DIVISION de %i entre %i es igual a %i",a,b,resultado);
			}
			else printf("\n         No se puede realizar esa division porque el divisor es 0!!");  /* Si el divisor es igual a 0 muestra este mensaje de error */
			break;
 
			case 6:
			printf("\n         -> Introduzca el numero que hara de base: ");  /* Introducimos los datos */
			scanf("%i",&a);
			printf("\n         -> Introduzca el exponente: ");
			scanf("%i",&b);
			if (b<0) /* Si el exponente es negativo salda un mensaje de error */
			printf("\n         Solo se admiten exponentes positivos");
			else   /* De lo contrario calculara la potencia */
			{
				resultado=pow(a,b);
				printf("\n         El resultado de %i^%i es %i",a,b,resultado);
			}
			break;
 
			case 7:   /* Salir */
			textcolor(705);
			cprintf("\n                            Pulse ENTER para salir...");
			break;
		} /* fin switch */
	getch();
	} /* fin do */
	while (opcion!=7);
}  /* fin main */



Comentarios sobre la versión: Versión 1 (10)

4 de Octubre del 2004
estrellaestrellaestrellaestrellaestrella
bueno... muy bueno...

espero que me puedas ayudar en otros programas jejejeje
Responder
16 de Mayo del 2007
estrellaestrellaestrellaestrellaestrella
si es c++, no usa limpiar pantalla. y el textcolor es de otra denominacion
Responder
2 de Junio del 2008
estrellaestrellaestrellaestrellaestrella
OYE TU PROGRAMA ESTA MUY CHIDO.
ME ENCANTO LAS DISTRIBUCION Y EL DISEÑO.
Responder
16 de Abril del 2011
estrellaestrellaestrellaestrellaestrella
Esta muy bien el programa sencillo y carismatico y yo que apenas empiezo esta practico para empezar a aprender
Responder
7 de Mayo del 2012
estrellaestrellaestrellaestrellaestrella
Muy buena presentación gráfica pero yo sugiero en vez de usar un do while por que no mejor usar un default ?
default:
printf("Opci%cn invalida",162);
break;
pero gracias por el aporte.
Responder
13 de Agosto del 2013
estrellaestrellaestrellaestrellaestrella
como ago para k el resultado salga con dicimales,gracias
Responder
Gabriel
10 de Abril del 2016
estrellaestrellaestrellaestrellaestrella
cambia el tipo de vaiable de a, b y resultado a float y luego haz los respectivos cambios de %i por %f
Responder
Claudio
16 de Marzo del 2016
estrellaestrellaestrellaestrellaestrella
Aquí hay una con memoria incluida :D
tome parte del menu de la anterior y la junte con la mia :D

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <windows.h>
#include <conio.h>

typedef struct{
float num1;
float num2;
float total;
float record;
float memoria;
char opc;
}numero;

numero num;

void suma();
void resta();
void multiplicacion();
void division();
void potenciacion();
void raiz();
void promedio();
void tablero();
void principal();
void num2();
void menu();
void opcion();
void memoria();
void salir ();

int main(){

num.num1 = 0;
num.num2 = 0;
num.memoria = 0;
num.total = 0;
num.record = 0;
num.memoria = 0;
system("color 71");
SetConsoleTitle("CALCULADORA TUKAPLAY EASY 1.0v");
principal();
return 0;
}

void suma(){
tablero();
num2();
num.total = num.num1 + num.num2;
tablero();
num.num1 = num.total;
num.record = num.total;
system ("pause");
}

void resta(){
tablero();
num2();
num.total = num.num1 - num.num2;
tablero();
num.num1 = num.total;
num.record = num.total;
system ("pause");
}

void multiplicacion(){
tablero();
num2();
num.total = num.num1 * num.num2;
tablero();
num.num1 = num.total;
num.record = num.total;
system ("pause");
}

void division(){
tablero();
num2();
num.total = num.num1 / num.num2;
tablero();
num.num1 = num.total;
num.record = num.total;
system ("pause");
}

void potenciacion(){
int x;
tablero();
printf ("\n ELEVADO A LA: ");
scanf ("%f",&num.num2);
printf("\a");
if (num.num2 < 0 || num.num2 > 0){
num.total = pow (num.num1, num.num2);
tablero();
num.num1 = num.total;
num.record = num.total;
system ("pause");
}
else{
tablero();
printf ("\n\n EL NUMERO INGRESADO NO EXISTE\n\n");
Sleep (1000);
fflush (stdin);
potenciacion();
}
}

void raiz(){
num.total = sqrt (num.num1);
tablero();
printf (" -------------------------------------------------");
printf ("\n TOTAL = %2.2f\n\n",num.total);
printf("ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ\n\n");
num.num1 = num.total;
num.record = num.total;
system ("pause");
}

void promedio(){
int i,j,x;
tablero();
do{
x = 0;
printf ("\n CUANTOS NUMEROS MAS VAMOS A PROMEDIAR?: ");
scanf ("%i",&j);
printf("\a");
if (i <= 0 || i >= 0){
for(i = 0;i < j; i++){
printf ("\n INGRESA EL %i NUMERO: ",i+1);
scanf ("%f",&num.num2);
num.num1 += num.num2;
printf("\a");
}
i++;
num.total = num.num1 / i;
tablero();
num.num1 = num.total;
num.record = num.total;
system ("pause");
}
else {
tablero();
printf ("\n\n EL NUMERO INGRESADO NO EXISTE\n\n");
Sleep (1000);
fflush (stdin);
x = 2;
}
}while (x == 2);
}

void porcentaje(){
float aux, aux2;
tablero();

printf ("\n INGRESA EL %s: ","%");
scanf ("%f",&num.num2);
printf("\a");
if (num.num2 < 0 || num.num2 > 0){
tablero();
num.total = num.num1 * num.num2 / 100;
aux = num.num1 + num.total;
aux2 = num.num1 - num.total;
tablero();
printf (" TOTAL SUMADO= %.2f\n",aux);
printf ("\n TOTAL RESTADO= %.2f\n\n",aux2);
num.num1 = num.total;
num.record = num.total;
system ("pause");
}
else {
tablero();
printf ("\n\n LA OPCION INGRESADA ES INCORRECTA\n\n");
Sleep (1000);
fflush (stdin);
porcentaje();
}
}

void tablero(){
system ("cls");
printf("ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ");
printf ("\n CALCULADORA TUKAPLAY EASY 1.5v\n");
printf("ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ\n");
printf ("\n MEMORIA:ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ> %.2f\n\n",num.memoria);
if (num.total == num.num1){
printf ("\n RESULTADO:ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ> %.2f\n",num.total);
printf("\nÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ\n");
}
else if (num.num1 > 0){
printf ("\n RESULTADO:ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ> %.2f\n",num.total);
printf("\nÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ\n");
printf ("\n PRIMER NUMERO: %.2f\n",num.num1);
}

switch (num.opc){
case '1': printf ("\n FUNCION UTILIZADA: %s\n","PROMEDIO");break;
case '2': printf ("\n FUNCION UTILIZADA: %s\n","PORCENTAJE");break;
case '3': printf ("\n FUNCION UTILIZADA: %s\n","POTENCIAR");break;
case '4': printf ("\n FUNCION UTILIZADA: %s\n","RADIZ CUADRADA");break;
case '+': printf ("\n FUNCION UTILIZADA: %s\n","+ SUMAR");break;
case '-': printf ("\n FUNCION UTILIZADA: %s\n","- RESTAR");break;
case '*': printf ("\n FUNCION UTILIZADA: %s\n","* MULTIPLICAR");break;
case '/': printf ("\n FUNCION UTILIZADA: %s\n","/ DIVIDIR");break;
}

if (num.num2 > 0){
printf ("\n SEGUNDO NUMERO: %.2f\n",num.num2);
printf (" -------------------------------------------------");
printf ("\n TOTAL = %.2f\n",num.total);
printf("\nÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ\n");
}
}

void principal(){
int o;
printf("\a");
fflush (stdin);
o = 1;
tablero();
printf ("\n INGRESA EL PRIMER NUMERO: ");
scanf ("%f",&num.num1);
printf("\a");
if (num.num1 < 0 || num.num1 > 0){
menu();
}
else {
tablero();
printf ("\n\n LA OPCION INGRESADA ES INCORRECTA\n\n");
Sleep (1000);
fflush (stdin);
principal();
}
}

void num2(){
system ("cls");
tablero();
printf ("\n INGRESA EL SEGUNDO NUMERO: ");
scanf ("%f",&num.num2);
printf("\a");
if (num.num2 < 0 || num.num2 > 0){
}
else {
tablero();
printf ("\n\n LA OPCION INGRESADA ES INCORRECTA\n\n");
Sleep (1000);
fflush (stdin);
num2();
}
}
void menu(){

int o;

do{
o = 1;
tablero();

printf("\n ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»");
printf("\n º º");
printf("\n º + = Suma 1 = Promedio º");
printf("\n º º");
printf("\n º - = Resta 2 = Porcentaje º");
printf("\n º º");
printf("\n º * = Multiplicacion 3 = Potenciacion º");
printf("\n º º");
printf("\n º / = Division 4 = Raiz Cuadrada º");
printf("\n º º");
printf("\n º 5 = Salir º");
printf("\n ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ");
printf("\n\n OPCION: ");

fflush (stdin);
//scanf ("%c",&num.opc);
num.opc = getch();
printf("\a");
switch (num.opc){
case '+': suma();break;
case '-': resta();break;
case '*': multiplicacion();break;
case '/': division();break;
case '1': promedio();break;
case '2': porcentaje();break;
case '3': potenciacion();break;
case '4': raiz();break;
case '5': salir();;break;
default: {
tablero();
printf ("\n\n LA OPCION INGRESADA ES INCORRECTA\n\n");
Sleep (1000);
fflush (stdin);
o = 2;
break;
}
}
num.opc = ' ';
num.num2 = 0;
}while(o == 2);
opcion ();
}

void opcion(){

int o;
do{
printf("\a");
tablero();

printf("\n ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»");
printf("\n º QUE DESEAS HACER? º");
printf("\n ºÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͺ");
printf("\n º º");
printf("\n º 1 = USAR RESULTADO 2 = NO USAR RESULTADO º");
printf("\n º º");
printf("\n º 3 = MEMORIZAR 4 = SALIR º");
printf("\n º º");
printf("\n ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ");
printf("\n\n OPCION: ");

//printf ("\n QUE DESEAS HACER?\n\n 1 = USAR RESULTADO\n 2 = NO USAR RESULTADO\n \n \n\nÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ\n\n OPCION: ");
scanf ("%i",&o);
printf("\a");
switch (o){
case 1: menu();break;
case 2: num.total = 0;num.num1 = 0;principal();break;
case 3: memoria();break;
case 4: salir();break;
default: {
tablero();
printf ("\n\n LA OPCION INGRESADA ES INCORRECTA\n\n");
Sleep (1000);
fflush (stdin);
o = 2;
break;
}
}
}while (o > 0 && o < 5);
}

void memoria(){

int o;

do{
tablero();
printf("\n ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»");
printf("\n º OPCIONES DE MEMORIA º");
printf("\n ºÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͺ");
printf("\n º º");
printf("\n º 1 = SUMAR RESULTADO 2 = RESTAR RESULTADO º");
printf("\n º º");
printf("\n º 3 = RESETEAR 4 = SALIR º");
printf("\n º º");
printf("\n ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ");
printf("\n\n OPCION: ");

//printf ("\n OPCIONES DE MEMORIA\n\n 1 = SUMAR RESULTADO A LA MEMORIA\n 2 = RESTAR RESULTADO A LA MEMORIA\n 3 = PONER LA MEMORIA EN 0\n 4 = NO MODIFICAR LA MEMORIA\n\nÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ\n\n OPCION: ");
scanf ("%i",&o);
printf("\a");
tablero();

switch (o){
case 1: {
num.memoria += num.record;
tablero();
printf("\n SUMADO A LA MEMORIA\n\n");
printf("\nÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ\n");
break;
}
case 2: {
num.memoria -= num.record;
tablero();
printf("\n RESTADO A LA MEMORIA\n\n");
break;
}
case 3: {
num.memoria = 0;
tablero();
printf("\n RESETEADO DE LA MEMORIA\n\n");
break;
}
case 4: printf("\n NO SE MODIFICO LA MEMORIA\n\n");break;
default: {
tablero();
printf ("\n\n LA OPCION INGRESADA ES INCORRECTA\n\n");
Sleep (1000);
fflush (stdin);
memoria();
break;
}
}

}while(o < 1 || o > 4);

Sleep (800);

opcion();
}

void salir (){
tablero();
printf ("\n ES UN GUSTO ESTAR A TU SERVICIO!!\n\n");
printf("\nÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ\n");
printf ("\a\a");
Sleep (1500);
exit(0);
}
Responder
Claudio
16 de Marzo del 2016
estrellaestrellaestrellaestrellaestrella
bue... no salio los espacios de los menu cuando lo postie :/ bueno, eso lo pueden rearmar ustedes a su gusto!!
Responder
javier
4 de Marzo del 2018
estrellaestrellaestrellaestrellaestrella
como hago una calculadora teniendo las cuatro operaciones que el resultado me lo muestre con numeros mayas.
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s97