Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Maynelo

Auxilio para implementar programa em c++(dev c++), calculo de corrente

Recommended Posts

Boa Noite, sou estudante de Engenharia Elétrica e venho por este post solicitar auxílio na resolução de um exercicio!
Minha dúvida é a seguinte, como complementar dentro de uma função void uma operação matemática!
Estou anexando o que já consegui implementar do programa juntamente com o seu enunciado!
Quero frisar que a dificuldade esta na parte onde declaro uma função void serie( ) que serve para calcular
um circuito com 3 resistências e uma fonte de tensão, dentro da função void peço para o usuario
digitar os valores de R1, R2, R3 e E por conseguinte, não consigo implementar dentro da função void uma operação
matemática simples.
Agradeço desde já se puder me auxiliar!
Grande Abraço!

Willian Paulo May.
Santa Rosa - Rio Grande do Sul

#include <stdlib.h>#include <stdio.h>#include <conio.h>#include <math.h>/* Faça um programa para calcular um circuito contendo uma fonte de tensão (E)e três resistências (R1, R2 e R3). A partir da leitura, o usuário deve escolherse deseja obter os resultados dos circuitos SÉRIE (todos os elementos em série)ou PARALELO (todos os elementos em PARALELO). Como resposta, a partir da escolhaSerie ou Paralelo, o programa deve apresentar de forma organizada: -Tipo de circuito (Série ou Paralelo); - Valores de resistência e da fonte; - Corrente fornecida pela fonte E; - Potência fornecida pela fonte E; - Tensão e corrente em cada um dos resistores; - Potência dissipada em cada resistor.*/char opc;//inserir funçoes prototiposvoid menu();void quebraTabula();void insereUmaLinha();void insereDuasLinhas();void tabula();void serie();void paralelo();void calculaSerie();void calculaParalelo();void sair();void limpatela();int main(void){	menu();		system("pause");	return 0;	}void quebraTabula(){	printf("\n\n\t");}void insereUmaLinha(){	printf("\n");}void insereDuasLinhas(){	printf("\n\n");}void tabula(){	printf("\t");}void sair(){	exit(1);}void limpaTela(){	system ("cls");}void menu(){	limpaTela();	int opc;	tabula();	printf("Calculo de Circuito com 3 resistores e uma fonte de tensao");	insereDuasLinhas();	tabula();	printf("Escolha uma opcao:");	quebraTabula();	printf("1 - Para analisar o circuito com os resistores associados em serie");	insereUmaLinha();	tabula();	printf("2 - Para analisar o circuito com os resistores associados em paralelo");	insereUmaLinha();	tabula();	printf("3 - Para Sair");	insereDuasLinhas();	printf("Opcao: ");	scanf("%d", &opc);	getchar();		switch (opc) 	{		case 1:			serie();			break;		case 2:                                                               			paralelo();			break;		case 3:			sair();		default: 		menu();	}}	void serie()	{	float r1;	float r2;	float r3;	float E;	float soma;	float potE();	float corE();	float VeIresistores();	float Presistores();		limpaTela();	printf ("Para realizar a analise siga as instrucoes abaixo:");	insereDuasLinhas();	tabula();	printf ("Digite o valor de R1: ");	scanf ("%d", &r1);	getchar();	insereUmaLinha();	tabula();	printf ("Digite o valor de R2: ");	scanf ("%d", &r2);	getchar();	insereUmaLinha();	tabula();	printf("Digite o valor de R3: ");	scanf ("%d", &r3);	getchar();	insereUmaLinha();	tabula();	printf ("Digite o valor da Fonte de Tensao: ");	scanf("%.2f", &E);	getchar();		/*até este ponto o programa funciona perfeitamente, porém a partir daqui não consigo implementar	como mostro acima estou 												float soma();		{		soma=r1+r2+r3		}	*/	printf("Resistencia total: %.2f",soma);	                                	}void paralelo(){	printf("paralelo");}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, você está exagerando no uso de funções....

#include <stdio.h>

void menu();
void dispatch(int opcao);
void calculo_circuito(int opcao);

int main(void) {
	int opc;
	while (1) {
		menu();
		scanf("%d", &opc);
		if (opc == 3) break;
		dispatch(opc);
	}
	return 0;
}

void menu() {
	printf("** Calculo de Circuito com 3 resistores e uma fonte de tensao **\n\n");
	printf("Escolha uma opcao.\n");
	printf("1 - Para analisar o circuito com os resistores associados em serie\n");
	printf("2 - Para analisar o circuito com os resistores associados em paralelo\n");
	printf("3 - Para Sair\n");
	printf("Opcao: ");
}

void dispatch(int opcao) {
	switch (opcao) {
		case 1:
		case 2:
			calculo_circuito(opcao);
			break;
		default:
			printf("Opção inválida.\n");
	}
}

void calculo_circuito(int opcao) {
	float r1;
	float r2;
	float r3;
	float E;
	float soma;

	printf ("Para realizar a análise siga as instruções abaixo:");
	printf ("Digite o valor de R1: ");
	scanf ("%d", &r1);
	printf ("Digite o valor de R2: ");
	scanf ("%d", &r2);
	printf("Digite o valor de R3: ");
	scanf ("%d", &r3);
	printf ("Digite o valor da Fonte de Tensão: ");
	scanf("%.2f", &E);

	if (opcao == 2) {
		soma=r1+r2+r3;
	}
	else {
		// Cálculo em paralelo.
	}
		
	printf("Resistencia total: %.2f",soma);
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Da uma olhada nesse programa.

 

 
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
 
main ()
 
{
int menu;
float  R1, R2, R3, RT, VR1, VR2, VR3, PR1, PR2, PR3, E, PE, IE, IR1, IR2, IR3, R, I;
 
//****************************** MENU ***********************************
 
printf("\t\t Programa para calculo circuito serie ou paralelo\n");
printf("Escolha uma das opcoes:\n\t1 - Calculo circuito serie\n\t2 - Calculo circuito paralelo\n\n");
scanf("%d",&menu);
    switch (menu){     //vairavel de controle do menu
     // calculo do circuito em serie
     // Leitura e amazenamento das informações do circuito serie
        case 1:{
        system ("cls");                                 
        printf ("\t\tCalculo de circuito serie:\n\n");  
        printf("Digite a tensao do circuito (V): ");    
        scanf("%f",&E);                                 
        printf("Digite o valor do resistor R1 (Ohms): "); 
        scanf("%f",&R1);                                  
        printf("Digite o valor do resistor R2 (Ohms): "); 
        scanf("%f",&R2);                                  
        printf("Digite o valor do resistor R3 (Ohms): "); 
        scanf("%f",&R3);  
        
//Cálculo das variaveis do circuito serie      
                           
        RT= R1+R2+R3;
        IE= E/RT;    
        PE= IE*E;
        IR1=IR2=IR3=IE;
        VR1= IR1*R1;
        VR2= IR2*R2;       
        VR3= IR3*R3;
        PR1= VR1*IR1;
        PR2= VR2*IR2;
        PR3= VR3*IR3;
        
        // impressão dos resultados
        
        printf("\n\n\t\t\tResultados:\n\n");
        printf("Soma dos resistores: %.3f (Ohms)\n\n",RT);
        printf("Corrente da fonte: %.3f A\n\n",IE);
        printf("Potencia da fonte: %.3f Watts\n\n",PE);
        printf("Corrente R1: %.3f A\n\n",IR1);
        printf("Corrente R2: %.3f A\n\n",IR2);
        printf("Corrente R3: %.3f A\n\n",IR3);
        printf("Tensão R1: %.3f V\n\n",VR1); 
        printf("Tensão R2: %.3f V\n\n",VR2);
        printf("Tensão R3: %.3f V\n\n",VR3);
        printf("Potencia R1: %.3f Watts\n\n",PR1);
        printf("Potencia R2: %.3f Watts\n\n",PR2);
        printf("Potencia R3: %.3f Watts\n\n",PR3);
         break;
    }
        //calculo do circuito em paralelo
        // Leitura e amazenamento das informações do circuito paralelo
        case 2:{  
        system("cls");
        printf ("\t\tCalculo de circuito paralelo:\n\n");
        printf("Digite a tensao do circuito (V): ");
        scanf("%f",&E);
        printf("Digite o valor do resistor R1 (Ohms): ");
        scanf("%f",&R1);
        printf("Digite o valor do resistor R2 (Ohms): ");
        scanf("%f",&R2);
        printf("Digite o valor do resistor R3 (Ohms): ");
        scanf("%f",&R3);
        
        //Cálculo das variaveis do circuito paralelo
        
        RT= (R1*R2*R3)/(R2*R3+R1*R2+R1*R3);
        IE= E/RT;
        PE= IE*E;
        IR1= E/R1;
        IR2= E/R2;
        IR3= E/R3;
        VR1=VR2=VR3=E;
        PR1= VR1*IR1;
        PR2= VR2*IR2;
        PR3= VR3*IR3;
        
        // impressão dos resultados
        
        printf("\n\n\t\t\tResultados:\n\n");
        printf("Soma dos resistores: %.3f (Ohms)\n\n",RT);
        printf("Corrente da fonte: %.3f A\n\n",IE);
        printf("Potencia da fonte: %.3f Watts\n\n",PE);
        printf("Corrente R1: %.3f A\n\n",IR1);
        printf("Corrente R2: %.3f A\n\n",IR2);
        printf("Corrente R3: %.3f A\n\n",IR3);
        printf("Tensão R1: %.3f V\n\n",VR1);
        printf("Tensão R2: %.3f V\n\n",VR2);
        printf("Tensão R3: %.3f V\n\n",VR3);
        printf("Potencia R1: %.3f Watts\n\n",PR1);
        printf("Potencia R2: %.3f Watts\n\n",PR2);
        printf("Potencia R3: %.3f Watts\n\n",PR3);
         break;
         
         // Informa que a opção escolhida é invalida
         
           default:{ 
            printf("Escolha incorreta no menu!");
            break;
                }
    }
            
}
}
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.