Ajuda em C++ [RESOLVIDO]

1. Ajuda em C++ [RESOLVIDO]

Julio Alexander Sieg
jsieg1152

(usa Ubuntu)

Enviado em 06/09/2013 - 11:33h

Pessoal, sou novo aqui, mas já quero postar uma dúvida que estou tendo em um exercício de C++ na faculdade, é algo meio bobo, mas ainda estamos num nível mais básico então, se puderem ajudar.

É o seguinte, o código ai em baixo:

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

struct carro
{
string nome;
int altura;
int largura;
float potencia;

};

int main ()
{

struct carro car;
float soma;
float media;
int opcao = 0;
int cont = 0;
string linha;
ifstream leitura;
ofstream escreve;

escreve.open("carros.txt");

if (!escreve.is_open())
{
cout << "Não foi possível abrir o arquivo";
return 1;
}

leitura.open("carros.txt");

if (!escreve.is_open())
{
cout << "Não foi possível abrir o arquivo";
return 1;
}


cout << "||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "|||| MENU ||||" << endl;
cout << "|||| ||||" << endl;
cout << "|||| 1 - Entrar novo carro ||||" << endl;
cout << "|||| 2 - Listar carros ||||" << endl;
cout << "|||| 3 - Fechar programa ||||" << endl;
cout << "|||| ||||" << endl;
cout << "||||||||||||||||||||||||||||||||||||||||||||" << endl;
cout << "||||||||||||||||||||||||||||||||||||||||||||" << endl << endl;


while (true)
{
cout << "Digite sua opcao: ";
cin >> opcao;

if (opcao == 1)
{
cout << "Caracteristicas do carro " << endl;
cout << "Digite o nome do carro: ";
cin >> car.nome;
cout << "Digite a altura: ";
cin >> car.altura;
cout << "Digite a largura: ";
cin >> car.largura;
cout << "Digite a potencia: ";
cin >> car.potencia;

escreve << car.nome;
escreve << " ";
escreve << car.altura;
escreve << " ";
escreve << car.largura;
escreve << " ";
escreve << car.potencia << endl;
}
if (opcao == 2)
{
cout << ("\n Nome Altura Largura Potencia\n");
cout << ("--------------------------------------------------------------\n");
while (!leitura.eof()){
getline(leitura, linha);
cout << linha << endl;

}
cout << ("--------------------------------------------------------------\n");
}
if (opcao == 3)
{
cout << endl << "||||| Obrigado por utilizar nosso software |||||" << endl;
cout << "||||| Volte sempre que precisar |||||" << endl;
return false;
}

if (opcao != 1 && opcao !=2 && opcao !=3){
cout << "Opcao inexistente, tente novamente. " << endl << endl;
}

}

escreve.close();
leitura.close();



}





O problema é que, ele grava os carros certinho no arquivo, mas por exemplo, se eu dou entrada num Ka, e depois dou entrada num Fiesta, ele não fica ordenado como eu gostaria, ele fica tipo assim:


Nome Altura Largura Potencia
Ka 1800 2000 69
Fiesta 1900 5000 85



eu queria padronizar, pra sempre ficar no tamanho que eu quero.. como faço ?


  


2. Re: Ajuda em C++ [RESOLVIDO]

Paulo
paulo1205

(usa Ubuntu)

Enviado em 06/09/2013 - 18:45h

Cuidado com o termo "ordenar", por normalmente ele é entendido como colocar registros distintos em ordem crescente ou decrescente.

Pelo que você falou depois, pareceu-me que você está mais interessado em "formatar" as informações em cada linha, para que fiquem com um visual mais tabular. É isso?

Se for, você pode usar os manipuladores de <iomanip>, em especial setw e setiosflags. Veja http://www.cplusplus.com/reference/iomanip/.


3. Re: Ajuda em C++ [RESOLVIDO]

Julio Alexander Sieg
jsieg1152

(usa Ubuntu)

Enviado em 06/09/2013 - 19:25h

Blz cara, exatamente isso. Vou testar (:






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts