Informática, perguntado por GellonesPro, 5 meses atrás

Elaborar um programa em C que:

1 - Receba uma nota (entre 0.0 e 10.0):
digite sua nota \n

2 - Classifica a nota na matéria em: passou direto, ficou de recuperação ou foi reprovado direto.

A regra é a seguinte:

Nota 7 ou mais →\to→ \n passou direto com a nota ?.??
Entre 4 e 7 →\to→ \n tem direito de fazer uma prova de recuperação a nota ?.??
Abaixo de 4 →\to→ \n reprovado direto com a nota ?.??

3 - O programa deverá usar obrigatoriamente a estrutura IF-ELSE IF-ELSE:

4 - Formatar as notas com duas casas decimais (exemplo abaixo):

printf("%0.2f", nota);

Sample Input:

7.10

Sample Output:

digite sua nota

passou direto com a nota 7.10​

Soluções para a tarefa

Respondido por Guaxinim5573
2

#include <stdio.h>

int main() {

float nota;

printf("Digite sua nota: ");

while(fscanf(stdin, "%f",&nota)==1) {break;}

if(nota > 10) {

 printf("Nota inválida.\n");

} else if(nota >= 7) {

 printf("Passou direto com nota %.2f\n", nota);

} else if(nota >= 4) {

 printf("Tem direito de fazer uma prova de recuperação a nota %.2f\n", nota);

} else {

 printf("Reprovado direto com nota %.2f\n", nota);

}

return 0;

}

No código usamos uma variável float para guardar a nota do usuário, já que esse tipo permite que tenhamos casas decimais.

Usamos a função fscanf para ler uma entrada do stdin e guardar a resposta na variável nota.

Depois disso a cadeia de if funciona assim:

Se a nota for maior que 10:

       Nota inválida

Mas se a nota for maior que ou igual 7 (E consequentemente menor que 10):

       Passou direto

Mas se a nota for maior que ou igual 4 (E consequentemente menor que 7):

       Recuperação

Se não:

       Reprovou

Testado em Arch Linux usando o compilador gcc 11.1.0

Espero ter ajudado!

Happy Coding :)


GellonesPro: Boa noite, postei mais 2 perguntas. Poderia me ajudar com elas? agradeceria muito!
Perguntas interessantes