Boa noite pessoal, estou a mais de 3 semanas com um trabalho e está impossivel resolver. Segue a questão
// Escreva um programa que leia 4 arquivos de numeros inteiros, calcule a média.
//Mostre o maior quadrado que seja menor que a média de todos os números maiores que a média dos números de cada um dos arquivos.
//Ex: Média dos números do arquivo 01 = 35 //Números do arquivo 01 que são maiores que 35 = Ni...Nn
//Maior quadrado entre os N números do arquivo 01 = x.
A baixo vou colocar 2 tentativas que não saem da parte de calcular a media, como posso calcular a segunda parte??
FILE *numeros, *maior, *menor, *medio;
int numero;
float media;
//abertura dos arquivos
numeros = fopen ("numeros.txt", "r");
maior = fopen ("maior.txt", "w" );
medio = fopen ("medio.txt" , "w");
menor = fopen ("menor.txt" , "w");
//leitura dos dados e gravação do arquivo
while (fscanf (numeros , "%i %f" , &numero , &media)!= EOF){
if (media >= 6)
fprintf (maior,"%i %4.1f\n",numero,media);
else
fprintf (medio,"%i %4.1f\n",numero,media);
if (numeros != NULL){
while (fscanf(numeros, "%d\n", &id_num, med) != EOF){ //End of file
printf("%d\n", id_num, med);
}
if (numeros != NULL){
while (fscanf(numeros2,"%d\n", &id_num2,med) != EOF){ //End of file
printf("%d\n", id_num2,med);
}
if (numeros != NULL){
while (fscanf(numeros3,"%d\n", &id_num3,med) != EOF){ //End of file
printf("%d\n", id_num3,med);
}
if (numeros != NULL){
while (fscanf(numeros4,"%d\n", &id_num4,med) != EOF){ //End of file
printf("%d\n", id_num4,med);
}
}
fclose (numeros);
fclose (numeros2);
fclose (numeros3);
fclose (numeros4);
return 0;
}
}
}
}
int main(){
int id_num, id_num2, id_num3, id_num4;
printf("Digite o primeiro numero: %d");
scanf("%d", &id_num);
printf("Digite o segundo numero: %d");
scanf("%d", &id_num2);
printf("Digite o terceiro numero: %d");
scanf("%d", &id_num3);
printf("Digite o quarto numero: %d");
scanf("%d", &id_num4);
O Código abaixo está na Página index.jsp
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="css/bootstrap.min.css" rel="stylesheet" type="text/css"/>
</head>
</html>
O problema são os caracteres especiais que não consigo corrigir.
Como consigo converter os Caracteres para o Padrão Português(BR) ?
Boa noite pessoal, estou a mais de 3 semanas com um trabalho e está impossivel resolver. Segue a questão
// Escreva um programa que leia 4 arquivos de numeros inteiros, calcule a média.
//Mostre o maior quadrado que seja menor que a média de todos os números maiores que a média dos números de cada um dos arquivos.
//Ex: Média dos números do arquivo 01 = 35
//Números do arquivo 01 que são maiores que 35 = Ni...Nn
//Maior quadrado entre os N números do arquivo 01 = x.
A baixo vou colocar 2 tentativas que não saem da parte de calcular a media, como posso calcular a segunda parte??
TENTATIVA 01
#include <stdio.h>
#include <stdlib.h>
main(){
FILE *numeros, *maior, *menor, *medio;
int numero;
float media;
//abertura dos arquivos
numeros = fopen ("numeros.txt", "r");
maior = fopen ("maior.txt", "w" );
medio = fopen ("medio.txt" , "w");
menor = fopen ("menor.txt" , "w");
//leitura dos dados e gravação do arquivo
while (fscanf (numeros , "%i %f" , &numero , &media)!= EOF){
if (media >= 6)
fprintf (maior,"%i %4.1f\n",numero,media);
else
fprintf (medio,"%i %4.1f\n",numero,media);
}
//fechando os arquivos
fclose (numeros);
fclose (maior);
fclose (medio);
fclose (menor);
}
TENTATIVA 02 (ACHO QUE A MELHOR)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdlib.h>
#define TAM_MED 50 //tamanho na média
#define M 4 //número de arquivos
#define TRUE 1
#define FALSE 0
int leitura( int id, int medi){
int id_num, id_num2, id_num3, id_num4;
int med;
FILE* numeros = fopen ("numeros.txt","r");
FILE* numeros2 = fopen ("numeros2.txt", "r");
FILE* numeros3 = fopen ("numeros3.txt", "r");
FILE* numeros4 = fopen ("numeros4.txt", "r");
if (numeros != NULL){
while (fscanf(numeros, "%d\n", &id_num, med) != EOF){ //End of file
printf("%d\n", id_num, med);
}
if (numeros != NULL){
while (fscanf(numeros2,"%d\n", &id_num2,med) != EOF){ //End of file
printf("%d\n", id_num2,med);
}
if (numeros != NULL){
while (fscanf(numeros3,"%d\n", &id_num3,med) != EOF){ //End of file
printf("%d\n", id_num3,med);
}
if (numeros != NULL){
while (fscanf(numeros4,"%d\n", &id_num4,med) != EOF){ //End of file
printf("%d\n", id_num4,med);
}
}
fclose (numeros);
fclose (numeros2);
fclose (numeros3);
fclose (numeros4);
return 0;
}
}
}
}
int main(){
int id_num, id_num2, id_num3, id_num4;
printf("Digite o primeiro numero: %d");
scanf("%d", &id_num);
printf("Digite o segundo numero: %d");
scanf("%d", &id_num2);
printf("Digite o terceiro numero: %d");
scanf("%d", &id_num3);
printf("Digite o quarto numero: %d");
scanf("%d", &id_num4);
printf("Media: %f", (float) (id_num + id_num2+ id_num3+ id_num4)/4);
return 0;
}
Compartilhar este post
Link para o post
Compartilhar em outros sites