Dev - C++ - Mostrar una lista de 10 en 10

 
Vista:
sin imagen de perfil

Mostrar una lista de 10 en 10

Publicado por Jesus (4 intervenciones) el 28/07/2014 15:25:48
Buenos días a todos.
Cree un programa para almacenar ventas de una tienda, crear menú con la opción de registro de ventas, listado de ventas, salir y debe ser almacenado en un archivo ".txt". Ya todo eso lo tengo preparado pero necesito una condición donde cuando le de al listado de ventas me debe mostrar un listado con todas las ventas realizadas de 10 en 10. Ingrese 20 por ejemplo y me muestre los 10 primeros y luego de presionar "enter" me muestre los otros 10. Solo quiero saber como hacer eso, pase toda la noche pensando en que hacer me parece algo que seria muy simple pero no me vino a la mente y preguntar no hace daño a nadie.
Muchísimas gracias si me pueden ayudar. Aquí el proyecto:

#include<cstdlib>
#include<iostream>
#include<fstream>
#include<string.h>
#include<conio.h>
using namespace std;
void Ventas();
void Lista_De_Ventas();
void salir();
void menu();
//Variables Globales
char nombre[30],cedula[10],apellido[30],producto[30];
int monto=0;

int main(){
system("color 09");
menu();
return 0;
system("PAUSE");
}
void menu(){
int opcion=0;
do{
cout<<"\n\n\n\n\n\n\t\t\t#################################"<<endl;
cout<<"\t\t\t## ##"<<endl;
cout<<"\t\t\t## REGISTRAR VENTA -----> 1 ##"<<endl;
cout<<"\t\t\t## LISTA DE VENTAS -----> 2 ##"<<endl;
cout<<"\t\t\t## SALIR DEL SISTEMA -----> 3 ##"<<endl;
cout<<"\t\t\t## ##"<<endl;
cout<<"\t\t\t#################################"<<endl;
cout<<"\t\t\tQUE DESEA HACER?: ";
cin>>opcion;
system("cls");

switch(opcion){
case 1:
Ventas();
break;
case 2:
Lista_De_Ventas();
break;
case 3:
salir();
break;
default:
cout<<"OPCION INCORRECTA!"<<endl;
}
}while(opcion!=3);
}//Fin funcion menu
void Ventas(){
ofstream Archivo;
Archivo.open("Ventas.txt",ios::out|ios::app);
if(Archivo.is_open()){


cout<<"\n\n\n\n\n\n\t\t\t#################################"<<endl;
cout<<"\t\t\tCEDULA:";
cin>>cedula;
cout<<"\t\t\tNOMBRE:";
cin>>nombre;
cout<<"\t\t\tAPELLIDO: ";
cin>>apellido;
cout<<"\t\t\tMONTO DEL PRODUCTO: ";
cin>>monto;
cout<<"\t\t\tPRODUCTO: ";
cin>>producto;
system("cls");

Archivo <<cedula<<" "<<nombre<<" "<<apellido<<" "<<monto<<" "<<producto<<endl;
}else{
cout<<"ERROR, EL ARCHIVO NO SE PUDO ABRIR"<<endl;
}
Archivo.close();
}//Fin funcion Ventas

void Lista_De_Ventas(){
ifstream lectura;
lectura.open("Ventas.txt",ios::out|ios::in);
if(lectura.is_open()){
cout<<"\n\n\n\n\n\n\n\t\t################################"<<endl;
cout<<"\t\tREGISTROS DEL ARCHIVO Ventas.txt"<<endl;
cout<<"\t\t################################"<<endl;
cout<<endl;
lectura>>cedula;
while(!lectura.eof()){

lectura>>nombre;
lectura>>apellido;
lectura>>monto;
lectura>>producto;
lectura>>cedula;

cout<<"\t\tCEDULA: "<<cedula<<endl;
cout<<"\t\tNOMBRE: "<<nombre<<endl;
cout<<"\t\tAPELLIDO: "<<apellido<<endl;
cout<<"\t\tMONTO: "<<monto<<endl;
cout<<"\t\tPRODUCTO: "<<producto<<endl;

cout<<"\t\t________________________________"<<endl;

getch();

}
system("cls");
}else{
cout<<"ERROR, EL ARCHIVO NO SE PUDO ABRIR, NO HA SIDO CREADO"<<endl;
}
lectura.close();
}//Fin funcion consultas

void salir(){
cout<<"PROGRAMA FINALIZADO"<<endl;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Mostrar una lista de 10 en 10

Publicado por Jesus (4 intervenciones) el 28/07/2014 16:01:24
Le coloque un ciclo for en la parte de lectura y me muestra como quiero, los primeros 10 y luego los otros 10, pero le doy enter y antes de regresar al menu me muestra 10 veces el ultimo. Sugerencias.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
while(!lectura.eof()){
	for(int i=0; i<10; i++){
		lectura>>cedula;
		lectura>>nombre;
		lectura>>apellido;
		lectura>>monto;
		lectura>>producto;
		cout<<"\t\tCEDULA: "<<cedula<<endl;
		cout<<"\t\tNOMBRE: "<<nombre<<endl;
		cout<<"\t\tAPELLIDO: "<<apellido<<endl;
		cout<<"\t\tMONTO: "<<monto<<endl;
		cout<<"\t\tPRODUCTO: "<<producto<<endl;
		cout<<"\t\t________________________________"<<endl;
	}
	getch();
	system("cls");
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Mostrar una lista de 10 en 10

Publicado por Pico (24 intervenciones) el 28/07/2014 16:17:14
Borra el búfer de entrada después del getch.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Mostrar una lista de 10 en 10

Publicado por Jesus (4 intervenciones) el 28/07/2014 18:06:47
Sigue el mismo problema
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar