Escreva um algoritmo que recebe do usuário os seguintes dados: matricula, nome, primeira nota e segunda nota. Após a leitura, o algoritmo deverá calcular a média das duas notas e testar se o usuário foi aprovado ou não. Efetuado o processamento anterior, o algoritmo deverá guardar a seguinte informação em um arquivo chamado alunos.txt:
Soluções para a tarefa
Resposta:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
/*Escreva um algoritmo que recebe do usuário os seguintes dados: matricula, nome, primeira nota e segunda nota.
Após a leitura, o algoritmo deverá calcular a média das duas notas e testar se o usuário foi aprovado ou não.
Efetuado o processamento anterior, o algoritmo deverá guardar a seguinte informação em um arquivo chamado alunos.txt:*/
int main(){
FILE *pont_arq; //cria ponteiro pra variavel arquivo.txt
pont_arq = fopen("alunos.txt", "w"); //abrindo arquivo com tipo W
//* Testando se o arquivo realmente foi criado:
if(pont_arq == NULL){
printf("Erro na abertura do arquivo!\n");
return 1;
}
int matricula;
char nome[30];
float nota_1;
float nota_2;
float nota_final;
int media = 6;
//
//MATRICULA
printf("Digite o numero da matricula do aluno: \n");
scanf("%d", &matricula);
system("cls");
fprintf(pont_arq, "Numero de matricula do aluno: %d\n", matricula);
//
//NOME
printf("Digite o nome do aluno(a): \n");
scanf("%s", nome);
system("cls");
fprintf(pont_arq, "Nome do aluno(a): %s\n", nome);
//
//NOTA1
printf("Digite a primeira nota do aluno: \n" );
scanf("%f", ¬a_1);
system("cls");
fprintf(pont_arq, "Primeira nota do aluno: %.2f\n", nota_1);
//
//NOTA2
printf("Digite a segunda nota do aluno: \n" );
scanf("%f", ¬a_2);
system("cls");
fprintf(pont_arq, "Segunda nota do aluno: %.2f\n", nota_2);
nota_final = (nota_1 + nota_2) / 2;
if(nota_final >= 6){
printf("Aluno(a): %s\nNumero de matricula: %d\nNota final: %.2f\nSituacao do aluno: APROVADO\n",nome, matricula, nota_final);
fprintf(pont_arq, "APROVADO.\n");
}else{
printf("Aluno(a): %s\nNumero de matricula: %d\nNota final: %.2f\nSituacao do aluno: REPROVADO\n",nome, matricula, nota_final);
fprintf(pont_arq, "REPROVADO.\n");
}
fclose(pont_arq);
printf("\nDados gravados com sucesso!\n");
return 0;
}
Olá, sou estudante de engenharia de computação e estou aprendendo a programar em C ainda. Fiz o código e até onde testei tudo funcionou certinho. Já peço desculpa caso o método que eu usei não seja o melhor ou mais bem elaborado.