Ir ao conteúdo
  • Cadastre-se

Programa para imprimir mÉdia de nota


sumar

Posts recomendados

Se você postar o q você fez podemos te ajudar

Eis o exercicio:

Considere um arquivo de dados do tipo texto com o seguinte conteúdo:

MARIA, 1ª nota 6.5, 2ª nota 9.5

RITA, 1ª nota 8.5, 2ª nota 6.5

RICO, 1ª nota 5.9, 2ª nota 8.4

CHICO, 1ª nota 8.9, 2ª nota 9.9

Os nomes e as notas acima é apenas um exemplo. Nestes arquivos de alunos a primeira linha contém o número de alunos no arquivo. As linhas seguintes contém os seguintes dados:

• nome do aluno com no máximo 50 caracteres;

• nota da primeira prova;

• nota da segunda prova.

Escreva um programa que imprima os nomes de todos os alunos que têm a média das duas notas menor que 7.0

Somente isso!

Segue o programa, está copilando mas a MÉDIA está atrapalhada. (O que está de vermelho)

Obrigado!

#include <stdio.h>

#include <stdlib.h>

typedef struct

{

char nome[20];

float nota_1, nota_2;

}

tp_dados;

int main ()

{

char Nome_arquivo[20];

FILE * Arquivo;

int i, x;

float soma, media;

tp_dados *Concurso;

printf("\n\n\t ESCOLA ANA ");

scanf("%s", Nome_arquivo);

Arquivo = fopen (Nome_arquivo, "w");

printf("\n\n\tQuantidade de alunos avaliados: ");

scanf("%i", &x);

Concurso = (tp_dados *)malloc(sizeof(tp_dados) * x);

for(i=0; i<x; i++)

{

fflush(stdin);

printf("\n\tNome do aluno: ",(i+1));

gets(Concurso.nome);

printf( "\tDigite a primeira nota da prova: ",(i+1));

scanf("%f",&Concurso.nota_1);

printf( "\tDigite a segunda nota da prova: ",(i+1));

scanf("%f",&Concurso.nota_2);

soma = soma + (Concurso.nota_1 + Concurso.nota_2);

media = soma/x;

}

Arquivo = fopen ("Concurso.txt", "w");

fprintf (Arquivo,"%s\n",Concurso.nome);

fprintf (Arquivo,"%f\n",Concurso.nota_1);

fprintf (Arquivo,"%f\n",Concurso.nota_2);

fprintf (Arquivo,"%f\n",media);

fclose(Arquivo);

printf ("\n\n\tNome dos Arquivos\n");

for(i=0; i<x; i++)

{

printf ("\n\tConcurso.txt = %s\n ",Concurso.nome);

printf ("\tConcurso.txt = %.2f\n ",Concurso.nota_1);

printf ("\tConcurso.txt = %.2f\n ",Concurso.nota_2);

printf( "\tConcurso.txt = %.2f\n ",media);

}

printf ("\n\tLendo os arquivos:\n");

Arquivo = fopen ("Concurso.txt","r");

fgets (Concurso.nome, 20, Arquivo);

scanf (&Concurso.nota_1, Arquivo);

scanf (&Concurso.nota_2, Arquivo);

scanf (&media, Arquivo);

fclose(Arquivo);

for(i=0; i<x; i++)

{

printf ("\n\tConcurso.txt = %s\n ",Concurso.nome);

printf ("\tConcurso.txt = %.2f\n ",Concurso.nota_1);

printf ("\tConcurso.txt = %.2f\n ",Concurso.nota_2);

printf ("\tConcurso.txt = %.2f\n ",media);

}

printf("\n\n");

system("PAUSE");

return 0;

}

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!