Maynelo 0 Denunciar post Postado Maio 8, 2015 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 calcularum circuito com 3 resistências e uma fonte de tensão, dentro da função void peço para o usuariodigitar os valores de R1, R2, R3 e E por conseguinte, não consigo implementar dentro da função void uma operaçãomatemá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
_Isis_ 202 Denunciar post Postado Maio 8, 2015 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
Maicon C 0 Denunciar post Postado Junho 12, 2015 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