elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Temas
Páginas: [1] 2 3 4 5 6 7
1  Programación / .NET (C#, VB.NET, ASP) / [C#] ¿No se visualiza el contenido del ViewBag? en: 2 Julio 2017, 18:18 pm
¡Hola! Soy nuevo en el desarrollo web con ASP.NET MVC, y tengo una duda.

Estoy haciendo un sitio web que simplemente rellene una base de datos, pero quiero que una vez el usuario haya ingresado algo en la base de datos, abajo aparezca un mensaje diciendo que la inserción fue exitosa.

Pero cuando intento hacer esto, el mensaje no se muestra.

Esta es la función que llama el form al presionar el submit:
Código
  1. [HttpPost]
  2.        public ActionResult Create(PersonModels person)
  3.        {
  4.            try
  5.            {
  6.                // TODO: Add insert logic here
  7.                //Adding to database and holding the response in the viewbag.
  8.                string strInsertion = ConnectionModels.insertPerson(person);
  9.                ViewBag.InsertionResult = strInsertion;
  10.  
  11.                return RedirectToAction("Index");
  12.            }
  13.            catch
  14.            {
  15.                return View("Index");
  16.            }
  17.        }
  18.  

Y este es el Index:
Código
  1. public ActionResult Index()
  2.        {
  3.            return View();
  4.        }
  5.  

Y pues esto es lo que intento hacer en el index.cshtml
Código
  1. <div>
  2.    <label>
  3.       @ViewBag.InsertionResult
  4.    </label>
  5. </div>
  6.  

Ese div está debajo del form, no lo publico completo porque sería muy extenso.

¡Gracias de antemano! :)
2  Programación / Bases de Datos / [MySQL] Error en creación de eventos. en: 12 Mayo 2017, 21:05 pm
Primero, no sé si esta es la zona correcta para publicar esto, de no ser así por favor moverlo.  :)

Estoy intentando crear un evento en MySQL pero ya llevo hora y media investigando y no he logrado dar con nada.

Este es el código del evento que estoy haciendo:

Código
  1. DELIMITER |
  2.  
  3. CREATE EVENT Event_Log_Counter
  4. ON SCHEDULE
  5. EVERY 15 SECOND
  6. STARTS '2017-05-12 15:30:00'
  7.    ENDS '2017-05-12 16:30:00'
  8. DO
  9. BEGIN
  10. DECLARE cValueCounter BIGINT UNSIGNED;
  11.  
  12.    SELECT cValueCounter := Counter FROM Log_Counter;
  13.    SET cValueCounter := cValueCounter + 1;
  14.  
  15.    UPDATE log_counter
  16.    SET Counter = cValueCounter;
  17. END |
  18.  
  19. DELIMITER ;
  20.  
3  Programación / Programación C/C++ / OpenCV - System.Runtime.InteropServices.SEHException Visual C++ Exception CLR Pr en: 3 Marzo 2017, 05:05 am
Este problema me ha estado comiendo la cabeza todo el día.

La función que tengo es:
Código
  1. private: System::Void button3_Click(System::Object^  sender, System::EventArgs^  e) {
  2.        std::vector<Mat> images;
  3.        std::vector<int> labels;
  4.  
  5.        std::vector<cv::String> filenames;
  6.        glob("Dataface/*.jpg", filenames, false);
  7.  
  8.        if (filenames.size() == (size_t)0) {
  9.            MessageBox::Show("La carpeta está vacía.", "Error", MessageBoxButtons::OK, MessageBoxIcon::Error);
  10.            return;
  11.        }
  12.  
  13.        for (size_t i = 0; i < filenames.size(); i++) {
  14.            images.push_back(imread(filenames[i]));
  15.            labels.push_back((int)i);
  16.        }
  17.  
  18.        Ptr<FaceRecognizer> model = createEigenFaceRecognizer();
  19.  
  20.        model->train(images, labels);
  21.  
  22.        Mat img = imread("C:\\Users\\Germán Aguilera\\Desktop\\Christina.jpg");
  23.  
  24.        int prediction = model->predict(img);
  25.  
  26.        //MessageBox::Show(prediction.ToString());
  27.  
  28.        //rModel = &model;
  29.  
  30.        MessageBox::Show("El programa ya ha sido entrenado.", "Reconocimiento facial", MessageBoxButtons::OK, MessageBoxIcon::Information);
  31.    }
  32.  

La línea que me está arrojando la excepción es:
Código
  1. int prediction = model->predict(img);
  2.  

¿Pero por qué sucede eso?
No tuve ningún problema con:
Código
  1. model->train(images, labels);
  2.  

Quería chequear los resultados del predict, así que copié y pegué en otra carpeta una imagen ya procesada para usarla en el predict, y me arroja esa excepción.

¿Alguien podría echarme una mano?

Gracias de antemano. :)
4  Programación / Programación C/C++ / [Error] Tabla Hashing en: 16 Febrero 2017, 01:59 am
Verán, estoy intentando representar una Tabla Hash, pero por alguna razón me dice que existe un error de enlace o algo así.

Estoy trabajando en Visual Studio 2015, esto es lo que llevo:
Nodo.h
Código
  1. #pragma once
  2.  
  3. template<class T>
  4. class Nodo {
  5. private:
  6. Nodo<T>* siguiente;
  7. Nodo<T>* anterior;
  8. T clave;
  9. public:
  10. inline Nodo();
  11. inline Nodo(T clave);
  12.  
  13. inline Nodo<T>* getSiguiente();
  14. inline Nodo<T>* getAnterior();
  15. inline T getClave();
  16.  
  17. inline void setSiguiente(Nodo<T>* siguiente);
  18. inline void setAnterior(Nodo<T>* anterior);
  19. inline void setClave(T clave);
  20. };
  21.  

Nodo.cpp
Código
  1. #include "Nodo.h"
  2.  
  3. template <class T>
  4. inline Nodo<T>::Nodo() {
  5. siguiente = nullptr;
  6. anterior = nullptr;
  7. clave = 0;
  8. }
  9.  
  10. template <class T>
  11. inline Nodo<T>::Nodo(T clave) {
  12. siguiente = nullptr;
  13. anterior = nullptr;
  14. this->clave = clave;
  15. }
  16.  
  17. template <class T>
  18. inline Nodo<T>* Nodo<T>::getSiguiente() {
  19. return siguiente;
  20. }
  21.  
  22. template <class T>
  23. inline Nodo<T>* Nodo<T>::getAnterior() {
  24. return anterior;
  25. }
  26.  
  27. template <class T>
  28. inline T Nodo<T>::getClave() {
  29. return clave;
  30. }
  31.  
  32. template <class T>
  33. inline void Nodo<T>::setAnterior(Nodo<T>* anterior) {
  34. this->anterior = anterior;
  35. }
  36.  
  37. template <class T>
  38. inline void Nodo<T>::setSiguiente(Nodo<T>* siguiente) {
  39. this->siguiente = siguiente;
  40. }
  41.  
  42. template <class T>
  43. inline void Nodo<T>::setClave(T clave) {
  44. this->clave = clave;
  45. }
  46.  

ListaDoble.h
Código
  1. #pragma once
  2. #include "Nodo.h"
  3.  
  4. template <class T>
  5. class ListaDoble {
  6. private:
  7. Nodo<T>* inicio;
  8. public:
  9. inline ListaDoble();
  10.  
  11. void agregar(Nodo<T>* n);
  12. void eliminar(Nodo<T>* n);
  13. void listar();
  14.  
  15. inline Nodo<T>* getInicio();
  16. };
  17.  

ListaDoble.cpp
Código
  1. #include "ListaDoble.h"
  2.  
  3. template <class T>
  4. inline ListaDoble<T>::ListaDoble() {
  5. inicio = nullptr;
  6. }
  7.  
  8. template <class T>
  9. void ListaDoble<T>::agregar(Nodo<T>* n) {
  10. n->setSiguiente(inicio);
  11.  
  12. if (inicio != nullptr) {
  13. inicio->setAnterior(n);
  14. }
  15.  
  16. n->setAnterior(nullptr);
  17. inicio = n;
  18. }
  19.  
  20. template <class T>
  21. void ListaDoble<T>::eliminar(Nodo<T>* n) {
  22. if (n->getAnterior() != nullptr) {
  23. n->getAnterior()->setSiguiente(n->getSiguiente());
  24. } else {
  25. inicio = n;
  26. }
  27.  
  28. if (n->getSiguiente() != nullptr) {
  29. n->getSiguiente()->setAnterior(n->getAnterior());
  30. }
  31.  
  32. delete n;
  33. }
  34.  
  35. template <class T>
  36. inline Nodo<T>* ListaDoble<T>::getInicio() {
  37. return inicio;
  38. }
  39.  
  40. template <class T>
  41. void ListaDoble<T>::listar() {
  42. for (Nodo<T>* aux = inicio; aux != nullptr; aux = aux->getSiguiente()) {
  43. cout << "Clave: " << aux->getClave() << endl;
  44. }
  45. }
  46.  

TablaHash.h
Código
  1. #pragma once
  2. #include "ListaDoble.h"
  3.  
  4. #define TAM 701
  5.  
  6. template <class T>
  7. class TablaHash {
  8. private:
  9. ListaDoble<T>* H[TAM];
  10. public:
  11. TablaHash();
  12.  
  13. void agregar(Nodo<T>* n);
  14. void eliminar(Nodo<T>* n);
  15. Nodo<T>* buscar(T clave);
  16.  
  17. inline int h(int clave);
  18.  
  19. void listar();
  20. };
  21.  

TablaHash.cpp
Código
  1. #include "TablaHash.h"
  2.  
  3. template<class T>
  4. TablaHash<T>::TablaHash() {
  5. for (int h = 0; h < TAM; h++) {
  6. H[h] = nullptr;
  7. }
  8. }
  9.  
  10. template<class T>
  11. inline int TablaHash<T>::h(int clave) {
  12. return (clave % TAM);
  13. }
  14.  
  15. template<class T>
  16. void TablaHash<T>::agregar(Nodo<T>* n) {
  17. int slot = h((int)n->getClave());
  18.  
  19. if (H[slot] == nullptr) {
  20. H[slot] = new ListaDoble<T>;
  21. }
  22.  
  23. H[slot]->agregar(n);
  24. }
  25.  
  26. template <class T>
  27. Nodo<T>* TablaHash<T>::buscar(T clave) {
  28. int slot = h((int)clave);
  29.  
  30. if (H[slot] != nullptr) {
  31. for (Nodo<T>* aux = H[slot]->getInicio(); aux != nullptr; aux = aux->getSiguiente()) {
  32. if (aux->getClave() == clave) {
  33. return aux;
  34. }
  35. }
  36. }
  37.  
  38. return nullptr;
  39. }
  40.  
  41. template <class T>
  42. void TablaHash<T>::eliminar(Nodo<T>* n) {
  43. int slot = h((int)n->getClave());
  44. Nodo<T>* aux = buscar(n->getClave());
  45.  
  46. if (aux != nullptr) {
  47. H[slot]->eliminar(aux);
  48. }
  49.  
  50. if (H[slot]->getInicio() == nullptr) {
  51. H[slot] = nullptr;
  52. delete H[slot];
  53. }
  54. }
  55.  
  56. template <class T>
  57. void TablaHash<T>::listar() {
  58. for (int i = 0; i < TAM; i++) {
  59. if (H[i] != nullptr) {
  60. H[i]->listar();
  61. }
  62. }
  63. }
  64.  

main.cpp
Código
  1. #include <iostream>
  2. #include "TablaHash.h"
  3.  
  4. using namespace std;
  5.  
  6. int main() {
  7. TablaHash<int> myHashTable;
  8.  
  9. Nodo<int>* nodo1 = new Nodo<int>(25);
  10. Nodo<int>* nodo2 = new Nodo<int>(35);
  11. Nodo<int>* nodo3 = new Nodo<int>(45);
  12.  
  13.  
  14. return 0;
  15. }
  16.  

El error que me da es el siguiente:
Código:
- Error	LNK2019	unresolved external symbol "public: __thiscall TablaHash<int>::TablaHash<int>(void)" (??0?$TablaHash@H@@QAE@XZ) referenced in function _main	
- Error LNK2019 unresolved external symbol "public: __thiscall Nodo<int>::Nodo<int>(int)" (??0?$Nodo@H@@QAE@H@Z) referenced in function _main

- Error LNK1120 2 unresolved externals

Supongo que tiene algo que ver con las cabeceras, ¿alguien podría decirme que estoy haciendo mal?

Gracias de antemano. :)
5  Programación / Programación General / [Duda] Diagrama de Voronoi. en: 23 Diciembre 2016, 16:00 pm
Hola a todos.

Resulta que ya pude construir la triangulación de Delaunay en javascript, pero la duda que tengo ahora es, una vez que ya se ha podido construir la triangulación de Delaunay, ¿cómo de ahí se deriva al diagrama de Voronoi? Por ejemplo, leí por ahí que se usa el centro de la circunferencia de los triángulos de Delaunay, y la mitad de cada "Edge", vale, ¿pero qué patrón utilizo para conectarlos? Puedo calcular todo eso, pero el problema que tengo es que no sé qué patrón o procedimiento utilizar para conectar todos esos puntos y se genere el diagrama.

¿Alguna sugerencia de cómo derivar Delaunay a Voronoi? Gracias de antemano. :)
6  Programación / Desarrollo Web / [javascript] Diagrama de Voronoi. en: 20 Diciembre 2016, 05:19 am
Buenas a todos. :)
Verán, resulta que mi profesor es un ca****nazo y nos ha dejado como asignación de "fin de año" realizar el diagrama de Voronoi en javascript.

El problema es que no tengo ni idea de cómo empezar, o sea, no vine acá a pedir que me hagan la asignación, lo que quiero es que más o menos me orienten, ¿qué necesito? ¿cómo empiezo? Porque la verdad no tengo ni idea, no dijo que usáramos un algoritmo en específico, sino el de nuestra preferencia. Me gustó el de Fortune, pero pues la verdad se ve muy difícil de implementar.

¿Algún consejo?
7  Programación / Programación General / [DUDA] ¿Cómo funciona un hack? en: 19 Diciembre 2016, 23:10 pm
Primero que nada, iba a postear esto en programación C/C++ pero como mi pregunta es algo general no sé si irá acá, por eso lo pongo acá, si no es así, por favor muévanlo a la zona correcta.

Ok, ahora al grano. Verán, ni siquiera sé cómo empezar. Mi duda yace en que no sé cómo relacionar un programa con otro. Me leí por ahí que hay que saber cómo está construido el programa que se quiere "hackear" primero que nada.

Bien, supongamos que tenemos un programa bastante absurdo, como este:

Código
  1. #include <iostream>
  2. #include <windows.h> //Para la función Sleep.
  3.  
  4. int main() {
  5.     for(int h = 0;;h++) {
  6.          std::cout << "El valor de H es: " << h << std::endl;
  7.          Sleep(1000);
  8.     }
  9.  
  10.     return 0;
  11. }
  12.  

Ahora, ya sé cómo está construido, ¿cómo haría yo para que a través de otro programa que yo haga, la variable 'h' se reinicie a cero.

O sea, esa es mi duda, ¿cómo diantres se relaciona un programa externo con otro? Por ejemplo, más o menos como en los juegos, los shooters, que el personaje sea inmortal, o que dispare inmediatamente la mira detecte a otro personaje, etc...

Y ojo, que no pretendo crear programas maliciosos para dañar a alguien o a algo, o sea, simplemente tengo curiosidad en saber cómo carrizos funcionan esos programas.

Porque no tengo ni *** idea de cómo relacionarlos.

Un abrazo. :)
8  Programación / Programación C/C++ / [C++] Error con ficheros. en: 26 Noviembre 2016, 19:21 pm
Verán, estoy haciendo un programa simple que lee desde un archivo, el trabajo del programa es sustituir cada espacio en blanco por un guión bajo.

El programa ya está hecho (más o menos), la cosa es que, no me da ningún tipo de error sino que se crashea y deja de funcionar en su ejecución.

Acá el código que llevo hasta ahora:
Código
  1. #include <iostream>
  2. #include <fstream>
  3. #include <string>
  4.  
  5. using namespace std;
  6.  
  7. //Función que devuelve una línea con cada espacio en blanco con un guión bajo
  8. string reemplazar(string linea);
  9.  
  10. int main() {
  11.    //Creación del archivo.
  12.    fstream archivo("archivo.txt", ios::in | ios::out);
  13.    //Variable para almacenar cada línea del archivo.
  14.    string linea;
  15.    //Variable para reemplazar todo lo que está en el archivo.
  16.    string dArchivo = "";
  17.  
  18.    //Comprobando que el archivo exista.
  19.    if(!archivo) {
  20.        cerr << "Error: El archivo no existe." << endl;
  21.        return -1;
  22.    }
  23.  
  24.    //Leyendo cada línea del fichero.
  25.    while(!archivo.eof()) {
  26.        //Obteniendo línea por línea desde el archivo.
  27.        getline(archivo, linea);
  28.  
  29.        //Almacenando las líneas con los guiones bajos ya reemplazados.
  30.        dArchivo += reemplazar(linea) + "\n";
  31.    }
  32.  
  33.    //Sobreescribiendo el archivo con los guiones bajos ya establecidos.
  34.    archivo << dArchivo;
  35.  
  36.    //Cerrando el archivo.
  37.    archivo.close();
  38.  
  39.    return 0;
  40. }
  41.  
  42. //Implementando el método para reemplazar los espacios en blanco por un guión bajo.
  43. string reemplazar(string linea) {
  44.    //Nueva línea
  45.    string nLinea = "";
  46.  
  47.    //Sustituyendo cada espacio en blanco con un guión bajo.
  48.    for(unsigned int h = 0; h < linea.length(); h++) {
  49.        if(linea[h] == ' ') {
  50.            nLinea[h] += '_';
  51.        } else {
  52.            nLinea[h] += linea[h];
  53.        }
  54.    }
  55.  
  56.    return nLinea;
  57. }
  58.  
9  Programación / Desarrollo Web / [javascript] Duda sobre almacenamiento en una variable en: 29 Octubre 2016, 21:49 pm
Buenas a todos, estoy realizando un ejercicio de la universidad donde se nos pide que usemos interpolación de LaGrange para el cálculo de una valor Y, recibiendo de entrada el valor X desde un TextBox, ya el ejercicio está resuelto el problema es que hay como un tipo de desbordamiento, porque hice los cálculos manualmente y me da el resultado esperado, pero mostré el valor de la variable con un alert y me regresa un valor totalmente inesperado.

La función que me hace el cálculo es la siguiente:
Código
  1. function calculate() {
  2. //Value taken in order to calculate y's value into the function from the textbox
  3. var x = parseInt(document.getElementById('f_Value').value);
  4.  
  5. //L0
  6. var l_0 = ((x - 50)*(x - Math.pow(3,4))*(x - Math.pow(1,6)))/((12 - 50) * (12 - Math.pow(3,4)) * (12 - Math.pow(1,6)));
  7. //L1
  8. var l_1 = ((x - 12)*(x - Math.pow(3,4))*(x - Math.pow(1,6)))/((50 - 12) * (50 - Math.pow(3,4)) * (50 - Math.pow(1,6)));
  9. //L2
  10. var l_2 = ((x - 12)*(x - 50)*(x - Math.pow(1,6)))/((Math.pow(3,4) - 12) * (Math.pow(3,4) - 50) * (Math.pow(3,4) - Math.pow(1,6)));
  11. //L3
  12. var l_3 = ((x - 12)*(x - 50)*(x - Math.pow(3,4)))/((Math.pow(1,6) - 12) * (Math.pow(1,6)- 50) * (Math.pow(1,6) - Math.pow(3,4)));
  13.  
  14. //Final value after calculating it inside our function.
  15. var v_Function = (2 * l_0) + (4 * l_1) + (100 * l_2) + (700 * l_3);
  16.  
  17. alert(l_2);
  18. //alert("The Y value for " + x + " is: " + v_Function);
  19. }
  20.  

f_Value es el id que identifica al textbox, si meto 30000 l_2 debería obtener el valor de 1, pero en lugar de ello me retorna: 157452780.85203367, no sé si ocurre algún tipo de desbordamiento. ¿Alguien podría echarme una mano?
10  Programación / Programación C/C++ / [AYUDA] ¿Qué tiene de malo este código? en: 26 Septiembre 2016, 21:37 pm
Verán, estoy intentando hacer un programa bastante simple en C++ pero por alguna razón en la línea 134 me arroja un error y no puedo averiguar por qué.

¿Puede alguien echarme una mano?

Código
  1. #include <iostream>
  2. #include <sstream>
  3. #include <stdio.h>
  4.  
  5. using namespace std;
  6.  
  7. class Cliente
  8. {
  9. public:
  10.  
  11.    Cliente(string nombre, string apellido, long int cedula, short int edad);
  12.  
  13.     // funciones de la clase.
  14.     // tipo de dato a retornar/ nombre / (lista de parametros),.
  15.  
  16.     string getNombre();
  17.     string getApellido();
  18.     long int getCedula();
  19.     short int getEdad();
  20.     string toString();
  21.     void setNombre(string nombre);
  22.     void setApellido(string apellido);
  23.     void setCedula(long int cedula);
  24.     void setEdad(short int edad);
  25.     string convertirCedula(long int cedula);
  26.     string convertirEdad(short int edad);
  27.  
  28. private:
  29.  
  30.    string nombre, apellido;
  31.    long int cedula;
  32.    short int edad;
  33. };
  34.  
  35. // Constructor, fuera de la clase.
  36. Cliente::Cliente(string nombre, string apellido, long int cedula, short int edad)
  37. {
  38.    this->nombre=nombre;
  39.    this->apellido = apellido;
  40.    this->cedula = cedula;
  41.    this->edad = edad;
  42. }
  43.  
  44. string Cliente::getApellido()
  45. {
  46.    return apellido;
  47. }
  48.  
  49. string Cliente::getNombre()
  50. {
  51.  
  52.    return nombre;
  53. }
  54.  
  55. long int Cliente::getCedula()
  56. {
  57.    return cedula;
  58. }
  59.  
  60. short int Cliente::getEdad()
  61. {
  62.    return edad;
  63. }
  64.  
  65. void Cliente::setNombre(string nombre)
  66. {
  67.    this->nombre = nombre;
  68. }
  69.  
  70. void Cliente::setApellido(string apellido)
  71. {
  72.    this->apellido = apellido;
  73. }
  74.  
  75. void Cliente::setCedula(long int cedula)
  76. {
  77.  
  78.    this->cedula = cedula;
  79. }
  80.  
  81. void Cliente::setEdad(short int edad)
  82. {
  83.    this->edad = edad;
  84. }
  85.  
  86. string Cliente::toString()
  87. {
  88.  
  89.    string total;
  90.  
  91.    string cedulaTrans, edadTrans;
  92.  
  93.    cedulaTrans = convertirCedula(cedula);
  94.    edadTrans = convertirEdad(edad);
  95.  
  96.    total = nombre + "\n" + apellido + "\n" + cedulaTrans + "\n" + edadTrans;
  97.  
  98.    return total;
  99. }
  100.  
  101. string Cliente::convertirCedula(long int cedula)
  102. {
  103.      stringstream flujo;
  104.  
  105.      flujo << cedula;
  106.  
  107.      return (flujo.str());
  108. }
  109.  
  110. string Cliente::convertirEdad(short int edad)
  111. {
  112.    stringstream flujo;
  113.  
  114.    flujo << edad;
  115.  
  116.    return (flujo.str());
  117.  
  118. }
  119.  
  120. class Banco
  121. {
  122. public:
  123.  
  124.    Banco();
  125.    string agregar(Cliente c);
  126.    string mostrar();
  127.  
  128. private:
  129.  
  130.    Cliente c[20];
  131.    int cont;
  132. };
  133.  
  134. Banco::Banco()
  135. {
  136.    this->cont=0;
  137.  
  138. }
  139.  
  140. string Banco::agregar(Cliente aux){
  141.  
  142.    if(cont<20)
  143.    {
  144.        c[cont]=aux;
  145.        cont++;
  146.        return "Cliente agregado satisfactoriamente";
  147.    }
  148.  
  149.    return "Banco lleno. No se puede agregar mas personas";
  150.  
  151. }
  152.  
  153. string Banco::mostrar()
  154. {
  155.    string x;
  156.  
  157.    for(int i=0; i<cont; i++)
  158.    {
  159.        x = x + c[i].toString();
  160.    }
  161.  
  162.    return x;
  163.  
  164. }
  165.  
  166. int leerentero(string sms)
  167. {
  168.    int aux;
  169.  
  170.    cout << sms;
  171.    cin >> aux;
  172.  
  173.    return aux;
  174.  
  175. }
  176.  
  177. Cliente leercliente()
  178. {
  179.       string nombre;
  180.       string apellido;
  181.       short int edad;
  182.       long int cedula;
  183.  
  184.       cout << "\nIngrese Nombre: " << endl;
  185.       cin.clear();
  186.       fflush(stdin);
  187.       getline(cin, nombre);
  188.       cout << "\nIngrese Apellido: " << endl;
  189.       cin.clear();
  190.       fflush(stdin);
  191.       getline(cin, apellido);
  192.       cout << "\nIngrese Cedula: " << endl;
  193.       cin >> cedula;
  194.       cout << "\nIngrese Edad: " << endl;
  195.       cin >> edad;
  196.  
  197.       Cliente aux(nombre, apellido, cedula, edad);
  198.       return aux;
  199.  
  200. }
  201.  
  202. int main()
  203. {
  204.    Banco b;
  205.    int opc;
  206.    do
  207.    {
  208.  
  209.        cout << "\n[1]Agregar Persona. \n[2]Mostrar Personas. \n[3]Salir" << endl;
  210.        opc = leerentero("\nIngrese su opcion: ");
  211.  
  212.        switch(opc)
  213.        {
  214.            case 1:
  215.                cout << b.agregar(leercliente()) << endl;
  216.            break;
  217.            case 2: cout << b.mostrar() << endl;
  218.            break;
  219.            case 3: return 0;
  220.            break;
  221.  
  222.        }
  223.  
  224.    }while(opc!=3);
  225.  
  226.    return 0;
  227. }
  228.  
  229.  
Páginas: [1] 2 3 4 5 6 7
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines