Autor
|
Tema: Ayuda con mi programa, compila pero no funciona correctamente. (Leído 1,835 veces)
|
estudianteuv
Desconectado
Mensajes: 10
|
Tengo un programa que lee una cadena, luego pide un carácter a editar y un carácter a poner. Al final se trata de mostrar la cadena y en la letra editada poner el carácter que el usuario puso, tengo esto pero no encuentro el error, ¡Gracias! #include<stdio.h> char *sust(char *p,char edit,char po); int main(){ char cad[10]; char editar; char poner; char *r; printf("Ingrese cadena: "); scanf("%s",&cad); fflush(stdin); printf("Letra a editar: "); scanf("%c",&editar); fflush(stdin); printf("Letra a poner: "); scanf("%c",&poner); r=sust(cad,editar,poner); printf("Cadena editada: %s",r); return 0; } char *sust(char *p,char edit,char po){ if((*p)=='\0')return p; if((*p)==edit){ edit==po; return sust(++p,edit,po); } else return p; }
|
|
|
En línea
|
|
|
|
SrMcLister
Desconectado
Mensajes: 35
|
Hola estudianteuv. Resulta que tu en la función recursiva le estas pasando cada vez la palabra con una letra menos, supongo que eso ya lo sabías, pero el problema reside en el return p que has puesto si (*p)!=edit (en el else). Imagínate que yo introduzco pepe, y quiero cambiar la p por la n; el programa haría: P==P , la cambio por n y paso a la función epe, y la p te la comes!!.. luego como es natural, E!=P por lo tanto return p y en la palabra cambiada te aparece epe. Mi recomendación es que uses strings, son mucho mas faciles de tratar que los char. Si no puedes, con lo que te he dicho, intenta arreglarlo. Un Saludo!
|
|
|
En línea
|
return((u.areHappy() && u.knowIt()) ? u.clapYourHands() : u.goFuckYourself());
|
|
|
Xargam
Desconectado
Mensajes: 27
|
En el scanf usaste & (ampersand) y colocaste cad , eso esta mal. El nombre de un array es puntero que apunta al primer elemento del array (es una direccion de memoria). scanf trabaja con direcciones de memoria , no necesitas anteponerle el ampersand. Eso puede generar errores graves. No te estas refiriendo a la cadena cuando antepones el ampersand. Saludos !!! suerte!
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Alfa 1W rota, o funciona correctamente pero come mucho ruido...
Materiales y equipos
|
eKeR
|
3
|
4,632
|
17 Abril 2010, 22:47 pm
por NikNitro!
|
|
|
[C] ayuda, programa compila bien pero no cumple la funcion (solucionado)
Programación C/C++
|
xiruko
|
6
|
3,781
|
15 Abril 2012, 23:48 pm
por xiruko
|
|
|
¿Programa en c++ compila correctamente, pero se cuelga al correr?
Programación C/C++
|
erikat
|
3
|
4,069
|
4 Diciembre 2013, 12:22 pm
por Eternal Idol
|
|
|
Ayuda con un programa de VBNET que no funciona correctamente
.NET (C#, VB.NET, ASP)
|
zalazar16
|
3
|
4,373
|
9 Agosto 2017, 15:46 pm
por zalazar16
|
|
|
MOVIDO: Ayuda con un programa de VBNET que no funciona correctamente
Programación General
|
Eleкtro
|
0
|
2,049
|
6 Agosto 2017, 13:16 pm
por Eleкtro
|
|