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

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda con codigo de banco
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con codigo de banco  (Leído 8,562 veces)
Kenji-chan

Desconectado Desconectado

Mensajes: 104


Ver Perfil
Re: Ayuda con codigo de banco
« Respuesta #10 en: 9 Mayo 2018, 05:24 am »

tal y como tienes ahora mismo el código tendrías que hacer otro switch dentro del caso 3
tomando el numero de cuenta ingresado por el usuario y para cada caso todos los números de cuenta almacenados pero si lo haces con estructuras y arrays solo tienes que recorrer el array en comparando el dato miembro del dato a buscar


En línea

MrAxelLag

Desconectado Desconectado

Mensajes: 14


Ver Perfil
Re: Ayuda con codigo de banco
« Respuesta #11 en: 9 Mayo 2018, 05:36 am »

No te entiendo a lo que dices de recorrer el array, como podria realizar esto?


En línea

Kenji-chan

Desconectado Desconectado

Mensajes: 104


Ver Perfil
Re: Ayuda con codigo de banco
« Respuesta #12 en: 9 Mayo 2018, 05:49 am »

si tienes el código echo con una estruct y un arrar
Código
  1. typedef struct{
  2. char nombre[20];
  3. char fecha[20];
  4. char numero[20];
  5. float saldo;
  6. }_persona;
  7.  
  8. _persona personas[max];
  9.  

puedes recorrer el array personas con un ciclo for
Código
  1. for(i=0; i<max; i++){
  2. if(personas[i].numero == buscar){
  3. /*mostrar los datos de la persona*/
  4. }
  5. }
  6.  
En línea

MrAxelLag

Desconectado Desconectado

Mensajes: 14


Ver Perfil
Re: Ayuda con codigo de banco
« Respuesta #13 en: 9 Mayo 2018, 06:09 am »

ok intente agregarle la funcion buscar de la manera en que me indicase pero no me imprime los datos. Sabes donde esta mi error?

#include <stdio.h>
#include<stdlib.h>
#include<conio.h>

#define p printf
#define cls system("cls");

const int max = 10;

typedef struct{
   char nombre[20];
   char fecha[20];
   char numero[20];
   float saldo;
}_persona;

void buscar(_persona personas[max]);
void agregar(_persona* personas);
void mostrar(const _persona* personas);


int main(int argc, char* argv[]){
   int op, opc=0;
   _persona personas[max];
   do{
        cls;
      p("1.Agregar saldos\n");
      p("2.-Ver saldos\n");
      p("3.-Modificar saldos\n");
      p("4.-Buscar saldos\n");
      p("5.-Salir\n");
      p("Que opcion desea ejecutar?\n ");
      scanf("%d",&op);

      switch(op){
         case 1:
             cls;
            agregar(personas);
         break;
         case 2:
            mostrar(personas);
            getch();
         break;
         case 3:
            p("Ha elegido Modificar saldos...\n");
            buscar(personas);
         break;
      }
   }while(opc != 5);
}

void agregar(_persona* personas){
   cls;
   int i;
   for(i=0; i<max; i++){
      p("Digite su nombre: ");
      fflush(stdin);
      scanf("%s", personas.nombre);
      p("Digite su num. de cuenta: ");
      fflush(stdin);
      scanf("%s", personas.numero);
      p("Digite la fecha(dd-mm-aaaa)");
      fflush(stdin);
      scanf("%s", personas.fecha);
      p("Digite el primer saldo:%c",36);
      fflush(stdin);
      scanf("%f",&personas.saldo);
      p("Su primer saldo es de: %c%.2f\n",36,personas.saldo);
   }
}

void mostrar(const _persona* personas){
    cls;
   int i;
   p("Ha elegido ver los saldos...\n");
   for(i=0; i<max; i++){
      p("Nombre: %s \n",personas.nombre);
      p("Numero de cuenta %s \n:",personas.numero);
      p("La fecha es %s \n:",personas.fecha);
      p("Su saldo es de: %c%.2f\n",36,personas.saldo);
   }
}


void buscar(_persona* personas){
    cls;
    int y,i;
    p("Introduzca numero de cuenta:");
    scanf("%d",&y);
    for(i=0; i<max; i++){
   if(personas.numero == y){
        p("Nombre: %s \n",personas.nombre);
      p("Numero de cuenta %s \n:",personas.numero);
      p("La fecha es %s \n:",personas.fecha);
      p("Su saldo es de: %c%.2f\n",36,personas.saldo);
        }
    }
}
En línea

Kenji-chan

Desconectado Desconectado

Mensajes: 104


Ver Perfil
Re: Ayuda con codigo de banco
« Respuesta #14 en: 9 Mayo 2018, 06:16 am »

El número de cuenta en el struc esta declarado como un char* (string) y en la función buscar lo capturas como un int ya sea que lo cambies en el estruct como un int o en la función como un char* y lo compares con la función strcmp () de la biblioteca string.h
En línea

MrAxelLag

Desconectado Desconectado

Mensajes: 14


Ver Perfil
Re: Ayuda con codigo de banco
« Respuesta #15 en: 9 Mayo 2018, 06:32 am »

jamas habia usado la funcion de strcmp, ya que apenas estamos en lo basico, lo implemente de esta forma pero el program deja de funcionar, no estoy seguro si de lo implemente bien, tu que opinas?



void buscar(_persona* personas){
    cls;
    int i,c;
    char y[20];
    p("Introduzca numero de cuenta:");
    scanf("%d",&y);
    c = strcmp( y, personas.numero);
    if (c = 0)
        for(i=0; i<max; i++){
        if(personas.numero == y){
            p("Nombre: %s \n",personas.nombre);
            p("Numero de cuenta %s \n:",personas.numero);
            p("La fecha es %s \n:",personas.fecha);
            p("Su saldo es de: %c%.2f\n",36,personas.saldo);
        }
    if (c != 0)
        p("El numero de cuenta no se encuentra");
    }
}
En línea

Kenji-chan

Desconectado Desconectado

Mensajes: 104


Ver Perfil
Re: Ayuda con codigo de banco
« Respuesta #16 en: 9 Mayo 2018, 06:49 am »

la funcion int strcmp(const char *str1, const char *str2) recibe dos parámetros si el valor de Retorno <0 indica que str1 es menor que str2. si Valor de retorno> 0 indica que str2 es menor que str1. si el valor de Retorno = 0 indica que str1 es igual a str2.

ademas de que cuando capturas el string lo haces mal
Código
  1. p("Introduzca numero de cuenta:");
  2.    scanf("%d",&y);
  3.  
cuando deberia de ser
Código
  1. p("Introduzca numero de cuenta:");
  2.    scanf("%s", y);
  3.  

pero si nunca has usado esta función mejor te recomiendo que cambies el tipo de variable a int en el struc de esa forma te sera mas fácil
En línea

MrAxelLag

Desconectado Desconectado

Mensajes: 14


Ver Perfil
Re: Ayuda con codigo de banco
« Respuesta #17 en: 9 Mayo 2018, 06:56 am »

Es que igual con el %s me sigue cerrando el programa. y cambiando el tipo de variable en el struct, como quedaria el codigo en la funcion de buscar?
En línea

Kenji-chan

Desconectado Desconectado

Mensajes: 104


Ver Perfil
Re: Ayuda con codigo de banco
« Respuesta #18 en: 9 Mayo 2018, 07:09 am »

si en el struct
Código
  1. typedef struct{
  2.   char nombre[20];
  3.   char fecha[20];
  4.   int numero[20]; //lo cambiamos a int
  5.   float saldo;
  6. }_persona;
  7.  

entonces para buscarlo seria tan fácil como
Código
  1. for(i=0; i<max; i++){
  2. if(personas[i].numero == buscar){
  3. /*mostrar los datos de la persona*/
  4.                break; //esto es para que pare de buscar
  5. }
  6. }
  7.  

pero ten en cuenta que al cambiar el tipo de variable las funciones
Código
  1. void agregar(_persona* personas);
  2. void mostrar(const _persona* personas);
  3.  

se verán afectadas
En línea

MrAxelLag

Desconectado Desconectado

Mensajes: 14


Ver Perfil
Re: Ayuda con codigo de banco
« Respuesta #19 en: 9 Mayo 2018, 07:21 am »

Vale, pero pese a ya corregir las funciones me sigue sin imprimir los datos al buscar, por que no sale ?, que estoy haciendo mal?


#include <stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>

#define p printf
#define cls system("cls");

const int max = 10;

typedef struct{
   char nombre[20];
   char fecha[20];
   int numero[20];
   float saldo;
}_persona;

void buscar(_persona* personas);
void agregar(_persona* personas);
void mostrar(const _persona* personas);


int main(int argc, char* argv[]){
   int op, opc=0;
   _persona personas[max];
   do{
        cls;
      p("1.Agregar saldos\n");
      p("2.-Ver saldos\n");
      p("3.-Modificar saldos\n");
      p("4.-Buscar saldos\n");
      p("5.-Salir\n");
      p("Que opcion desea ejecutar?\n ");
      scanf("%d",&op);

      switch(op){
         case 1:
             cls;
            agregar(personas);
         break;
         case 2:
            mostrar(personas);
            getch();
         break;
         case 3:
             getch();
            p("Ha elegido Modificar saldos...\n");
            getch();
            buscar(personas);
            getch();
         break;
      }
   }while(opc != 5);
}

void agregar(_persona* personas){
   cls;
   int i;
   for(i=0; i<max; i++){
      p("Digite su nombre: ");
      fflush(stdin);
      scanf("%s", personas.nombre);
      p("Digite su num. de cuenta: ");
      fflush(stdin);
      scanf("%d", personas.numero);
      p("Digite la fecha(dd-mm-aaaa)");
      fflush(stdin);
      scanf("%s", personas.fecha);
      p("Digite el primer saldo:%c",36);
      fflush(stdin);
      scanf("%f",&personas.saldo);
      p("Su primer saldo es de: %c%.2f\n",36,personas.saldo);
   }
}

void mostrar(const _persona* personas){
    cls;
   int i;
   p("Ha elegido ver los saldos...\n");
   for(i=0; i<max; i++){
      p("Nombre: %s \n",personas.nombre);
      p("Numero de cuenta %d \n:",personas.numero);
      p("La fecha es %s \n:",personas.fecha);
      p("Su saldo es de: %c%.2f\n",36,personas.saldo);
   }
}


void buscar(_persona* personas){
    cls;
    int i,c,bus;
    p("Introduzca numero de cuenta:");
    scanf("%s",&bus);
    for(i=0; i<max; i++){
   if(personas.numero == bus){
        p("Nombre: %s \n",personas.nombre);
      p("Numero de cuenta %d \n:",personas.numero);
      p("La fecha es %s \n:",personas.fecha);
      p("Su saldo es de: %c%.2f\n",36,personas.saldo);
      break;
        }
    }
}
En línea

Páginas: 1 [2] 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
banco de imagenes
Diseño Gráfico
SAM N 2 2,331 Último mensaje 13 Marzo 2006, 01:40 am
por SAM N
ayuda con sistema banco
Java
batmanchillan 9 5,638 Último mensaje 16 Noviembre 2012, 00:26 am
por HalconEye
Ayuda con programa Banco y Cuentas
Java
pepeneitor33 1 8,214 Último mensaje 16 Abril 2013, 01:01 am
por javituni
Ayuda banco del tiempo
Desarrollo Web
txus93 0 1,766 Último mensaje 21 Noviembre 2013, 00:58 am
por txus93
Programa d eun Banco AYUDA!
Java
SMHEBER 2 3,183 Último mensaje 2 Octubre 2017, 17:10 pm
por PalitroqueZ
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines