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]
1  Programación / Programación General / Eliminar fila de un DataGrirdView enlazado a un array en: 22 Mayo 2017, 21:10 pm
Hola a todos, el programa es desarrollado en visual studio, windows Forms. Lo que se desea es buscar un registro para despues borrarlo. Las demas intrucciones; guardar y buscar estan ya desarrolladas. Solo faltaria eliminar.

Código
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. using System.Windows.Forms;
  11.  
  12. namespace Fase3_LeoPaez
  13. {
  14.  
  15.    public partial class Form1 : Form
  16.    {
  17.        ArrayList Personas = new ArrayList();
  18.        public Form1()
  19.        {
  20.            InitializeComponent();
  21.            Inhabilitar();
  22.        }
  23.  
  24.        private void registarToolStripMenuItem_Click(object sender, EventArgs e)
  25.        {
  26.            if (txtCedula.Text == "")
  27.            {
  28.                eperror.SetError(txtCedula, "Debe ingresar un numero de cedula");
  29.                txtCedula.Focus();
  30.                return;
  31.            }
  32.            eperror.SetError(txtCedula, "");
  33.  
  34.            decimal num;
  35.            if (!Decimal.TryParse(txtCedula.Text, out num))
  36.            {
  37.                eperror.SetError(txtCedula, "Debe ingresar un valor numerico");
  38.                txtCedula.Focus();
  39.                return;
  40.            }
  41.            eperror.SetError(txtCedula, "");
  42.  
  43.            if(Existe(txtCedula.Text))
  44.            {
  45.                eperror.SetError(txtCedula, "Esta cedula ya ha sido registrada");
  46.                txtCedula.Focus();
  47.                return;
  48.            }
  49.  
  50.            if (txtNombre.Text == "")
  51.            {
  52.                eperror.SetError(txtNombre, "Debe ingresar un Nombre");
  53.                txtNombre.Focus();
  54.                return;
  55.            }
  56.            eperror.SetError(txtNombre, "");
  57.  
  58.            if (txtCorreo.Text == "")
  59.            {
  60.                eperror.SetError(txtCorreo, "Debe ingresar un correo");
  61.                txtCorreo.Focus();
  62.                return;
  63.            }
  64.            eperror.SetError(txtCorreo, "");
  65.  
  66.            decimal numero;
  67.            if (!Decimal.TryParse(txtEdad.Text, out numero))
  68.            {
  69.                eperror.SetError(txtEdad, "Debe ingresar un valor numerico");
  70.                txtEdad.Focus();
  71.                return;
  72.            }
  73.            eperror.SetError(txtEdad, "");
  74.  
  75.            Persona_Leo miPersona = new Persona_Leo();
  76.            miPersona.Cedula = Decimal.Parse(txtCedula.Text);
  77.            miPersona.Nombre = txtNombre.Text;
  78.            miPersona.Email = txtCorreo.Text;
  79.            miPersona.Edad = Decimal.Parse(txtEdad.Text);
  80.            Personas.Add(miPersona);
  81.  
  82.            dgvDatos.DataSource = null;
  83.            dgvDatos.DataSource = Personas;
  84.  
  85.            Limpiar();
  86.            txtCedula.Focus();
  87.  
  88.  
  89.  
  90.  
  91.        }
  92.  
  93.        private bool Existe(string Cedula)
  94.        {
  95.          foreach (Persona_Leo Persona in Personas)
  96.            {
  97.                if (Persona.Cedula.ToString() == Cedula) return true;
  98.            }
  99.            return false;
  100.        }
  101.  
  102.        public void Limpiar()
  103.        {
  104.            txtCedula.Clear();
  105.            txtNombre.Clear();
  106.            txtCorreo.Clear();
  107.            txtEdad.Clear();
  108.        }
  109.  
  110.        public void Inhabilitar()
  111.        {
  112.            eliminarToolStripMenuItem.Enabled = false;
  113.         }
  114.  
  115.  
  116.  
  117.  
  118.        private void salirToolStripMenuItem_Click(object sender, EventArgs e)
  119.        {
  120.            Application.Exit();
  121.        }
  122.  
  123.        private void eliminarToolStripMenuItem_Click(object sender, EventArgs e)
  124.        {
  125.            if (Personas.Count != 0)
  126.            {
  127.  
  128.  
  129.                MessageBox.Show("Se elimino el registro", "Atención");
  130.                Limpiar();
  131.            }
  132.            else
  133.            {
  134.                MessageBox.Show("La lista esta vacia", "Atención");
  135.                Limpiar();
  136.            }
  137.        }
  138.  
  139.        private void buscarToolStripMenuItem_Click(object sender, EventArgs e)
  140.        {
  141.            if (txtCedula.Text == "")
  142.            {
  143.                eperror.SetError(txtCedula, "Debe ingresar una cedula");
  144.                txtCedula.Focus();
  145.                return;
  146.            }
  147.            eperror.SetError(txtCedula, "");
  148.  
  149.            Persona_Leo miPersona = Obtener(txtCedula.Text);
  150.            if (miPersona == null)
  151.            {
  152.                eperror.SetError(txtCedula, "El Trabajador no existe");
  153.                txtCedula.Focus();
  154.                return;
  155.            }
  156.            eperror.SetError(txtCedula, "");
  157.  
  158.            txtCedula.Text = miPersona.Cedula.ToString();
  159.            txtNombre.Text = miPersona.Nombre;
  160.            txtCorreo.Text = miPersona.Email;
  161.            txtEdad.Text = miPersona.Edad.ToString();
  162.            eliminarToolStripMenuItem.Enabled = true;
  163.        }
  164.  
  165.            private Persona_Leo Obtener(String Cedula)
  166.        {
  167.            foreach (Persona_Leo miPersona in Personas)
  168.            {
  169.                if (miPersona.Cedula.ToString() == Cedula) return miPersona;
  170.            }
  171.            return null;
  172.        }
  173.  
  174.        private void limpiarToolStripMenuItem_Click(object sender, EventArgs e)
  175.        {
  176.            Limpiar();
  177.        }
  178.  
  179.  
  180.    }
  181.  
  182. }
  183.  

2  Programación / Programación C/C++ / Donde esta el numero cero en: 1 Marzo 2017, 21:10 pm
Gracias a todos aquellos que hacen posible este espacio. Deseo realizar un programa sencillo en Lenguaje C; Se pide que se introduzcan 2 números y se realizan operaciones entre ellos suma, diferencia del mayor menos el menor, producto y cociente del mayor entre el menor. Tengo un problema. Cuando los numeros son iguales no me aparece el resultado de la resta el cual es CERO. Estoy trabajando en DEVC++.

Código
  1. [code=ada]/* Un programa que compara dos numeros, instruccion if operadores
  2. de relación y operadores de igualdad en C */
  3. #include <stdio.h>
  4. /* La funcion main inicia la ejecucion del programa*/
  5. int main()
  6. {
  7. int numero1; /* se define la variable para el primer # */
  8. int numero2; /* se define la variable para el segundo # */
  9. int suma;       /* se define la variable para el resultado de la suma */
  10. int resta;      /* se define la variable para el resultado de la resta */
  11. int producto;   /* se define la variable para el resultado del producto */
  12. int cociente;   /* se define la variable para el resultado de la división */
  13.  
  14.  
  15.  
  16. printf("\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \n");
  17. printf("            PROGRAMA QUE REALIZA OPERACIONES ENTRE 2 NUMEROS \n");
  18. printf("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \n");
  19. printf("\nPor favor introduzca el primer numero \n");
  20. scanf("%d", &numero1);
  21. printf("Por favor introduzca el segundo numero \n");
  22. scanf("%d", &numero2);
  23. if (numero1 == numero2)
  24. {
  25. suma=numero1+numero2;
  26. resta=numero1-numero2;
  27. producto=numero1*numero2;
  28. cociente=numero1/numero2;
  29.        }
  30. if (numero1 >numero2)
  31.    {
  32.    suma=numero1+numero2;
  33. resta=numero1-numero2;
  34. producto=numero1*numero2;
  35. cociente=numero1/numero2;
  36.                }
  37.       if (numero2 >numero1)
  38.                {        
  39.                    suma=numero1+numero2;
  40.                    resta=numero2-numero1;
  41.                    producto=numero1*numero2;
  42.                    cociente=numero2/numero1;  
  43.                }
  44.  
  45.       printf ("La suma es %.d\n", suma);  
  46.       printf ("La resta es %.d\n", resta);
  47.       printf ("El produco es %.d\n", producto);
  48.       printf ("El cociente es %.d\n", cociente);  
  49.  
  50. system("pause"); /* indica que el programa termino con éxito */
  51. }/* Fin de la fución main */
[/code]
3  Programación / Programación C/C++ / Metodo Burbuja Elementos repetidos en: 10 Diciembre 2016, 18:17 pm
Cordial saludo, por favor. Se tiene 2 arreglos uno para estudiantes y otro para notas, se desea organizar la información extrayendo los estudiantes junto con sus notas que perdieron la materia (notas <3). Se utiliza el metodo burbuja, el problema es cuando existen 2 notas con el mismo valor, en ese caso aparecerian no 2 veces sino 4 veces. Como se podria realizar ? De atemano muchas gracias.

Código
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <cstdio>
  4. #include <cstring>
  5.  
  6.  
  7. using namespace std;
  8.  
  9. void registrarDatos(); //Funcion para registrar los datos
  10. void mostrarDatos(); //Funcion para mostrar los datos
  11. void   estudiantesPerdieron(); //Funcion para mostrar los estudiantes que perdieron el curso
  12. void promedioNotas();     //Funcion para imprimir el articuo de mayor valor y su valor
  13.  
  14. int opcion, i, j, n;     //Declaracion de variables
  15. string *a=NULL;
  16. float *b=NULL;
  17. float *auxiliarPerdieron=NULL;
  18. int numeroPerdieron;
  19.  
  20.  
  21.  
  22.  
  23.  
  24. int main()
  25. {
  26. system("color 3f"); //Asignación color de fondo
  27.        system("CLS");       //Limpiar pantalla
  28.  
  29.  
  30.        do     //realizar mientras sea diferente de 6
  31. {
  32. system("CLS");
  33.  
  34. cout<<"Programa que permite registrar N numero de estudiantes"<<endl;
  35. cout<<"con su respectiva nota final, listar los que perdieron"<<endl;
  36. cout<<"y sacar el promedio"<<endl<<endl;
  37. cout<<endl<<"OPCIONES"<<endl; //Opciones
  38. cout<<"1. REGISTRAR DATOS"<<endl;          
  39. cout<<"2. LISTAR DATOS"<<endl;
  40. cout<<"3. LISTA DE ESTUDIANTES QUE  PERDIERON EL CURSO"<<endl;
  41. cout<<"4. PROMEDIO DE NOTAS DEL CURSO"<<endl;
  42. cout<<"5. SALIR DEL PROGRAMA"<<endl<<endl;
  43. cout<<"Digite la opcion ";
  44. cin >>opcion;
  45. while(opcion>=6) //Ciclo while opciones incorrectas
  46. {
  47. cout<<"INGRESE UN NUMERO VALIDO POR FAVOR ";
  48. cin>>opcion;
  49.    }
  50.  
  51. switch(opcion) //llamadas a funciones            
  52. {
  53. case 1:
  54. system("cls"); //Limpiar pantalla
  55. registrarDatos(); //llamada a funcion registrar datos
  56.             break;
  57. case 2:
  58. system("cls"); //Limpiar pantalla
  59. mostrarDatos(); //llamada a funcion mostrar datos
  60. break;
  61. case 3:
  62. system("cls"); //Limpiar pantalla
  63. estudiantesPerdieron(); //llamada a funcion estudiantes perdieron
  64.             break;
  65. case 4:
  66. system("cls"); //Limpiar pantalla
  67. promedioNotas();    //llamada a funcion promedio de notas
  68. break;
  69. case 5:
  70. delete [] a;
  71. system("cls");
  72. exit(0);
  73.    break;
  74. }
  75.  
  76. cout<<endl;
  77. system("pause");
  78.  
  79. }
  80. while(opcion!=5);
  81. }
  82.  
  83.  
  84. void  registrarDatos()
  85. {
  86.  
  87. cout << "Por favor ingrese la cantidad de estudiantes a registrar: "<<endl;
  88. cin>>n;
  89. a = new string[n];
  90. b = new float[n];
  91. for(i = 0; i < n; i++)
  92.  
  93.  {
  94.          cout <<endl<<"******* Estudiante " << i + 1 << "********:"<<endl;
  95.  cout << "Nombre: ";
  96.          fflush(stdin);
  97.          getline (cin, a[i]);
  98.      cout << "Nota final: ";
  99.      cin>>b[i];
  100.  
  101.       }
  102. }
  103.  
  104.  
  105. void mostrarDatos ()
  106. {  
  107. cout << "La informacion de los estudiantes  registrados son los siguientes:"<<endl;
  108.        for(i = 0; i < n; i++)
  109.     {
  110.          cout << "\n******* Estudiante " << i + 1 << "********:\n";
  111.          cout << "Nombre:" <<a[i]<<endl;
  112.          cout << "Nota final: " <<b[i]<<endl;
  113.       }
  114.  
  115.    }
  116.  
  117.  
  118.       void estudiantesPerdieron ()
  119. {  
  120.  
  121.   cout << "La informacion de los estudiantes  que perdieron la materia son los siguientes:"<<endl;
  122.       cout << "Los estudiantes registrados son: "<<n<<" ";
  123. auxiliarPerdieron = new float[n];
  124. numeroPerdieron=0;
  125.        for(i = 0; i < n; i++)
  126.     {
  127.          if (b[i]<3)
  128.          {
  129.  auxiliarPerdieron[numeroPerdieron]=b[i];
  130.  numeroPerdieron++;
  131.  }
  132.  
  133.       }
  134.       cout<<"perdieron "<<numeroPerdieron<<" estudiantes" <<endl;
  135.       for (i=0; i<numeroPerdieron; i++)
  136.  
  137.   {
  138.   for (j=0; j<n; j++)
  139.  {
  140.   if (auxiliarPerdieron[i]==b[j])
  141.  {
  142.  cout<<"Nombre "<<a[j]<<" Nota "<<b[j]<<" "<<endl;
  143.  }
  144.  }
  145.  }
  146.  
  147.     }
  148.  
  149.  
  150.  
  151.       void promedioNotas()
  152. {
  153.   cout << "En construccion:"<<endl;
  154. }
  155.  
  156.  
4  Programación / Programación C/C++ / Extraer datos tipo float de un arreglo a otro en: 10 Diciembre 2016, 12:33 pm
Nuevamente, muy buenos días y muchas gracias a quienes hacen posible estos espacios, terminando mi trabajo se me presenta un nuevo inconveniente; deseo extraer de un arreglo tipo float a otro arreglo las notas menores que 3, el código compila bien, pero al ejecutarlo y querer visualizar los datos el nuevo arreglo no me muestra los datos de forma correcta, caso contrario me muestra un 1.56181e-038. Que no fue el numero que saque del otro arreglo.

Código
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <cstdio>
  4. #include <cstring>
  5.  
  6.  
  7. using namespace std;
  8.  
  9. void registrarDatos(); //Funcion para registrar los datos
  10. void mostrarDatos(); //Funcion para mostrar los datos
  11. void   estudiantesPerdieron(); //Funcion para mostrar los estudiantes que perdieron el curso
  12. void promedioNotas();     //Funcion para imprimir el articuo de mayor valor y su valor
  13.  
  14. int opcion, i, j, n;     //Declaracion de variables
  15. string *a=NULL;
  16. float *b=NULL;
  17. float *auxiliarPerdieron=NULL;
  18. int numeroPerdieron;
  19.  
  20.  
  21.  
  22.  
  23.  
  24. int main()
  25. {
  26. system("color 3f"); //Asignación color de fondo
  27.        system("CLS");       //Limpiar pantalla
  28.  
  29.  
  30.        do     //realizar mientras sea diferente de 6
  31. {
  32. system("CLS");
  33. cout<<"Programa que permite registrar N numero de estudiantes"<<endl;
  34. cout<<"con su respectiva nota final, listar los que perdieron"<<endl;
  35. cout<<"y sacar el promedio"<<endl<<endl;
  36. cout<<endl<<"OPCIONES"<<endl; //Opciones
  37. cout<<"1. REGISTRAR DATOS"<<endl;          
  38. cout<<"2. LISTAR DATOS"<<endl;
  39. cout<<"3. LISTA DE ESTUDIANTES QUE  PERDIERON EL CURSO"<<endl;
  40. cout<<"4. PROMEDIO DE NOTAS DEL CURSO"<<endl;
  41. cout<<"5. SALIR DEL PROGRAMA"<<endl<<endl;
  42. cout<<"Digite la opcion ";
  43. cin >>opcion;
  44. while(opcion>=6) //Ciclo while opciones incorrectas
  45. {
  46. cout<<"INGRESE UN NUMERO VALIDO POR FAVOR ";
  47. cin>>opcion;
  48.    }
  49.  
  50. switch(opcion) //llamadas a funciones            
  51. {
  52. case 1:
  53. system("cls"); //Limpiar pantalla
  54. registrarDatos(); //llamada a funcion registrar datos
  55.             break;
  56. case 2:
  57. system("cls"); //Limpiar pantalla
  58. mostrarDatos(); //llamada a funcion mostrar datos
  59. break;
  60. case 3:
  61. system("cls"); //Limpiar pantalla
  62. estudiantesPerdieron(); //llamada a funcion estudiantes perdieron
  63.             break;
  64. case 4:
  65. system("cls"); //Limpiar pantalla
  66. promedioNotas();    //llamada a funcion promedio de notas
  67. break;
  68. case 5:
  69. delete [] a;
  70. system("cls");
  71. exit(0);
  72.    break;
  73. }
  74.  
  75. cout<<endl;
  76. system("pause");
  77.  
  78. }
  79. while(opcion!=5);
  80. }
  81.  
  82.  
  83. void  registrarDatos()
  84. {
  85.  
  86. cout << "Por favor ingrese la cantidad de estudiantes a registrar: "<<endl;
  87. cin>>n;
  88. a = new string[n];
  89. b = new float[n];
  90. for(i = 0; i < n; i++)
  91.  
  92.  {
  93.          cout <<endl<<"******* Estudiante " << i + 1 << "********:"<<endl;
  94.  cout << "Nombre: ";
  95.          fflush(stdin);
  96.          getline (cin, a[i]);
  97.      cout << "Nota final: ";
  98.      cin>>b[i];
  99.  
  100.       }
  101. }
  102.  
  103.  
  104. void mostrarDatos ()
  105. {  
  106. cout << "La informacion de los estudiantes  registrados son los siguientes:"<<endl;
  107.        for(i = 0; i < n; i++)
  108.     {
  109.          cout << "\n******* Estudiante " << i + 1 << "********:\n";
  110.          cout << "Nombre:" <<a[i]<<endl;
  111.          cout << "Nota final: " <<b[i]<<endl;
  112.       }
  113.  
  114.    }
  115.  
  116.  
  117.       void estudiantesPerdieron ()
  118. {  
  119.  
  120.   cout << "La informacion de los estudiantes  que perdieron la materia son los siguientes:"<<endl;
  121.       cout << "Los estudiantes registrados son: "<<n<<" ";
  122. auxiliarPerdieron = new float[n];
  123. numeroPerdieron=0;
  124.        for(i = 0; i < n; i++)
  125.     {
  126.          if (b[i]<3)
  127.          {
  128.  auxiliarPerdieron[numeroPerdieron]=b[i];
  129.  numeroPerdieron++;
  130.  }
  131.  
  132.       }
  133.       cout<<"perdieron "<<numeroPerdieron<<" estudiantes";
  134.       auxiliarPerdieron = new float[numeroPerdieron];
  135.       for(j = 0; j < numeroPerdieron; j++)
  136.  
  137.  {
  138.          cout <<endl<<"******* Estudiantes que perdieron ********:"<<endl;
  139.  
  140.      cout << "Nota final: " <<auxiliarPerdieron[j]<<endl;
  141.  
  142.       }
  143.  
  144.  
  145.  
  146.    }
  147.  
  148.  
  149.  
  150.       void promedioNotas()
  151. {
  152.   cout << "En construccion:"<<endl;
  153. }
  154.  

Tambien si me pueden colaborar no se como estraer las notas menores que 3 con sus respectivos estudiantes.
5  Programación / Programación C/C++ / Arreglo dinamico string en: 9 Diciembre 2016, 12:41 pm
Muy buenos días, tengo un problema al querer desarrollar un programa en C++ que me permita guardar N cantidad de estudiantes en un arreglo tipo string, la cantidad de estudiantes a guardar debe ser digitada por  el usuario cada vez que se ejecuta el programa. El programa compila bien no presenta errores pero al ajecutarlo despues de ingresar el  segundo nombre se presenta un error. Copio el codigo espero e puedan ayudar.

Código
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <cstdio>
  4. #include <cstring>
  5.  
  6. using namespace std;
  7.  
  8. int n, i, j;
  9. string *a=new string[n];
  10.  
  11.  
  12. int main()
  13. {
  14. cout << "Por favor ingrese la cantidad de estudiantes a registrar: "<<endl;
  15.    cin>>n;
  16.    for(i = 0; i <n; i++)
  17.     {
  18.          cout << "Nombre: ";
  19.          cin.ignore(256,'\n');
  20.          getline (cin, a[i]);
  21.  
  22.       }
  23.  
  24. return 0;
  25.  
  26. }
  27.  


Mod: Los códigos deben ir en etiquetas GeSHi
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines