quarta-feira, 13 de abril de 2016

Programação de Computadores - 13 de Abril de 2016

Programação de Computadores - 13 de Abril de 201

Exercícios

1) Gravar 10 números inteiros em um arquivo externo, após fazer a leitura desses números e imprimir a soma dos números.

2) Gravar 10 números em um arquivo externo e depois fazer a leitura e informar quantos e quais são pares.

3) Gravar o nome e a média de 15 alunos de uma turma em um arquivo externo. Após fazer a leitura e retornar o nome e a média do aluno com maior e menor média.


Resposta do primeiro exercício (resposta da professora)

# include <fstream>

int main(){
  int i, num, soma;
  soma=0;
  ofstream saida ("arq.txt");
    for (i=1;i<=10;i++){
       cout<<"Informe o "<<i<<"º número"<<endl;
      cin>> num;
      saida<<num<<endl;
    } // fechamento do for

saida.close();

ifstream lendo ("arq.txt");
  for (i=1; i<=10;i++){
    lendo>>num;
    soma=soma+num;
  } // fechamento do for
lendo.close();

cout<<"A soma dos 10 números é"<<soma<<endl;

} // fechamento do int main


// resposta da segunda questão
// resposta minha (testada no CodeBlocks e funcionando)

#include <iostream>
#include <fstream>

int main(){
 
// declarando as variáveis
int i;
int num;
int numerospares;

// zerando as variáveis
i=0;
num=0;
numerospares=0;


// começando o programa

// gravando os números
  ofstream gravar ("arq.txt");
    for (i=1;i<=10;i++){
      cout<<"Informe o "<<i<<"º número"<<endl;
      cin>> num;
      gravar<<num<<endl;
    } // fechamento do for

// fechando a ferramenta de gravação
gravar.close();

// lendo os números
ifstream lendo ("arq.txt");
  for (i=1; i<=10;i++){
    lendo>>num;
 
    if (num%2==0) {
      cout<<"O número "<<num<<" é par"<<endl;
      numerospares=numerospares+1;
    }  // fechamento do if


  } // fechamento do for

// fechando a ferramenta de leitura
lendo.close();

cout<<"A quantidade de números pares é "<<numerospares<<"."<<endl;

return 0;


}// fechamento do int main

// final do programa


// outra solução para a segunda questão (testada no CodeBlocks e funcionando)
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
// declarando as variáveis
int i,num,contpar;
    contpar=0;

    ofstream saida ("arq.txt");
    for (i=1;i<=10;i++){
        cout<<"Informe o "<<i<<"º numero."<<endl;
        cin>>num;
        saida<<num<<endl;
    }
    saida.close();

ofstream gravapares ("pares.txt");

    ifstream lendo ("arq.txt");
    for (i=1;i<=10;i++){
       lendo>>num;
       if(num%2==0){
       contpar++;
       gravapares<<num<<endl;
       } // fechamento do if
    } // fechamento do for
    lendo.close();
    gravapares.close();

    cout<<"Existem "<<contpar<<" numeros pares"<<endl;

    ifstream lendopares ("pares.txt");
    for (i=1;i<=contpar;i++){
     lendopares>>num;
    cout<<num<<endl;
    }
lendopares.close();

}




// resposta da terceira questão
// resposta minha, testada no codeblocks e funcionando

#include <iostream>
#include <fstream>

using namespace std;

int main(){
 
// declarando as variáveis
int i;
string nome;
float nota;
string nomenotamaior;
float notamaior;
string nomenotamenor;
float notamenor;

// zerando as variáveis
i=0;
nota=0;
notamaior=0;
notamenor=0;


// começando o programa

// gravando os nomes
  ofstream gravarnome ("nomes.txt");
// gravando as notas
  ofstream gravarnota ("notas.txt");
    for (i=1;i<=15;i++){
      cout<<"Informe o nome do "<<i<<"º aluno"<<endl;
      cin>> nome;
      gravarnome<<nome<<endl;
      cout<<"Informe a nota do "<<i<<"º aluno"<<endl;
      cin>> nota;
      gravarnota<<nota<<endl;

    } // fechamento do for

// fechando as ferramentas de gravação
gravarnome.close();
gravarnota.close();


// lendo os nomes e notas
ifstream lendonomes ("nomes.txt");
ifstream lendonotas ("notas.txt");

// zerando o valor da variável nota
nota=0;

  for (i=1; i<=15;i++){
    lendonomes>>nome;
    lendonotas>>nota;

    if (i==1){
      notamaior=nota;
      notamenor=nota;
      nomenotamaior=nome;
      nomenotamenor=nome;
    }  // fechamento do if

   else{
     if(notamaior<nota){
       notamaior=nota;
       nomenotamaior=nome;
     } // fechamento do if
     if(notamenor>nota){
       notamenor=nota;
       nomenotamenor=nome;
     } // fechamento do if
   } // fechamento do else

  } // fechamento do for


// fechando as ferramentas de leitura
lendonomes.close();
lendonotas.close();


// executando as saídas
cout<<"O nome do aluno com a maior nota e "<<nomenotamaior<<" e a nota dele e "<<notamaior<<"."<<endl;
cout<<"O nome do aluno com a menor nota e "<<nomenotamenor<<" e a nota dele e "<<notamenor<<"."<<endl;
return 0;

}// fechamento do int main

// final do programa



Lucas T R Freitas

Nenhum comentário: