Ir para conteúdo
Fórum Script Brasil

MARCELO DOS SANTOS

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre MARCELO DOS SANTOS

MARCELO DOS SANTOS's Achievements

0

Reputação

  1. #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: Temperaturas void 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ção void 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: Verificar void 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); } else if(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) { case 1: temp(tempmedia); system("cls"); break; case 2: vib(vibracao); system("cls"); break; case 3: verificar(tempmedia,vibracao); sleep(5); system("cls"); break; case 4: system("cls"); printf("Ate a proxima!"); break; default: printf("\nOpcão invalida"); system("cls"); break; } }while(opcao!=4); return 0; } 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?
×
×
  • Criar Novo...