Enviado em 08/06/2012 - 09:48h
olá pessoal, fiz um programa que recebe os preços de alguns produtos e a quantidade vendida deles e que no final gera o salário do vendedor com um fixo mais 5% de comissão.
Após o usuário ter digitado os dados é mostrada uma tabela com a relação produto/valor unitário/qtd vendida/valor total e embaixo o salário.
Depois de uma olhada no index de ajuda da parte C++ do Codeblocks SVN eu fiz com que o programa criasse um arquivo chamado relatório.txt da mesma forma com que a tabela aparece no prompt ou terminal. Para tanto ou usei a bibliotecas <string>, <fstream> e <sstream>, além da básica <iostream> e <cstdlib>.
O código é mais ou menos esse (tô sem o cpp aqui e fiz ele de novo pra vcs verem)
notem que eu leio caractere por caractere e vou copiando para a saída, não achei nada que pudesse facilitar copiando as strings direto pro arquivo, tem como fazer isso? Ah.. e como eu faço para mostrar 2 casas decimais, mesmo que sejam zero no relatório?
aguardo, vlw!
Após o usuário ter digitado os dados é mostrada uma tabela com a relação produto/valor unitário/qtd vendida/valor total e embaixo o salário.
Depois de uma olhada no index de ajuda da parte C++ do Codeblocks SVN eu fiz com que o programa criasse um arquivo chamado relatório.txt da mesma forma com que a tabela aparece no prompt ou terminal. Para tanto ou usei a bibliotecas <string>, <fstream> e <sstream>, além da básica <iostream> e <cstdlib>.
#include <iostream>
#include <fstream>
#include <string>
#include <cstdlib>
#include <locale>
#include <sstream>
using namespace std;
int main()
{
setlocale(LC_ALL,"portuguese");
float vun[11], qtdvendida[11], salario=0;
char aux;
ifstream fin("relatório.txt");
if (!fin) ofstream fout("relatório.txt");
for (int i=1; i<11; i++)
{
cout<<"Digite a quantidade do produto "<<i<<": ";
cin>>qtdvendida[i];
cin.ignore();
cout<<"Digite o valor do produto "<<i<<": ";
cin>>vun[i];
cin.ignore();
salario=qtdvendida[i]*vun[i]+salario;
}
stringstream s1[12];
s1[0]<<" Produto\tQtd Vendida\tV. Unitário\tV. Total\n";
cout<<s1[0].str();
for (int i=1; i<11; i++)
{
s1[i]<<" "<<i<<"\t\t"<<qtdvendida[i]<<"\t\t"<<vun[i]<<"\t\t"<<qtdvendida[i]*vun[i]<<"\n";
cout<<s1[i].str();
}
s1[11]<<"\nSalário: R$"<<400+salario*0.05;
cout<<s1[11].str();
ofstream fout("ralatório.txt");
for (int j=0; j<12; j++)
{
for (int i=0; i<s1[i].str().length(); i++)
{
aux=s1[j].str().at(i);
fout.put(aux);
}
}
}
O código é mais ou menos esse (tô sem o cpp aqui e fiz ele de novo pra vcs verem)
notem que eu leio caractere por caractere e vou copiando para a saída, não achei nada que pudesse facilitar copiando as strings direto pro arquivo, tem como fazer isso? Ah.. e como eu faço para mostrar 2 casas decimais, mesmo que sejam zero no relatório?
aguardo, vlw!