#include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<time.h>/*Elabore um programa em C com 2 entradas de dados de um motor, a temperatura e vibracao. Gerar
os valores de forma randomica. Uma entrada são os valores de temperatura entre 10 graus a 45
graus Celsius. A outra entrada de dados são os valores representando se há ou não vibracao (há=1,
não há=0). Com estes valores de entrada, gere um vetor de saida (manter ligado (1) ou desligar o
motor (0)). Devem ser gerados 100 valores de temperatura e 10 valores de vibracao. A cada 10
valores de temperatura deve ser calculada a media e gerar um vetor de temperatura media com 10
valores. Com o vetor de temperatura media e vibracao, gerar um vetor de saida com 10 valores para
dizer se vai manter o motor ligado ou desligar. Faca um menu a seu criterio para gerenciar o
programa.
Regra para decidir se precisa manter ligado ou desligar:
1- tem vibracao e temperatura acima de 27 graus ¨ desligar
2- tem vibracao e temperatura abaixo ou igual a 27 graus ¨ manter ligado
3- não tem vibracao ¨ manter ligado*///opção 1: Temperaturasvoid temp(float*tempmedia){int a,i,j,temperatura[100];float media;
system("cls");
srand((unsigned)time(NULL));for(i=0;i<101;i++){
temperatura[i]=10+rand()%36;if(i==9){for(j=0;j<10;j++){float media=0;
media=media+temperatura[j];}}
tempmedia[0]=media/10;if(i==19){for(j=10;j<20;j++){float media=0;
media=media+temperatura[j];}}
tempmedia[1]=media/10;if(i==29){for(j=20;j<30;j++){float media=0;
media=media+temperatura[j];}}
tempmedia[2]=media/10;if(i==39){for(j=30;j<40;j++){float media=0;
media=media+temperatura[j];}}
tempmedia[3]=media/10;if(i==49){for(j=40;j<50;j++){float media=0;
media=media+temperatura[j];}}
tempmedia[4]=media/10;if(i==59){for(j=50;j<60;j++){float media=0;
media=media+temperatura[j];}}
tempmedia[5]=media/10;if(i==69){for(j=60;j<70;j++){float media=0;
media=media+temperatura[j];}}
tempmedia[6]=media/10;if(i==79){for(j=70;j<80;j++){float media=0;
media=media+temperatura[j];}}
tempmedia[7]=media/10;if(i==89){for(j=80;j<90;j++){float media=0;
media=media+temperatura[j];}}
tempmedia[8]=media/10;if(i==99){for(j=90;j<100;j++){float media=0;
media=media+temperatura[j];}}
tempmedia[9]=media/10;}
printf("Temperaturas Registradas!");
sleep(3);}//opção 2: Vibraçãovoid vib(int*vibracao){int i;
system("cls");
srand((unsigned)time(NULL));for(i=0;i<10;i++){
vibracao[i]=0+rand()%2;
printf("\n%d %d\n",i,vibracao[i]);}
printf("Vibracoes Registradas!");
sleep(3);}//opção 3: Verificarvoid verificar(float*tempmedia,int*vibracao){int i;
system("cls");for(i=0;i<10;i++){if(tempmedia[i]>27&& vibracao[i]==1){
printf("%d Temperatura de %.2f e motor vibrando: Desligando motor!\n\n",i+1,tempmedia[i]);
sleep(1);}elseif(tempmedia[i]<=27&& vibracao[i]==1){
printf("%d Temperatura de %.2f e motor vibrando: Manter motor ligado!\n\n",i+1,tempmedia[i]);
sleep(1);}if(vibracao[i]==0){
printf("%d Temperatura de %.2f e motor sem vibracao: Manter motor ligado!\n\n",i+1,tempmedia[i]);
sleep(1);}}
sleep(3);}int main(){int opcao,vibracao[10];float tempmedia[10];do{
printf("\n1- Temperatura");
printf("\n2- Vibracao");
printf("\n3- Resultado");
printf("\n4- Sair\n\n");
printf("\nQual e a sua escolha: ");
scanf("%d",&opcao);switch(opcao){case1:
temp(tempmedia);
system("cls");break;case2:
vib(vibracao);
system("cls");break;case3:
verificar(tempmedia,vibracao);
sleep(5);
system("cls");break;case4:
system("cls");
printf("Ate a proxima!");break;default:
printf("\nOpcão invalida");
system("cls");break;}}while(opcao!=4);return0;}
O vetor tempmedia, não está sendo armazenado, apenas o vetor vibração, quando seleciono a opção 3 para realizar o teste, penas o vetor vibração aparece, mas o vetor temp media, que é para mostrar as 10 temperaturas não é mostra as 10 temperaturas armazenadas anteriormente. Como faço para que os dois vetores continuem armazenados na memoria, e quando seleciono uma opção diferente, eu ainda consiga ter os valores armazenados, para utiliza-los?
Pergunta
MARCELO DOS SANTOS
O vetor tempmedia, não está sendo armazenado, apenas o vetor vibração, quando seleciono a opção 3 para realizar o teste, penas o vetor vibração aparece, mas o vetor temp media, que é para mostrar as 10 temperaturas não é mostra as 10 temperaturas armazenadas anteriormente. Como faço para que os dois vetores continuem armazenados na memoria, e quando seleciono uma opção diferente, eu ainda consiga ter os valores armazenados, para utiliza-los?
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.