Ayuda con ejercicio de archivo de texto
Publicado por Kai (2 intervenciones) el 20/03/2020 18:35:32
Muy buenas gente, este es un ejercicio de archivo de texto.
He adjuntado un archivo .rar que contiene el .txt necesario.
Basicamente necesito que al abrir este archivo, los "clasificados" esten ordenados.
Por ejemplo, todos los "Clasificacion1" juntos, y los "Clasificacion2" juntos, y asi. (hay 4)
No he logrado hacerlo. Se me muestra en orden de codigo cuando trato de hacerlo en el codigo.
Aparte de eso, necesita el total de la suma del valorizado, osea el total de todos los valorizados sumados por clasificacion. (osea la suma total de valorizados en clasi1, despues en clasi 2, y asi.)
Agradeceria ayuda.
Este es mi codigo.
Espero el formato este bien.
He adjuntado un archivo .rar que contiene el .txt necesario.
Basicamente necesito que al abrir este archivo, los "clasificados" esten ordenados.
Por ejemplo, todos los "Clasificacion1" juntos, y los "Clasificacion2" juntos, y asi. (hay 4)
No he logrado hacerlo. Se me muestra en orden de codigo cuando trato de hacerlo en el codigo.
Aparte de eso, necesita el total de la suma del valorizado, osea el total de todos los valorizados sumados por clasificacion. (osea la suma total de valorizados en clasi1, despues en clasi 2, y asi.)
Agradeceria ayuda.
Este es mi codigo.
Espero el formato este bien.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#include <iostream>
#include <iomanip>
#include <fstream>
#include <string>
using namespace std;
int main()
{
string nombreArchivo="productos.txt";
bool encontrado=false;
ifstream archivo(
nombreArchivo.data(),
ios::in);
if(!archivo)
{
cout << "Error. No se pudo"
<< " abrir el archivo."
<< endl;
system("pause");
return -1;
}
int idCliente=0;
std::string clasificacion;
std::string str1("Clasificacion1");
std::string str2("Clasificacion2");
std::string str3("Clasificacion3");
std::string str4("Clasificacion4");
string descripcion;
double precio;
int cantidad;
int total;
int valorizado;
cout << '\n'
<< setw(10) << "Codigo"
<< setw(15) << "Clasificacion"
<< setw(20) << "Descripcion"
<< setw(20) << "Precio"
<< setw(20) << "Cantidad"
<< setw(20) << "Valorizado"
<< fixed << setprecision(2)
<< endl;
for(int i=0; i<105; i++)
cout << '=';
cout << endl;
archivo >> idCliente
>> clasificacion
>> descripcion
>> precio
>> cantidad;
while(!archivo.eof())
{
if(str1.compare(clasificacion) == 0){
std::cout << setw(10) << idCliente
<< right << setw(15) << clasificacion
<< setw(20) << descripcion
<< right << setw(20) << precio
<< setw(20) << cantidad
<< right << setw(20) << (valorizado = (precio*cantidad))
<< endl;
}
if(str2.compare(clasificacion) == 0){
std::cout << setw(10) << idCliente
<< right << setw(15) << clasificacion
<< setw(20) << descripcion
<< right << setw(20) << precio
<< setw(20) << cantidad
<< right << setw(20) << (valorizado = (precio*cantidad))
<< endl;
}
if(str3.compare(clasificacion) == 0){
std::cout << setw(10) << idCliente
<< right << setw(15) << clasificacion
<< setw(20) << descripcion
<< right << setw(20) << precio
<< setw(20) << cantidad
<< right << setw(20) << (valorizado = (precio*cantidad))
<< endl;
}
if(str4.compare(clasificacion) == 0){
std::cout << setw(10) << idCliente
<< right << setw(15) << clasificacion
<< setw(20) << descripcion
<< right << setw(20) << precio
<< setw(20) << cantidad
<< right << setw(20) << (valorizado = (precio*cantidad))
<< endl;
}
archivo >> idCliente
>> clasificacion
>> descripcion
>> precio
>> cantidad;
}
archivo.close();
cout << "\nOperacion finalizada"
<< " con exito.\n\n";
system("pause");
return 0;
}
- productos.rar(296,0 B)
Valora esta pregunta


0