Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Realser86 en 27 Septiembre 2017, 22:25 pm



Título: Ayuda C++ proyecto
Publicado por: Realser86 en 27 Septiembre 2017, 22:25 pm
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




Título: Re: Ayuda C++ proyecto
Publicado por: dariodr01 en 28 Septiembre 2017, 15:51 pm
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
  1. INICIO
  2.    suma = 0
  3.    para i = inicio_archivo hasta fin_archivo
  4.        si (dia == 8)
  5.            suma = suma + cant_com
  6.        fin-si
  7.    fin-para
  8.    mostrar_resultados
  9. FIN
  10.  


Título: Re: Ayuda C++ proyecto
Publicado por: Realser86 en 28 Septiembre 2017, 17:10 pm
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
Código
  1. int suma;
  2.  
  3. archivo.open("comoVamos2.txt",ios::in);  
  4.  
  5. if (archivo.is_open())
  6. {
  7.  
  8. suma = 0;
  9.  
  10. while ( !archivo.eof() )
  11.       {
  12.  
  13.  
  14.            archivo>>dia>>nombre_comp>>nombre_pro>>cant_com;
  15.  
  16.  
  17.    if (dia==8)
  18.            {
  19.  
  20. suma = suma + cant_com;
  21. cout<<suma<<endl;
  22.            }
  23.  
  24.       }    
  25. archivo.close();
  26. }
  27.  



Engel Lex: Los codigos deben ir en etiquetas GeSHi