Jump to content


Photo

Acumulador


  • Faça o login para participar
1 reply to this topic

#1 fireands

fireands

    Novato no fórum

  • Usuários
  • 1 posts
  • Sexo:Masculino
  • Localidade:varginha,mg

Posted 19/07/2011, 22:03

Boa Noite,como iniciante em programação estou tendo dificuldade em concluir um programa de hidrulica que consistiria em: através dos dados inseridos o mesmo calcularia o valor do diametro "Dp", o padronizaria em um valor comercial "dpad" e em um diametro para singularidades(curva, cotovelos, etc), "dsing", porém para cada diametro "dsing" e para cada singularidade correspondera a uma perda "s"(em unidade de comprimento cm), as singularidades e o numero de vezes em que elas aparecem dispostas em um menu.O problema ocorre é o seguinte: todo a singularidade escolhida deve retornar um valor "s" em cm que deve ser multiplicado por quantas vezes essa singularidade aparece (questão 2),e esse valor deve ser acumulado em uma variavel e em caso se deseje relatar mais alguma singularidade (questão 3),e o processo deve se repetir, e se somar ao resultado anterior, para posteriormente ser usado para outro calculo.Para resolver bastaria que eu colocasse o algoritimo "L2=L2+(ns*s);"dentro da chave do while porem encontrei outro problema L2 retorna um valor de erro pois o valor de s só será calculado no final do programa...se o colocar fora do while, o algoritimo so retorna o ultimo valor de "s" enfim da errado...., ja pensei em quebrar o programa em funções, porem como o programa funciona em sequencia o progrma principal teria que expor valores tenho como fazer isso? Peço ajuda; não tenho urgencia alguma porem gostaria que se possivel me dessem um retorno.

# include <stdio.h>
# include <math.h>
#include <stdlib.h>

int main (void)
{
int dsing2, sing, s;






int dec;

float PN, Ptb, Qmax, L1, visc, VP, Dp, dpad, ns, dsing, Re, Fa, AP,lt, L2, L3;

printf("INSIRA O VALOR DA PRESAO DE TRABALHO DO CIRCUITO (EM Bar):\n");
scanf ("%f", &Ptb);

printf("INSIRA O VALOR DA PRESSAO NOMINAL DO CIRCUITO (EM Bar):\n");
scanf ("%f", &PN);

printf("INSIRA O VALOR DA VAZAO MAXIMA DO SISTEMA (EM l/min):\n");
scanf ("%f", &Qmax);


printf("INSIRA O COMPRIMENTO DO TRECHO RETO DO CIRCUITO (EM METROS):\n");
scanf ("%f", &L1);

printf("INSIRA O VALOR DA VISCOSIDADE DO MATERIAL (EM STOKES):\n");
scanf ("%f", &visc);

printf("\n\n\nOBSERVE O MENU DE SINGULARIDADES ABAIXO:\n");
printf("1- Cotovelo 90 R. longo 8- Te de passagem direta \n");
printf("2- Cotovelo 90 R. medio 9- Te de saida de lado \n");
printf("3- Cotovelo 90 R. curto 10- Te de saida bilateral \n");
printf("4- Cotovelo 45 11- Registro de Gaveta \n");
printf("5- Curva 90 R. longo 12- Registro de Globo \n");
printf("6- Curva 90 R. curto 13- Registro de Angulo \n");
printf("7- curva 45 14- Valvula de Pe e crivo \n");


while (dec!=2)
{
printf("DIGITE (UMA POR VEZ) O NUMERO CORRESPONDENTE NO MENU A SINGULARIDADE ENCONTRADA NO CIRCUITO EM QUESTAO:\n");
scanf ("%d", &sing);
printf("DIGITE O NUMERO DE VEZES EM QUE A SINGULARIDADE SELECIONADA APARECE NO CIRCUITO:\n");
scanf ("%f", &ns);
printf("DESEJA RELATAR MAIS ALGUMA SINGULARIDADE (1) SIM , (2) NAO:\n");
scanf ("%d", &dec);

}



VP = (121.65)*(pow (PN,(0.30303)));
Dp= sqrt((Qmax/(0.015*VP*(3.14))));





// padronização do diametro encontrado e dos diametros comerciais


if (Dp>=0 && Dp<=0.4)
dpad= 0.4;
if (Dp>=0.4 && Dp<=0.5)
dpad= 0.5;
if (Dp>=0.5 && Dp<=0.6)
dpad= 0.6;
if (Dp>=0.6 && Dp<=0.64)
dpad= 0.64;
if (Dp>=0.64 && Dp<=0.8)
dpad= 0.8;
if (Dp>=0.8 && Dp<=0.95)
dpad= 0.95;
if (Dp>=0.95 && Dp<=1.00)
dpad= 1.00;
if (Dp>=1.00 && Dp<=1.2)
dpad= 1.2;
if (Dp>=1.2 && Dp<=1.27)
dpad= 1.27;
if (Dp>=1.27 && Dp<=1.4)
dpad= 1.4;
if (Dp>=1.4 && Dp<=1.5)
dpad= 1.5;
if (Dp>=1.5 && Dp<=1.6)
dpad= 1.6;
if (Dp>=1.6 && Dp<=1.8)
dpad= 1.8;
if (Dp>=1.8 && Dp<=1.9)
dpad= 1.9;
if (Dp>=1.9 && Dp<=2.0)
dpad= 2.0;
if (Dp>=2.0 && Dp<=2.2)
dpad= 2.2;
if (Dp>=2.2 && Dp<=2.5)
dpad= 2.5;
if (Dp>=2.5 && Dp<=2.54)
dpad= 2.54;
if (Dp>=2.54 && Dp<=2.8)
dpad= 2.8;
if (Dp>=2.8 && Dp<=3.00)
dpad= 3.00;
if (Dp>=3.00 && Dp<=3.2)
dpad= 3.2;
if (Dp>=3.2 && Dp<=3.5)
dpad= 3.5;
if (Dp>=3.5 && Dp<=3.8)
dpad= 3.8;
if (Dp>=3.8 && Dp<=4.2)
dpad= 4.2;

Re= (VP*dpad)/visc;
Fa=90/Re;
// diametros das singularidades

if (Dp>=0 && Dp<=0.32)
dsing= 0.32;
if (Dp>=0.32 && Dp<=0.64)
dsing= 0.64;
if (Dp>=0.64 && Dp<=0.95)
dsing= 0.95;
if (Dp>=0.95 && Dp<=1.27)
dsing= 1.27;
if (Dp>=1.27 && Dp<=1.59)
dsing= 1.59;
if (Dp>=1.59 && Dp<=1.91)
dsing= 1.91;
if (Dp>=1.91 && Dp<=2.22)
dsing= 2.22;
if (Dp>=2.2 && Dp<=2.54)
dsing= 2.54;
if (Dp>=2.54 && Dp<=2.86)
dsing= 2.86;
if (Dp>=2.86 && Dp<=3.18)
dsing= 3.18;
if (Dp>=3.18 && Dp<=3.49)
dsing= 3.49;
if (Dp>=3.49 && Dp<=3.81)
dsing= 3.81;
if (Dp>=3.81 && Dp<=4.13)
dsing= 4.13;
if (Dp>=4.13 && Dp<=4.45)
dsing= 4.45;
if (Dp>=4.45 && Dp<=4.76)
dsing= 4.76;
if (Dp>=4.76 && Dp<=5.08)
dsing= 5.08;
if (Dp>=5.08 && Dp<=5.4)
dsing= 5.4;
if (Dp>=5.4 && Dp<=5.72)
dsing= 5.72;
if (Dp>=5.72 && Dp<=6.04)
dsing= 6.04;
if (Dp>=6.04 && Dp<=6.36)
dsing= 6.36;
if (Dp>=6.36 && Dp<=6.67)
dsing= 6.67;
if (Dp>=6.67 && Dp<=6.99)
dsing= 6.99;

dsing2 =(dsing*100);

printf("o valor de Pn =%.2f\n", PN);
printf("o valor de ptb =%.2f\n", Ptb);
printf("o valor de vazao =%.2f\n", Qmax);

printf("o valor de visc =%.2f\n", visc);
printf("o valor de vp =%.2f\n", VP);
printf("o valor de Dp =%.2f\n", Dp);
printf("o valor de Dpad =%.2f\n", dpad);
printf("o valor de sing =%d\n", sing);
printf("o valor de ns =%.2f\n", ns);
printf("o valor de dec =%d\n", dec);

printf("o valor de dsing =%.2f\n", dsing);
printf("o valor de Comprimento total =%.2f\n", L2);
printf("o valor de Comprimento singulardade =%.2f\n", L3);
printf("o valor do trecho reto =%.2f\n", L1);
printf("o valor de dsing2 =%d\n", dsing2);
printf("o valor de Re =%.2f\n", Re);
printf("o valor de Fa =%.2f\n",Fa);
printf("o valor de Ap =%.2f\n", AP);

printf("o valor de s =%.2f\n", s);


system ("pause");
return (0);
}

int singularidade (void)
{
int sing, dsing2;
float s
;
//singularidade
printf("o valor de dsing2 =%d\n", dsing2);
switch (dsing2)
{
case 32:
{
switch (sing)
{
case 1:
s=10.01;
break;
case 2:
s=10.01;
break;
case 3:
s=10.01;
break;
case 4:
s=10.01;
break;
case 5:
s=10.01;
break;
case 6:
s=10.01;
break;
case 7:
s=10.01;
break;
case 8:
s=10.01;
break;
case 9:
s=30.00;
break;
case 10:
s=30.00;
break;
case 11:
s=10.01;
break;
case 12:
s=80.01;
break;
case 13:
s=70.00;
break;
case 14:
s=88.88;
break;
};break;
};break;
case 64:
{
switch (sing)

{
case 1:
s=19.99;
break;
case 2:
s=20.24;
break;
case 3:
s=30.00;
break;
case 4:
s=10.01;
break;
case 5:
s=10.01;
break;
case 6:
s=19.99;
break;
case 7:
s=10.01;
break;
case 8:
s=30.00;
break;
case 9:
s=50.01;
break;
case 10:
s=50.01;
break;
case 11:
s=10.01;
break;
case 12:
printf ("o valor da perda por singularidade solicitado nao consta do arquivo\n");
break;
case 13:
s=30.00;
break;
case 14:
s=230.00;
break;
};break;
};break;
case 95:
{
switch (sing)
{
case 1:
s=19.99;
break;
case 2:
s=30.00;
break;
case 3:
s=40.01;
break;
case 4:
s=19.99;
break;
case 5:
s=19.99;
break;
case 6:
s=19.99;
break;
case 7:
s=19.99;
break;
case 8:
s=19.99;
break;
case 9:
s=80.01;
break;
case 10:
s=80.01;
break;
case 11:
s=10.01;
break;
case 12:
printf ("o valor da perda por singularidade solicitado nao consta do arquivo\n");
break;
case 13:
s=100.00;
break;
case 14:
printf ("o valor da perda por singularidade solicitado nao consta do arquivo\n");
};break;
};break;
case 127:
{
switch (sing)

{
case 1:
s=30.00;
break;
case 2:
s=40.01;
break;
case 3:
s=50.01;
break;
case 4:
s=19.99;
break;
case 5:
s=19.99;
break;
case 6:
s=30.00;
break;
case 7:
s=19.99;
break;
case 8:
s=30.00;
break;
case 9:
s=100.00;
break;
case 10:
s=100.00;
break;
case 11:
s=10.01;
break;
case 12:
printf ("o valor da perda por singularidade solicitado nao consta do arquivo\n");
break;
case 13:
printf ("o valor da perda por singularidade solicitado nao consta do arquivo\n");
break;
case 14:
s=359.99;
break;
};break;
};break;
case 159:
{
switch (sing)

{
case 1:
s=30.00;
break;
case 2:
s=50.01;
break;
case 3:
s=59.99;
break;
case 4:
s=19.99;
break;
case 5:
s=19.99;
break;
case 6:
s=30.00;
break;
case 7:
s=19.99;
break;
case 8:
s=30.00;
break;
case 9:
s=10.01;
break;
case 10:
s=119.99;
break;
case 11:
s=10.01;
break;
case 12:
printf ("o valor da perda por singularidade solicitado nao consta do arquivo\n");
break;
case 13:
printf ("o valor da perda por singularidade solicitado nao consta do arquivo\n");
break;
case 14:
s=459.99;
break;
};break;
};break;
case 191:

{
switch (sing)
{
case 1:
s=40.01;
break;
case 2:
s=59.99;
break;
case 3:
s=70.00;
break;
case 4:
s=30.00;
break;
case 5:
s=30.00;
break;
case 6:
s=40.01;
break;
case 7:
s=19.99;
break;
case 8:
s=40.01;
break;
case 9:
s=140.00;
case 10:
s=140.01;
break;
case 11:
s=10.01;
break;
case 12:
s=670.00;
break;
case 13:
printf ("o valor da perda por singularidade solicitado nao consta do arquivo\n");
break;
case 14:
s=599.99;
break;
};break;
};break;
case 222:

{
switch (sing)
{
case 1:
s=40.01;
break;
case 2:
s=59.99;
break;
case 3:
s=70.00;
break;
case 4:
s=30.00;
break;
case 5:
s=30.00;
break;
case 6:
s=40.01;
break;
case 7:
s=40.01;
break;
case 8:
s=40.01;
break;
case 9:
s=152.97;
break;
case 10:
s=150.01;
break;
case 11:
s=10.01;
break;
case 12:
s=740.00;
break;
case 13:
s=410.01;
break;
case 14:
s=640.00;
break;
};break;
};break;
case 254:
{
switch (sing)
{
case 1:
s=50.01;
break;
case 2:
s=70.00;
break;
case 3:
s=80.01;
break;
case 4:
s=40.01;
break;
case 5:
s=30.00;
break;
case 6:
s=50.01;
break;
case 7:
s=19.99;
break;
case 8:
s=50.01;
break;
case 9:
s=170.00;
break;
case 10:
s=170.00;
break;
case 11:
s=23.14;
break;
case 12:
s=819.48;
break;
case 13:
s=459.99;
break;
case 14:
s=730.00;
break;
};break;
};break;
case 700:
{
switch (sing)
{
case 1:
s=40.01;
break;
case 2:
s=140.00;
break;
case 3:
s=140.00;
break;
case 4:
s=10.01;
break;
case 5:
s=670.00;
break;
case 6:
s=436.19;
break;
case 7:
s=559.99;
break;
case 8:
printf ("o valor da perda por singularidade solicitado nao consta do arquivo\n");
break;
case 9:
printf ("o valor da perda por singularidade solicitado nao consta do arquivo\n");
break;
case 10:
printf ("o valor da perda por singularidade solicitado nao consta do arquivo\n");
break;
case 11:
printf ("o valor da perda por singularidade solicitado nao consta do arquivo\n");
break;
case 12:
printf ("o valor da perda por singularidade solicitado nao consta do arquivo\n");
break;
case 13:
printf ("o valor da perda por singularidade solicitado nao consta do arquivo\n");
break;
case 14:
printf ("o valor da perda por singularidade solicitado nao consta do arquivo\n");
break;
};break;
};break;

}










return dsing2, sing, s;
}

#2 l3on4rdo

l3on4rdo

    O Mestre dos Mestres

  • Usuários
  • 159 posts
  • Sexo:Não informado
  • Localidade:São Carlos - SP

Posted 29/07/2011, 16:25

Parceiro, use o quote no codigo, se nao fica muito grande a pagina e confuso.

Explique melhor seu problema de forma mais simples, num entendi nada.

Abraco
Buscando um convite do TorrentLeech ! Se tiver um, me mande uma MP ! Ratio > 1 garantida !




2 user(s) are reading this topic

0 membro(s), 2 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq