Ir ao conteúdo

Posts recomendados

Postado

Olá pessoal, estou com dificuldade em fazer um programinha em C, eu quero pedir o nome e tres notas de 5 alunos usando o for, porém na hora de escrever o nome de qual aluno e nota ele tirou está dando erro. Se alguém conseguir ajudar agradeço muito.

 

int main(){
    int n1[5],n2[5],n3[5],x,cont_p,cont_r,cont_np;
    char nome[30][5], resp[15][5];
    float m[5];
    cont_p=0;
    cont_r=0;
    cont_np=0;

    setlocale(LC_ALL, "portuguese");

    printf("---------------------\n");
    printf("|  QUADRO DE NOTAS  |\n");
    printf("---------------------\n");

    for(x=1;x<=5;x++){
        printf("%dº aluno digite seu nome: ", x);
        printf("%s",nome[][x]);

        printf("Primeira nota: ");
        scanf("%d", &n1[x]);
        fflush(stdin);

        printf("Segunda nota: ");
        scanf("%d", &n2[x]);
        fflush(stdin);

        printf("Terceira nota: ");
        scanf("%d", &n3[x]);
        fflush(stdin);

        m[x]=(n1[x]+n2[x]+n3[x])/3;

        system("cls");
    }

    for(x=1;x<=5;x++){
        if(m[x]>=7){
            strcpy(resp[x],"passou");
            cont_p++;
        }
        if(m[x]>=3 && m<7){
            strcpy(resp[x],"está em recuperação");
            cont_r++;
        }
        if(m[x]<3){
            strcpy(resp[x],"não passou");
            cont_np++;
        }
    }

    for(x=1;x<=5;x++){
        printf("%s sua media final foi %.2f e você %s \n",nome[x], m[x], resp[x]);
    }

    printf("O número de alunos que passaram foi %d", cont_p);
    printf("O número de alunos que ficaram em recuperação foi %d", cont_r);
    printf("O número de alunos que não passaram foi %d", cont_np);

    return 0;
 

 

 

 

Postado

Olá pessoal, estou com dificuldade em fazer um programinha em C, eu quero pedir o nome e tres notas de 5 alunos usando o for, porém na hora de escrever o nome de qual aluno e nota ele tirou está dando erro. Se alguém conseguir ajudar agradeço muito.

 

int main(){

    int n1[5],n2[5],n3[5],x,cont_p,cont_r,cont_np;

    char nome[30][5], resp[15][5];

    float m[5];

    cont_p=0;

    cont_r=0;

    cont_np=0;

    setlocale(LC_ALL, "portuguese");

    printf("---------------------\n");

    printf("|  QUADRO DE NOTAS  |\n");

    printf("---------------------\n");

    for(x=1;x<=5;x++){

        printf("%dº aluno digite seu nome: ", x);

        printf("%s",nome[][x]);

        printf("Primeira nota: ");

        scanf("%d", &n1[x]);

        fflush(stdin);

        printf("Segunda nota: ");

        scanf("%d", &n2[x]);

        fflush(stdin);

        printf("Terceira nota: ");

        scanf("%d", &n3[x]);

        fflush(stdin);

        m[x]=(n1[x]+n2[x]+n3[x])/3;

        system("cls");

    }

    for(x=1;x<=5;x++){

        if(m[x]>=7){

            strcpy(resp[x],"passou");

            cont_p++;

        }

        if(m[x]>=3 && m<7){

            strcpy(resp[x],"está em recuperação");

            cont_r++;

        }

        if(m[x]<3){

            strcpy(resp[x],"não passou");

            cont_np++;

        }

    }

    for(x=1;x<=5;x++){

        printf("%s sua media final foi %.2f e você %s \n",nome[x], m[x], resp[x]);

    }

    printf("O número de alunos que passaram foi %d", cont_p);

    printf("O número de alunos que ficaram em recuperação foi %d", cont_r);

    printf("O número de alunos que não passaram foi %d", cont_np);

    return 0;

A todos um Boa Dia!

Fiz cópia de seu Código e aí percebesse poucos erros de semântica  significado das coisas.

e.i.:

int n1[5], n2[5], n3[5], x, cont_p, cont_r, cont_np;char nome[30][5], resp[15][5];float m[5]

Acima declarou v.A (variable Array) chamada

nome[30][5]...

O erro aqui é na ordem dos limites.

Como está escrito, nome é: vetor com [30] linhas, [5] colunas, ou (se tratando de strings) [30] nomes de [5] letras.

O esperado acho que é: vetor com [5] linhas, [30] colunas, ou (se tratando de strings) [5] nomes com [30] letras.

Para tanto faça correção: nome[5][30];

 

Iluminado está questão, espero ter ajudado um pouco.

Visitante
Este tópico está impedido de receber novas respostas.

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