1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Ajuda em exercicio linguagem C

Discussão em 'Programação' iniciada por fabiopires1011, 29 de Novembro de 2018. (Respostas: 1; Visualizações: 162)

  1. fabiopires1011

    fabiopires1011 Power Member

    Boas pessoal tenho o seguinte codigo de um exercicio que consiste em fazer uma funçao que recebe como agumento um array da struct stream, o tamanho e o identificador de uma stream. A funçao deve procurar a stream com o indicador dado e adicionar mais +1 ao numero de visualizadores e ao numero total de visualizaçoes. Há outra maneira de passar a struct por argumento sem usar o asterisco pois apontadores e memoria dinamica ainda nao foram lecionadas

    Código:
    struct Streamer{
            char nome[50];
            char pais[2];
            int idade;
        };
        struct Stream{
            int id;
            char titulo[200];
            char nome_Jogo[50];
            char idioma[2];
            int espectadores;
            int total_Vis;
            struct Streamer streamer;
        }typedef STREAM;
        void connect(STREAM *stream,int tam,int id){
            int contador=0;
            for(int i=0;i<tam;i++){
                if(id== stream[i].id){
                    stream[i].total_Vis+=1;
                    contador++;
                  
                }if(contador==0){
                    printf("Nao encontramos nenhuma Stream com esse id");
                }
            }
        }
    
    int main(int argc, char** argv) {
        STREAM *stream[1000];[code]
     
  2. Tec_Fil

    Tec_Fil Power Member

    A lógica que estás a usar com a variável contador pode ser melhorada.

    Fazes um printf do índice quando o primeiro if é validado e passas o segundo if para fora do ciclo for, com ele lá dentro podes ter até tam-1 prints a dizer "Nao encontramos ..." e não parece ser isso o pretendido
     

Partilhar esta Página