Então, pessoal! Estou com um projeto pra fazer onde eu digito cadastro de 8 alunos.
O programa pede nome e idade de cada aluno, e no final, ele mostra a lista de alunos ordenada pela idade de cada um, do mais novo ao mais velho, sendo que ele mostra no próprio MS-DOS.
Só falta o final e o principal, quero manipular a lista ordenada que aparece saia em um arquivo "Lista.txt", mas não sei onde está o erro da saída, se puderem, me ajudem. Aqui está o código (C++): #CODE
#include <iostream>#include <iomanip>#include <cctype>#include <cstring>#include <cstdlib>#include<fstream>using namespace std;int main (void){ struct Cad_Aluno { char nome[50]; int idade; };struct Cad_Aluno aluno[8], y;int i,j;char entraidade[8];cout << setprecision (2);cout << setiosflags (ios::fixed);// Entrada dos nomes e idadecout << "Cadastro de Alunos\n\n";for( i = 0; i <= 7; i++){ cout << "Informe o" << setw(2) << i+1 << "o nome: "; cin.getline(aluno[i].nome, sizeof(aluno[i].nome)); cout << "\n"; cout << "Entre a idade: "; cin.getline(entraidade, sizeof(entraidade)); aluno[i].idade = atoi(entraidade); cout << "\n"; }system ("cls");//funciona no dev C++ ( Limpa a tela)//Ordenar por idadefor (i = 0;i <= 7;i++){ for (j= i + 1 ;j <= 7;j++) { if(aluno[i].idade >aluno[j].idade ) { y = aluno[i]; aluno[i] = aluno[j]; aluno[j] = y; } }} cout << setiosflags(ios::left);cout << setw(25) << "Aluno";cout << resetiosflags(ios::left);cout << setiosflags(ios::right);cout << "Idade\n\n";for (i = 0; i <= 7; i++){ cout << resetiosflags(ios::right); cout << setiosflags(ios::left); cout << setw (25) << aluno[i].nome; cout << resetiosflags(ios::left); cout << setiosflags(ios::right); cout << setw(3) << aluno[i].idade; cout << "\n\n"; }ofstream out ("Lista.txt");out.seekp(ios_base::end);out<<aluno[i].nome<<endl;out<<aluno[i].idade<<endl;out.close();system ("pause"); // Funciona no dev C++ return 0;}