Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdlib.h>
- #include <stdio.h>
- #define MAX_ALUNOS 1
- struct TipoAluno
- {
- char nome[30];
- float media;
- int faltas;
- };
- float solicitaNota(void);
- float calculaMedia(float nota1, float nota2, float pontos, int faltas);
- float bonusMedia(int faltas);
- void exibeAluno(struct TipoAluno aluno);
- void fim(void);
- int main(void)
- {
- struct TipoAluno alunos[MAX_ALUNOS];
- float nota1, nota2, pontos;
- int i, faltas;
- for(i=0; i < MAX_ALUNOS; i++)
- {
- printf("\nEntre com o nome do aluno: ");
- gets(alunos[i].nome);
- printf("Entre com a primeira nota (0 a 10): ");
- nota1 = solicitaNota();
- printf("Entre com a segunda nota (0 a 10): ");
- nota2 = solicitaNota();
- printf("Entre com os pontos (0 a 10): ");
- pontos = solicitaNota();
- printf("Entre com as faltas: ");
- scanf("%d", &faltas);
- getchar();
- alunos[i].media = calculaMedia(nota1, nota2, pontos, faltas);
- }
- printf("\n\nExibicao dos dados:");
- for(i=0; i < MAX_ALUNOS; i++)
- exibeAluno(alunos[i]);
- fim();
- }
- //FUNCÕES
- float solicitaNota(void)
- {
- float nota;
- do
- {
- scanf("%f", ¬a);
- if(nota < 0 || nota > 10)
- {
- printf("Erro, valor deve ser de 0 a 10 \n");
- }
- }while(nota < 0 || nota > 10);
- return nota;
- }
- float bonusMedia(int faltas)
- {
- if (faltas==0)
- return 0.5;
- else
- return 0;
- }
- float calculaMedia(float nota1, float nota2, float pontos, int faltas)
- {
- float media = (nota1 + nota2)/2 + pontos + bonusMedia(faltas);
- if(media > 10)
- return 10;
- else
- return media;
- }
- void exibeAluno(struct TipoAluno aluno)
- {
- printf("\n\nAluno: %s", aluno.nome);
- printf("\nMedia: %.2f", aluno.media);
- }
- void fim(void)
- {
- printf("\n\n\n");
- system("pause");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement