Dev - C++ - formula general

 
Vista:

formula general

Publicado por jorge (1 intervención) el 05/09/2023 23:54:07
tengo este codigo para sacar una formula general pero necesito una forma que se repita cuando se acabe ayuda.

#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");



}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder