Ir ao conteúdo

Posts recomendados

Postado

OLÁ, tenho uam questão super hard para resolver e já tentei de todas as formas mas sempre dá errado.

O programa quer que criie uma função propria para resolver eq do segundo grau

#include <iostream>
#include <math>
#include <conio>

using namespace std;

#ifndef EQ_H
#define EQ_H
void  EQ_H(float A,B,C,delta,x1,x2)
{
	float A,B,C;
 float delta, x1,x2;
 cout>>"Entre com os coeficientes da equaçao\n";
// leitura dos dados
 cin>>A;
 cin>>B;
 cin>>C;
// calculo do discriminante
 delta = B*B - 4.*A*C;
// Teste do discriminante
 if (delta >= 0) {
 // calculo das raizes
 x1 = (-B + sqrt(delta))/(2.*A);
 x2 = (-B - sqrt(delta))/(2.*A);
 cout<<"A equacao dada e:" << A"X^2"<< B <<"X + "<< C <<"/n";
 cout<<"As raizes reais sao: =" <<x1<<"/n"<<x2<<"/n";
 }
 else {
 cout<<("Nao existem raizes reais");
 }
 getch(); 
	
};
#endif

 

  • Curtir 1
Postado

@idkgabz    esse erro é por que a função cin não funciona desse jeito ele só aceita uma variável de cada vez  e na hora de multiplicar não pode colocar ponto e sim asterisco .

veja como ficaria seu código com algumas modificações :

#include <iostream>
#include <math.h>
#include <conio.h>
#include <stdio.h>

using namespace std;
void EQ_H(float A,float B,float C,float delta,float x1,float x2){
    //  float A,B,C;
    //  float delta, x1,x2;
    cout << "Entre com os coeficientes da equaçao\n";
    // leitura dos dados
    cout << "Digite O Valor De A ";
    cin >> A;// ("%f %f %f",&A,&B,&C); // %d inteiro %f real %c char %s string
    cout << "Digite O Valor De B ";
    cin >> B;
    cout << "Digite O Valor De C ";
    cin >> C;
    // calculo do discriminante
    delta = B*B - 4*A*C;
    // Teste do discriminante
    if (delta >= 0) {
        // calculo das raizes
        x1 = (-B + sqrt(delta))/(2*A);
        x2 = (-B - sqrt(delta))/(2*A);
        cout<<"A equacao dada e:" << A<< "X^2"<< B <<"X + "<< C <<"\n";
        cout<<"As raizes reais sao: X=" <<x1<<"   e   X="<<x2<<"\n";
    }
    else {
        cout<<("Nao existem raizes reais");
    }
    getch();
}
int main(){
    EQ_H(1,1,1,1,1,1);
}

 

  • Curtir 1
Postado

Mas já que você está trabalhando com tipo void e não está manipulando endereços de memória diretamente, acho que você pode deixar a função sem necessidade de parâmetros...

 

ESPERO que seja mais ou menos assim

#include <iostream>
#include <math.h>

using namespace std;

void equacao_sg(void)
{
	
	float xI, xII, a, b, c, delta;
	
	cout << "\nCOEFICIENTES DA EQUANCAO" << endl;
	cout << "\nValor de A: ";
	cin >> a;
	cout << "Valor de B: ";
	cin >> b;
	cout << "Valor de C: ";
	cin >> c;
	
	delta = (b*b) - (4*a*c);
	
	if(delta >= 0)
	{
	
		xI = (-b + sqrt(delta))/(2*a);
		xII = (-b - sqrt(delta))/(2*a);
		cout<<"\nAs raizes sao: X' = " << xI << " e " << "X'' = "<< xII << endl;
		
	}
	
	else
		cout << "\nNao existe raizes reais!" << endl;
	
}

int main(void)
{
	
	equacao_sg();
	
	return 0;
}

A demais observações já foram feitos pelo colega acima rsrs

  • Curtir 2
Postado

@idkgabz Aparentemente não, eu mesmo copiei as formulas do seu código (relembrando que mult. é com '*' e não '.') e deu tudo certo, pelo menos aqui... revi o código original e só vi um possível erro nesse cout

 cout<<"A equacao dada e:" << A"X^2"<< B <<"X + "<< C <<"/n";

Teria que ter o operador << depois da variável A

 

As vezes é questão de rever o código, pois pode haver um erro simples e por isso passa despercebido

Postado

no caso, como eu faria pra usar esse cabeçalho em outros programas ?

#include <iostream>
#include <math>
#include <conio>
#include "EQ_H"

using namespace std;
int main(){
	float A,B,C, delta,x1,x2;
	void  EQ_H(float A,B,C,delta,x1,x2);
	
	
	return 0;
}

@Lucas Lima Nunes

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!