Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - MrAxelLag

#1
No encuentro como comparar la cadena para saber cual numero es mayor como hago eso?


void ordenar(_persona* personas){
    int z, i,j,k;
    char aux[20];
    for(i=0;i<=max;i++){
            for(j=0;j<=max;j++){
            if(personas[j].numero>personas[j+1].numero){
                strcpy(personas[j].numero,aux);
                strcpy(personas[j+1].numero,personas[j].numero);
                strcpy(aux,personas[j+1].numero);
                }
            }
    }
}
#2
Logre borrar los datos, lo ultimo que me queda por hacer es lograr que ordene por el metodo burbuja los numeros de cuenta pero no lo hace, sabes donde eta mi error?



void ordenar(_persona* personas){
    int z, i,aux,j,k;

    for(i=0;i<max;i++){
            if(personas.numero>personas[i+1].numero){
               strcpy(aux,personas.numero);
                strcpy(personas.numero,personas[i+1].numero);
                strcpy(personas[i+1].numero,aux);
        }

    }
}
#3
Consegui avanzar demasiado, ahora este es el problema, al borrar datos y volverlos a mostrar me imprime basura, y no se como arreglar eso, mira...


#include <stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
#define p printf
#define cls system("cls");

const int max = 2;

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

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

int main(int argc, char* argv[]){
   int op, opc=0,band,max=2,j=0;

   _persona personas[max];
   do{
        cls;
      p("1.Agregar saldos\n");
      p("2.-Ver saldos\n");
      p("3.-Buscar saldos\n");
      p("4.-Modificar saldos\n");
      p("5.-Borrar\n\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 Buscar saldos...\n");
            getch();
            buscar(personas);
            getch();
            break;
            case 4:
                p("Ha elegido Modificar saldos...\n");
                getch();
                modificar(personas);
                getch();
                break;
            case 5:
                p("Ha elegido Borrar Datos....\n");
                getch();
                borrar(personas);
                getch();
                break;
      }
   }while(opc != 6);
}

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

void mostrar(const _persona* personas){
    cls;
   int i,h,j;
   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){
    int band;

    int i,comp;
    char jaja[20];
    p("Introduzca numero de cuenta:");
    fflush(stdin);
    scanf("%s",&jaja);
    band=0;
    for(i=0; i<max; i++){
    if(strcmp(personas.numero,jaja)==0){
        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);
      band=1;
   }


    }
        if(band!=1)
            p("\n No encontrado\n");
        else
            p("\n Encontrado \n");

}


void modificar(_persona* personas){
    int band;

    int i,comp;
    char jaja[20];
    p("Introduzca numero de cuenta:");
    fflush(stdin);
    scanf("%s",&jaja);
    band=0;
    for(i=0; i<max; i++){
    if(strcmp(personas.numero,jaja)==0){
        p("Nombre: %s \n",personas.nombre);
      p("Su saldo es de: %c%.2f\n",36,personas.saldo);
      p("\nDatos Nuevos \n");
        p("Digite su nombre nuevo: ");
      fflush(stdin);
      scanf("%s", personas.nombre);
      p("Digite su nuevo num. de cuenta: ");
      scanf("%s", personas.numero);
      p("Digite la nueva fecha(dd-mm-aaaa)");
      fflush(stdin);
      scanf("%s", personas.fecha);
      p("Digite el nuevo saldo:%c",36);
      fflush(stdin);
      scanf("%f",&personas.saldo);
      p("Su saldo es de: %c%.2f\n",36,personas.saldo);
      band=1;
    }


    }
        if(band!=1)
            p("\n No se pudo modificar los datos\n");
        else
            p("\n Modificación Exitosa\n");

}

void borrar(_persona* personas){
    int band;

    int z, i,com,j;
    char jaja[20];
    p("Introduzca numero de cuenta a borrar:");
    fflush(stdin);
    scanf("%s",&jaja);
    band=0;
    for(i=0; i<max; i++){
    if(strcmp(personas.numero,jaja)==0){
        strcpy(personas.nombre,"");
        strcpy(personas.numero,"");
        strcpy(personas.fecha,"");
        personas.saldo=0;
      band=1;
      j=j+1;
      for(;i<max;i++){
      z=i+1;
      strcpy(personas.nombre,personas[z].nombre);
        strcpy(personas.numero,personas[z].numero);
        strcpy(personas.fecha,personas[z].fecha);
        personas.saldo=personas[z].saldo;}

   }


    }
        if(band!=1)
            p("\n Datos no eliminados\n");
        else
            p("\n Datos eliminados exitosamente\n");

}
#4
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;
        }
    }
}
#5
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?
#6
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");
    }
}
#7
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);
        }
    }
}
#8
No te entiendo a lo que dices de recorrer el array, como podria realizar esto?
#9
El criterio para modificar es que introduzca un numero de cuenta, y el que coincida debe modificar todo
#10
Si, lo note, le agregue un getch(); para que hiciera una pausa, ahora bien, al modificar los datos como puedo reanudar con el codigo para que me elija uno de los 3?