#include <stdio.h>
Código C:
Ver original
Ponerle el & a nombre dentro de scanf no cambió nada, se supone que en una cadena de texto no es necesario cierto?
| |||
No puedo introducir valores a cadena de texto Hola, perdón por subir algo tan idiota, pero estoy empezando con las cadenas de texto, quiero introducirle un valor y no puedo, mejor veanlo: #include <stdio.h>
Código C:
Ver original Ponerle el & a nombre dentro de scanf no cambió nada, se supone que en una cadena de texto no es necesario cierto? |
| |||
Respuesta: No puedo introducir valores a cadena de texto mmm q raro eso deberia andar sin problemas; agrega el header stdio.h por las dudas Cita: exacto, no es necesarioPonerle el & a nombre dentro de scanf no cambió nada, se supone que en una cadena de texto no es necesario cierto? Saludos |
| |||
Respuesta: No puedo introducir valores a cadena de texto Hola, haz una cosa : antes de hacer el scanf vacía el buffer con la función fflush(stdin) e incluyendo la librería <stdlib.h> En caso que te siga diciendo que no puedes, en vez de hacer un scanf, utiliza la función gets(variable) , que sirve tambien para cadenas con espacios vacíos, pero es otra manera de leer... Prueba a ver que tal! |
| |||
Respuesta: No puedo introducir valores a cadena de texto Muchas gracias!!, al final me sirvió solo el gets, las otras cosas ya las había probado, no se igual porque sucede esto, tendrá algo que ver mi compilador?, uso el dev c++ |
| |||
Respuesta: No puedo introducir valores a cadena de texto Cita: puede ser q si, aunq yo tambien uso dev y no tengo problemas. Volve a instalarlo por las dudas tendrá algo que ver mi compilador?, uso el dev c++ Saludos PD: el error del scanf solo es con el formato %s o con todos?? |
| |||
Respuesta: No puedo introducir valores a cadena de texto Eso no es necesario, de hecho no es recomendable porque puede producir problemas de incompatibilidad en otras plataformas. |
| |||
Respuesta: No puedo introducir valores a cadena de texto Con todos, la única forma de que funcione fue con gets. PD: pueden decirme bien como se compran cadenas? (para ver si son iguales) |
| |||
Respuesta: No puedo introducir valores a cadena de texto Cita:
Código:
Para ello necesitas incluir la librería estandar:strcmp(Cadena1,Cadena2);
Código:
#include <string.h> |
| |||
Respuesta: No puedo introducir valores a cadena de texto LLevo un tiempo usando dev-c++ 4.9 y codeblocks, y puedo decirte que se nota la falta de soporte de varios años que arrastra el dev c++, varios programas que se compilan normalmente en codeblocks presenta problemas en el dev-c++ o producen extraños errores de compilacion, a pesar de eso el dev sigue siendo una buena alternativa |
| |||
Respuesta: No puedo introducir valores a cadena de texto Cita: Tienes razón!Supuse que estaría trabajando con DEV-C++ . Buen aporte ;)Entonces, si necesitas vacíar el buffer de forma genérica como lo haces? Yo sólo conozco fflush(stdin) y fflushnou(). Debes adapartarte a la plataforma no? O hay alguna manera de hacerlo único? |
| |||
Respuesta: No puedo introducir valores a cadena de texto Cita: No necesitas vaciar el buffer, los nuevos datos sobreescriben a los viejos.No sé de donde vino esa costumbre, pero al menos yo nunca lo he necesitado (C++). |
| ||||
Respuesta: No puedo introducir valores a cadena de texto Buenas, respecto al tema de fflush(stdin) es algo que NUNCA se debe usar, es algo propio de windows, por tanto no es multiplataforma. De hecho la funcion fflush() solo se deberia usar para flujos de salida=> fflush(stdout) Sobre como remediarlo, bueno aqui llegamos al problema que hay en C cuando se trabaja por consola y es que es algo que se quiere enseñar muy pronto cuando casi no conoces el lenguaje para empezar a hacer programas basicos, pero antes deberías aprender muchas cosas. De hecho, "no hay necesidad" de limpiar el buffer de entrada si se usan las funciones correctas, es decir si uno usa => fgets() para las cadenas y luego fgets() y sscanf() para los numeros, pero como es algo que puede parecer raro para los principiantes no se enseña y eso es un problema. Alternativas que hagan lo mismo que el fflush(stdin), pues hay una sencilla que es hacer un bucle, puedes hasta hacer tu propia funcion si quieres:
Código C:
Ver original Saludos |
| |||
Respuesta: No puedo introducir valores a cadena de texto Cita: Gracias, me podrías dar un ejemplo que incluya un if?, porque no entiendo bien como funciona cuando se usan condicionales.Saludos |
| |||
Respuesta: No puedo introducir valores a cadena de texto Cita: Se me olvidaba, si las dos cadenas son iguales te devuelve un cero.Por lo que:
Código:
if (strcmp(Cadena1,Cadena2) == 0) printf("Las dos cadenas son iguales"); |
| |||
Respuesta: No puedo introducir valores a cadena de texto Dev-C++ soporta C y C++, mientras que codeblocks es para C++. Además son entornos de desarrollo, no compiladores. |
| |||
Respuesta: No puedo introducir valores a cadena de texto Cita: Codeblocks en realidad soporta un mogollón de lenguajes (Como el Ruby,Python...). Aunque es verdad que está más especializado en C/C++ (ojo, soporta ambos por igual). |
| |||
Respuesta: No puedo introducir valores a cadena de texto
Código C:
Ver original Me tira error, no reconoce el strcmp. Esto ya me había pasado... por eso te pedi un ejemplo. |
| |||
Respuesta: No puedo introducir valores a cadena de texto |
Etiquetas: |