Foros del Web » Programación para mayores de 30 ;) » C/C++ »

**** Tarea *** Urgente

Estas en el tema de **** Tarea *** Urgente en el foro de C/C++ en Foros del Web. yo nuevamente en simples palabras AYUDA TAREA PARA ESTE JUEVES. como ven ya hay bastante avanzado de lo que se me pide y esta en ...
  #1 (permalink)  
Antiguo 18/12/2007, 01:15
 
Fecha de Ingreso: diciembre-2007
Mensajes: 4
Antigüedad: 16 años, 5 meses
Puntos: 0
Exclamación **** Tarea *** Urgente

yo nuevamente en simples palabras AYUDA TAREA PARA ESTE JUEVES.
como ven ya hay bastante avanzado de lo que se me pide y esta en negrilla lo que me falta, si me falta aun es porque ya no se que chucha hacer, he intentado de todo leido leido y nada asi que apidance de esta alma XD porfa, ahi se describe todo como se me dio y lo que tengo en el codigo.


OBJETIVOS:
1. Aplicar las estructuras de datos estáticas con sus correspondientes conceptos, elementos y operatorias en la construcción de un programa en lenguaje Visual C++.
2. Investigar algunas funciones con sus correspondientes librerías en lenguaje Visual C++.


DESCRIPCIÓN: El trabajo es de carácter grupal, dos integrantes por grupo. En el programa se debe utilizar vectores y matrices, en él debe validar todos los datos ingresados por el usuario menos el rut; El programa se ejecutará a través de menú, en la ejecución del programa se debe apreciar una preocupación por la presentación.

El programa a desarrollar, debe permitir que el Ejecutivo de un Banco y el Cliente, pueda registrar, eliminar, depositar y girar dinero.

PRIMERA PANTALLA: Esta pantalla presentará los datos de los integrantes del grupo, los datos mínimos a dar a conocer son: nombres, curso, fecha, profesor y la presentación de su programa.

SEGUNDA PANTALLA: Presentación del menú principal

El menú de la Aplicación es el siguiente:

MENU APLICACIÓN
1. Asistir al Banco C.
2. Ejecutar Redbank.
3. Listado de cuentas y claves.
4. Salir.
Ingrese la opción [ ]

Al elegir la opción 1 debe presentar el Menú Banco.
Al elegir la opción 2 debe presentar el Menú Redbank
Al elegir la opción 3 debe imprimir el listado de las cuentas generadas con sus respectivas claves almacenada en ese momento
Al elegir la opción 4 debe salir del programa desplegando el término de la Ejecución.

OPCION 1:
MENU BANCO
1. Ingresar un Nuevo Cliente.
2. Depositar Dinero.
3. Girar Dinero.
4. Eliminar Cliente.
5. Volver.
Ingrese la opción [ ]



OPCION 2:
MENU REDBANK
1. Girar Dinero.
2. Obtener Colilla.
3. Volver.
Ingrese la opción [ ]

OPCIÓN 3:
Se debe presentar el listado con las cuentas corrientes y las claves generadas. El formato del listado es el siguiente:

LISTADO DE CUENTA Y CLAVES

CUENTAS CORRIENTES CLAVES



OPCION 4:
La opción salir, representa el abandono del programa. Solo se puede salir del programa si se selecciona esta opción, por lo tanto todas las opciones anteriores se deben ejecutar una vez y volver al menú principal. La salida debe ser confirmada para eso el programa debe imprimir el siguientes programa “ ESTA SEGURO QUE DESEA SALIR S/N” , si la respuesta es S debe despliegue un mensaje como el siguiente: AGRADECEMOS SU VISITA, ADIOS. Si la respuesta es N debe desplegar el siguiente mensaje “ UD. REGRESARÁ AL MENU”



DESCRIPCIÓN DE LAS ALTERNATIVAS DEL MENU BANCO:

1) En la opción uno, se debe permitir registrar a un Cliente, los datos de este son el numero de cuenta(int) y clave(int), el Rut char[15], el Nombre char[25], la dirección char[30] y un saldo inicial (long tipo de dato entero pero mas largo) que debe ser mayor a 10000 como mínimo para abrir la cuenta.
Tenga en consideración que:
- EL número de cuenta y la clave de acceso deben ser generados aleatoriamente mediante la función rand incluida en la libreria MATH.
- Considere que el número de la cuenta corriente no se puede repetir ya que este número será considerado como campo clave.
- Datos personales deben ser obligatorios.- Considere trabajar con un máximo de 100 Clientes. - Una vez registrados debe desplegar los datos generados (numero de cuenta y clave) del cliente.


2) En la opción dos, se debe permitir Depositar dinero a una cuenta existente.
Tenga en consideración que:
- El ejecutivo de cuenta para esta opción pide el número de cuenta y el monto a depositar, recuerde que con estos datos usted debe aumentar el monto del saldo.





3) En la opción tres, se debe permitir Girar dinero a una cuenta existente.
Tenga en consideración que:
- El ejecutivo de cuenta para esta opción pide el número de cuenta, el RUT y el monto a Girar, además tenga en consideración que no puede realizar sobregiro.- Considere disminuir el saldo.

4) En la opción cuatro, se debe permitir Eliminar un cliente existente.
Tenga en consideración que:
- La eliminación se puede realizar si los datos de la cuenta, clave , Rut son Correctos, y además el saldo debe ser 0..

5) En la opción cinco, se debe permitir devolverse al menú Principal de la Aplicación.



DESCRIPCIÓN DE LAS ALTERNATIVAS DEL MENU REDBANK:

Antes de presentar el menú el Cliente debe hacer ingreso de inmediato de su Número de Cuenta y su Clave, si estos coinciden se presenta el menú.

1) En la opción uno, debe permitir Girar dinero
- Tenga en consideración que no puede realizar sobregiro.

2) En la opción dos, debe imprimir la Colilla de su cuenta.
- El formato de la colilla es el siguiente:

COLILLA DE CUENTA.
--------------------------------------------------------------------------------------------------
NUMERO DE CUENTA: RUT:
NOMBRE: DIRECCION:
ULTIMO GIRO: ULTIMO DEPOSITO:

SALDO:
--------------------------------------------------------------------------------------------------

3) La opción tres, permitir devolverse al menú Principal de la Aplicación.

OBSERVACIÓN:

Considere el número de cuenta como el campo clave de búsqueda, mas las otras especificaciones según sea el caso.
  #2 (permalink)  
Antiguo 18/12/2007, 01:15
 
Fecha de Ingreso: diciembre-2007
Mensajes: 4
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: **** Tarea *** Urgente

************************************************** ************************************************** ***************

#include "stdafx.h"
#include "stdlib.h"
#include <iostream>
struct stRegistro{
char valido; // Campo que indica si el registro es válido S->Válido, N->Inválido
char nombre[25];
char rut[15];
char direccion[30];
int saldo;
int ncuenta;
int pass;
int deposito;
int giro;
int ultimod;
int ultimog;
}
cliente[100];
int i;



int resp,pass,ncuenta;

int Menu()// menu principal
{
char resp[20];
do {
system("cls");
printf("\n");
printf("****************************************** **************************************\n");
printf(" MENU APLICACION\n\n");
printf("****************************************** **************************************\n");
printf("\n");
printf(" 1. Asistir al Banco C.\n");
printf(" 2. Ejecutar Redbank.\n");
printf(" 3. Listado de cuentas y claves.\n");
printf(" 4. Salir.\n\n");
printf(" Ingrese la opcion ");
fgets(resp, 20, stdin);
} while(resp[0] < '1' && resp[0] > '4');
return resp[0];
}



int menubanco()// menu banco
{
char resp2[20];
do {
system("cls");
printf("\n");
printf("****************************************** **************************************\n");
printf(" MENU BANCO\n\n");
printf("****************************************** **************************************\n");
printf("\n");
printf(" 1. Ingresar un Nuevo Cliente.\n");
printf(" 2. Depositar Dinero.\n");
printf(" 3. Girar Dinero.\n");
printf(" 4. Eliminar Cliente.\n");
printf(" 5. Volver.\n\n");
printf(" Ingrese la opcion ");
fgets(resp2, 20, stdin);
} while(resp2[0] < '1' && resp2[0] > '5');
return resp2[0];
}




int menuredbank()// menu redbank
{
char resp3[20];
do {
system("cls");
printf("\n");
printf("****************************************** **************************************\n");
printf(" MENU REDBANK\n\n");
printf("****************************************** **************************************\n");
printf("\n");
printf(" 1. Girar Dinero.\n");
printf(" 2. Obtener Colilla.\n");
printf(" 3. Volver.\n");
printf("\n");
printf(" Ingrese la opcion ");
fgets(resp3, 20, stdin);
} while(resp3[0] < '1' && resp3[0] > '3');
return resp3[0];
}


void registrar() // funcion registrar banco
{
ncuenta= rand() % 100000 + 100001 ; // genera cuenta de 6 numeros
pass= rand() % 1001+1020 ; // pass rango entre 10000 y 12000 con 5 numeros
cliente[i].ncuenta=ncuenta;
cliente[i].pass=pass;
system("cls");
printf("__________________________________________ ______________________________________\n");
printf(" Registro Nuevo Cliente\n");
printf("__________________________________________ ______________________________________\n");
printf(" Nombre: ");gets(cliente[i].nombre);
printf(" Rut: ");gets(cliente[i].rut);
printf(" Direccion: ");gets(cliente[i].direccion);
printf("\n");
printf(" NOTA: Para abrir cuenta monto igual o superior a $10.000\n");
printf(" Monto $: ");
do {
scanf("%d",&cliente[i].saldo);
} while(cliente[i].saldo < 10000);
//datos registrados
system("cls");
printf("__________________________________________ ______________________________________\n");
printf(" Cliente Registrado\n");
printf("__________________________________________ ______________________________________\n");
printf(" Numero de Cuenta: %d\n",cliente[i].ncuenta);
printf(" Clave Cuenta: %d\n\n",cliente[i].pass);
printf(" Nombre: %s\n",cliente[i].nombre);
printf(" Rut: %s\n",cliente[i].rut);
printf(" Direccion: %s\n",cliente[i].direccion);
printf(" Saldo $: %d\n",cliente[i].saldo);
printf("__________________________________________ ______________________________________\n");
printf("\n\n\n");
// grabando a disco
FILE *archdisco;
archdisco = fopen("cliente.dat","at+");
fwrite(&cliente,sizeof(cliente),1,archdisco);
fclose(archdisco);
}


void deposito() // fuincion deposito banco
{
system("cls");
printf("__________________________________________ ______________________________________\n");
printf(" Deposito\n");
printf("__________________________________________ ______________________________________\n");
printf(" Numero de Cuenta: ");
scanf("%d",&resp);
if(resp==cliente[i].ncuenta)
{
printf(" Saldo Contable $: %d\n", cliente[i].saldo);
printf(" Deposito $: ");
scanf("%d",&cliente[i].deposito);
cliente[i].ultimod=cliente[i].deposito;
cliente[i].saldo=cliente[i].saldo+cliente[i].deposito;
printf(" Saldo $: %d\n", cliente[i].saldo);
printf("__________________________________________ ______________________________________\n");
}
}


void girar() // funcion girar banco
{
system("cls");
printf("__________________________________________ ______________________________________\n");
printf(" Giro\n");
printf("__________________________________________ ______________________________________\n");
printf(" Numero de Cuenta: ");
scanf("%d",&resp);
if(resp==cliente[i].ncuenta)
{
printf(" Saldo Contable $: %d\n", cliente[i].saldo);
printf(" Monto Maximo de Giro $: %d\n", cliente[i].saldo);
printf(" Giro $: ");
do {
scanf("%d",&cliente[i].giro);
} while(cliente[i].saldo < cliente[i].giro);
cliente[i].ultimog=cliente[i].giro;
cliente[i].saldo=cliente[i].saldo-cliente[i].giro;
printf(" Saldo $: %d\n", cliente[i].saldo);
printf("__________________________________________ ______________________________________\n");
}
}


void eliminar() // fuincion eliminar banco
{
system("cls");
printf("eliminado");
}



void girarb() // funcion girar redbank
{
system("cls");
printf("__________________________________________ ______________________________________\n");
printf(" Giro\n");
printf("__________________________________________ ______________________________________\n");
printf(" Numero de Cuenta: ");
scanf("%d",&resp);
if(resp==cliente[i].ncuenta)
{
printf(" Saldo Contable $: %d\n", cliente[i].saldo);
printf(" Monto Maximo de Giro $: %d\n", cliente[i].saldo);
printf(" Giro $: ");
do {
scanf("%d",&cliente[i].giro);
} while(cliente[i].saldo < cliente[i].giro);
cliente[i].ultimog=cliente[i].giro;
cliente[i].saldo=cliente[i].saldo-cliente[i].giro;
printf(" Saldo $: %d\n", cliente[i].saldo);
printf("__________________________________________ ______________________________________\n");
}
}


void colilla() //colilla redbank
{
system("cls");
printf("__________________________________________ ______________________________________\n");
printf(" COLILLA DE CUENTA\n");
printf("__________________________________________ ______________________________________\n");
printf("\n");
printf(" Numero de Cuenta: %-6d ", cliente[i].ncuenta);
printf(" Rut: %-15s \n",cliente[i].rut);
printf(" Nombre: %-25s ",cliente[i].nombre);
printf(" Direccion: %-30s \n",cliente[i].direccion);
printf(" Ultimo Giro $: %-16d",cliente[i].ultimog);
printf(" Ultimo Deposito $: %d \n\n",cliente[i].ultimod);
printf(" Saldo $: %d \n\n",cliente[i].saldo);
printf("__________________________________________ ______________________________________\n");
}


void listar() //funcion listar
{
system("cls");
printf(" *** LISTA DE CLIENTES ***\n\n");
printf("NºCuenta Pass Nombre Rut \n");
printf("-------------------------------------------------------------------\n");
printf(" %-6d",cliente[i].ncuenta);
printf(" %-4d",cliente[i].pass);
printf(" %-15s", cliente[i].rut);
}

int banco() //programa banco
{
int opcion2;
do {
opcion2 = menubanco();
switch(opcion2)
{
case '1': // ir al banco
registrar();
printf("\n");
system("PAUSE");
break;
case '2': // ir a redbank
deposito();
printf("\n");
system("PAUSE");
break;
case '3': // ir al banco
girar();
printf("\n");
system("PAUSE");
break;
case '4': // ir a redbank
eliminar();
printf("\n");
system("PAUSE");
break;
}
} while(opcion2 != '5');
return 0;
}



int redbank() //programa redbank
{
int opcion3;
do {
opcion3 = menuredbank();
switch(opcion3)
{
case '1': // ir al banco
girarb();
system("PAUSE");
break;
case '2': // ir a redbank
colilla();
system("PAUSE");
}
} while(opcion3 != '3');
return 0;
}



int main() //programa principal
{
int opcion;
printf("\n\n\n\n\n");
printf("\t\t ***************************** \n");
printf("\n");
printf("\t\t Nombre: \n");
printf("\t\t Curso: \n");
printf("\t\t Profesor: \n");
printf("\t\t Fecha: \n");
printf("\t\t Proyecto: \n");
printf("\n");
printf("\t\t ***************************** \n\n\n\n\n");

system("pause");
do {
opcion = Menu();
switch(opcion)
{
case '1': // ir al banco
banco();
system("PAUSE");
break;
case '2': // ir a redbank
redbank();
system("PAUSE");
break;
case '3': // listar
listar();
system("PAUSE");
break;
}
} while(opcion != '4');
return 0;
}




[size3]**** estoy usando VISUAL STUDIO 2005[/size]
  #3 (permalink)  
Antiguo 18/12/2007, 02:35
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Re: **** Tarea *** Urgente

La gente no suele ni molestarse en leer hilos con este tipo de titulos.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #4 (permalink)  
Antiguo 18/12/2007, 08:59
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años, 1 mes
Puntos: 47
Re: **** Tarea *** Urgente

je je... al ver el título y que la última respuesta es de Eternal, yo pensaba encontrarme con algo más irónico...

  #5 (permalink)  
Antiguo 18/12/2007, 09:06
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Re: **** Tarea *** Urgente

Me parecio que habia hecho algo
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #6 (permalink)  
Antiguo 18/12/2007, 10:18
 
Fecha de Ingreso: diciembre-2007
Mensajes: 4
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: **** Tarea *** Urgente

Cita:
Iniciado por Eternal Idol Ver Mensaje
La gente no suele ni molestarse en leer hilos con este tipo de titulos.

que mas se puede pedir de un argentino agrandado, hay que ver a donde los llevo ser agrandados... looser
  #7 (permalink)  
Antiguo 18/12/2007, 10:29
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años, 1 mes
Puntos: 47
Re: **** Tarea *** Urgente

mafioso... antes de que la mafia atente contra vos... mejor esfúmate
  #8 (permalink)  
Antiguo 18/12/2007, 11:00
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Re: **** Tarea *** Urgente

Cita:
Iniciado por el_mafioso Ver Mensaje
que mas se puede pedir de un argentino agrandado, hay que ver a donde los llevo ser agrandados... looser
Pese a que no lo creas es la verdad, la gente no suele molestarse en leer hilos con ese titulo. No le hacemos la tarea a nadie y que el pobre infeliz incapaz de hacerla diga que es urgente solo nos causa gracia.

En cuanto a tu patetico ataque personal me tiene sin cuidado, no me cabe la menor duda de quien es el verdadero fracasado perdedor aca. Encima decis tener 30 años, ya es hora de que vayas madurando en lugar de hacer el payaso en Internet.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #9 (permalink)  
Antiguo 19/12/2007, 08:25
Avatar de _Lucifer_  
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 17 años, 11 meses
Puntos: 28
Re: **** Tarea *** Urgente

¿Son ideas mías o cada día son peores?

Saludos
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba:
  #10 (permalink)  
Antiguo 19/12/2007, 08:57
(Desactivado)
 
Fecha de Ingreso: mayo-2006
Ubicación: Mi Ecuador del alma
Mensajes: 1
Antigüedad: 18 años
Puntos: 0
Re: **** Tarea *** Urgente

Por lo menos los otros pidieron de favor

y el tema era menos largo.

Aunque por otra parte este puso la respuesta
  #11 (permalink)  
Antiguo 20/12/2007, 04:06
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Re: **** Tarea *** Urgente

Cita:
Iniciado por Developer10 Ver Mensaje
Por lo menos los otros pidieron de favor

y el tema era menos largo.

Aunque por otra parte este puso la respuesta
¿Developer10?
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #12 (permalink)  
Antiguo 20/12/2007, 06:55
Avatar de _Lucifer_  
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 17 años, 11 meses
Puntos: 28
Re: **** Tarea *** Urgente

Cita:
Iniciado por Eternal Idol Ver Mensaje
¿Developer10?
¿Será que se reproduce por mitosis?
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba:
  #13 (permalink)  
Antiguo 20/12/2007, 07:38
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años, 1 mes
Puntos: 17
Re: **** Tarea *** Urgente

En realidad ese número es su edad.
  #14 (permalink)  
Antiguo 20/12/2007, 08:15
Avatar de Tera_Byte  
Fecha de Ingreso: junio-2006
Ubicación: Cochabamaba-Bolivia
Mensajes: 55
Antigüedad: 17 años, 11 meses
Puntos: 0
Re: **** Tarea *** Urgente

Lo que tienes que hacer es Crearte una funcion de busqueda.... que resivira como parametro el ID de usuario (Numero de cuenta) y Devolvera una direccion hay diferentes metodos de Busqueda buscalo en google.

Te aseguro que esta funcion te va servir para todo (insercion Eliminacion y listado)
  #15 (permalink)  
Antiguo 20/12/2007, 08:16
Avatar de Tera_Byte  
Fecha de Ingreso: junio-2006
Ubicación: Cochabamaba-Bolivia
Mensajes: 55
Antigüedad: 17 años, 11 meses
Puntos: 0
Re: **** Tarea *** Urgente

aqui tienes todos los metodos de busqueda y clasificacion ---- http://es.wikipedia.org/wiki/Algoritmo_de_ordenamiento
SALU2
  #16 (permalink)  
Antiguo 20/12/2007, 08:41
Avatar de Solenbum  
Fecha de Ingreso: noviembre-2007
Mensajes: 45
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: **** Tarea *** Urgente

sin animos de ofender, al final la terminastes?

ya que estamos a jueves.

(curiosidad)
  #17 (permalink)  
Antiguo 20/12/2007, 21:40
 
Fecha de Ingreso: agosto-2007
Ubicación: Maracaibo, Venezuela
Mensajes: 416
Antigüedad: 16 años, 9 meses
Puntos: 10
Re: **** Tarea *** Urgente

La terminaste o no?... Dinoslo.
  #18 (permalink)  
Antiguo 21/12/2007, 01:17
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Re: **** Tarea *** Urgente

Cita:
Iniciado por ssthormess Ver Mensaje
La terminaste o no?... Dinoslo.
Si, todos estamos intrigados, no podemos dormir siquiera ...
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #19 (permalink)  
Antiguo 28/12/2007, 15:42
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años, 1 mes
Puntos: 47
Re: **** Tarea *** Urgente

Cita:
Iniciado por Eternal Idol Ver Mensaje
¿Developer10?
Por si acaso, volví a ser el 9
  #20 (permalink)  
Antiguo 28/12/2007, 16:13
Avatar de erick_arcini  
Fecha de Ingreso: julio-2005
Ubicación: Jaltenco / DF
Mensajes: 1.723
Antigüedad: 18 años, 10 meses
Puntos: 50
Re: **** Tarea *** Urgente

Cita:
Iniciado por Developer9 Ver Mensaje
Por si acaso, volví a ser el 9
al 10 lo banearon
__________________
Mejoremos nuestro país, ayudemos al planeta... próximamente.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 03:43.