Microchip
Miembro
    
Desconectado
Mensajes: 101

Microchip
|
 |
« Respuesta #1 en: Diciembre 19, 2006, 10:25:27 » |
|
En C++ seria asi:
#include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include <conio.h> // esta librería suena bastante mal verdad? jejeje #include <math.h>
// PROGRAMA PRINCIPAL int main() { double a, b, resultado; int Opcion;
double Suma (double , double ); double Resta (double , double ); double Multiplicacion (double , double ); double Division (double , double ); double Raiz_cuadrada (double ); printf("\t\tCALCULADORA\n\n"); printf("\t 1.- Suma\n"); printf("\t 2.- Resta\n"); printf("\t 3.- Multplicaci¢n\n"); printf("\t 4.- Division\n"); printf("\t 5.- Raiz cuadrada\n"); printf("\t\t Elija su Opci¢n:"); scanf("%d", &Opcion); switch (Opcion) { case 1: resultado = Suma (a, b); break;
case 2: resultado = Resta (a, b); break;
case 3: resultado = Multiplicacion (a, b); break;
case 4: resultado = Division (a, b); break;
case 5: resultado = Raiz_cuadrada (a); break;
}
printf("\n El resultado de la opci¢n elegida es: %lf", resultado); getchar(); getchar(); return 0; }
// A partir de aquí pasamos a detallar las operaciones que son llamadas // desde el programa principal. // Ponemos "double" en la suma porque lo que vamos a devolver es un numero // de alta precision... podríamos poner int, pero entonces tendríamos que // declarar otras variables para operar con la division y la raiz // ya que por ejemplo con la división, siempre pueden aparecer numeros // decimales, y si ponemos int, entonces tendríamos problemas porque el // compilador dará un warning, pero si lo ejecutas y salen decimales, // el ordenador se colgará... double Suma (double a, double b) { double c; printf("\n introduzca el primer sumando:"); scanf ("%lf", &a); printf("\n introduzca el segundo sumando:"); scanf ("%lf", &b); c = a + b; return (c); //así asignamos a la variable Suma, el valor de c=a+b }
double Resta (double a, double b) { double c; printf("\n introduzca el primer restando:"); scanf("%lf", &a); printf("\n introduzca el segundo restando:"); scanf("%lf", &b); c = (a-b); return (c); }
double Multiplicacion (double a, double b) { double c; printf("\n introduzca el primer multiplicando:"); scanf("%lf", &a); printf("\n introduzca el multiplicador:"); scanf("%lf", &b); c = a * b; return (c); }
double Division (double a, double b) { double c; printf("\n introduzca el primer dividendo:"); scanf("%lf", &a); printf("\n introduzca el segundo dividendo:"); scanf("%lf", &b); c = a / b; return (c); }
double Raiz_cuadrada (double a) { double c; printf("\n introduzca la cifra a la que efectuar la raiz: "); scanf ("%lf", &a); c = sqrt (a); return (c); }
En un compi. como DEV C++ seria asi:
#include <stdio.h> #include <stdlib.h> #include <conio.h> // esta librería suena bastante mal verdad? jejeje #include <math.h>
// PROGRAMA PRINCIPAL int main() { double a, b, resultado; int Opcion;
double Suma (double , double ); double Resta (double , double ); double Multiplicacion (double , double ); double Division (double , double ); double Raiz_cuadrada (double ); printf("\t\tCALCULADORA\n\n"); printf("\t 1.- Suma\n"); printf("\t 2.- Resta\n"); printf("\t 3.- Multplicaci¢n\n"); printf("\t 4.- Division\n"); printf("\t 5.- Raiz cuadrada\n"); printf("\t\t Elija su Opci¢n:"); scanf("%d", &Opcion); switch (Opcion) { case 1: resultado = Suma (a, b); break;
case 2: resultado = Resta (a, b); break;
case 3: resultado = Multiplicacion (a, b); break;
case 4: resultado = Division (a, b); break;
case 5: resultado = Raiz_cuadrada (a); break;
}
printf("\n El resultado de la opci¢n elegida es: %lf", resultado); getchar(); getchar(); return 0; }
// A partir de aquí pasamos a detallar las operaciones que son llamadas // desde el programa principal. // Ponemos "double" en la suma porque lo que vamos a devolver es un numero // de alta precision... podríamos poner int, pero entonces tendríamos que // declarar otras variables para operar con la division y la raiz // ya que por ejemplo con la división, siempre pueden aparecer numeros // decimales, y si ponemos int, entonces tendríamos problemas porque el // compilador dará un warning, pero si lo ejecutas y salen decimales, // el ordenador se colgará... double Suma (double a, double b) { double c; printf("\n introduzca el primer sumando:"); scanf ("%lf", &a); printf("\n introduzca el segundo sumando:"); scanf ("%lf", &b); c = a + b; return (c); //así asignamos a la variable Suma, el valor de c=a+b }
double Resta (double a, double b) { double c; printf("\n introduzca el primer restando:"); scanf("%lf", &a); printf("\n introduzca el segundo restando:"); scanf("%lf", &b); c = (a-b); return (c); }
double Multiplicacion (double a, double b) { double c; printf("\n introduzca el primer multiplicando:"); scanf("%lf", &a); printf("\n introduzca el multiplicador:"); scanf("%lf", &b); c = a * b; return (c); }
double Division (double a, double b) { double c; printf("\n introduzca el primer dividendo:"); scanf("%lf", &a); printf("\n introduzca el segundo dividendo:"); scanf("%lf", &b); c = a / b; return (c); }
double Raiz_cuadrada (double a) { double c; printf("\n introduzca la cifra a la que efectuar la raiz: "); scanf ("%lf", &a); c = sqrt (a); return (c); }
y en el Turbo C++ seria asi:
#include <stdio.h> #include <conio.h> // esta librería suena bastante mal verdad? jejeje #include <math.h> // PROGRAMA PRINCIPAL int main() { double a, b, resultado; int Opcion;
double Suma (double , double ); double Resta (double , double ); double Multiplicacion (double , double ); double Division (double , double ); double Raiz_cuadrada (double );
clrscr(); printf("\t\tCALCULADORA\n\n"); printf("\t 1.- Suma\n"); printf("\t 2.- Resta\n"); printf("\t 3.- Multplicaci¢n\n"); printf("\t 4.- Division\n"); printf("\t 5.- Raiz cuadrada\n"); printf("\t\t Elija su Opci¢n:"); scanf("%d", &Opcion); switch (Opcion) { case 1: resultado = Suma (a, b); break;
case 2: resultado = Resta (a, b); break;
case 3: resultado = Multiplicacion (a, b); break;
case 4: resultado = Division (a, b); break;
case 5: resultado = Raiz_cuadrada (a); break;
}
printf("\n El resultado de la opci¢n elegida es: %lf", resultado); getchar(); getchar(); return 0; }
// A partir de aquí pasamos a detallar las operaciones que son llamadas // desde el programa principal. // Ponemos "double" en la suma porque lo que vamos a devolver es un numero // de alta precision... podríamos poner int, pero entonces tendríamos que // declarar otras variables para operar con la division y la raiz // ya que por ejemplo con la división, siempre pueden aparecer numeros // decimales, y si ponemos int, entonces tendríamos problemas porque el // compilador dará un warning, pero si lo ejecutas y salen decimales, // el ordenador se colgará... double Suma (double a, double b) { double c; printf("\n introduzca el primer sumando:"); scanf ("%lf", &a); printf("\n introduzca el segundo sumando:"); scanf ("%lf", &b); c = a + b; return (c); //así asignamos a la variable Suma, el valor de c=a+b }
double Resta (double a, double b) { double c; printf("\n introduzca el primer restando:"); scanf("%lf", &a); printf("\n introduzca el segundo restando:"); scanf("%lf", &b); c = (a-b); return (c); }
double Multiplicacion (double a, double b) { double c; printf("\n introduzca el primer multiplicando:"); scanf("%lf", &a); printf("\n introduzca el multiplicador:"); scanf("%lf", &b); c = a * b; return (c); }
double Division (double a, double b) { double c; printf("\n introduzca el primer dividendo:"); scanf("%lf", &a); printf("\n introduzca el segundo dividendo:"); scanf("%lf", &b); c = a / b; return (c); }
double Raiz_cuadrada (double a) { double c; printf("\n introduzca la cifra a la que efectuar la raiz: "); scanf ("%lf", &a); c = sqrt (a); return (c); }
La verdad es que este codigo no esta bien le faltan varias cosas para asemejarse a una calc.... ademas de que deberian colocar un retorno al menu :S
Si no sabes como crear el *.exe, la parte que dice para DEV C++ copiala en un nuevo proyecto de consola (primero descarga e instala este Dev C++) luego F9 y se creara un *.exe en la carpeta de instalacion de ese programa :S
|