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

Versión 1
estrellaestrellaestrellaestrellaestrella(10)

Publicado el 15 de Febrero del 2002gráfica de visualizaciones de la versión: Versión 1
106.291 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...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s97