O c nos dá amplas possibilidades em leitura e escrita de arquivos,
na verdade podemos lê entradas formatadas através de arquivos com
fscanf();do mesmo modo em que lemos do teclado com scanf();
Assim como imprimimos um texto com printf(); podemos gravar num
arquivo com fprintf();
Neste programa mostro como lê uma matriz do tipo float com fscanf();
A sintaxe de fscanf é:
int fscanf(FILE *arq, char *string_formatada);
fscanf(); faz a leitura completa da matriz float no arquivo, más na hora
da impressão imprimimos uma coluna por vez, que representa as notas
de cada aluno, são quatro alunos e são quatro notas para cada disciplinas
escolares atuais.
Programa indicado a iniciantes em linguagem c.
Veja abaixo imagens do programa em execução:
Veja abaixo o código do programa:
na verdade podemos lê entradas formatadas através de arquivos com
fscanf();do mesmo modo em que lemos do teclado com scanf();
Assim como imprimimos um texto com printf(); podemos gravar num
arquivo com fprintf();
Neste programa mostro como lê uma matriz do tipo float com fscanf();
A sintaxe de fscanf é:
int fscanf(FILE *arq, char *string_formatada);
fscanf(); faz a leitura completa da matriz float no arquivo, más na hora
da impressão imprimimos uma coluna por vez, que representa as notas
de cada aluno, são quatro alunos e são quatro notas para cada disciplinas
escolares atuais.
Programa indicado a iniciantes em linguagem c.
Veja abaixo imagens do programa em execução:
Veja abaixo o código do programa:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
void Moldura ( ) {
int lin, col;
for ( lin = 0; lin <= 25 ; lin++ ) {
for ( col = 0; col <= 80 ; col++ ) {
gotoxy ( col , lin );
if ( lin == 2 ) {
textattr ( 200 );
printf ( " " );
}
if ( col == 1 ) {
textattr ( 200 );
printf ( " " );
}
if ( col == 80 ) {
textattr ( 200 );
printf ( " " );
}
}
}
}
/*
A matriz abaixo foi usada como teste,
salve - a num arquivo de texto e coloque do
lado do executável do programa.
8.5 6.8 5.6 7.5
9.5 5.3 5.8 8.9
8.6 6.4 8.0 9.3
9.7 6.5 5.1 7.2
*/
int main ( ) {
system ( "title ARQUIVO
- LENDO E CALCULANDO MÉDIAS" );
Moldura ( );
textbackground ( WHITE );
int apr = 0, repr = 0, i, j, l;
float media, res = 0;
float matriz [ 4 ] [ 4 ];
FILE *arq = fopen ( "matriz.txt" , "r" );
if ( arq == NULL ) {
textcolor ( YELLOW );
gotoxy ( 26 , 12 );
printf ( "Problemas na
abertura do arquivo " );
getche ( );
return ( 0 );
}
for ( i = 0; i < 4 ; i++ ) {
for ( j = 0; j < 4 ; j++ ) {
fscanf ( arq , "%f" , &matriz [ i ] [ j ] );
}
}
textcolor ( LIGHTRED );
gotoxy ( 23 , 3 );
printf ( "ARQUIVO -
LENDO E CALCULANDO MÉDIAS" );
l = 0;
while ( l < 4 ) {
for ( i = 0; i < 4 ; i++ ) {
for ( i = 0; i < 4 ; i++ ) {
textcolor ( LIGHTRED );
gotoxy ( 50 , i + 7 );
printf ( " %0.1f " , matriz [ i ] [ l ] );
res = res += matriz [ i ] [ l ];
}
textcolor ( LIGHTBLUE );
gotoxy ( 30 , 5 );
printf ( "Notas do
aluno " );
textcolor ( LIGHTRED );
printf ( "%d" , l + 1 );
textcolor ( LIGHTBLUE );
gotoxy ( 10 , 7 );
printf ( "Ciências
Humanas e Suas Tecnologias " );
gotoxy ( 10 , 8 );
printf ( "Ciências da
Natureza e suas Tecnologias " );
gotoxy ( 10 , 9 );
printf ( "Linguagens e
Códigos e suas Tecnologias " );
gotoxy ( 10 , 10 );
printf ( "Matemática e
suas Tecnologias " );
fclose ( arq );
}
l++;
getche ( );
media = res / 4;
if ( media < 7 ) {
repr++;
textcolor ( LIGHTBLUE );
gotoxy ( 10 , 12 );
printf ( "Aluno " );
textcolor ( LIGHTRED );
printf ( "%d" , l );
textcolor ( LIGHTBLUE );
printf ( " reprovado" );
getche ( );
gotoxy ( 10 , 12 );
clreol ( );
}
if ( media >= 7 ) {
apr++;
textcolor ( LIGHTBLUE );
gotoxy ( 10 , 12 );
printf ( "Aluno " );
textcolor ( LIGHTRED );
printf ( "%d" , l );
textcolor ( LIGHTBLUE );
printf ( " aprovado" );
getche ( );
gotoxy ( 10 , 12 );
clreol ( );
}
media = res = j = 0;
}
clrscr ( );
Moldura ( );
textbackground ( WHITE );
textcolor ( LIGHTRED );
gotoxy ( 23 , 3 );
printf ( "ARQUIVO -
LENDO E CALCULANDO MÉDIAS" );
textcolor ( LIGHTBLUE );
gotoxy ( 33 , 5 );
printf ( "Resultado final" );
textcolor ( LIGHTRED );
gotoxy ( 23 , 7 );
printf ( "%d" , repr );
textcolor ( LIGHTBLUE );
printf ( " alunos foram
reprovados" );
textcolor ( LIGHTRED );
gotoxy ( 23 , 9 );
printf ( "%d" , apr );
textcolor ( LIGHTBLUE );
printf ( " alunos foram
aprovados" );
if ( repr > apr ) {
gotoxy ( 23 , 11 );
printf ( "Número de
reprovados acima dos aprovados" );
}
if ( repr == apr ) {
gotoxy ( 23 , 11 );
printf ( "Número de
aprovados" );
gotoxy ( 23 , 12 );
printf ( "iguais de
reprovados" );
}
if ( repr < apr ) {
gotoxy ( 23 , 11 );
printf ( "Número de
aprovados acima dos repovados" );
}
Sleep ( 1800 );
textcolor ( LIGHTBLUE );
gotoxy ( 28 , 17 );
printf ( "Criado
por:" );
textcolor ( BLACK );
printf ( " Samuel Lima
" );
textcolor ( LIGHTRED );
gotoxy ( 36 , 23 );
printf ( "MUITO
OBRIGADO" );
getche ( );
return 0;
}
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.