Ir para conteúdo
Fórum Script Brasil

MARCELO DOS SANTOS

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Posts postados por MARCELO DOS SANTOS

  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...