Ir ao conteúdo

Posts recomendados

Postado

ola , estou com um problema numa programação que diz o seguinte , tenho um aruivo que contem um codigo ,tempo ,produto, status 

precisa descobrir quantas vezes o determinado produto como 1 ,2 ,3 ,4 ,5 , comeca em status 0 e entao vai para status 3 

ex

010606,14,1,0------------------

010614,4,4,1                         ocorreu uma vez

010639,7,1,3-------------------

010726,32,1,2

010744,21,1,0-------------------------------

010831,32,4,0                                      ocorreu uma segunda vez 

012843,38,1,1

839200,102,1,3--------------------------

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

int main( ){
        setlocale(LC_ALL, "Portuguese");
        FILE *fp= NULL; 
       long int momento;
        int duracao, operacao,status;
        int i= 0,n=0,op1;
        int menor1,menor2,stat1,stat2,moment;    
        
        fp= fopen( "Maq1.log", "r" );     
        if (fp == NULL) {
                printf("Erro ao abrir arquivo.");
                return 1;
        }
        
          while(!feof(fp)){
        fscanf(fp, "%i,%i,%i,%i", &momento,&duracao,&operacao,&status);
      if (operacao==1){
              //if(status=0){
              //    i++;
            //  }else{if(status=3){
            //      n++;
            //  }
            //  }
      }
       if (operacao==2){
               if(status=0){
                  i++;
              }else{if(status=3){
                  n++;
              }
              }
           
      }
       if (operacao==3){
           
      }
       if (operacao==4){
           
      }
       if (operacao==5){
           
      }
       if (operacao==6){
           
      }   
  }
  if(i==0 || n==0){
      op1=0;
  }else{if(i>=n){
      op1=n;
  }else {if(n>=i){
      op1=i;}    }
  }
  printf("para a operacao 1 ocorrem %i vezes iniciando em 0 e então se torna 3",op1);
        fclose(fp);
        return 0;
}

mas nao consigo definir os parametros para isso 

 

  • Confuso 2
  • Membro VIP
Postado

Não entendi muito bem (se é que entendo) mas o que você quer é saber quantas vezes status=0?

if (status==0) numero_de_vezes++; ?

Não era pra ser simples? ... 🤔

Postado

@muh.prog Tente usar uma variável para controlar quando começa e termina, atribuindo 1 ou 0. E conte quando for igual a 1 e ao status, p.ex no caso da operação 1,

 

int n = 0;
int conta = 0;
...
fscanf(fp, "%i,%i,%i,%i", &momento,&duracao,&operacao,&status);
if(operacao == 1){
    if(status == 0){
        n = 1;
    }else if(status == 3){
        if(n == 1){
            conta += 1;
            n = 0;
        }
    }
}

 

Postado

Seu programa tem que responder uma pergunta/problema.

 

Vejamos a pergunta

4 horas atrás, muh.prog disse:

tenho um aruivo que contem um codigo ,tempo ,produto, status 

precisa descobrir quantas vezes o determinado produto como 1 ,2 ,3 ,4 ,5 , comeca em status 0 e entao vai para status 3

 

Entenderíamos que existe um arquivo (em texto) formatado sobre 4 campos separados, fundamentalmente, por vírgula

CÓDIGO(inteiro), TEMPO(inteiro), PRODUTO(inteiro), STATUS(inteiro)

 

e uma linha desse arquivo tem este aspecto geral

010606,14,1,0

 

Respectivamente

010606,14,1,0
~~~^~~ ^~ ^ ^
   +---|--|-|------> CODIGO
       +--|-|------> TEMPO
          +-|------> PRODUTO
            +------> STATUS (do produto)

 

 

A pergunta é:

Determine a quantidade de ciclos de um produto escolhido pelo usuário, sabendo que um CICLO é a sucessão de 4 status (0, 1, 2, 3).

 

 

Se não é isso, pelo menos dei um exercício

@muh.prog

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!