Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - BKsiragon

#1
Hola saludos, escribo para que que mejoras u optimizaciones le pueden hacer a este programita para que tenga una mejor estructura y un mejor procesamiento de los datos.
aqui les dejo el codigo con el enunciado.


/*
Desarrollar un programa que registre los datos
de un grupo de personas (cedula, nombre, apellido, teléfono).
El programa debe ser capaz de mostrar el registro completo de
        una persona de acuerdo a la cedula ingresada.

*/


#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <string>
using namespace std;

int a=0;
class Persona {
   public:
   string nombre[50],apellido[50];
   int cedula[50],telefono[50];
   void registrar();
   void mostrar();
};

  void Persona::registrar() {
  cout<<"ingrese su nombre:"<<endl;
  cin>>nombre[a];
  cout<<"ingrese su apellido:"<<endl;
  cin>>apellido[a];
  cout<<"ingrese su cedula:"<<endl;
  cin>>cedula[a];
  cout<<"ingrese su telefono:"<<endl;
  cin>>telefono[a];
  cout<<"sus datos han sido registrados correctamente:"<<endl;
  system("pause");
  system("cls");
 
  a++;                   
}
void Persona::mostrar(){
      int ci=0,i=0,encontrado=0;
      cout<<"\ningrese su cedula para mostrar sus datos:"<<endl;
      cin>>ci;
      for (i=0;i<51;i++){
          if (ci==cedula[i]){
              cout<<"nombre: "<<nombre[i]<<endl;
              cout<<"apellido: "<<apellido[i]<<endl;
              cout<<"cedula: "<<cedula[i]<<endl;
              cout<<"telefono: "<<telefono[i]<<endl;
              system("pause");
              system("cls");
              encontrado=1;
              break;
              }
          else
              encontrado=0;
      }
      if (encontrado==0)
      {cout<<"No se encuentra nadie registrado con esta cedula"<<endl;}
      system("pause");
      system("cls");
         
     
}
main() {
   Persona p;
   int opc;   
    cout<<endl;
    cout<<"\n\nPor favor elija una opcion: \n1.-registrarse en el sistema \n2.-mostrar sus datos"<<endl;
    cin>>opc;
    while(opc){
       switch(opc){
          case 1:{
             p.registrar();
             break;}
          case 2:{
             p.mostrar();
             break;}
       }
    cout<<"\n\nPor favor elija una opcion: \n1.-registrarse en el sistema \n2.-mostrar sus datos"<<endl;
    cin>>opc;
    }
   cin.get();
   cin.get();
   return 0;
}
#2
Hola, queria consultar a ver si me pueden hechar una añudadita con este codigo que hace falta crear un archivo o fichero donde se almacene la informacion del de los productos, lo realizado en el programa ps!

Me dicen que se tiene que usar la libreria fstream para manejar el flujo de los datos hacia los archivos de texto, para generar este y poder realizar su lectura.
Si me pueden ayudar con esto les agradeceria un monton. Saludos!!

Este es el enunciado del ejercicio y mas abajo el codigo:
** Desarrollar un programa que permita registrar los datos de una serie de productos que se venden en un almacén (código, nombre, marca, precio). Se desea listar los productos cuyo precio sea mayor a 5000 Bsf. y aquellos cuyo precio sea menor o igual a 5000 Bsf.**


#include <iostream>
#include fstream

using namespace std;

class producto{
public: //atributos
string nombre;
string marca;
string codigo;
float precio;

public: //metodos
void leer();
void imprimir();

};

void producto :: leer(){

cout<<"\nIntrodusca el Nombre del Producto: ";
cin>>nombre;
cout<<"\nIntrodusca la Marca del Producto: ";
cin>>marca;
cout<<"\nIntrodusca el Precio del Producto (use punto '.' no coma ',' ): ";
cin>>precio;
cout<<"\nIntrodusca el Codigo del Producto: ";
cin>>codigo;
cout<<"\n***Datos Cargados Correctamente***\n";
cout<<endl;
system("pause");
}

void producto :: imprimir(){
cout<<"\nNombre del Producto: "<<nombre;
cout<<"\nIntrodusca la marca del Producto: "<<marca;
cout<<"\nIntrodusca el precio del Producto: "<<precio;
cout<<"\nIntrodusca el codigo del Producto: "<<codigo<<endl;
system("pause");
}

//Menu y Opciones

void menu(){
cout<<"\n***Bienvenido***\n\nSeleccione una de las siguientes opciones:";
cout<<"\n1.- Introducir/modificar la informacion de un producto";
cout<<"\n2.- Ver productos cargados";
cout<<"\n3.- Precargar la informacion de TODOS los productos";
cout<<"\n4.- Listar productos con precios mayores a 5000BsF";
cout<<"\n5.- Listar productos con precios menores o guales a 5000BsF";
cout<<"\n0.- Salir de Programa";
cout<<"introduzca su opcion: ";
// cin>>opmenu;

}

//Carga valores de preinializacion Basicos
void CargaPrimaria(producto &automovil){
automovil.nombre="Sin Nombre";
automovil.marca="Sin Marca";
automovil.codigo="Sin Nombre";
automovil.precio=0.0;
}

//Carga valores de preinializacion Determinados
void CargaSecundaria(producto &auto1, producto &auto2, producto &auto3, producto &auto4, producto &auto5){

auto1.nombre="Sin Nombre";
auto1.marca="Sin Marca";
auto1.codigo="Sin Nombre";
auto1.precio=0.0;

auto2.nombre="Sin Nombre";
auto2.marca="Sin Marca";
auto2.codigo="Sin Nombre";
auto2.precio=0.0;

auto3.nombre="Sin Nombre";
auto3.marca="Sin Marca";
auto3.codigo="Sin Nombre";
auto3.precio=0.0;

auto4.nombre="Sin Nombre";
auto4.marca="Sin Marca";
auto4.codigo="Sin Nombre";
auto4.precio=0.0;

auto5.nombre="Sin Nombre";
auto5.marca="Sin Marca";
auto5.codigo="Sin Nombre";
auto5.precio=0.0;

cout<<"\nSe Han Precargado los datos correctamente\n";
}





//opcion 1 del menu
void Cargar(producto &auto1, producto &auto2, producto &auto3, producto &auto4, producto &auto5){
int opmodif=0;

cout<<"\nIntroducir/modificar la informacion de un producto\n";
cout<<"\nA cual producto va a cargar los datos o modificarlo?";
cout<<"Producto 1:\n";
auto1.imprimir();
cout<<"Producto 2:\n";
auto2.imprimir();
cout<<"Producto 3:\n";
auto3.imprimir();
cout<<"Producto 4:\n";
auto4.imprimir();
cout<<"Producto 5:\n";
auto5.imprimir();

cout<<"\nIntrodusca en numero del producto que desea modificar: ";
cin>>opmodif;

switch (opmodif){

case 1:  auto1.leer(); break;
case 2:  auto2.leer(); break;
case 3:  auto3.leer(); break;
case 4:  auto4.leer(); break;
case 5:  auto5.leer(); break;
default: cout<<"\nOpcion Desconocida. Saliendo\n";    break;


};//fin switch


}

//opcion 4 y 5 del menu
void listar(producto &auto1, producto &auto2, producto &auto3, producto &auto4, producto &auto5, int costo){

if (costo == 1){// imprime los productos con precio mayor a 5000

if (auto1.precio>5000) auto1.imprimir();
if (auto2.precio>5000) auto2.imprimir();
if (auto3.precio>5000) auto3.imprimir();
if (auto4.precio>5000) auto4.imprimir();
if (auto5.precio>5000) auto5.imprimir();

}else{// imprime los productos con precio igual o menor a 5000

if (auto1.precio<=5000) auto1.imprimir();
if (auto2.precio<=5000) auto2.imprimir();
if (auto3.precio<=5000) auto3.imprimir();
if (auto4.precio<=5000) auto4.imprimir();
if (auto5.precio<=5000) auto5.imprimir();

}

}




int main(){
int error=0, opmenu;
producto auto1, auto2, auto3, auto4, auto5;// crea las instancias de producto

//preinicializamos todos los productos
CargaPrimaria(auto1);
CargaPrimaria(auto2);
CargaPrimaria(auto3);
CargaPrimaria(auto4);
CargaPrimaria(auto5);

do{
menu(); //imprime el menu
cin>>opmenu; //lee la opcion del menu
system("clear");

switch (opmenu){

case 1:  Cargar(auto1, auto2, auto3, auto4, auto5);   break;


case 2:
//lista todos los productos
cout<<"\nProductos cargados:\n";
cout<<"Producto 1:\n";
auto1.imprimir();
cout<<"Producto 2:\n";
auto2.imprimir();
cout<<"Producto 3:\n";
auto3.imprimir();
cout<<"Producto 4:\n";
auto4.imprimir();
cout<<"Producto 5:\n";
auto5.imprimir();
system("pause");

break;

case 3: //precarga los productos con valores predeterminados

CargaSecundaria(auto1, auto2, auto3, auto4, auto5);
system("pause");
break;


case 4: listar(auto1, auto2, auto3, auto4, auto5, 1); break;

case 5: listar(auto1, auto2, auto3, auto4, auto5, 2); break;






case 6:  cout<<"\n\nFin del Programa\n\n";
system("pause");
break;


default: cout<<"\nOpcion Desconocida. Por favor introduzca una opcion valida\n";   
system("pause");
break;



};// fin de switch

error=+1;
}while(opmenu!=0 && error<3);


system("pause");

return(0);
}
#3
Programación C/C++ / Ayuda ejercicios c++
22 Enero 2014, 16:46 PM
Hola es para ver si me pueden ayudar con estos ejercios en C++ y explicarme un poco en la parte de las clases que no entiendo muy bien el funcionamiento.
Si me pueden ayudar con el primero y explicarme un poco seria de gran ayuda para mi. me dicen que tengo que usar la libreria fstream para manejar el flujo de los datos desde y hacia los archivos.

1.   Desarrollar un programa que permita registrar los datos de una serie de productos que se venden en un almacén (código, nombre, marca, precio). Se desea listar los productos cuyo precio sea mayor a 5000 Bsf. y aquellos cuyo precio sea menor o igual a 5000 Bsf.

3.   Desarrollar un programa que registre los datos de un grupo de personas (cedula, nombre, apellido, teléfono). El programa debe ser capaz de mostrar el registro completo de una persona de acuerdo a la cedula ingresada.
#4
Amigos me pueden ayudar con este codigo, lo que pasa es que en la parte donde sale la opcion de "INGRESE UNA OPCION" si pongo una letra  o un numero que no es igual a los que estan en el menu sale un bug y empieza a repetir el programa...

quiero ponerle una opcion que diga "Error, opcion invalida" al marcar una letra o un numero incorrecto a la hora de ingresar la opcion del menu.

aqui el codigo:

/*

#include <iostream>
#include <stdio.h>
#include<windows.h>
#define MAX 10
using namespace std;


void burbuja();
void seleccion();
void salir();

main(void)

{

system("color 0A"); //COLOR PARA LA CONSOLA

int seguir=1;
int x;     

cout<<endl<<"\t##################################################################";
cout<<endl<<"\t#                    METODOS DE ORDENAMIENTO                     #";
cout<<endl<<"\t#            METODO DE LA BURBUJA Y SELECCION DIRECTA            #"; //PORTADA DEL PROMAGRA!
cout<<endl<<"\t#                              IS5D-C                            #";           
cout<<endl<<"\t##################################################################"<<endl;
cout<<endl;
cout<<endl;

do // COMIENZO DEL CICLO REPETITIVO DO - WHILE
{
cout<<endl<<"\t\t******************* M E N U ******************";
cout<<endl<<"\t\t*                                            *";
cout<<endl<<"\t\t*     1.- Ordenamiento por Metodo Burbuja    *";
cout<<endl<<"\t\t*                                            *";
cout<<endl<<"\t\t*     2.- Ordenamiento por Metodo Seleccion  *";  //MENU DEL PROGRAMA!
cout<<endl<<"\t\t*                                            *";
cout<<endl<<"\t\t*     3.- Salir                              *";
cout<<endl<<"\t\t**********************************************";
cout<<endl;
cout<<endl;

cout<<endl<<">> ELIGE UNA OPCION: ";                              //PEDIR OPCION DEL MENU!
cout<<endl<<"   -------------------> ";
cin>>x;
cout<<endl<<endl;
   
             



switch (x){
case 1:burbuja();
break;
case 2:seleccion();
break;
case 3:
seguir = 0;
break;


default: cout<<"ERROR, OPCION INVALIDA.."<<endl; //OPCION INVALIDA.
}
}
if (seguir!=0)
{
cout <<endl<< "DESEA CONTINUAR??  SI - PRESIONAR 1 ,  NO - PRESIONAR 0 ";
cin >> seguir;
}
}while (seguir==1);   //FIN DEL BUCLE DO - WHILE
cout<<endl;
system("PAUSE");
}


void burbuja()
{
int I,N,Aux,J;
int V[10];



cout<<"Cuantos Numeros va a Ingresar al Vector?, Maximo 10: ";
cin>>N;
cout<<endl;
for(I=0; I<N; I++)
{
cout<<"Ingrese Dato "<<I+1<<": ";
cin>>V[I];
}
for (I=0; I<N-1; I++)
for (J=0; J<(N-1)-I; J++)
if (V[J]>V[J+1])
{
Aux=V[J];
V[J]=V[J+1];
V[J+1]=Aux ;
}

cout<<endl<<"[ NUMEROS ORDENADOS MEDIANTE BURBUJA ] "<<endl;
for(I=0; I<N; I++)
cout<<endl<<"\t\t"<<V[I];
cout<<endl<<endl;


}



void seleccion()
{
int J,I,N,K;
int V[10];
int Aux;

cout<<"Cuantos Numeros va a Ingresar al Vector?, Maximo 10: ";
cin>>N;
cout<<endl;
for(I=0; I<N; I++)


{   
cout<<"Ingrese Dato "<<I+1<<": ";
cin>>V[I];
}

for(I=0; I<N-1; I++)
{
K=I;
for (J=I+1; J<N; J++)
if (V[J]<V[K])
K=J;

Aux=V[I];
V[I]=V[K];
V[K]=Aux;
}


cout<<endl<<"[ NUEMROS ORDENADOS MEDIANTE SELECCION ]"<<endl;
for(I=N-1; I>=0; I--)
cout<<endl<<"\t\t"<<V[I];
cout<<endl<<endl;
system("exit");

}

#5
Amigos quisieran que me ayudaran con este codigo para poder regresar al menu principal, es decir al terminar de realizar la operacion de Ordenacion seleccionada me salga la opcion para regresar de nuevo al menu principal o la opcion para salir del programa. les dejo el codigo:


#include <iostream>
#include <stdio.h>
#include<conio.h>
#include<windows.h>
#define MAX 10
using namespace std;


void burbuja();
void seleccion();
void salir();

main(void)

{
         
system("color 0A"); //COLOR PARA LA CONSOLA


int x;     
                 
cout<<endl<<"\t##################################################################";
cout<<endl<<"\t#                    METODOS DE ORDENAMIENTO                     #";
cout<<endl<<"\t#            METODO DE LA BURBUJA Y SELECCION DIRECTA            #"; //PORTADA DEL PROMAGRA!
cout<<endl<<"\t#                          By: IS5D-C                            #";           
cout<<endl<<"\t##################################################################"<<endl;
cout<<endl;
cout<<endl;

cout<<endl<<"\t\t******************* M E N U ******************";
cout<<endl<<"\t\t*                                            *";
cout<<endl<<"\t\t*     1.- Ordenamiento por Metodo Burbuja    *";
cout<<endl<<"\t\t*                                            *";
cout<<endl<<"\t\t*     2.- Ordenamiento por Metodo Seleccion  *";  //MENU DEL PROGRAMA!
cout<<endl<<"\t\t*                                            *";
cout<<endl<<"\t\t*     3.- Salir                              *";
cout<<endl<<"\t\t**********************************************";
cout<<endl;
cout<<endl;

cout<<endl<<">> ELIGE UNA OPCION: ";                              //PEDIR OPCION DEL MENU!
cout<<endl<<"   -------------------> ";
cin>>x;
cout<<endl;


switch (x){
case 1:burbuja();
break;
case 2:seleccion();
break;
case 3:salir();
break;


default: cout<<"ERROR, OPCION INVALIDA..";
}
getch();
}


void burbuja()
{
int I,N,Aux,J;
int V[10];



cout<<"Cuantos Numeros va a Ingresar al Vector?, Maximo 10: ";
cin>>N;
cout<<endl;
for(I=0; I<N; I++)
{
cout<<"Ingrese Dato "<<I+1<<": ";
cin>>V[I];
}
for (I=0; I<N-1; I++)
for (J=0; J<(N-1)-I; J++)
if (V[J]>V[J+1])
{
Aux=V[J];
V[J]=V[J+1];
V[J+1]=Aux ;
}

cout<<endl<<"[ NUMEROS ORDENADOS MEDIANTE BURBUJA ] "<<endl;
for(I=0; I<N; I++)
cout<<endl<<"\t\t"<<V[I];
cout<<endl<<endl;


}



void seleccion()
{
int J,I,N,K;
int V[10];
int Aux;

cout<<"Cuantos Numeros va a Ingresar al Vector?, Maximo 10: ";
cin>>N;
cout<<endl;
for(I=0; I<N; I++)


{   
cout<<"Ingrese Dato "<<I+1<<": ";
cin>>V[I];
}

for(I=0; I<N-1; I++)
{
K=I;
for (J=I+1; J<N; J++)
if (V[J]<V[K])
K=J;

Aux=V[I];
V[I]=V[K];
V[K]=Aux;
}


cout<<endl<<"[ NUEMROS ORDENADOS MEDIANTE SELECCION ]"<<endl;
for(I=N-1; I>=0; I--)
cout<<endl<<"\t\t"<<V[I];
cout<<endl<<endl;
cout<<"Presione Cualquier Tecla para Salir!";
system("exit");

}

void salir()
{
cout<<"Presione Cualquier Tecla para Salir!";
system("exit");

}
#6
Hola amigos del foro, un saludo.

Bueno queria consultar a ver si me pueden ayudar con este programa de ordenamiento que me mandaron y no se como resolverlo.
Ps el usuario deberia ingresar 10 numeros y el programa deberia tener las opciones para ordenar dichos numeros en ordenamiento por burbuja y por seleccion directa. Puede ser en C o C++.. Aqui les dejo la pregunta..

-DESARROLLAR UN PROGRAMA QUE REALIZE LAS SIGUIENTES OPCIONES??

printf("\n1.- Solicitar datos del Vector.")
printf("\n2.- Visualizar datos del vector desordenado.")
printf("\n3.- Ordenar por metodo de la burbuja.")
printf("\n4.- Ordenar por metodo de seleccion directa.")
printf("\n5.- Visualizar datos del vector ordenado.")
printf("\n0.- Salir")

El programa deberia tener esas opciones y el usuario ingresar una cantidad de 10 numeros y luego el programa ordenarlo por el metodo seleccionado por el mismo usuario. Ojala me puedan ayudar, es para un trabajo para esta semana proxima.