Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: linux1 en 26 Junio 2010, 03:13 am



Título: hola como puedo utilizar cadenas de texto en C o char
Publicado por: linux1 en 26 Junio 2010, 03:13 am
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
Código:
#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  :)


Título: Re: hola como puedo utilizar cadenas de texto en C o char
Publicado por: Littlehorse en 26 Junio 2010, 03:33 am
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!


Título: Re: hola como puedo utilizar cadenas de texto en C o char
Publicado por: 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
Citar
char var[30];

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


para grabarla o llamarla se utiliza la funcion %s




Título: Re: hola como puedo utilizar cadenas de texto en C o char
Publicado por: cbug en 26 Junio 2010, 04:46 am
No utilices scanf() sino fgets().

https://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html


Título: Re: hola como puedo utilizar cadenas de texto en C o char
Publicado por: leogtz en 26 Junio 2010, 06:36 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
Citar
char 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.


Título: Re: hola como puedo utilizar cadenas de texto en C o char
Publicado por: @synthesize en 26 Junio 2010, 06:38 am
Y aparte de lo que te dijeron, declaras cadena y no lo usas.


Título: Re: hola como puedo utilizar cadenas de texto en C o char
Publicado por: Garfield07 en 28 Junio 2010, 12:58 pm
Al final el code seria algo asi:

Código
  1. #include <stdio.h>
  2.  
  3. int main ()
  4. {
  5. char name [30];
  6. printf ("Escriba su nombre: ");
  7. fgets (name, 30, stdin)
  8. printf ("Su nombre es %s", name);
  9. return 0;
  10. }
  11.  

Saludos y suerte XD!