0% encontró este documento útil (0 votos)
16 vistas9 páginas

#Includeiostream

Cargado por

spilcos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
16 vistas9 páginas

#Includeiostream

Cargado por

spilcos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd

#include<iostream>

#include<cstdlib>
#include<conio.h>
#include <windows.h>
#include <math.h>

#define TECLA_ARRIBA 72
#define TECLA_ABAJO 80
#define ENTER 13

using namespace std;


void gotoxy(int x,int y){
HANDLE hcon = GetStdHandle(STD_OUTPUT_HANDLE);
COORD dwPos;
dwPos.X = x;
dwPos.Y = y;
SetConsoleCursorPosition(hcon,dwPos);
}
void menu_catetos();
void menu_angu();
void menu_lados();
void menu_principal();
void menu_triangulos();
void menu_resta();
void menu_multiplicacion();
void menu_division();
int menu(const char*titulo,const char*opciones[],int n);

int main(){

menu_principal();
return 0;
}

void menu_principal(){
bool repite=true;
int opcion;
//titulo y opciones del menu
const char*titulo="MENU PRINCIPAL";
const char *opciones[]={"CLASIFICACION DE LOS
TRIANGULOS","Restar","Multiplicar","Dividir","Salir"};
int n=5; //numero de opciones

do{
opcion=menu(titulo,opciones,n);

//alternativas
switch(opcion){
case 1:
menu_triangulos();
break;
case 2:
menu_resta();
break;
case 3:
menu_multiplicacion();
break;
case 4:
menu_division();
break;
case 5:
repite=false;
break;
}
}while(repite);
}
void menu_triangulos() {
bool repite = true;
int opcion;
const char *titulo = "CLASIFICACION DE LOS TRIANGULOS";
const char *opciones[] = {"Por sus lados", "Por sus angulos", "Regresar"};
int n=3;

do {
opcion = menu(titulo,opciones,n);
system("CLS");
switch (opcion) {
case 1:
menu_lados();
break;
case 2:
menu_angu();
break;
case 3:
repite = false;
break;
}
} while (repite);
}

void menu_lados() {
bool repite = true;
int opcion;
const char *titulo = "CLASIFICACION POR LADOS";
const char *opciones[] = {"Triangulo Equilatero", "Triangulo Isosceles",
"Triangulo Escaleno", "Regresar"};
int n = 4;

do {
opcion = menu(titulo, opciones, n);
system("CLS");
switch (opcion)
{ case 1:
int l;
float p,A;
cout<<" \n\nTriangulo Equilatero: Sus lados son
iguales\n";
cout<<""<<endl;
cout<<" A\n";
cout<<" *\n";
cout<<" * *\n";
cout<<" * *\n";
cout<<" * * * * *\n";
cout<<" B C\n";
cout<<" \n\nAB = AC = BC ";
cout<<""<<endl;
cout<<"Area y Perimetro de Triangulo
Equilatero"<<endl;
cout<<""<<endl;
cout<< "Ingrese Lado=";
cin>>l;
p=3*l;
A=(((l*l)*sqrt(3))/4);
cout<<"Area="<<A<<endl;
cout<<"Perimetro="<<p;
getch();
system("pause>null");
break;
case 2:
int a,b;
float B,H,J;
cout<<" \n\nTriangulo Isosceles: Tiene 2 lados
iguales\n";
cout<<""<<endl;
cout<<" A\n";
cout<<" *\n";
cout<<" * *\n";
cout<<" * *\n";
cout<<" * * * *\n";
cout<<" B C\n";
cout<<" \n\nAB = BC <> AC ";
cout<<""<<endl;
cout<<"Area y perimetro del Triangulo
Isosceles"<<endl;
cout<<""<<endl;
cout<<"Ingresa Lado igual=";
cin>>a;
cout<<"Ingresa Lado=";
cin>>b;
J=((a*2)+b);
H=sqrt((a*a)-((b*b)/4.0));
B=b*H*0.5;
cout<<""<<endl;
cout<<"El Perimetro es="<<J<<endl;
cout<<"El Area es="<<B<<endl;
getch();
system("pause>null");
break;
case 3:
int i,o,y;
float S,K,W,L;
cout<<" \n\nTriangulo Escaleno: Sus lados son
diferentes\n";
cout<<""<<endl;
cout<<" A\n";
cout<<" *\n";
cout<<" * *\n";
cout<<" * *\n";
cout<<" * * * * * * *\n";
cout<<" B C\n";
cout<<" \n\nAB <> AC <> BC ";
cout<<""<<endl;
cout<<"Area y perimetro del Triangulo
Escaleno"<<endl;;
cout<<""<<endl;
cout<<"Ingresa Lado1=";
cin>>i;
cout<<"Ingresa Lado2=";
cin>>o;
cout<<"Ingresa lado3=";
cin>>y;
S=(i+o+y);
W=S/2.0;
K=((2.0/i)*sqrt(W*(W-i)*(W-o)*(W-y)));
L=0.5*i*K;
cout<<"El Perimetro es="<<S<<endl;
cout<<"El Area es="<<L<<endl;
getch();
system("pause>null");
break;
case 4:
repite = false;
break;
}
cout << "\n\n\nPresiona cualquier tecla para continuar ...";
getch();
system("CLS");
} while (repite);
}
void menu_angu(){
bool repite=true;
int opcion;
const char*titulo="MENU DE ANGULOS";
const char*opciones[]={"Triangulo Rectangulo","Triangulo
Acutangulo","Triangulo Obtusangulo","Regresar"};
int n=4;
do{
opcion=menu(titulo,opciones,n);
system("CLS");
switch(opcion){
case 1:
cout<<" \n\nTriangulo Rectangulo: Tiene ángulo recto
de 90 grados\n";
cout<<""<<endl;
cout<<" A\n";
cout<<" * \n";
cout<<" * * c\n";
cout<<" a * *\n";
cout<<" * *\n";
cout<<" * * * * *\n";
cout<<" B b C\n";
cout<<" \n\nc^2=a^2+b^2 ";
cout<<""<<endl;
int{
menu_catetos(

);
}
void menu_catetos() {
bool repite = true;
int opcion;
const char *titulo = "Hallar cateto o hipotenusa";
const char *opciones[] = {"Hallar Hipotenusa","Hallar Cateto",};
int n=2;
do {
opcion = menu(titulo,opciones,n);
system("CLS");
switch (opcion) {
case 1:
menu_cateto();
break;
case 2:
menu_hipotenusa();
break;
}
} while (repite);
}
do {
opcion = menu(titulo, opciones, n);
system("CLS");
switch (opcion){
case 1:
int a, b;
float Hipotenusa;
cout << "Ingrese a = ";
cin >> a;
cout << "Ingrese b = ";
cin >> b;
Hipotenusa = sqrt((a * a) + (b * b));
cout << "La Hipotenusa es = " << Hipotenusa << endl;
system("pause>null");
break;
case 2:
int x, c;
float C;
cout << "Ingrese c = ";
cin >> c;
cout << "Ingrese x = ";
cin >> x;
C = sqrt((x * x) - (c * c));
cout << "El Cateto es = " << C << endl;
break;
cout << "\n\n\nPresiona cualquier tecla para continuar ...";
getch();
system("CLS");
} while (repite);
system("pause>null");
break;
}

case 2:
int i,o,k;
float A,p;
cout<<" \n\nTriangulo Acutangulo: Tiene los tres
ángulos agudos\n";
cout<<""<<endl;
cout<<" A\n";
cout<<" * \n";
cout<<" * * \n";
cout<<" * *\n";
cout<<" * *\n";
cout<<" * * * * * * *\n";
cout<<" B C\n";
cout<<" \n\nA<90,B<90,C<90";
cout<<""<<endl;
cout<<"Area y Perimetro de Triangulo
Acutangulo"<<endl;
cout<<""<<endl;
cout<< "Ingrese Base=";
cin>>i;
cout<< "Ingrese altura=";
cin>>o;
cout<< "Ingrese Lado x=";
cin>>k;
p=k+i+o;
A=((i*o)/2.0);
cout<<"Area="<<A<<endl;
cout<<"Perimetro="<<p;
system("pause>null");
break;
case 3:
int h,q,g;
float a,Pe;
cout<<" \n\nTriangulo Obtusangulo: Tiene un ángulo
obtuso mayor a 90 grados.\n";
cout<<""<<endl;
cout<<" A\n";
cout<<" * \n";
cout<<" * * \n";
cout<<" * *\n";
cout<<" * *\n";
cout<<" * *\n";
cout<<" * * * * * * * *\n";
cout<<" B C\n";
cout<<" \n\nA>90,B<90,C>90";
cout<<""<<endl;
cout<<"Area y Perimetro de Triangulo
Acutangulo"<<endl;
cout<<""<<endl;
cout<< "Ingrese Base=";
cin>>h;
cout<< "Ingrese altura=";
cin>>q;
cout<< "Ingrese Lado x=";
cin>>g;
Pe=g+h+q;
a=((h*q)/2.0);
cout<<"Area="<<A<<endl;
cout<<"Perimetro="<<Pe;
system("pause>null");
break;
case 4:
repite=false;
break;
}
}while(repite);
}
void menu_multiplicacion(){
bool repite=true;
int opcion;
int a,b;
float c,d;

const char*titulo="MENU MULTIPLICACION";


const char*opciones[]={"Multiplicar enteros","Multiplicar
flotantes","Regresar"};
int n=3;

do{
opcion=menu(titulo,opciones,n);
//alternativas
system("CLS");
switch(opcion){
case 1:
cout<<"ingrese num 1:";
cin>>a;

cout<<"ingrese num 2:";


cin>>b;

cout<<"\n"<< a << "x"<< b <<"="<<a*b<<endl;


system("pause>null");
break;
case 2:
cout<<"ingrese num 1";
cin>>c;

cout<<"ingrese num 2";


cin>>d;

cout<<"\n"<< c<< "x"<< d <<"="<<c*d<<endl;


system("pause>null");
break;
case 3:
repite=false;
break;
}
}while(repite);
}
void menu_division(){
bool repite=true;
int opcion;
int a,b;
float c,d;

const char*titulo="MENU DIVISION";


const char*opciones[]={"Dividir enteros","Dividir flotantes","Regresar"};
int n=3;

do{
opcion=menu(titulo,opciones,n);

//alternativas
system("CLS");
switch(opcion){
case 1:
cout<<"ingrese num 1:";
cin>>a;

cout<<"ingrese num 2:";


cin>>b;

if(b==0){
cout<<"no se puede dividir por cero"<<endl;
}else{
cout<<"\n"<< a << "/"<< b <<"="<<a/b<<endl;
}
system("pause>null");
break;
case 2:
cout<<"ingrese num 1";
cin>>c;

cout<<"ingrese num 2";


cin>>d;
if(d==0){
cout<<"no se puede dividir por cero"<<endl;
}else{
cout<<"\n"<< c << "/"<< d <<"="<<c/d<<endl;
}

system("pause>null");
break;
case 3:
repite=false;
break;
}
}while(repite);
}
int menu(const char*titulo,const char*opciones[],int n){

int opcionSeleccionada=1;
int tecla;
bool repite=true;
do{
system("CLS");

gotoxy(5,3+opcionSeleccionada);cout<<"==>";
//imprimir titulo
gotoxy(15,2);cout<<titulo;
//inprimir opciones
for(int i=0;i<n;i++){
gotoxy(10,4+i);cout<<i+1<<")"<<opciones[i];
}

do{
tecla=getch();
}while(tecla!=TECLA_ARRIBA && tecla!= TECLA_ABAJO&&tecla!=ENTER);

switch(tecla){
case TECLA_ARRIBA:
opcionSeleccionada--;

if(opcionSeleccionada<1){
opcionSeleccionada=n;
}
break;
case TECLA_ABAJO:
opcionSeleccionada++;
if(opcionSeleccionada>n){
opcionSeleccionada=1;
}
break;
case ENTER:
repite=false;
break;
}
}while(repite);

return opcionSeleccionada;
}

También podría gustarte