[ Foro de C++ ]
#include <iostream>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <cstdlib>
using namespace std;
void dibujarCuadro(int x1,int y1,int x2,int y2);
void gotoxy(int x,int y);
void desea();
int main(){
system("mode con: cols=80 lines=25"); //SE DEFINE LAS DIMENSIONES DE LA VENTANA DEL PROGRAMA A 80 COLUMNAS Y 25 FILAS
system("COLOR 2b"); //SE DA UN COLOR DE FONDO Y COLOR A LAS LETRAS
dibujarCuadro(0,0,79,24.5); //SE DIBUJA EL CUADRO PRINCIPAL
dibujarCuadro(1,1,78,3); //SE DIBUJA EL CUADRO DEL TITULO
setlocale(LC_CTYPE, "");
gotoxy(32,2); printf("Fórmula General");
gotoxy (2,12);
system("");
desea();
}void desea(){
float a,b,c,x1,x2;
gotoxy(2,6);
cout<<"Ingresa el valor de a: "<<endl;
gotoxy (25,6);
cin>>a;
gotoxy(2,8);
cout<<"Ingresa el valor de b: "<<endl;
gotoxy(25,8);
cin>>b;
gotoxy(2,10);
cout<<"Ingresa el valor de c: "<<endl;
gotoxy (25,10);
cin>>c;
float x = (b*b) - (4*a*c);
if (a!=0 & b!=0 & c!=0 & x<0){
x = x*(-1);
gotoxy(2,14);
cout<<"La respuesta es: "<<endl;
gotoxy(19,14);
cout<<"x1="<<(-b/(2*a))<<"+"<<(sqrt(x)/(2*a))<<"i"<<endl;
gotoxy(19,15);
cout<<"x2="<<(-b/(2*a))<<"-"<<(sqrt(x)/(2*a))<<"i"<<endl;
}else if(a!=0 & b!=0 & c!=0){
x1 = (-b - sqrt(x)) / (2*a);
x2 = (-b + sqrt(x)) / (2*a);
gotoxy(2,14);
cout<<"La respuesta es: "<<endl;
gotoxy(19,14);
cout<<"x1 = "<<x1<<endl;
gotoxy(19,15);
cout<<"x2 = "<<x2<<endl;
}else if(a==0,b==0,c==0){
gotoxy(2,14);
cout<<"La respuesta es: "<< "Indefinido" <<endl;
}else if(a==0){
gotoxy(2,14);
cout<<"La respuesta es: "<<endl;
gotoxy(19,14);
cout<<"x = "<<(-c/b)<<endl;
}else if(b==0){
gotoxy(2,14);
cout<<"La respuesta es: "<<endl;
gotoxy(19,14);
cout<<"x1="<<(+sqrt(c/a))<<"i"<<endl;
gotoxy(19,15);
cout<<"x2="<<(-sqrt(c/a))<<"i"<<endl;
}else if(c==0){
gotoxy(2,14);
cout<<"La respuesta es: "<<endl;
gotoxy(19,14);
cout<<"x1="<<0<<endl;
gotoxy(19,15);
cout<<"x2="<<(-b/a)<<endl;
}
}void gotoxy(int x,int y){
HANDLE hcon;
hcon = GetStdHandle(STD_OUTPUT_HANDLE);
COORD dwPos;
dwPos.X = x;
dwPos.Y= y;
SetConsoleCursorPosition(hcon,dwPos);
}
//FUNCION QUE DIBUJA EL CUADRO
void dibujarCuadro(int x1,int y1,int x2,int y2){
int i;
for (i=x1;i<x2;i++){
gotoxy(i,y1); printf("\304"); //linea horizontal superior
gotoxy(i,y2); printf("\304"); //linea horizontal inferior
}
for (i=y1;i<y2;i++){
gotoxy(x1,i); printf("\263"); //linea vertical izquierda
gotoxy(x2,i); printf("\263"); //linea vertical derecha
}
gotoxy(x1,y1); printf("\332");
gotoxy(x1,y2); printf("\300");
gotoxy(x2,y1); printf("\277");
gotoxy(x2,y2); printf("\331");
}
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)