Duda STRCMP

Iniciado por LucasNahuel, 6 Mayo 2016, 15:28 PM

0 Miembros y 5 Visitantes están viendo este tema.

LucasNahuel

Quiero hacer una funcion para modificar un nombre, clave o correo, de un usuario comparando el NICK QUE YA SE INGRESO en pasos anteriores, pero siempre me entra en el Else y no entiendo por que..


Citar
void modificarUsuarios(sUsuario input[],int cantidad) //sUsuario es el tipo de estructura que estoy utilizando
{
int i;
char auxNick[26];
   

   printf("ingrese Nombre de nick que desea modificar");
   scanf("%s", auxNick);

   for(i=0; i<cantidad; i++)
   {
       if(strcmp(input[ i ].nickUsuario,auxNick)==0)
       {
          //desarrollo.
       }
      else
      {
       
       }
   }
}//termina funcion

HardForo

Imagino input.nickUsuario no estara vacia.... o si ?

Para que mueves el contador i ? en el fragmento no se alcanza a ver


HardForo:  foro de Hardware y programación

Se buscan Mods y colaboradores *

LucasNahuel

disculpas, no me agarra los corchetes, pero tiene un corchete y en el medio un I para que busque dentro de la estructura la coincidencia.. Disculpa el desorden pero soy nuevo en el foro

AlbertoBSD

No se alcanza a ver el codigo completo. Antes del for manda a imprimir la variable auxNick para ver que tiene esa funcion que tienes como gets no es muy estandar... no se que haga realmente
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

LucasNahuel

perdon, es que lo estoy sacando de un trabajo practico que estoy haciendo, y esta todo desordenado, y no me di cuenta que esta tan desordenado la cosa, pero de a poco lo voy ordenando a ver si se entiende

HardForo

#5
Quizas puedas decir que quieres hacer..... en algunos casos es mejor  ;D

No necesitas recorrer con un for() caracter a caracter tu "string" ya que eso lo hace la propia funcion strcmp!

https://es.wikipedia.org/wiki/Strcmp
HardForo:  foro de Hardware y programación

Se buscan Mods y colaboradores *

LucasNahuel

arriba en el mensaje puse, quiero hacer una funcion que compare un nick ya ingresado con el que se pide en la funcion, pero ingrese lo que ingrese, entra en el ELSE

HardForo

Mas bien deberias pedir un nick (por ejemplo en el main) y ahi mismo hacer un strcmp() ya que encapsula la comparacion char a char hasta la longitud que tu le digas.

Si te devuelve 0 (que equivale a false), llamas ahi mismo a una funcion pideNick()

No es necesario hacer una funcion modificaNick() para lo que estas pidiendo..... si la haces es por otro motivo.
HardForo:  foro de Hardware y programación

Se buscan Mods y colaboradores *

LucasNahuel

hago la funcion porque me piden el trabajo practico y que dentro del main haya un switch con cada case de 1 o 2 lineas de codigo, y todo lo demas desarollado con funciones y bibliotecas

HardForo

La funciones para CRUD (crear-leer-modificar-borrar) no tienen nada extraño pero lo raro (mal) es llamar a modificar cuando ni siquiera ha pasado la validación.

En ese caso debes volver a llamar a tu leer (pedirUsuario, leerUsuario o como quieras llamarle)
HardForo:  foro de Hardware y programación

Se buscan Mods y colaboradores *