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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Mensajes
Páginas: 1 [2] 3 4 5 6 7 8 9 10 11
11  Programación / Programación C/C++ / Re: Ayuda con codigo de banco en: 10 Mayo 2018, 04:57 am
el método de la burbuja se compone de dos ciclos for

Código
  1. void burbuja(_persona* array){
  2. int i, j;
  3. _persona aux;
  4. for(i=1; i<max; i++){//comenzamos el iterador i desde el indice 1(pos 2)
  5. for(j=0; j<max-i; j++){//comenzamos el iterador j desde el indice 0(pos 1)
  6. if(array[j] > array[j+1]){/*si el que esta a la derecha del indice j es mayor hacemos el cambio*/
  7. aux = array[j+1];
  8. array[j+1] = array[j];
  9. array[j] = aux;
  10. }
  11. }
  12. }
  13. }
  14.  
12  Programación / Programación C/C++ / Re: Ayuda! Error con sentencia do while en: 9 Mayo 2018, 16:59 pm
eso es por que te has inventado una nueva estructura de control de flujo
Código
  1. int pantallallavespuertaventana{
  2.    /*codigo
  3.        ...
  4.        ...
  5.        ...*/
  6.  

no puedes poner esto en el código si quieres que se repita el código al llegar al caso 2 tienes que hacerlo de forma diferente, yo lo he echo de la siguiente manera

Código
  1. #include <iostream>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <windows.h>
  5.  
  6. /*variables y constantes*/
  7. int opcionnombreusuario;
  8. char nombre[20];
  9. int opcionllavepuertaventana;
  10. int posesionllave = 0;
  11.  
  12. /*programa principal*/
  13. int main (int argc, char* argv[]){
  14. /*titulo*/
  15. printf ("Juego\n\n");
  16. Sleep(200);
  17.  
  18. /*seleccion de nombre y confirmacion de este*/
  19. do{
  20. printf ("\n\nInserte un nombre de usuario en minisculas y pulse Intro: ");
  21. std::cin >> nombre;
  22. fflush (stdin);
  23. printf ("\nEntonces tu nombre es %s?" ,nombre);
  24. printf ("\n1-Si\n2-No\n");
  25. std::cin >> opcionnombreusuario;
  26. fflush (stdin);
  27. system("cls");
  28. }while (opcionnombreusuario != 1);
  29.  
  30. /*planteamiento llave ventana puerta*/
  31. printf ("\nSaludos %s, bienvenido a mi lamentable aventura de texto, espero que disfrutes!", nombre);
  32. Sleep (2000);
  33. system("cls");
  34.  
  35. /* do while para que se repita la pantalla mientras no tenga la llave */
  36. do{
  37.  
  38. printf("\nacabas de aparecer en una habitacion extrana, puedes ver una ventana con rejas, una puerta y una llave.\nQue escojes?\n\n1-Ventana\n2-Puerta\n3-Investiga\n");
  39. std::cin >> opcionllavepuertaventana ;
  40. fflush (stdin);
  41. /*Switch que da sentencias para las opciones de la primera pantalla */
  42. switch (opcionllavepuertaventana){
  43. case 1: printf ("Vaya, parece que la ventana tiene rejas, es imposible salir por aqui.");
  44. Sleep (3000);
  45. system ("cls");
  46. break;
  47. case 2: if (posesionllave !=  1)
  48. {
  49. printf ("Que mal, parece que la cerradura necesita una llave");
  50. Sleep (3000);
  51. system ("cls");
  52. }
  53. if (posesionllave == 1){
  54. printf ("Has abierto la puerta con la llave");
  55. Sleep (3000);
  56. }
  57. break;
  58. case 3: printf ("Investigando por el suelo te has encontrado una llave! Me pregunto como debe haber salido el que se la dejo dentro...");
  59. posesionllave = 1;
  60. Sleep (3000);
  61. system ("cls");
  62. break;
  63. default: printf ("Escoje una opcion valida, %s", nombre);
  64. Sleep (3000);
  65. system ("cls");
  66. }
  67. }while ((posesionllave != 1));
  68. printf ("Has abierto la puerta!");
  69. }
  70.  
y me funciona perfecto
13  Programación / Programación C/C++ / Re: Ayuda con codigo de banco en: 9 Mayo 2018, 16:49 pm
lo de borrar datos es mas sencillo dado que estamos usando una constante que nos define el largo de nuestro array tendremos que poner un dato extra en nuestra estructura
Código
  1. typedef struct{
  2.   char nombre[20];
  3.   char fecha[20];
  4.   char numero[20];
  5.   float saldo;
  6.   int estado;//->nuevo dato miembro de nuestra estructura
  7. }_persona;
  8.  

este nuevo datos solo podrá contener dos valores 1 para vacio y 0 para en uso de este modo cuando estés borrando datos lo único que tienes que hacer es poner el la variable estado a 1 pero tendremos que modificar las demás funciones para que estas se integren con el nuevo dato

Código
  1. void buscar(_persona* personas);/*esta funcion solo buscara datos que tengan un estado de 0*/
  2. void agregar(_persona* personas);/*esta funcion agregara datos con que tengan un estado diferente(!=) a 0 */
  3. void mostrar(const _persona* personas);/*esta funcion unica mente mostrara datos que tengan un estado de 0*/
  4. void modificar(_persona* personas); /*esta funcion solo modifica datos que tengan un estado de 0*/
  5.  

14  Programación / Programación C/C++ / Re: Ayuda con programa que determine los numeros primos en un rango a,b en C en: 9 Mayo 2018, 07:17 am
yo me he echo esta función:
Código
  1. void funx(int a, int b){
  2. int cont=0,primo;
  3. while (a<b){
  4. a++;
  5. primo=1;
  6. cont=2;
  7. while (cont<=a/2){
  8. if(a%cont==0)
  9. primo=0;
  10. cont++;
  11. }
  12. if(primo!=0)
  13. printf(" %d ",a);
  14. }
  15. }
  16.  

y la he probado junto con la que has hecho y funcionan de la misma manera
15  Programación / Programación C/C++ / Re: Ayuda con codigo de banco 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
16  Programación / Programación C/C++ / Re: Ayuda con codigo de banco 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
17  Programación / Programación C/C++ / Re: Ayuda con codigo de banco 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
18  Programación / Programación C/C++ / Re: Ayuda con codigo de banco 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.  
19  Programación / Programación C/C++ / Re: Ayuda con codigo de banco 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
20  Programación / Programación C/C++ / Re: Ayuda con codigo de banco en: 9 Mayo 2018, 05:08 am
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ú
Páginas: 1 [2] 3 4 5 6 7 8 9 10 11
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines