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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Temas
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++ / 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