Problema al sumar sub-totales de tienda comercial
Publicado por Ricardo (1 intervención) el 28/11/2015 03:55:49
Hola, que tal!
Me encuentro con un problema que me ha dado muchos dolores de cabeza...
Mi programa consiste en abrir un archivo ''.txt'', leer sus datos, que en este caso son códigos de productos.
La función del programa, da acceso al usuario de que ingrese el codigo y el programa arroja: codigo, producto y precio.
Todo marchaba bien... hasta que tuve que enfrentarme con la suma total de los precios del producto.
Mis funciones de abrir el archivo ''.txt'', cargar los datos, y buscarlos, los he puesto fuera de ''int main''.
Para después llamarlos dentro del programa.
Mi incognita esta, en que no puedo mandar a llamar solamente el precio, para utilizarlo como ''sub-total''.
y al final, poder sumar todos esos ''sub-totales'' para arrojar el ''total final''.
Pido, ruego e imploro ayuda :'(
Este es mi codigo:
#include <iostream>
#include <fstream>
#include <string>
#include <cmath>
using namespace std;
void cargar_datos(int codigo[],string producto[],double precio[]){
ifstream icamart;
icamart.open ("almacendos.txt");
int pos=0;
if (icamart.is_open ()){
cout << "se abrio el archivo"<<endl;
do{
icamart>>codigo[pos];
icamart>>producto[pos];
icamart>>precio[pos];
pos++;
} while(codigo[pos-1]!=0);
}
}
double buscar_producto (int clave[],string producto [], double precio[], int codigo_esc ){
for (int i=0;i<50;i++)
{
//cout << clave[i] << endl;
if (clave[i]==0) {
cout << "No se encontro el producto" << endl;
return 0.0;
}
if( clave[i]==codigo_esc)
{
double sub_total;
double total;
cout<< clave [i];
cout<<endl;
cout << producto [i];
cout<<endl;
cout << precio [i]<<endl;
cout <<"Sub Total: "<<precio[i]<<endl;
sub_total==precio[i];
return precio [i];
}
}
}
int main (){
string producto [50];
double precio[50];
int codigo[50];
int clave_usuario;
int num_art;
double sub_total;
//cout << "OK";
cargar_datos(codigo, producto, precio);
//cout << "OK";
cout<<"Bienvenido a ICA-Mart"<<endl;
cout<<"Cuantos articulos desea comprar?"<<endl;
cin>>num_art;
double total;
for (int i =0; i <= num_art-1; i++)
{
cout<<endl;
cout << "Ingresa el codigo: ";
cin >> clave_usuario;
cout <<endl;
buscar_producto(codigo, producto, precio,clave_usuario);
}
return 0;
}
Me encuentro con un problema que me ha dado muchos dolores de cabeza...
Mi programa consiste en abrir un archivo ''.txt'', leer sus datos, que en este caso son códigos de productos.
La función del programa, da acceso al usuario de que ingrese el codigo y el programa arroja: codigo, producto y precio.
Todo marchaba bien... hasta que tuve que enfrentarme con la suma total de los precios del producto.
Mis funciones de abrir el archivo ''.txt'', cargar los datos, y buscarlos, los he puesto fuera de ''int main''.
Para después llamarlos dentro del programa.
Mi incognita esta, en que no puedo mandar a llamar solamente el precio, para utilizarlo como ''sub-total''.
y al final, poder sumar todos esos ''sub-totales'' para arrojar el ''total final''.
Pido, ruego e imploro ayuda :'(
Este es mi codigo:
#include <iostream>
#include <fstream>
#include <string>
#include <cmath>
using namespace std;
void cargar_datos(int codigo[],string producto[],double precio[]){
ifstream icamart;
icamart.open ("almacendos.txt");
int pos=0;
if (icamart.is_open ()){
cout << "se abrio el archivo"<<endl;
do{
icamart>>codigo[pos];
icamart>>producto[pos];
icamart>>precio[pos];
pos++;
} while(codigo[pos-1]!=0);
}
}
double buscar_producto (int clave[],string producto [], double precio[], int codigo_esc ){
for (int i=0;i<50;i++)
{
//cout << clave[i] << endl;
if (clave[i]==0) {
cout << "No se encontro el producto" << endl;
return 0.0;
}
if( clave[i]==codigo_esc)
{
double sub_total;
double total;
cout<< clave [i];
cout<<endl;
cout << producto [i];
cout<<endl;
cout << precio [i]<<endl;
cout <<"Sub Total: "<<precio[i]<<endl;
sub_total==precio[i];
return precio [i];
}
}
}
int main (){
string producto [50];
double precio[50];
int codigo[50];
int clave_usuario;
int num_art;
double sub_total;
//cout << "OK";
cargar_datos(codigo, producto, precio);
//cout << "OK";
cout<<"Bienvenido a ICA-Mart"<<endl;
cout<<"Cuantos articulos desea comprar?"<<endl;
cin>>num_art;
double total;
for (int i =0; i <= num_art-1; i++)
{
cout<<endl;
cout << "Ingresa el codigo: ";
cin >> clave_usuario;
cout <<endl;
buscar_producto(codigo, producto, precio,clave_usuario);
}
return 0;
}
Valora esta pregunta
0