hola como puedo utilizar cadenas de texto en C o char

Iniciado por linux1, 26 Junio 2010, 03:13 AM

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

linux1

hola amigos yo hice un programa-codigo
pero yo quiero escribir un nombre y que el programa me diga lo que escribi
pero solo me sale la primera letra del nombre y no el completo
#include <stdio.h>
#include <stdlib.h>

int main()
{
    char nombre, edad;
    printf("intro nombre");
    scanf("%c", &nombre);
    printf("tu nombre %c", nombre);
    getch();
    return 0;
}


utilizo las variables char
y compilador codeblocks

esto lo hice con ayuda de un super manual de aqui el foro
perdon si esta pregunta es tonta pero ya busque en google mis otros manuales pero no

apenas comienzo con C
y las sección de las variables de tipo char

en general como puedo poner el numero de caracteres en la variable char

gracias  :)



Littlehorse

Porque estas declarando un char, un char es para 1 solo carácter. Para leer un nombre debes declarar una cadena (A.K.A: Arreglo/array).

También ten en cuenta que getch proviene de una librería no estándar llamada conio que no es recomendable utilizar.

Busca sobre ambas cosas que hay ejemplos en el foro. :)

Saludos!
An expert is a man who has made all the mistakes which can be made, in a very narrow field.

linux1

ya gracias

aprendi algo nuevo
y lo pongo para la gente
para alguien que le pueda servir
Citar#include <stdio.h>
#include <string.h>

int main()
{
    char cadena[10];
    char nombre[100];
    printf("introduzca su nombre\n");
    scanf("%s", nombre);
    printf("tu nombre es %s",nombre);
    getch();
    return 0;
}

analizando

cuando solo ponemos un caracter o letra o nombre de varias letras al nombre de la variable de tipo char
solo sera para un caracter

  para que funcione con mas caracteres debe de poner se el numero de caracteres asi que llevara asi [xxx] donde x es el numero

y queda asi
Citarchar var[30];

gracias si tengo errores en la explicacion digan por favor gracias de nuevo


para grabarla o llamarla se utiliza la funcion %s






leogtz

Cita de: linux1 en 26 Junio 2010, 04:38 AM
ya gracias

aprendi algo nuevo
y lo pongo para la gente
para alguien que le pueda servir
Citar#include <stdio.h>
#include <string.h>

int main()
{
    char cadena[10];
    char nombre[100];
    printf("introduzca su nombre\n");
    scanf("%s", nombre);
    printf("tu nombre es %s",nombre);
    getch();
    return 0;
}

analizando

cuando solo ponemos un caracter o letra o nombre de varias letras al nombre de la variable de tipo char
solo sera para un caracter

  para que funcione con mas caracteres debe de poner se el numero de caracteres asi que llevara asi [xxx] donde x es el numero

y queda asi
Citarchar var[30];

gracias si tengo errores en la explicacion digan por favor gracias de nuevo


para grabarla o llamarla se utiliza la funcion %s




No hace falta que incluyas a string.h y getch() no es standard, así que para este tipo de ejercicios no deberias usarla.

Y si estás usando Dev-c++ cambiate.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

@synthesize

Y aparte de lo que te dijeron, declaras cadena y no lo usas.

Garfield07

Al final el code seria algo asi:


#include <stdio.h>

int main ()
{
char name [30];
printf ("Escriba su nombre: ");
fgets (name, 30, stdin)
printf ("Su nombre es %s", name);
return 0;
}


Saludos y suerte XD!


* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo