Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: paris2312 en 24 Junio 2018, 23:24 pm



Título: mi programa no lee las opciones del menu
Publicado por: paris2312 en 24 Junio 2018, 23:24 pm
 :-(  necesito ayuda ya que de proyecto final tengo que entregar un programa en DEV C++ debe llevar usuario,contraseña,menu,y en cada opcion del menu debe ser algo diferente ya que es una agenda. El problema empieza ya que abres una opcion del menu ya que no lee todo lo que ya le ingrese
aqui mi programa:
Código
  1. #include <stdio.h>
  2. #include<conio.h>
  3. #include<math.h>
  4. #include <string.h>
  5. #include <stdlib.h>
  6.  
  7. int opcion,a,f;
  8. char b,c,d,e;
  9. main()
  10. {
  11. char usuario[20],pass[20];
  12.  
  13. printf("Ingrese Usuario: \n");
  14. scanf("%s",usuario);
  15. system("cls");
  16.  
  17. printf("Ingrese Contrasena: \n");
  18. scanf("%s",pass);
  19.  
  20.  
  21. if(strcmp(usuario,"paris") == 0 && strcmp(pass,"231202")==0)
  22. {
  23. system("cls");
  24. printf("\n             B I E N V E N I D O    A    L A   A G E N D A    T E L E F O N I C A");
  25. {
  26. inicio:
  27. printf("\n\n\n1.-Ver contactos");
  28. printf("\n\n2.-Agregar nuevo contacto");
  29. printf("\n\n3.-ver informacion de los contactos");
  30. printf("\n\nSeleccione la opcion que desee:  ");
  31. scanf("%d",&a);
  32. if(opcion==1)
  33. {
  34.  
  35. printf("Haz elegido contactos\n\n");
  36. printf("\n1.-Acosta Neri Fernanda ");
  37. printf("\n2.-Aguilar Guerrero Adriana");
  38. printf("\n3.-Aguirre Montes de oca Carlos Alejandro");
  39. printf("\n4.-Avila Morales Alejandro");
  40. printf("\n5.-Barrera de Lucio Roberto Carlos");
  41. printf("\n6.-Bello Nuñes Luis Angel");
  42. printf("\n7.-Berber Mondragon Angel Gabriel");
  43. printf("\n8.-Casiano Estrada Luis Francisco");
  44. printf("\n9.-Cervates Angeles Marco Antonio Guadalupe");
  45. printf("\n10.-De la Cruz Bautista Daniel Gustavo");
  46. printf("\n11.-De la rosa Espindola MIguel Eduardo");
  47. printf("\n12.-Dominguez Garcia Jose Manuel");
  48. printf("\n13.-Enriquez Velazques Sabrina" );
  49. printf("\n14.-Fragoso Muñoz Arath");
  50. printf("\n15.-Garcia Mata Irving Alexis");
  51. printf("\n16.-Gonzalez Garcia  Joceline" );
  52. printf("\n17.-Guerrero Martinez Leidy Jazmin");
  53. printf("\n18.-Hernandez Angeles Luis Hernesto");
  54. printf("\n19.-Hernandez Rivera Fernado Alejandro");
  55. printf("\n20.-Lara cruz Stephani");
  56. printf("\n21.-Lazcano Rivero Sandra Judith");
  57. printf("\n22.-Lezama Ortiz Jared Isai");
  58. printf("\n23.-Martinez Guzman Ruben David");
  59. printf("\n24.-Maya Castillo Xochitl Guadalupe");
  60. printf("\n25.-Mendez Martinez Ariathna Joseline");
  61. printf("\n26.-Mendoza barrios Flor Azalia");
  62. printf("\n27.-Morales Valle Angel De Jesus");
  63. printf("\n28.-Ocaranza Mosqueda Gael Isaac");
  64. printf("\n29.-Ortega Mariano Lilia");
  65. printf("\n29.-Perez Hernandez Jose Antonio");
  66. printf("\n30.-Porras Gomes Edwin Emanuel");
  67. printf("\n31.-Romero Gomes enrique Haziel");
  68. printf("\n32.-Sanchez Bernal Luis Francisco");
  69. printf("\n33.-Sanchez Perez Diego Angel");
  70. printf("\n34.-Sandoval Vazques Antonio ");
  71. printf("\n35.-Trejo Delgado Diego");
  72. printf("\n36.-Valadez Alcaraz Paris Santiago");
  73. printf("\n37.-Valadez Perez Aldo antonio");
  74. printf("\n38.-Vargas Gomes Ana Maria");
  75.  
  76. }
  77. if(opcion==2)
  78. {
  79. system("cls");
  80. printf("\nIngrese el nombre:  \n");
  81. scanf("%s",&b);
  82. printf("\nIngrese el apellido:  \n");
  83. scanf("%s",&c);
  84. printf("\nIngrese la direccion por calle: \n");
  85. scanf("%s",&d);
  86. printf("\nIngrese el numero telefonico: \n");
  87. scanf("%s",&e);
  88. getch();
  89. }
  90. }
  91. }
  92. else
  93. {
  94. printf("\n\nUsuario o Contrasena incorrecta, porfavor verifique y vuelva a teclear");
  95. }
  96.  
  97. system("pause > null");
  98. return 0;
  99. }
  100.  
  101.  

[MOD] Para publicar código se usan las etiquetas GeSHi.


Título: Re: mi programa no lee las opciones del menu
Publicado por: Machacador en 24 Junio 2018, 23:42 pm
Mas abajo tienes el subforo de Programación C/C++ que era el que debías usar... pero ya que estas aquí, espera respuestas de alguien experimentado en esto...

 :rolleyes: :o :rolleyes:

Suerte.


Título: Re: mi programa no lee las opciones del menu
Publicado por: metamax en 25 Junio 2018, 20:57 pm
Hola mira pues no se si te entendi bien pero lo que deberias usar es un diccionario de datos.
Mas facil puedes declarar unos arreglos globales ( antes del main):

Código
  1. String nombres_nuevos[100]; // en tu caso usas char
  2. int indice_nombres =0; // esta variable global sirve para recorrer el arreglo nombres_nuevos
  3. String apellidos_nuevos[100]; // arreglo para los apellidos
  4. int indice_apellidos=0; // variable para recorrer el arreglo
  5. String direccion_nueva[100];
  6. int indice direccion=0;
  7. int n_telefono[100];
  8. int indice_telefono=0;
  9.  
  10.  

Luego al momento de pedir los datos tienes que guardar los datos en cada uno de los arreglos y aumentar el inidce en 1 para cada dato.

Código
  1. system("cls");
  2.      printf("\nIngrese el nombre:  \n");
  3.      scanf("%s",&b);
  4.      nombres_nuevos[indice_nombres]=b;
  5.      indice_nombres++;
  6.      printf("\nIngrese el apellido:  \n");
  7.      scanf("%s",&c);
  8. apellidos_nuevos[indice_apellidos] = c ;
  9. indice_apellidos++;
  10.  
  11.      printf("\nIngrese la direccion por calle: \n");
  12.      scanf("%s",&d);
  13. direccion_nueva[indice_direccion]=d;
  14. indice_direccion++;
  15.      printf("\nIngrese el numero telefonico: \n");
  16.      scanf("%s",&e);
  17. n_telefono[indice_telefono]=e;
  18. indice_telefono++;
  19.  
  20.  


Yo uso String y no char por lo que este codigo no funcionara a menos que cambies el tipo de mis variables por Char o dejes de utilizar char y uses Strings.
Con cada recorrido el indice de todos los arreglos cambia por lo que el mismo numero de indice debe coincidir con cada usuario.
Al momento de mostrar la informacion muestras los arreglos con el mismo numero de inidice ( mas facil con un for o algo).
Recuerda que hacer casting entre String y char es doloroso :)


[MOD] Para publicar código se usan las etiquetas GeSHi.



Título: Re: mi programa no lee las opciones del menu
Publicado por: ThunderCls en 26 Junio 2018, 18:35 pm
@paris2312, tu acercamiento en este caso es totalmente erroneo, para afrontar este tipo de problemas tienes que usar tipos de datos dinamicos, en tu caso por lo que veo deberías crearte una estructura:
Código
  1. typedef struct CONTACTO{
  2.    char nombre[MAX_PATH];
  3.    char apellido[MAX_PATH];
  4.    char direccion[MAX_PATH];
  5.    char tel[MAX_PATH];
  6. }
  7.  

Luego necesitas un contenedor para almacenar cada contacto por separado, puedes usar arrays, listas, etc...aunque por lo que veo no debes tener mucho dominio de estructuras de datos, en fin, buena suerte