Pular para o conteúdo

Utilizando arrays, funções e arquivos de texto

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.
Diego Hernandes Soares Alves diegohsa
Hits: 7.158 Categoria: C/C++ Subcategoria: Introdução
  • Download
  • Nova versão
  • Indicar
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Descrição

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.
Download maximo.cpp Enviar nova versão
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Esconder código-fonte

// 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;
}
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Visualizador hexadecimal

gramquilo.c - Transforma grama em quilo

Tabuada

Tamantipo - Mostra o tamanho dos tipos: char, int, float...

[C++] remover todos os multiplos de 3

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.