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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Voto electronico en: 26 Junio 2016, 07:37 am
Buenas gente. Me han dejado un trabajo sobre el voto electronico y es como sigue. El profesor me pide que haga un menú donde el usuario inserte el numero de su documento de identidad y a partir de si es mayor de edad entonces que este habilitado para votar. Además quiere que el documento de identidad guarde la siguiente informacion del usuario: nombre, edad y lugar de nacimiento.

Lo que hice fue crear un archivo que funcione como base de datos. Hice esto:
Código:
#include<cstdlib>
#include<iostream>
#include<fstream>
#include<string.h>
using namespace std;
void consultas();
void ingresar_dni();
void salir();
void menu();
//Variables Globales
char nombre[30],region[10];
int edad=0;
int main(){
    menu();
    return 0;
}
void menu(){
    int opcion=0;
    do{
        cout<<"Bienvenido al voto electronico 2016"<<endl;
        cout<<"1. Consultas"<<endl;
        cout<<"2. Ingresar datos: "<<endl;
        cout<<"3. Salir"<<endl;
        cout<<"¿Que operacion desea efectuar? ";
        cin>>opcion;
        switch(opcion){
            case 1:
                consultas();
            break;
            case 2:
                ingresar_dni();
            break;
            case 3:
                salir();
            break;
            default:
                cout<<"¡Opcion Incorrecta!"<<endl;
        }
    }while(opcion!=3);
}//Fin funcion menu
void ingresar_dni(){
    ofstream escritura;
    escritura.open("datos.txt",ios::out|ios::app);
    if(escritura.is_open()){
        cout<<"Ingresar nombre: ";
        cin>>nombre;
        cout<<"Ingresar region de nacimiento: ";
        cin>>region;
        cout<<"Ingresar edad: ";
        cin>>edad;
        escritura<<nombre<<" "<<region<<" "<<edad<<" "<<endl;
    }else{
        cout<<"Error, el archivo no se pudo abrir"<<endl;
    }
    escritura.close();
}//Fin funcion dni

void consultas(){
    ifstream lectura;
    lectura.open("datos.txt",ios::out|ios::in);
    if(lectura.is_open()){
        cout<<"Registros del Archivo datos.txt"<<endl;       
        do{
        cout<<"________________________________"<<endl;
            lectura>>nombre;
            lectura>>region;
            lectura>>edad;
            cout<<"Nombre: "<<nombre<<endl;
            cout<<"Region: "<<region<<endl;
            cout<<"Edad: "<<edad<<endl;
        cout<<"________________________________"<<endl;   
        }
while(!lectura.eof());         
    }else{
        cout<<"Error, el archivo no se pudo abrir"<<endl;
    }
    lectura.close();
}//Fin funcion consultas

void salir(){
    cout<<"Programa Finalizado"<<endl;
}

Mi problema es que no tengo claro como enlazar esta informacion al documento de identidad. La idea es que cuando el usuario introduzca su documento de identidad el programa vea en el archivo ya creado la edad del usuario y en tal caso decida si puede votar o no. Esa parte se puede hacer con un if/else pero como les digo mi problema radica en que no sé como hacer que el documento de identidad guarde toda esa informacion del usuario. Por favor si pueden ayudenme  :D
2  Programación / Programación C/C++ / Re: Problema con matrices en: 10 Julio 2014, 14:07 pm
Muchas gracias por la ayuda, recién por cuestiones de tiempo he podido entrar.
3  Programación / Programación C/C++ / Re: Problema con matrices en: 5 Julio 2014, 06:21 am
Muchas gracias por la ayuda. Creo que este el código final además le agregue otro problema jeje.

#include<iostream>
#include<cstdlib>

using namespace std;

void llenarymostrarM(int **matriz, int o);
int mayor(int **matriz, int o);
int sumadiagp(int **matriz, int o);

int main()
{
    int **mat, orden;
    cout<<"El orden de la matriz es: ";
    cin>>orden;
    mat=new int*[orden];
    llenarymostrarM(mat, orden);
    cout<<endl;
    cout<<"El mayor elemento es: "<<mayor(mat, orden)<<endl;
    cout<<"La suma de los elementos de la diagonal principal es: "<<sumadiagp(mat, orden)<<endl;
    delete []mat;
    system("pause");
}

void llenarymostrarM(int **matriz, int o){
     int i,j;
     cout<<"Ingrese los elementos de la matriz: ";
     for(i=0; i<o; i++){
              for(j=0; j<o; j++){                                        
                       cin>>matriz[j];
                       }
     }
     cout<<endl;
     cout<<"La matriz es: ";
     for(i=0; i<o; i++){
              for(j=0; j<o; j++){
                       cout<<matriz[j]<<endl;
                       }
     }
}                            

int mayor(int **matriz, int o){
    int i,j, mayor=matriz[0][0];
    for(i=1; i<o; i++){
              for(j=0; j<o; j++){
                       if(matriz[j]>mayor){
                                      mayor=matriz[j];
                                      }
              }
    }
    return mayor;
}

int sumadiagp(int **matriz, int o){
      int i,j, sdp=0;
      for(i=0; i<o; i++){
              for(j=0; j<o; j++){
                       if(i==j)
                       sdp=sdp+matriz[j];
                               }
              }
      return sdp;
}

Con respecto al return 0, ¿es siempre obligatorio?, nunca lo he usado en otros códigos.  Donde dice matriz[j] en realidad debe ser matriz i[j], no sé porque se ve asi. Por último, cuando termino de ejecutar el programa sale que debe cerrarse  :huh:
4  Programación / Programación C/C++ / Problema con matrices en: 4 Julio 2014, 21:21 pm
Hola. No sé cual es el error en el siguiente código, ¿alguien podría ayudarme?

//Problema 1: Programa que cree una matriz nxn, ingrese datos y luego imprima la suma de los elementos de la diagonal principal

#include<iostream>
#include<cstdlib>

using namespace std;

void llenarymostrarM(int *matriz, int f, int c);
int sumadiagp(int *matriz, int f, int c);

int main()
{
    int *mat, fil, col;
    cout<<"El numero de filas es: ";
    cin>>fil;
    cout<<"El numero de columnas es: ";
    cin>>col;
    mat=new int[fil, col];
    llenarymostrarM(mat, fil, col);
    cout<<endl;
    cout<<"La suma de los elementos de la diagonal principal es: "      <<sumadiagp(mat, fil, col)<<endl;
    delete []mat;
    system("pause");
}

void llenarymostrarM(int *matriz, int f, int c){
     int i,j;
     cout<<"Ingrese los elementos de la matriz: ";
     for(i=0; i<f; i++){
              for(j=0; j<c; j++){                                         
                       cin>>matriz[i,j];
                       }
     }
     cout<<endl;
     cout<<"La matriz es: ";
     for(i=0; i<f; i++){
              for(j=0; j<c; j++){
                       cout<<matriz[i,j]<<endl;
                       }
     }
}                           

int sumadiagp(int *matriz, int f, int c){
      int i,j, sdp=0;
      for(i=0; i<f; i++){
              for(j=0; j<c; j++){
                       sdp=sdp+matriz[i,i];
                               }
              }
      return sdp;
}

Por ejemplo cuando pongo una matriz 2x2: 1, 2, 3, 4, me sale que la matriz es: 3 4 3 4 y la suma de la diagonal principal es 14  :huh:
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines