Autor
|
Tema: Intento comparar cadenas [novato] (Leído 13,276 veces)
|
Slava_TZD
Wiki
Desconectado
Mensajes: 1.466
♪ [8675309] ♪
|
Acortando código: #include <stdio.h> #include <string.h> main() { char texto[100]; printf ("Introduzca la frase correcta: "); fgets(texto ,sizeof(texto ),stdin ); while(strcmp(texto ,"hola\n")!=0) { printf ("Error!\nIntroduzca la frase correcta: "); fgets(texto ,sizeof(texto ),stdin ); } printf ("La frase es correcta.\n"); }
Joder, que aburrido estoy XD EDIT: ¿De que libro estás aprendiendo C?
|
|
« Última modificación: 5 Mayo 2012, 19:03 pm por Tzhed\ Kyperf/ »
|
En línea
|
The fact is, even if you were to stop bombing us, imprisoning us, torturing us, vilifying us, and usurping our lands, we would continue to hate you because our primary reason for hating you will not cease to exist until you embrace Islam.
|
|
|
barnix456
Desconectado
Mensajes: 128
El soft es como el sexo, cuando es Libre es mejor
|
jajaja... eso estuvo bueno, vamos eso nunca se me hubiera ocurrido, esta muy bueno eh!! lo mismo pero mas pequeño
|
|
|
En línea
|
"No temo a los ordenadores; lo que temo es quedarme sin ellos"
Isaac Asimov
|
|
|
barnix456
Desconectado
Mensajes: 128
El soft es como el sexo, cuando es Libre es mejor
|
Realmente que es lo que hace esta linea:
fgets(texto,sizeof(texto),stdin);
EDITO: Realmente de muchos libros, no solo de uno, llevo uno de análisis de algoritmos y dos de c:
1) Programacion.en.C.Metodologia.Algoritmos.y.Estructura.de.datos.Editorial.McGraw-Hill 2) Programacion en C Metodologia, Algoritmos y Estructurade datos [Luis Joyanes Aguilar & Ignacio Zahomero Martines] 3) Como.Programar.en.C.C.Plus.Plus.-.Deitel.Prentice-Hall 4) Lo que pueda aprender aqui en el foro
|
|
« Última modificación: 5 Mayo 2012, 19:06 pm por barnix456 »
|
En línea
|
"No temo a los ordenadores; lo que temo es quedarme sin ellos"
Isaac Asimov
|
|
|
exel
Desconectado
Mensajes: 50
|
La definicion de fgets() es la siguiente: char *fgets(char *cadena, int n, FILE *stream); "Basicamente dice: copiar una cadena de longitud menor a n que este en stream y guardarla en cadena" ...aunque te parezca un poco rara te explico en español lo que significa: *stream es una fuente de donde se obtiene la cadena de caracteres, esta fuente debe ser un archivo. En tu caso stdin es un archivo donde se almacena lo que escribes por teclado, y se denomina buffer de entrada. n es la cantidad de caracteres que quieres obtener como maximo de *stream. Comunmente, le asignamos a n la longitud de tu cadena. cadena es el nombre de tu variable donde se debe almacenar lo que obtendas de *stream... una restriccion que impone la funcion fgets() es la siguiente: "Ningún carácter adicional es leído después del carácter de nueva línea ('\n') o después de un final de fichero (EOF)"
|
|
« Última modificación: 5 Mayo 2012, 19:27 pm por exel »
|
En línea
|
|
|
|
barnix456
Desconectado
Mensajes: 128
El soft es como el sexo, cuando es Libre es mejor
|
pues a si que le entienda, no mucho tendre que practicar un poco mas sonbre esto, para que lo domine un poco, gracias EXEL
|
|
|
En línea
|
"No temo a los ordenadores; lo que temo es quedarme sin ellos"
Isaac Asimov
|
|
|
exel
Desconectado
Mensajes: 50
|
Anteriormente dijiste esto: edito: tambien esta mal, por que escribo la frase correcta "ola" y dice: frase incorrecta, y lo que deberia decir es que esta bien y salir, aparte el programa nunca se cierra, son siemples errores, intentare analizar ese nuevo modelo, eso es nuevo para mi... La respuesta es que quieres comparar la cadena obtenida con fgets() con la cadena "ola\n", pero, como dije anteriormente, fgets() no puede copiar el caracter '\n'. Por eso estaras comparando "ola" con "ola\n" y nunca lograras asertar. Saludos
|
|
|
En línea
|
|
|
|
barnix456
Desconectado
Mensajes: 128
El soft es como el sexo, cuando es Libre es mejor
|
Gracias, ese error no lo habia notado, pero bueno al final ya quedo! gracias de nuevo
|
|
|
En línea
|
"No temo a los ordenadores; lo que temo es quedarme sin ellos"
Isaac Asimov
|
|
|
|
barnix456
Desconectado
Mensajes: 128
El soft es como el sexo, cuando es Libre es mejor
|
ok gracias... lo revisare, cualquier informacion es buena..
|
|
|
En línea
|
"No temo a los ordenadores; lo que temo es quedarme sin ellos"
Isaac Asimov
|
|
|
Rodrigosolari
Desconectado
Mensajes: 5
|
amigo una ayuda en tu problema de comparar cadenas..... espero que sea de tu ayuda
#include<iostream>
using namespace std;
int main(){ char cadena1[100]; char cadena2[100]; bool rpt = true; int i=0; cout<<"Ingrese la primera Cadena de Texto"<<endl; gets(cadena1); cout<<"Ingrese la segunda Cadena de Texto"<<endl; gets(cadena2); cout<<endl<<"\t\t\t\tComparando"<<endl<<endl; do{ if(cadena1[ i ]!=cadena2[ i ]){//borra los espacios entre la i y [], pues si no no me lo reconoce rpt = false; break; } i++; }while(cadena1[ i ]!='\0' || cadena2[ i ]!='\0' );//borra los espacios entre la i y [], pues si no no me lo reconoce if(rpt){ cout<<"La cadena de Caracteres son Identicas: "; cout<<"comparacion "<<cadena1<<" = "<<cadena2<<endl; } else cout<<"La cadena de Caracteres son diferentes: "<<endl; system("pause"); }
|
|
« Última modificación: 6 Mayo 2012, 02:30 am por Rodrigosolari »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
como puedo comparar dos cadenas de texto?
Programación C/C++
|
linux1
|
8
|
10,657
|
15 Octubre 2010, 15:22 pm
por xassiz~
|
|
|
Comparar cadenas sin usar strcmp
« 1 2 »
Programación C/C++
|
Rockmore
|
12
|
21,402
|
25 Octubre 2010, 07:01 am
por do-while
|
|
|
¿Comparar dos cadenas de caracteres en php?
PHP
|
Netstat89
|
5
|
11,092
|
1 Octubre 2012, 21:21 pm
por Shell Root
|
|
|
Error al comparar cadenas
Programación C/C++
|
amchacon
|
1
|
2,573
|
26 Enero 2013, 15:28 pm
por amchacon
|
|
|
Error al comparar cadenas en estructuras
Programación C/C++
|
ramona98
|
3
|
3,036
|
28 Agosto 2013, 10:23 am
por do-while
|
|