Ir ao conteúdo
  • Cadastre-se

C++ Manipulação arquivos .txt


dosalpesbr

Posts recomendados

Pessoal, 

 

Estou trabalhando com manipulação de arquivos ".txt", estou tendo algumas dúvidas.

 

Objetivo: 

-Analisar o arquivo "entrada.txt" (já existente) que possui as seguintes 3 linhas:

 

Nome

Nota 1

Nota 2

 

-Caso a média das notas seja maior que 5, o Nome (que está na primeira linha do arquivo "entrada.txt") deve ser incluído em um novo arquivo, chamado "aprovado.txt".

 

-Caso a média das notas seja menor que 5, o Nome (que está na primeira linha do arquivo "entrada.txt") deve ser incluído em um novo arquivo, chamado "reprovado.txt".

 

 

 

Montei o seguinte código, mas estou tendo problemas para concluir.

Não estou conseguindo montar a condição if(media>=5) que irá incluir o Nome no arquivo "aprovado.txt" ou "reprovado.txt".

#include <iostream>#include <fstream>#include <string>#include <stdio>using namespace std;int main(){    int n1, n2, media;    string nome, nota1, nota2;            ifstream entrada;    entrada.open("entrada.txt");    ifstream aprovado;    aprovado.open("aprovado.txt");        ifstream reprovado;    reprovado.open("reprovado.txt");        if(!entrada.is_open()){                          cout << "Não foi possível abrir arquivo!\n";                          entrada.clear(); // reseta o objeto leitura                          }        if(!aprovado.is_open()){                          cout << "Não foi possível abrir arquivo!\n";                          aprovado.clear(); // reseta o objeto leitura                          }                              if(!reprovado.is_open()){                          cout << "Não foi possível abrir arquivo!\n";                          reprovado.clear(); // reseta o objeto leitura                          }        while(!entrada.eof()){                              getline(entrada,nome);                                                    getline(entrada,nota1);                          n1 = atoi(nota1.c_str());                                               getline(entrada,nota2);                          n2 = atoi(nota2.c_str());                                                    media = (n1+n2)/2;                                                    if(media>=5){                                       aprovado << nome;                                       }                                       else{                                            reprovado << nome;                                            }                                }    entrada.close();    aprovado.close();    reprovado.close();            system("pause");}

Poderiam me ajudar a concluir esse trabalho?

Obrigado pela atenção!  :D

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...