Título: Duda STRCMP Publicado por: LucasNahuel en 6 Mayo 2016, 15:28 pm 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 Título: Re: Duda STRCMP Publicado por: HardForo en 6 Mayo 2016, 15:38 pm Imagino input.nickUsuario no estara vacia.... o si ?
Para que mueves el contador i ? en el fragmento no se alcanza a ver Título: Re: Duda STRCMP Publicado por: LucasNahuel en 6 Mayo 2016, 15:41 pm 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
Título: Re: Duda STRCMP Publicado por: AlbertoBSD en 6 Mayo 2016, 15:41 pm 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
Título: Re: Duda STRCMP Publicado por: LucasNahuel en 6 Mayo 2016, 15:48 pm 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
Título: Re: Duda STRCMP Publicado por: HardForo en 6 Mayo 2016, 16:08 pm 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 Título: Re: Duda STRCMP Publicado por: LucasNahuel en 6 Mayo 2016, 16:11 pm 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
Título: Re: Duda STRCMP Publicado por: HardForo en 6 Mayo 2016, 16:19 pm 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. Título: Re: Duda STRCMP Publicado por: LucasNahuel en 6 Mayo 2016, 16:25 pm 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
Título: Re: Duda STRCMP Publicado por: HardForo en 6 Mayo 2016, 16:43 pm 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) Título: Re: Duda STRCMP Publicado por: MAFUS en 6 Mayo 2016, 16:58 pm strcmp busca una correspondencia 1 a 1 entre las dos cadenas por tanto
Título: Re: Duda STRCMP Publicado por: HardForo en 6 Mayo 2016, 16:59 pm Busca correspondencia 1 a 1 hasta la longitud que especifiques, en ese sentido busca una subcandena; de acuerdo con todo lo demás.
Título: Re: Duda STRCMP Publicado por: LucasNahuel en 6 Mayo 2016, 17:32 pm HABIA UN ERROR EN CUANDO PEDIA EL NICK AL PRINCIPIO, Y COMO LO GUARDABA, UNA TONTERIA QUE LO HICE DISTRAIDO, GRACIAS A TODOS IGUAL !
Título: Re: Duda STRCMP Publicado por: HardForo en 6 Mayo 2016, 17:35 pm Busca correspondencia 1 a 1 hasta la longitud que especifiques, en ese sentido busca una subcadena; de acuerdo y muy apropiado mencionar todo lo demás. Título: Re: Duda STRCMP Publicado por: MAFUS en 6 Mayo 2016, 17:53 pm Busca correspondencia 1 a 1 hasta la longitud que especifiques, en ese sentido busca una subcandena; de acuerdo con todo lo demás. Eso es strncmp :rolleyes: Título: Re: Duda STRCMP Publicado por: HardForo en 6 Mayo 2016, 18:02 pm Tienes razón :xD
|