Autor Tema: Array de caracteres en C (lenguajec) printf scanf for ejemplo  (Leído 7082 veces)

Gianz Ghrako

  • Sin experiencia
  • *
  • Mensajes: 2
    • Ver Perfil
tengo este codigo en el que registro diez nombres y luego busco ingreso otro nombre para verificar si fue ingresado en la lista..

lo que nececito es que me ayudeis a corregir mi error, porque aunque ingreso un nombre de la lista para verificar, me dice que no fue registrado.

Código: [Seleccionar]
#include <stdio.h>

int main()
{
    int i, j;
    char Lista[10][40], nombre[1][40];

   for(i=0; i<10; i++)
   {
        printf("Nombre %d: ", i);
        scanf("%s", Lista[i]);
   }

    printf("\n\nBuscar a : " );
    scanf("%s", nombre[1]);

    j=0;
    for(i=0; i<10; i++)
    {
        if(Lista[i]==nombre[1])
        {
            printf("Guardado en el espacio %d del registro", i);
            j++;
        }
    }

    if(j==0)

    {
        printf("\n\n%s no fue registrado..\n\n", nombre[1]);
    }

    return 0;
}

« Última modificación: 22 de Abril 2016, 21:57 por César Krall »

Jobemar

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 6
    • Ver Perfil
Re:Array de caracteres en C
« Respuesta #1 en: 19 de Abril 2016, 18:47 »
Amigo el problema surge a partir de que en C los array's guardan un carácter por posición, cuando intentas ingresar un valor solo guarda el primer carácter independientemente de su longitud. Por otro lado tienes algunos errores en tu código, cuando intentes guardar un valor en una variable en C no olvides colocar el simbolo "&"(sin comillas) antes de la variable. Me tome el atrevimiento de modificar tu codigo, quedó así:

Código: [Seleccionar]
#include<stdio.h>

int main(){
int i,j;
char Lista[10];
char nombre[2];

for (i=0;i<10;i++){
printf("Nombre %d: \n",i);
scanf("%s",&Lista[i]);
}
printf("Ingrese valor a buscar: ");
scanf("%s",&nombre[1]);
j=0;
for(i=0;i<10;i++){

if(nombre[1]==Lista[i]){
printf("La ubicación del datos es %d\n",i);
}
else{j++;}
}
if(j>9){
printf("El valor no esta registrado");
}
return 0;
}
« Última modificación: 19 de Abril 2016, 19:13 por Alex Rodríguez »

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".