aula 203

Dúvida | Como ler nome e nota de três estudantes e imprimir uma tabela?

Vamos a mais uma dúvida aqui em nosso curso de programação C? Na aula de hoje vamos ver como ler nome e nota de três estudantes e imprimir uma tabela no terminal.

Observe que precisamos ler duas informações de três pessoas, nome e nota. Precisamos pensar em quais estruturas de dados iremos armazenar estas informações.

Para as notas podemos criar um vetor (array unidimensional) de números reais. Contudo, como já vimos aqui no curso, um nome é uma cadeia de caracteres, ou seja, um nome é um vetor de caracteres. Assim, para armazenar três nomes precisamos de uma matriz (array bidimensional) de caracteres, onde cada linha terá um nome. Teremos então as seguintes estruturas de dados:

    char nomes[3][30]; // 3 nomes
    float notas[3]; // 3 notas

Um detalhe importante a ser observado é que não é necessário dois índices para percorrer nossa matriz. Como cada linha terá o nome de um estudante, basta o índice da linha, assim:

    for(i = 0; i < 3; i++){
        printf("Digite nome e nota do estudante: ");
        scanf("%s%f", &nomes[i], &notas[i]);
    }

Agora podemos montar uma tabela no terminal com duas colunas, a coluna Nome e a coluna Nota.

    printf("\n\tNome\tNota\n");
    for(i = 0; i < 3; i++)
        printf("\t%s\t%.2f\n", nomes[i], notas[i]);

Código de exemplo completo em C

/*
            Aula 203: Dúvida

            Código escrito por Wagner Gaspar
            Junho de 2021

        Foram digitadas três linhas, onde cada uma das linhas contém o nome e a nota de
        um aluno. Escreva um programa que leia essas informações e monte uma tabela onde
        a primeira coluna é o nome e a segunda coluna é a nota.
*/

int main(){

    char nomes[3][30];
    float notas[3];
    int i;

    for(i = 0; i < 3; i++){
        printf("Digite nome e nota do estudante: ");
        scanf("%s%f", &nomes[i], &notas[i]);
    }

    printf("\n\tNome\tNota\n");
    for(i = 0; i < 3; i++)
        printf("\t%s\t%.2f\n", nomes[i], notas[i]);

    return 0;
}

Deixe um comentário

nove + 15 =

Wagner Gaspar

Capixaba de São Gabriel da Palha, Espírito Santo. Bacharel em Ciência da Computação pela Universidade Federal do Amazonas e mestre em informática pela Universidade Federal do Espírito Santo.