|
Mostrar Temas
|
Páginas: [1]
|
1
|
Programación / Programación C/C++ / Mejorar codigo estructura y procesos.
|
en: 29 Enero 2014, 17:12 pm
|
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
|
Programación / Programación C/C++ / Crear fichero archivo de texto en ejercicio.
|
en: 28 Enero 2014, 00:50 am
|
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 / Programación C/C++ / Ayuda ejercicios c++
|
en: 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
|
Programación / Programación C/C++ / Ayuda! Validacion de Datos en Ordenamiento.
|
en: 1 Febrero 2013, 14:09 pm
|
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
|
Programación / Programación C/C++ / Ayuda! Retornar al Menu Principal en C++
|
en: 26 Enero 2013, 18:44 pm
|
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
|
Programación / Programación C/C++ / Ayuda con Programa en c/c++ para Ordenamiento.
|
en: 14 Enero 2013, 23:09 pm
|
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.
|
|
|
|
|
|
|