Ayuda C++ proyecto

Iniciado por Realser86, 27 Septiembre 2017, 22:25 PM

0 Miembros y 1 Visitante están viendo este tema.

Realser86

Buenas tardes, les comento que soy nuevo en C++ y lo que se ha sido por tutoriales en YouTube,  tengo que hacer un programa que le aun archivo de nombre comovamos.txt, ese archivo tiene varias líneas
Cada línea tiene día nombre del comprador producto y cantidad comprada

Ejemplo

1 pedro mouse 3
2 luis teclado 4
Ya logre leer el archivo y hacer el menú de opciones pero ahora quiero hacer operaciones y es cuando encuentro mi problema


Por ejemplo si deseo saber cuantas ventas se hicieron el día 8 del mes
Hay 4 líneas

8 luis mouse 4
8 pedro teclado 5
8 Fernando usb 6
8 Mario mouse 7

Cuando le asignó esta función

If ( dia==8)

Cout <<cant_com <<endl;

Al ejecutar me arroja esta información

4
5
6
7

Exactamente son las ventas del día 8 pero quiero saber como sumarlas

Las variables que uso para todo el programa son


Int dia; // día de compra
String nomb_comp; // nombre del comprador
String nomb_pro;// nombre del producto
Int cant_com;// cantidad del producto que compro


La verdad nesecito hacer más operaciones como el cliente que más compro en el mes y el producto más vendido el de más ganancia etc, pero con que sólo me ayuden a sumar esos 4 números puedo hacer los demás con un poco de lógica y usando condicionales etc



dariodr01

Prmero tienes que hacer un bucle desde el inicio del archivo hasa el final, luego hacer la comparacion con IF, y por ultimo sumar las cantidades.
Pseudocodigo

Código (cpp) [Seleccionar]
INICIO
    suma = 0
    para i = inicio_archivo hasta fin_archivo
        si (dia == 8)
            suma = suma + cant_com
        fin-si
    fin-para
    mostrar_resultados
FIN

Realser86

#2
de antemano muchas gracias, pero tengo una duda.

no se como hacer  para i = inicio_archivo hasta fin_archivo

así que pensé usar un while(!archivo.eof()), efectivament me da la respuesta aunque no se si eso me genere problemas mas adelante

es decir

el archivo comoVamos.txt es exactamente este

1 pepito mouse 3
2 carlitos teclado 1
2 anita teclado 2
2 pepito USB3 2
5 juanita USB3 10
7 lucho mouse 7
8 carlitos USB3 2
8 danielito mouse 12
8 leonorcita teclado 4
8 pedrito mouse 2
15 pepito teclado 5
21 lucho teclado 12
24 anita USB3 8
24 rosita mouse 6
31 mateo teclado 6

yo quiero saber las ventas totales del dia 8 es decir

8 carlitos USB3 2
8 danielito mouse 12
8 leonorcita teclado 4
8 pedrito mouse 2



con tu ayuda cree este codigo

int suma;

archivo.open("comoVamos2.txt",ios::in);  

if (archivo.is_open())
{

suma = 0;

while ( !archivo.eof() )
      {


           archivo>>dia>>nombre_comp>>nombre_pro>>cant_com;


   if (dia==8)
           {

suma = suma + cant_com;
cout<<suma<<endl;
           }

      }    
archivo.close();
}




Engel Lex: Los codigos deben ir en etiquetas GeSHi