Autor
|
Tema: Ayuda con codigo de banco (Leído 8,561 veces)
|
MrAxelLag
Desconectado
Mensajes: 14
|
Hola, tengo este codigo el cual solicita cuentas de banco con numero de usuario, nombre, fecha y saldo y debe ingresar datos, poder buscarlos, verlos, modificarlos y ordenarlos, llevo hasta ingresar y ver, me podrian a yudar con la busqueda y la modificacion. Este es el codigo: #include <stdio.h> #include <conio.h> #include<stdlib.h> #define p printf void mostrar(void); int main(void) { int op,opc=0; char nom[20],fecha[20],num[20],nom2[20],fecha2[20],num2[20],nom3[20],fecha3[20],num3[20],nom4[20],fecha4[20],num4[20],nom5[20],fecha5[20],num5[20],nom6[20],fecha6[20],num6[20],nom7[20],fecha7[20],num7[20],nom8[20],fecha8[20],num8[20],nom9[20],fecha9[20],num9[20],nom10[20],fecha10[20],num10[20]; float s1, s2, s3,s4, s5, s6, s7, s8, s9, s10; do { p("1.Agregar saldos\n"); p("2.-Ver saldos\n"); p("3.-Buscar Saldos\n"); p("4.-Modificar saldos\n"); p("5.-Salir\n"); p("Que opcion desea ejecutar?\n "); switch(op) { case 1: p("Digite su nombre: "); p("Digite su num. de cuenta: "); p("Digite la fecha(dd-mm-aaaa)"); p("Digite el primer saldo:%c",36); p("Su primer saldo es de: %c%.2f\n",36,s1); p("Digite su nombre: "); p("Digite su num. de cuenta: "); p("Digite la fecha(dd-mm-aaaa)"); p("Digite el segundo saldo:%c",36); p("Su segundo saldo es de: %c%.2f\n",36,s2); p("Digite su nombre: "); p("Digite su num. de cuenta: "); p("Digite la fecha(dd-mm-aaaa)"); p("Digite el tercer saldo:%c",36); p("Su tercer saldo es de: %c%.2f\n",36,s3); p("Digite su nombre: "); p("Digite su num. de cuenta: "); p("Digite la fecha(dd-mm-aaaa)"); p("Digite el cuarto saldo:%c",36); p("Su cuarto saldo es de: %c%.2f\n",36,s4); p("Digite su nombre: "); p("Digite su num. de cuenta: "); p("Digite la fecha(dd-mm-aaaa)"); p("Digite el quinto saldo:%c",36); p("su quinto saldo es de: %c%.2f\n",36,s5); p("Digite su nombre: "); p("Digite su num. de cuenta: "); p("Digite la fecha(dd-mm-aaaa)"); p("Digite el sexto saldo:%c",36); p("Su sexto saldo es de: %c%.2f\n",36,s6); p("Digite su nombre: "); p("Digite su num. de cuenta: "); p("Digite la fecha(dd-mm-aaaa)"); p("Digite el septimo saldo:%c",36); p("Su septimo saldo es de: %c%.2f\n",36,s7); p("Digite su nombre: "); p("Digite su num. de cuenta: "); p("Digite la fecha(dd-mm-aaaa)"); p("Digite el octavo saldo:%c",36); p("Su octavo saldo es de: %c%.2f\n",36,s8); p("Digite su nombre: "); p("Digite su num. de cuenta: "); p("Digite la fecha(dd-mm-aaaa)"); p("Digite el noveno saldo:%c",36); p("Su noveno saldo es de: %c%.2f\n",36,s9); p("Digite su nombre: "); p("Digite su num. de cuenta: "); p("Digite la fecha(dd-mm-aaaa)"); p("Digite el decimo saldo:%c",36); p("Su decimo saldo es de: %c%.2f\n",36,s10); p("Presione 1 para avanzar"); case 2: p("Ha elegido ver los saldos...\n"); p("Nombre: %s \n",nom); p("Numero de cuenta %s \n:",num); p("Su saldo es de: %c%.2f\n",36,s1); p("Nombre: %s \n",nom2); p("Numero de cuenta %s \n:",num2); p("Su saldo es de: %c%.2f\n",36,s2); p("Nombre: %s \n",nom3); p("Numero de cuenta %s \n:",num3); p("Su saldo es de: %c%.2f\n",36,s3); p("Nombre: %s \n",nom4); p("Numero de cuenta %s \n:",num4); p("Su saldo es de: %c%.2f\n",36,s4); p("Nombre: %s \n",nom5); p("Numero de cuenta %s \n:",num5); p("Su saldo es de: %c%.2f\n",36,s5); p("Nombre: %s \n",nom6); p("Numero de cuenta %s \n:",num6); p("Su saldo es de: %c%.2f\n",36,s6); p("Nombre: %s \n",nom7); p("Numero de cuenta %s \n:",num7); p("Su saldo es de: %c%.2f\n",36,s7); p("Nombre: %s \n",nom8); p("Numero de cuenta %s \n:",num8); p("Su saldo es de: %c%.2f\n",36,s8); p("Nombre: %s \n",nom9); p("Numero de cuenta %s \n:",num9); p("Su saldo es de: %c%.2f\n",36,s9); p("Nombre: %s \n",nom10); p("Numero de cuenta %s \n:",num10); p("Su saldo es de: %c%.2f\n",36,s10); p("Presiona 1 para continuar...\n"); case 3: p("Ha elegido Modificar saldos...\n"); p("Digite el numero de cuenta sobre el cual desea modificar los datos") } } while(opc==1); }
MOD: El codigo debe ir entre etiquetas GeSHi. No duplicar posts.
|
|
« Última modificación: 9 Mayo 2018, 03:45 am por MCKSys Argentina »
|
En línea
|
|
|
|
Kenji-chan
Desconectado
Mensajes: 104
|
primero tenemos que arreglar el código trata de explicarme que es lo que intentas hacer con lo que ya tienes echo
|
|
|
En línea
|
|
|
|
MrAxelLag
Desconectado
Mensajes: 14
|
Bien, Abre un menu con las Opciones de 1.- Ingresar datos 2.- Ver datos 3.- Modificar Datos 4.- Buscar datos 5.- Ordenar datos
El ingreso de datos ya esta listo, y para verlos tambien pero cuando termino de ingresar los datos me abre la opcion de verlos automaticamente sin abrir el menú
|
|
|
En línea
|
|
|
|
Kenji-chan
Desconectado
Mensajes: 104
|
en cada caso te falto poner al final los break, el caso es que hay que mejorar el código ya que de la forma en que esta implementado es fácil equivocarse
|
|
|
En línea
|
|
|
|
MrAxelLag
Desconectado
Mensajes: 14
|
Si, estoy modificandolo, he avanzado esto, como ves el codigo?
#include <stdio.h> #include <conio.h> #include<stdlib.h> #define p printf
void mostrar(void);
int main(void) { int op,opc; char nom[20],des[20],fecha[20],num[20],nom2[20],fecha2[20],num2[20],nom3[20],fecha3[20],num3[20],nom4[20],fecha4[20],num4[20],nom5[20],fecha5[20],num5[20],nom6[20],fecha6[20],num6[20],nom7[20],fecha7[20],num7[20],nom8[20],fecha8[20],num8[20],nom9[20],fecha9[20],num9[20],nom10[20],fecha10[20],num10[20]; float s1, s2, s3,s4, s5, s6, s7, s8, s9, s10; do { system("cls"); p("1.Agregar saldos\n"); p("2.-Ver saldos\n"); p("3.-Buscar Saldos\n"); p("4.-Modificar saldos\n"); p("5.-Salir\n"); p("Que opcion desea ejecutar?\n "); scanf("%d",&op);
switch(op)
{ case 1: p("Digite su nombre: "); fflush(stdin); scanf("%s",&nom); p("Digite su num. de cuenta: "); fflush(stdin); scanf("%s",&num); p("Digite la fecha(dd-mm-aaaa)"); fflush(stdin); scanf("%s",&fecha); p("Digite el primer saldo:%c",36); fflush(stdin); scanf("%f",&s1); p("Su primer saldo es de: %c%.2f\n",36,s1); fflush(stdin); p("Digite su nombre: "); fflush(stdin); scanf("%s",&nom2); p("Digite su num. de cuenta: "); fflush(stdin); scanf("%s",&num2); p("Digite la fecha(dd-mm-aaaa)"); fflush(stdin); scanf("%s",&fecha2); fflush(stdin); p("Digite el segundo saldo:%c",36); fflush(stdin); scanf("%f",&s2); fflush(stdin); p("Su segundo saldo es de: %c%.2f\n",36,s2); p("Digite su nombre: "); fflush(stdin); scanf("%s",&nom3); fflush(stdin); p("Digite su num. de cuenta: "); fflush(stdin); scanf("%s",&num3); fflush(stdin); p("Digite la fecha(dd-mm-aaaa)"); fflush(stdin); scanf("%s",&fecha3); fflush(stdin); p("Digite el tercer saldo:%c",36); fflush(stdin); scanf("%f",&s3); fflush(stdin); p("Su tercer saldo es de: %c%.2f\n",36,s3); p("Digite su nombre: "); fflush(stdin); scanf("%s",&nom4); fflush(stdin); p("Digite su num. de cuenta: "); fflush(stdin); scanf("%s",&num4); fflush(stdin); p("Digite la fecha(dd-mm-aaaa)"); fflush(stdin); scanf("%s",&fecha4); fflush(stdin); p("Digite el cuarto saldo:%c",36); fflush(stdin); scanf("%f",&s4); fflush(stdin); p("Su cuarto saldo es de: %c%.2f\n",36,s4); p("Digite su nombre: "); fflush(stdin); scanf("%s",&nom5); fflush(stdin); p("Digite su num. de cuenta: "); fflush(stdin); scanf("%s",&num5); fflush(stdin); p("Digite la fecha(dd-mm-aaaa)"); fflush(stdin); scanf("%s",&fecha5); fflush(stdin); p("Digite el quinto saldo:%c",36); fflush(stdin); scanf("%f",&s5); fflush(stdin); p("su quinto saldo es de: %c%.2f\n",36,s5); p("Digite su nombre: "); fflush(stdin); scanf("%s",&nom6); fflush(stdin); p("Digite su num. de cuenta: "); fflush(stdin); scanf("%s",&num6); fflush(stdin); p("Digite la fecha(dd-mm-aaaa)"); fflush(stdin); scanf("%s",&fecha6); fflush(stdin); p("Digite el sexto saldo:%c",36); fflush(stdin); scanf("%f",&s6); fflush(stdin); p("Su sexto saldo es de: %c%.2f\n",36,s6); p("Digite su nombre: "); fflush(stdin); scanf("%s",&nom7); fflush(stdin); p("Digite su num. de cuenta: "); fflush(stdin); scanf("%s",&num7); fflush(stdin); p("Digite la fecha(dd-mm-aaaa)"); fflush(stdin); scanf("%s",&fecha7); fflush(stdin); p("Digite el septimo saldo:%c",36); fflush(stdin); scanf("%f",&s7); fflush(stdin); p("Su septimo saldo es de: %c%.2f\n",36,s7); p("Digite su nombre: "); fflush(stdin); scanf("%s",&nom8); fflush(stdin); p("Digite su num. de cuenta: "); fflush(stdin); scanf("%s",&num8); fflush(stdin); p("Digite la fecha(dd-mm-aaaa)"); fflush(stdin); scanf("%s",&fecha8); fflush(stdin); p("Digite el octavo saldo:%c",36); fflush(stdin); scanf("%f",&s8); fflush(stdin); p("Su octavo saldo es de: %c%.2f\n",36,s8); p("Digite su nombre: "); fflush(stdin); scanf("%s",&nom9); fflush(stdin); p("Digite su num. de cuenta: "); fflush(stdin); scanf("%s",&num9); fflush(stdin); p("Digite la fecha(dd-mm-aaaa)"); fflush(stdin); scanf("%s",&fecha9); fflush(stdin); p("Digite el noveno saldo:%c",36); fflush(stdin); scanf("%f",&s9); fflush(stdin); p("Su noveno saldo es de: %c%.2f\n",36,s9); p("Digite su nombre: "); fflush(stdin); scanf("%s",&nom10); fflush(stdin); p("Digite su num. de cuenta: "); fflush(stdin); scanf("%s",&num10); fflush(stdin); p("Digite la fecha(dd-mm-aaaa)"); fflush(stdin); scanf("%s",&fecha10); fflush(stdin); p("Digite el decimo saldo:%c",36); fflush(stdin); scanf("%f",&s10); fflush(stdin); p("Su decimo saldo es de: %c%.2f\n",36,s10); break; case 2: p("Ha elegido ver los saldos...\n"); p("Nombre: %s \n",nom); p("Numero de cuenta:%s\n",num); p("La fecha es: %s\n",fecha); p("Su saldo es de: %c%.2f\n",36,s1); p("Nombre: %s \n",nom2); p("Numero de cuenta:%s\n",num2); p("La fecha es:%s\n",fecha2); p("Su saldo es de: %c%.2f\n",36,s2); p("Nombre: %s \n",nom3); p("Numero de cuenta:%s\n",num3); p("La fecha es:%s\n",fecha3); p("Su saldo es de: %c%.2f\n",36,s3); p("Nombre: %s \n",nom4); p("Numero de cuenta:%s\n",num4); p("La fecha es:%s\n",fecha4); p("Su saldo es de: %c%.2f\n",36,s4); p("Nombre: %s \n",nom5); p("Numero de cuenta: %s\n",num5); p("La fecha es:%s\n",fecha5); p("Su saldo es de: %c%.2f\n",36,s5); p("Nombre: %s \n",nom6); p("Numero de cuenta:%s\n",num6); p("Su saldo es de: %c%.2f\n",36,s6); p("La fecha es:%s\n",fecha6); p("Nombre: %s \n",nom7); p("Numero de cuenta:%s\n",num7); p("La fecha es:%s\n",fecha7); p("Su saldo es de: %c%.2f\n",36,s7); p("Nombre: %s \n",nom8); p("Numero de cuenta:%s\n",num8); p("La fecha es:%s\n",fecha8); p("Su saldo es de: %c%.2f\n",36,s8); p("Nombre: %s \n",nom9); p("Numero de cuenta:%s\n",num9); p("La fecha es:%s\n",fecha9); p("Su saldo es de: %c%.2f\n",36,s9); p("Nombre: %s \n",nom10); p("Numero de cuenta:%s\n",num10); p("La fecha es:%s\n",fecha10); p("Su saldo es de: %c%.2f\n",36,s10); system("cls"); break; case 3: p("Ha elegido Modificar saldos...\n"); p("Digite el numero de cuenta sobre el cual desea modificar los datos:"); scanf("%d",&des); if (des == num) p("\n"); p("Digite su nombre: "); fflush(stdin); scanf("%s",&nom); p("Digite su num. de cuenta: "); fflush(stdin); scanf("%s",&num); p("Digite la fecha(dd-mm-aaaa)"); fflush(stdin); scanf("%s",&fecha); p("Digite el primer saldo:%c",36); fflush(stdin); scanf("%f",&s1); p("Su primer saldo es de: %c%.2f\n",36,s1); fflush(stdin); } p("Presione 1 para avanzar:\n"); fflush(stdin); scanf("%d",&opc); } while(opc==1); }
|
|
|
En línea
|
|
|
|
Kenji-chan
Desconectado
Mensajes: 104
|
En la creacion de soluciones para algunos problemas surge la necesidad de agrupar datos de diferente tipo o de manejar datos que serian muy dificil de describir en los tipos de datos primitivos, esta es la situacion en la que debemos aprovecharnos de las caracteristicas que hacen al lenguaje C especial, o sea el uso de estructuras y punteros. Una estructura contiene varios datos. La forma de definir una estructura es haciendo uso de la palabra clave struct. Aqui hay ejemplo de la declaracion de una estructura: struct mystruct{ int int_member; double double_member; char string_member[25]; } variable;
esto es algo que podemos utilizar para mejorar el codigo #include <stdio.h> #include<stdlib.h> #define p printf #define cls system("cls"); const int max = 3; typedef struct{ char nombre[20]; char fecha[20]; char numero[20]; float saldo; }_persona; 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.-Buscar Saldos\n"); p("4.-Modificar saldos\n"); p("5.-Salir\n"); p("Que opcion desea ejecutar?\n "); switch(op){ case 1: agregar(personas); break; case 2: mostrar(personas); break; case 3: p("Ha elegido Modificar saldos...\n"); p("Digite el numero de cuenta sobre el cual desea modificar los datos"); break; } }while(opc != 5); } void agregar(_persona* personas){ cls; int i; for(i=0; i<max; i++){ p("Digite su nombre: "); scanf("%s", personas [i ]. nombre); p("Digite su num. de cuenta: "); scanf("%s", personas [i ]. numero); p("Digite la fecha(dd-mm-aaaa)"); scanf("%s", personas [i ]. fecha); p("Digite el primer saldo:%c",36); scanf("%f",&personas [i ]. saldo); p("Su primer saldo es de: %c%.2f\n",36,personas[i].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[i].nombre); p("Numero de cuenta %s \n:",personas[i].numero); p("Su saldo es de: %c%.2f\n",36,personas[i].saldo); } }
explicacion del codigo: en la linea 7 defino una constante que determinara la longitud de mi array const int max = 3;
de la linea 9 a la 14 definimos la estructura de datos que utilizaremos como un nuevo tipo de variable typedef struct{ char nombre[20]; char fecha[20]; char numero[20]; float saldo; }_persona;
en la linea 22 usamos nuestra nueva variable y la hacemos un array _persona personas[max];// variable de tipo _persona
en las funciones agregar y mostrar es algo que ya sabes como se hace creo...
|
|
« Última modificación: 9 Mayo 2018, 04:47 am por Kenji-chan »
|
En línea
|
|
|
|
MrAxelLag
Desconectado
Mensajes: 14
|
Estoy conciente del uso de punteros y estructuras pero siempre suelo tener muchos errores con ellos, por ejemplo a la hora de modificar las cuentas como podria continuar el codigo, y otra cosa que note es que al ejecutar el programa y dar a la opcion 2, me manda el menu nuevamente. Por que es esto?
|
|
|
En línea
|
|
|
|
Kenji-chan
Desconectado
Mensajes: 104
|
eso es porque en el caso 2 lo único que hace es imprimir la información almacenada y cuando acaba de imprimirla en pantalla vuelve al menú
|
|
|
En línea
|
|
|
|
MrAxelLag
Desconectado
Mensajes: 14
|
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?
|
|
|
En línea
|
|
|
|
MrAxelLag
Desconectado
Mensajes: 14
|
El criterio para modificar es que introduzca un numero de cuenta, y el que coincida debe modificar todo
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
banco de imagenes
Diseño Gráfico
|
SAM N
|
2
|
2,331
|
13 Marzo 2006, 01:40 am
por SAM N
|
|
|
ayuda con sistema banco
Java
|
batmanchillan
|
9
|
5,638
|
16 Noviembre 2012, 00:26 am
por HalconEye
|
|
|
Ayuda con programa Banco y Cuentas
Java
|
pepeneitor33
|
1
|
8,214
|
16 Abril 2013, 01:01 am
por javituni
|
|
|
Ayuda banco del tiempo
Desarrollo Web
|
txus93
|
0
|
1,766
|
21 Noviembre 2013, 00:58 am
por txus93
|
|
|
Programa d eun Banco AYUDA!
Java
|
SMHEBER
|
2
|
3,183
|
2 Octubre 2017, 17:10 pm
por PalitroqueZ
|
|