Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #include <locale.h>
- #define N 3
- #define MAX 50
- typedef struct {
- int matricula;
- float vNotas[N]; // Armazena as 3 notas do ano.
- char nome[100];
- }tAluno;
- typedef struct {
- tAluno aluno[MAX];
- int nAlunos; // Número de alunos matriculados no disciplina.
- }tDisciplina;
- /*
- Objetivo: Preencher as informações de um aluno
- Parâmetros: não
- Retorno: as informações do aluno
- */
- tAluno preencheAluno1(){
- tAluno a1;
- int i;
- printf("Digite a matricula: ");
- scanf("%d%*c", &a1.matricula);
- printf("Digite o nome: ");
- fgets(a1.nome, 100, stdin);
- a1.nome[strlen(a1.nome)-1]= '\0';
- for(i=0;i<N;i++){
- printf("Digite a nota da prova %d: ", i+1);
- scanf("%f", &a1.vNotas[i]);
- }
- return a1;
- }
- /*
- Objetivo: Preencher as informaçõe de um aluno
- Parâmetros: a1 - endereço do aluno
- Retorno: não
- */
- void preencheAluno2(tAluno *a1){
- tAluno alu;
- int i;
- printf("Digite a matricula: ");
- scanf("%d%*c", &alu.matricula);
- printf("Digite o nome: ");
- fgets(alu.nome, 100, stdin);
- alu.nome[strlen(alu.nome)-1]= '\0';
- for(i=0;i<N;i++){
- printf("Digite a nota da prova %d: ", i+1);
- scanf("%f", &alu.vNotas[i]);
- }
- *a1 = alu;
- }
- float mediaDisciplina(tAluno a)
- {
- int i, soma = 0;
- for(i = 0; i < N; i++){
- soma += a.vNotas[i];
- }
- return soma/N;
- }
- tDisciplina preencheDisciplina(int numAlunos)
- {
- tDisciplina d1;
- int i;
- for(i = 0; i < numAlunos; i++){
- d1.aluno[i] = preencheAluno1();
- }
- return d1;
- }
- void mostraDisciplina(tDisciplina d1)
- {
- int i;
- for(i = 0; i < d1.nAlunos; i++)
- {
- printf("Matricula: %d\n", d1.aluno[i].matricula);
- printf("Nome: %s\n", d1.aluno[i].nome);
- printf("Média: %.2f\n", mediaDisciplina(d1.aluno[i]));
- }
- }
- int main(){
- setlocale(LC_ALL, "Portuguese");
- tDisciplina pc1;
- printf("Digite a quantidade de alunos: ");
- scanf("%d", &pc1.nAlunos);
- while(pc1.nAlunos > 50)
- {
- printf("Número de alunos ultrapassado! Por favor digite no máx 50 alunos: ");
- scanf("%d", &pc1.nAlunos);
- }
- preencheDisciplina(&pc1.nAlunos);
- mostraDisciplina(pc1);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement