Utilizando arrays, funções e arquivos de texto
Publicado por Diego Hernandes Soares Alves 24/01/2009
[ Hits: 6.954 ]
Homepage: http://www.he.rnand.es/
O programa lê valores em um arquivo de texto, armazena-os em um array e depois informa o maior por meio de uma função.
Crie um arquivo de texto na mesma pasta e informe as notas separadas por espaço.
Fonte C++ originada da proposta de programação do curso de introdução a programação da Universidade Federal de Viçosa.
// Programa criado por Diego Hernandes Soares Alves
// Proposta de programação do curso de Introdução a programação I da UFV
// Para iniciantes, programa que le valores em um arquivo de texto, os coloca em um arranjo
// e informa qual o maior valor, também server para aqueles que querem começar a dar uma olhada em funções
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;
const int NUM_MAX_DADOS = 15;
void leiadados(double A[], int &n )
{
char nomeArquivo[256];
ifstream arqDados;
double valor;
cout << "\nDigite o nome do arquivo com os dados: " << flush;
cin.get(nomeArquivo, 256);
cin.ignore(NUM_MAX_DADOS, '\n');
arqDados.open(nomeArquivo);
if ( arqDados.fail() )
{
cerr << "Falha ao abrir o arquivo " << nomeArquivo << '\n';
exit(1);
}
n = -1;
while ( !arqDados.eof() && n < NUM_MAX_DADOS -1 )
{
arqDados >> valor;
if ( arqDados.fail() ) break;
n++;
A[n] = valor;
}
cout << '\n' << ++n << " Valor(es) lido(s)" << endl;
//Verifica se a leitura terminou antes de ler completamente os dados
//do arquivo
if ( !arqDados.eof() )
{
cerr << "\n***Erro: o número de dados ultrapassou o máximo permitido\n"
<< " ou algum dado ilegal no arquivo de entrada\n";
arqDados.close();
exit(2);
}
arqDados.close();
} // fim de leidados
double maximo(double A[], int m)
{
double max;
max = A[0];
for ( int k = 1; k < m; k++ )
if ( A[k] > max )
max = A[k];
return max;
}
int main()
{
double dados[NUM_MAX_DADOS];
int numDados;
cout << "Determinação do valor máximo contido em um arranjo";
"de números reais\n\n";
leiadados(dados, numDados);
if ( numDados > 0 )
{
cout << "\nValor máximo: " << maximo(dados, numDados);
}
else
cout << "\nNão há nada a determinar";
cout << endl;
return 0;
}
Converter graus Celsius em Fahrenheit e vice-versa
Nenhum comentário foi encontrado.
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Scripts ou binários [RESOLVIDO] (3)
VOL já não é mais como antes? (10)
Pergunta: Meu teclado não está respondendo direito como e consertar? ... (4)









