Programa área cuadrado y área círculo
2 participantes
pc p0rt4l :: Programación :: Lenguaje C
Página 1 de 1.
Programa área cuadrado y área círculo
Pues eso, tomar el código fuente de un programilla bastante sencillo que sirve para calcular el área de un cuadrado y el área del círculo, como bien dice el título.
#include <stdio.h>
#include <conio.h>
#define pi 3.1416
main()
{
int selec;
printf("Ponga un 1 para el area del cuadrado o un 2 para el area de un circulo:");
scanf("%d", &selec);
if (selec==1){
float uno,area;
printf("\nIntroduzca el lado:");
scanf("%f", &uno);
area=uno*uno;
printf("El area del cuadrado es: %.2f", area);
}
else if (selec==2){
float radio,area;
printf("\nIntroduce el radio del circulo:");
scanf("%f", &radio);
area=pi*radio*radio;
printf("El area del circulo es: %.2f", area);
}
else if((selec!=1)&&(selec!=2))
printf("No existe la opcion que expone\a");
printf("\nFin programa");
getch();
}
#include <stdio.h>
#include <conio.h>
#define pi 3.1416
main()
{
int selec;
printf("Ponga un 1 para el area del cuadrado o un 2 para el area de un circulo:");
scanf("%d", &selec);
if (selec==1){
float uno,area;
printf("\nIntroduzca el lado:");
scanf("%f", &uno);
area=uno*uno;
printf("El area del cuadrado es: %.2f", area);
}
else if (selec==2){
float radio,area;
printf("\nIntroduce el radio del circulo:");
scanf("%f", &radio);
area=pi*radio*radio;
printf("El area del circulo es: %.2f", area);
}
else if((selec!=1)&&(selec!=2))
printf("No existe la opcion que expone\a");
printf("\nFin programa");
getch();
}
Re: Programa área cuadrado y área círculo
Bien hecho el programilla. A ver si nos vamos soltando un poco en esto de la programación jejeje. Bueno yo te voy a mostrar aquí una alternativa al programa que has hecho escrita en lenguaje C++ y sustituyendo los condicionales por un switch y encapsulando el código en dós módulos que devuelvan un float, que será el área de la figura correspondiente. Aquí va:
#include <iostream>
using namespace std;
float areaCuadrado(); // Módulo que devuelve el área del cuadrado como número real.
float areaCirculo(); // Módulo que devuelve el área del circulo como número real.
int main () {
int op;
float area;
cout<<"Pulsa 1 si quieres saber el área del cuadrado o 2 si quieres saber la del círculo"<<endl;
cin>>op;
switch(op) { // Evalúa el valor de la varialbe "op" y, en función de ese valor, ejecuta uno de posibles case.
case 1: area=areaCuadrado();
break;
case 2: area=areaCirculo();
break;
default: cout<<"Error: La opción seleccionada no existe"<<endl;
break;
//Opción que se ejecuta en caso de que el valor de opción no aparezca en los posibles case.
}
cout<<"El área de la figura seleccionada es "<<area<<endl;
cout<<"Fin del programa"<<endl;
}
float areaCuadrado() {
float lado;
float area;
cout<<"Introduce el lado del cuadrado"<<endl;
cin>>lado;
area=lado*lado;
return(area);
}
float areaCirculo() {
float radio, area;
cout<<"Introduce el radio del circulo"<<endl;
cin>>radio;
area=3.14*radio*radio;
return(area);
}
La solución es un poco más compleja que la que ha escrito jaime, aunque no es dificíl de entender y, desde luego, es más eficiente. He escrito el código directamente, por lo que no se si compilará. Lo más seguro es que haya por ahí suelto algún pequeño fallo, pero bueno lo importante es comprender la solución.
Si alguien ve algún fallo o tiene alguna sugerencia por favor, que lo diga sin tapujos, que para eso estamos jejejeje.
Espero que os guste.
#include <iostream>
using namespace std;
float areaCuadrado(); // Módulo que devuelve el área del cuadrado como número real.
float areaCirculo(); // Módulo que devuelve el área del circulo como número real.
int main () {
int op;
float area;
cout<<"Pulsa 1 si quieres saber el área del cuadrado o 2 si quieres saber la del círculo"<<endl;
cin>>op;
switch(op) { // Evalúa el valor de la varialbe "op" y, en función de ese valor, ejecuta uno de posibles case.
case 1: area=areaCuadrado();
break;
case 2: area=areaCirculo();
break;
default: cout<<"Error: La opción seleccionada no existe"<<endl;
break;
//Opción que se ejecuta en caso de que el valor de opción no aparezca en los posibles case.
}
cout<<"El área de la figura seleccionada es "<<area<<endl;
cout<<"Fin del programa"<<endl;
}
float areaCuadrado() {
float lado;
float area;
cout<<"Introduce el lado del cuadrado"<<endl;
cin>>lado;
area=lado*lado;
return(area);
}
float areaCirculo() {
float radio, area;
cout<<"Introduce el radio del circulo"<<endl;
cin>>radio;
area=3.14*radio*radio;
return(area);
}
La solución es un poco más compleja que la que ha escrito jaime, aunque no es dificíl de entender y, desde luego, es más eficiente. He escrito el código directamente, por lo que no se si compilará. Lo más seguro es que haya por ahí suelto algún pequeño fallo, pero bueno lo importante es comprender la solución.
Si alguien ve algún fallo o tiene alguna sugerencia por favor, que lo diga sin tapujos, que para eso estamos jejejeje.
Espero que os guste.
Última edición por real_94 el Vie Jun 18, 2010 7:33 pm, editado 1 vez
real_94- Mensajes : 48
Fecha de inscripción : 31/01/2010
Edad : 33
Re: Programa área cuadrado y área círculo
Que ganas de complicarte la vida jajaj, es más eficiente a la hora de tener un código muy grande, si lo único que quieres es hacer el área de un cuadrado da el mismo resultado. O sí me equivoco dímelo
Re: Programa área cuadrado y área círculo
Bueno dejando a un lado lo de la eficiencia, así se ve que hay más de una forma de resolver un mismo problema ya que en la mía utilizo módulos y el switch y tú lo haces con condicionales y más "a lo bestia" jeje. En cualquier caso es cierto que los dos te resuelven el problema, que al final es lo que cuenta. Pero viva la variedad coleguilla jejejeje.
real_94- Mensajes : 48
Fecha de inscripción : 31/01/2010
Edad : 33
pc p0rt4l :: Programación :: Lenguaje C
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.