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

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ¿Como hacer una lista de nombres usando array con lenguaje C?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Como hacer una lista de nombres usando array con lenguaje C?  (Leído 31,730 veces)
alejandrodiaz

Desconectado Desconectado

Mensajes: 12


Ver Perfil
¿Como hacer una lista de nombres usando array con lenguaje C?
« en: 13 Julio 2015, 03:12 am »

Buenas a todos

Soy muy novato programando y me estoy iniciando con lenguaje C, así que pido que disculpen mi gran ignorancia.

Tengo un ejercicio de arrays el cual dice:

Se tiene una lista de n nombres, escribir un programa que solicite el nombre de un alumno y busque el nombre del alumno en la lista.

Para esto no debo usar ni punteros ni registros, solo array y lo más básico de C (bucles etc).

He leído y he visto en youtube muchos ejercicios de comparación de cadenas pero siempre tienen un solo nombre establecido, no una lista, ejemplo:

Código:
char nombre[10] ="maria";
char nombre2[10];

Allí se supone que en "nombre2" se guarda lo que introduce el usuario y se compara usando ctrcmp con el array "nombre".

Hasta allí todo bien, pero mi pregunta es ¿si es posible tener mas nombres guardados en el array "nombre" y como hacerlo?

Quise guardar varios nombres en una array de este modo:

Código:
char [10]= "maria";"jose";"luis";

Pero luego supe que una array solo almacena un caracter por cada elemento (pense que almacenaba cadenas enteras en cada elemento). No sé si es que deba crear más arrays, pero en una lista con más de cien alumnos sería un codigo muy extenso.

En fin, espero me hayan entendido y me puedan ayudar.



« Última modificación: 13 Julio 2015, 04:13 am por alejandrodiaz » En línea

crack81

Desconectado Desconectado

Mensajes: 222



Ver Perfil
Re: ¿Como hacer una lista de nombres usando array con lenguaje C?
« Respuesta #1 en: 13 Julio 2015, 05:19 am »

Que bueno que aprendas a programar en c sigue asi
Bueno tu lo que andas buscando es un arreglo bidimensional o tambien llamado de dos divisones

prueba esto:

Código
  1. int main()
  2. {
  3. char nombre[10]="maria";
  4.  
  5. //Esto es un arreglo bidimensinal
  6. //el primer corcheta es la cantidad de nombres
  7. //el segundo corchete es el tamano maximo de caracteres por cada nombre
  8. char nombres[4][10]={"jose","maria","rosa","sara"};
  9.  
  10. int i;
  11. for(i=0;i<4;i++){
  12.  printf("%s\n",nombres[i]);   //mostramos todos los nombres
  13.  if(strcmp(nombre,nombres[i])==0){
  14. printf("se encontro el nombre en la lista\n");//si encuentra el nombre muestra el mensaje
  15.  }
  16. }
  17.  
  18. return 0;
  19. }


En línea

Si C/C++ es el padre de los lenguajes entonces ASM es dios.
alejandrodiaz

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: ¿Como hacer una lista de nombres usando array con lenguaje C?
« Respuesta #2 en: 13 Julio 2015, 18:24 pm »

Un millón de gracias amigo crack81, era exactamente lo que estaba buscando.

Había leído de arrays bidimensional pero ejemplos con enteros no con caracteres y juraba que necesitaba un array unidimensional.

Al fin pude hacer el ejercicio quedandome de esta forma


Código
  1. int main()
  2. {
  3.    char nombres[6][10] = {"maria","teresa","mariana","jose","pedro","juan"};
  4.    char alum[10];
  5.    int cont=0;
  6.  
  7.    printf("Ingrese el nombre del alumno: \n");
  8.    scanf("%s", alum);
  9.  
  10.    int i;
  11.  
  12.    for(i=0; i<6; i++){
  13.            if (strcmp(nombres[i],alum)==0){
  14.  
  15.                printf("El alumno %s esta registrado\n", nombres[i]);
  16.  
  17.                }else{
  18.                    cont++;
  19.                }
  20.            }
  21.                    if (cont==6){
  22.                        printf("%s no esta registrado",alum);
  23.                    }
  24.  
  25.  
  26.    getch();
  27.    return 0;
  28. }
  29.  
  30.  

Nuevamete gracias!  ;-)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
lista de nombres graciosos « 1 2 3 »
Foro Libre
PrEmUt0s 24 343,058 Último mensaje 11 Febrero 2012, 16:01 pm
por anonimo12121
[Bash] ¿como podría buscar en varios archivos usando una lista?
Scripting
Cergath 1 3,827 Último mensaje 24 Febrero 2012, 00:03 am
por Cergath
Array de structs duda con los nombres C#
.NET (C#, VB.NET, ASP)
RevolucionVegana 2 3,093 Último mensaje 3 Junio 2017, 05:31 am
por Eleкtro
Como condicionar una lista (osea como hacer un 'if' en word 2007 de una lista)
Dudas Generales
xknov 0 1,570 Último mensaje 12 Agosto 2019, 08:58 am
por xknov
Como obtener nombres de archivos en una carpeta y agregarlos a un array | PS
Scripting
cat26 4 3,543 Último mensaje 7 Septiembre 2019, 04:40 am
por cat26
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines