como hacer una lectura de una palabra caracter a caracter???

Iniciado por asdavid, 3 Noviembre 2012, 12:46 PM

0 Miembros y 1 Visitante están viendo este tema.

asdavid

hola!!
soy muy nuevo en esto de programar en c++ y me pierdo en algunas cosas.
como podria hacer una lectura de una palabra caracter a caracter con sentencias basicas??
habia pensado algo asi:
#include<conio.h>
#include<stdio.h>
char letra;
int main()
{
   int con=0;
   for(contador=0;contador<10;contador++)
   {printf("Introduzca una palabra");
   scanf("%c",&letra);
   printf("%c",letra);}
}
la idea es que me valla diciendo las letras de la palabra una por una,lo que no se es como hacer en el bucle,que me escanee el segundo caracter,y luego el tercero y asi sucesivamente....y la palabra no puede estar almacenada en ninguna variable,ese es el ejercicio
un saludo y gracias!!

Stakewinner00

1-Eso es C
2-Utiliza las etiquetas GesHi
3-en c++ seria
Código (cpp) [Seleccionar]

#include <iostream>

int main () {
char c;
while (;;) {
cin >> c;
cout << "Has escrito " << c << endl;

}
}


nose si te refieres a eso.
Pero si la palabra no tiene que estar en una variable solo queda meterlo en un txt pero igualmente seria con variables

joewestside

Hola.
Me gustaría poder ayudarte pero no he entendido muy bien lo que estás queriendo hacer. Necesitas introducir una palabra entera y luego imprimir letra por letra o ir introduciendo letras y que las vaya imprimiendo? Si lo explicas un poco mejor tal vez podría ayudarte.

En cuanto al código también funciona en C++. Al fin y al cabo C++ proviene de C.

Blaster

#3
Creo que esto es lo que buscas, no te entendi muy bien:

#include <stdio.h>
#include <string.h>

int main(){  
char cadena[20];
int i, longi;

scanf("%s", cadena);
longi = ((int)strlen(cadena));

for(i=0; i<longi; i++)
printf("\n %c", cadena[i]);

return 0;
}


Cualquier duda avisame  ;)

xiruko

#4
#include <stdio.h>
#define MAX 32

int main() {
   
    char cadena[MAX];
    int i;

    for(i=0; i<MAX-1; i++) {
         scanf("%c", &cadena[i]);
         printf("Has escrito %c\n");
    }
    printf("Cadena entera: %s\n", cadena);
    return 0;
}


un saludo!

asdavid

#5
gracias a los que habeis contestado!!
lo que quiero es un bucle que me valla leyendo caracter a caracter una palabra, pero dicha palabra NO se puede almacenar en ninguna variable.
el decir si escribo,por ejemplo ´´coche255´´ me tiene que ir diciendo los caracteres uno por uno primero la c, luego la o...asi hasta el 5.
en resumen,una lectura caracter a caracter de una cadena de caracteres(char)
un saludo!!


Stakewinner00

no creo que se pueda sin declarar ni una variable de ningun tipo.


flony

si no esta en una variable, debe estar en un txt o algo....si lo pones desde desde el teclado debe quedar en algun lado...yo por lo menos si no es alguna de esas opciones no se
si un problema no tiene solucion entonces no es un problema...es algo inevitable

Stakewinner00

Cita de: flony en  3 Noviembre 2012, 21:09 PM
si no esta en una variable, debe estar en un txt o algo....si lo pones desde desde el teclado debe quedar en algun lado...yo por lo menos si no es alguna de esas opciones no se

si es en un txt supongo que necessitas una variable para guardar la info no?
creo que no hay ninguna forma posible en que no se utilize ni una variable para nada.

Creo que a ese tio le engeñaron un poco no?? XD

xiruko

podrias hacerlo de la siguiente manera, aunque algo necesario es que indiques el numero de letras a introducir. luego pensare en alguna otra manera...

#include <stdio.h>

int main() {

int i;

printf("Numero de letras? ");
scanf("%d", &i);
while (getchar()!='\n');

for (i; i>0; i--) {
printf("Has escrito: %c\n", getchar());
while (getchar()!='\n');
}

return 0;
}


salida:

xiruko:~$ gcc prueba.c -o prueba
xiruko:~$ ./prueba
Numero de letras? 4
a
Has escrito: a
b
Has escrito: b
c
Has escrito: c
d
Has escrito: d
xiruko:~$


un saludo!