Ajuda em exercicio linguagem C

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]
 
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
 
Back
Topo