Validación de texto y diferencia de lenguajes

Como principiante que soy y tal vez me puedas ayudar a solucionar y ver como fue solucionado mi problema (osea no me des solo la solución sino trata de que sea fácil para poder entender)
1)Como hago para que al entrar una cadena de caracteres, yo le permita al usuario solo introducir números y teclas de control (suprimir, insertar, etc) y no caracteres
(Nota: esto es en C)
2)Cual es la ventaja de un programa como Visual C en comparación con un Delphi de borland
Respuesta
1
Acá te mando el código para que lo entiendas bien.
//**************************
#include <conio.h>
#include <iostream.h>
#define kbEnter 13 //DEFINIMOS LAS CONSTANTES
#define kbBack 8
void Ingresar(char *cad)
{
char key; //GUARDA LA TECLA QUE SE LEE
int i = 0; //CONTADOR
do //REPETIMOS
{
key = getch(); //LEEMOS UNA TECLA
if ((key >= '0') && (key<='9')) //SI ES UN NUMERO
{
cad = key; //LA AGREGAMOS EN LA CADENA
cout<<key; //MOSTRAMOS LA TECLA
i++; //INCREMENTAMOS EL INDICE
}
if ((key == kbBack) && (i>0)) //SI LA TECLA ES BACKSPACE Y EL
{ //INDICE EL MAYOR A CERO
i--; //DECREMENTAMOS EL INDICE
cad = '\0'; //MARCAMOS EL FIN DE CADENA
clrscr();
cout<<cad; //MOSTRAMOS TODA LA CADENA
}
}
while (key != kbEnter); //FIN REPETIR
cad = '\0'; //MARCAMOS FIN DE CADENA
}
void main(void)
{
char Cadena[255];
clrscr();
Ingresar(Cadena);
cout<<"\n\n";
cout<<Cadena;
getch();
}
//**************************
En cuanto a la diferencia de los lenguajes visuales:
- Todos los del paquete de microsoft (visual C por ej) tienen toda la compatibilidad con windows en contra de los de Borland que puede llegar a traer conflictos de memoria. En mi opinión es más difícil de programar en los de microsoft y si sos principiante te aconsejo toda la vida Borland C.
Pues bien, primero muchas gracias por tu respuesta, desde ahora te cuento que ya por mi tienes los 5 puntos para seguir avanzando, pero quiero 2 aclaraciones:
1:Cuando escribí el código en mi compilador de turbo c(c++ version 3.0 de Borland international) me emitió el siguiente error Error directive : Must use C++ for the type iostream, y no se como solucionarlo (ya fui a ver si el archivo iostream se encuentra en la carpeta include y si esta!
2:Por que me recomiendas, ¿borland C y no Borland delphie?, cual es la diferencia y ventaja.
De nuevo gracias y disculpa por la molestia.
Luis.
Con respecto al error, supongo que debe ser porque no estas usando c++ sino es c. Porque si fuera un problema de que no encuentra la carpeta te diría otra cosa, como por ejemplo que no puede encontrar iostream.h. Si ves que no es eso consúltame nuevamente. De todas formas fíjate en las opciones darle la ruta para los include. Te fijas en donde están todos estos archivos *. H y le das esa ruta en donde dice include.
Lo que te aconsejaba era que si quieres programar de forma fácil y visible, te conviene utilizar la rama de Borland, ya sea C o Delphi. Es exactamente lo mismo. Muy parecidos. Y que no te enrosques con Microsoft (Visual C por ejemplo), que es más difícil para aprender.
Bueno ya que me dijiste que preguntara de nuevo pues ahí va:
¿Borland C es C? O solo el nombre se le parece, pues si es así me parece que tiene más opciones que delphie, pues c, tiene más opciones que pascal, ¿estoy en lo correcto?
2. Pues vieras que ya probé con otros códigos y mayoría de .h me los ha admintido por lo que descarto sea algo de ruta, me fije en la carpeta de los include y si se encuentra el iostream, pero aún así no me corre, será que hay que configurar algo para que pueda leerlo, pues tengo la sospecha que solo esta leyendo c, y no c++
Gracias a ti por las respuestas
Chao.
Te cuento. Borland C es C. Borland es la empresa que lo hace. Delphi es de Borland y la version visual de Pascal.
Builder C++ es la version visual de Borland C++. Borland C es Borland C.
El error supongo que es porque tienes C y no C++.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas