Agenda virtual C++

Iniciado por cristian65, 5 Enero 2015, 16:46 PM

0 Miembros y 1 Visitante están viendo este tema.

cristian65

Buenos días amigos necesito ayuda sobre un programa que me mandaron hacer en la uní soy nuevo programando y la verdad es que no entiendo mucho sobre esto solo quiero que me vayan guiando como hacerlo y asi yo voy aprendiendo gracias de verdad a quien me ayude es urgente!!!!!!!!!! :huh:


"La primera fase consiste en el Módulo de Carga de Contactos. El programa a desarrollar recibirá una serie de valores los cuales son:
- Código de seguridad (binario de 8 dígitos)
- Nombre
- Apellido
- Número de teléfono
- Número celular
- Correo electrónico
- Ciudad
- País (en esta fase, sólo se considera como país válido Venezuela)
El cliente ha solicitado de nosotros que incluyamos en la agenda digital como método de seguridad la verificación de un código binario antes de poder utilizar este módulo. Se considerará válido el código binario si la suma de los unos (1) de las primeras 4 cifras más significativas es igual a la suma de ceros (0) de las 4 cifras menos significativas del código."

crack81

Olle con todo respeto muestra en que sea algo de codigo para que no se vea que vamos a hacer tu tarea

Intentalo, si se te traba nos preguntas y te asesoramos saludos...
Si C/C++ es el padre de los lenguajes entonces ASM es dios.

cristian65

#2
jajajaj si disculpa ;D

Código (cpp) [Seleccionar]
#include <iostream>
#include <string>

using namespace std;

int main() {
double codigodeseguridad;
string nombre;
string apellido;
double numcelular;
double numcasa;
char correo;
string pais;
string ciudad;







cout<<"ingrese el codigo de seguridad"<<endl;
cin>>codigodeseguridad;
cout<<"ingrese su nombre"<<endl;
cin>>nombre;
cout<<"ingrese su apellido"<<endl;
cin>>apellido;
cout<<"ingrese su numero celular"<<endl;
cin>>numcelular;
cout<<"ingrese su numero casa"<<endl;
cin>>numcasa;
cout<<"ingrese su correo"<<endl;
cin>>correo;
cout<<"ingrese su ciudad"<<endl;
cin>>ciudad;
cout<<"ingrese el pais"<<endl;
cin>>pais;


return 0;

esto es lo que tengo hasta ahora lo que se me complica es como hacer el código d seguridad binario y no entiendo mucho lo de validar por que me mandan a validar codigos de area de los telefonos solo quiero que me guíen como hacerlo ya que en verdad lo acepto soy muy bruto para esto  :)


de aqui en adelante todo se me complica

Una vez verificado el código de seguridad se procederá a la carga de los datos de un
contacto, se recibirán los datos uno por uno y de ellos es importante validar:
-
El código de área del número de teléfono.
-
El código de área del número celular.
-
La ciudad.

Los códigos de área de las ciudades válidos son: 0212 para Caracas, 0243 para Maracay, 0241 para valencia, 0251 para Barquisimeto, 0261 para Maracaibo.

Para el número celular los códigos válidos son: 0412, 0414, 0424, 0416 y 0426.

Las ciudades válidas son: Caracas, Maracay, Valencia, Barquisimeto y Maracaibo.

Se debe verificar además que el código de área del número de teléfono corresponda con la ciudad introducida. Por último se debe verificar que el país sea Venezuela

pero el problema es que debo usar if y else o swith y yo ni idea de eso

Mod:Codigo colocado en etiquetas GeSHi

crack81

Buenas compadre tu problema no parece ser tan dificl lo que no entendi fue como es que deberia funciona la parte del codigo binario a ver si lo explicas un poco mas claro

te dejo el codigo de un programa que hizo hace tiempo para otro foro y que mas o menos va en la direccion que tu queires da le una checada y si tienes
dudas avisa creo te puede ayudar

Código (cpp) [Seleccionar]
#include<iostream>
#include <vector>//esta libreria es para poder usar la clase vector
#include<cstdlib>//esta libreria es para poder limpiar la pantalla
using namespace std;


struct Persona{//estruct persona sirve para encapsular las propidades de cada persona
    string nombre;
    string apellido;
    long long telefono;
    string email;
};

Persona anadir(){//funcion para añadir una nueva persona a la lista
    Persona p; cout<<"ingrese su nombre"<<endl;
    cin>>p.nombre; cout<<"ingrese su apellido"<<endl;
    cin>>p.apellido; cout<<"ingrese su telefono"<<endl;
    cin>>p.telefono; cout<<"ingrese su email"<<endl;
    cin>>p.email; return p;
}

void MostrarAgenda(vector<Persona> agenda){//moestrar todo el contenido
    for(int i=0;i<agenda.size();i++){
            cout<<"Nombre: "<<agenda[i].nombre<<" Apellido: "<<agenda[i].apellido<< " Telefono: "<<
            agenda[i].telefono<<" Email: "<<agenda[i].email<<endl;
    }
}

int main(){ //revisar la clase vector que utilizamos aqui abajo
    vector<Persona> agenda;//creamos un vector de tipo Persona
    Persona p;
    int opc;
    bool estado=true;

while(estado){//el bucle dara vueltas mientras no escogamos salir
        cout<<"Agenda hecha en c++ para lawebdelprogramador"<<endl;
        cout<<"Escoga una opcion"<<endl;
        cout<<endl;

        cout<<"1: Agregar contacto"<<endl;
        cout<<"2: Mostrar contactos"<<endl;
        cout<<"3: salir"<<endl;
        cin>>opc;
        system("cls");
        switch(opc){
            case 1: p=anadir(); agenda.push_back(p); break;//añadimos p que siempre sera una persona difernte al vector
            case 2: MostrarAgenda(agenda);break;
            case 3: estado=false; exit;break;
        }

        cout<<"\nOpcion termianda de click para continuar"<<endl;
        cin.get();
        cin.get();
        system("cls");//nos limpia la pantalla
}

return 0;
}
Si C/C++ es el padre de los lenguajes entonces ASM es dios.

cristian65

#4
muchas gracias por tu respuestas hermano pero tengo una duda por que en el programa solo me deja utilizar las bibliotecas iostream y string y usar solo condicionales creo que son if y else y tambien
switch case por en verdad estoy espesando y creo que esto es lo mas básico de C++

y lo del código de seguridad es asi:

la verificación de un código binario antes de poder utilizar este módulo.

Se considerará válido el código binario si la suma de los unos (1) de las primeras 4 cifras más significativas es igual a la suma de ceros (0) de las 4 cifras menos significativas del código.

NOTA:
tomar en cuenta que para aquellos códigos binarios cuya cifra más significativa sea cero (0), C++ la
obviará  por ejemplo:
Valor introducido por el usuario:01101101

muchas gracias enserio por ayudarme
Valor almacenado por el programa:
1101101




Código (cpp) [Seleccionar]
#include <iostream>
#include <string>
using namespace std;
int main (){
string nombre;
string apellido;
string telefono;
string celular;
string numcasa
string email;
int opc
cout<<" Agregar contacto"<<endl;
cout<<"salir"<<endl;

cout<<"Ingrese la opción que desea "<<endl;
cin>> opc
switch (opc)
{
case 1:
cout<<"Ingrese nombre(s): \n";
break;
case 2:
cout<<"Ingrese apellido(s): \n";
break;
case 3:
cout<<"Ingrese telefono: \n";
case 4:
cout<<"Ingrese celular: \n";
break; 
case 5:
cout<<"Ingrese NumCasa: \n";
break;
case 6:
cout<<"Ingrese email"
break;
}

void agregar_contacto () {
cout<<"Introduzca el nombre"<<endl;
cin>> nombre;
cout<<" Introduzca el apellido"<<endl;
cin>> apellido;
cout<<"Introduzca el telefono"<<endl;
cin>> telefono;
cout<<"Introduzca el celular"<<endl;
cin>> celular;
cout <<"introduzca el correo"<<endl;
cin>>correo;
cout<<"Los datos han sido guardado satisfactoriamente"<<endl;
}




return 0;
}

esto es lo que tengo de código hasta ahora pero el problema es que no me compila

Mod:Codigo colocado en etiquetas GeSHi

crack81

Bueno a simple vista no te funciona porque estas poniendo una funcion dentro del  int main(){}
eso no es validos saludos....

ponlo encima del main o crea un prototipo y ponlo al final de la funcion
te falta punto y coma en varias

ejemplo en "int opc "
                   "cin>> opc"

para que se entienda mejor en las lineas
11,16,34,38 esos son los errores
Si C/C++ es el padre de los lenguajes entonces ASM es dios.

cristian65

#6
gracias ahora si me compila ahora voy a tratar de hacer el código ese de seguridad y lo de validar estaba viendo unos vídeos por youtube y no parece tan dificil pero es largo gracias por su ayudada  


nada que puedo hacer el cogigo de  seguridad binario quien me puede ayudar hacerlo por favor lo necesito ya todo lo dema funciona perfectamente  :huh:

Mod: Recuerda en estos casos usar el boton modificar

rir3760

Para el codigo de seguridad debes leer un entero que consista de ocho digitos, solo 1s y 0s y el numero de ambos debe ser igual a cuatro. Un programa de ejemplo:
Código (cpp) [Seleccionar]
#include <iostream>
using std::cin;
using std::cout;
using std::endl;

int main()
{
   cout << "Introduce el codigo de seguridad: ";
   unsigned long num;
   cin >> num;
   
   int i;
   int diff = 0;
   for (i = 0; num != 0 && num % 10 <= 1; i++){
      diff += num % 10;
      num /= 10;
   }
   cout << (i == 8 && diff == 4 ? "OK" : "Error") << endl;
   
   return 0;
}


Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language

cristian65

gracias muchas gracias  ;D