[ Foro de C++ ]

necesito que el programa se reinicie despues de dar los resultados

06-Sep-2023 03:32
Invitado (carlos)
0 Respuestas

#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.)