C/Visual C - necesito hacer una cadena y se que algo hago mal, podrían ayudarme?

   
Vista:

necesito hacer una cadena y se que algo hago mal, podrían ayudarme?

Publicado por Lorena (1 intervención) el 10/12/2014 00:11:36
La letra del ejercicio dice:
Realizar un programa que permita ingresar por teclado una cadena de 8 caracteres y la muestre. Además que muestre el elemento de la posición 5..
a continuación muestro lo que he hecho:


1
2
3
4
5
6
7
8
9
10
11
12
# include <stdio.h>
int main () {
 
char cad [8];
for (int a=0; a<8; a++) {
printf ("caracter\  ");
scanf ("%s",& cad);     }
printf ("%c",cad);
printf ("\n lugar 5 %c",cad [5]);
 
return 0;
}

no se donde está mi error o errores o si falta algo...¿?
de antemano les agradezco su tiempo y ayuda..

Saludos... Lore
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

necesito hacer una cadena y se que algo hago mal, podrían ayudarme?

Publicado por Chema (187 intervenciones) el 10/12/2014 11:47:48
Creo que con la solución que te ofrezco, obtendrás una nota alta y serás la más mejor de la clase.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int main () {
	int a;
	char  cad[0x8];
	char *p;
 
	p = cad;
 
	for(a = 0x180; (a = (a >> 1));p++ ){
		printf ("caracter  ");
		scanf ("%s",p);
	}
 
	printf ("%s",cad);
	printf ("\n lugar 5 %c",cad[0x5]);
 
	return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

necesito hacer una cadena y se que algo hago mal, podrían ayudarme?

Publicado por Hector (11 intervenciones) el 13/12/2014 19:05:40
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# include <stdio.h>
# include <stdlib.h> // <-- para el system("pause")
 
int main ()
{
    char cad [8];
 
    for (int a=0; a<8; a++)
    {
        printf ("caracter  ");
        scanf ("%s",& cad[a]);  // <- debes indicar donde vas a guardar el caracter 
    }                           //    para eso es el cad[a]
    printf ("\nCadena: %s",cad);          // <- Ya que quieres imprimir una cadena cambia la c por la s
    printf ("\nQuinto Lugar: %c\n\n",cad [4]);// <- como los vectores inician desde 0, cad[4] representa
                                     // la quinta posicion    
    system("pause"); // pausa el programa
 
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

necesito hacer una cadena y se que algo hago mal, podrían ayudarme?

Publicado por Chema (187 intervenciones) el 13/12/2014 20:37:56
Leer la documentación tiene cosas buenas.
%s"; scanff.
Matches a sequence of bytes that are not white-space characters. The application shall ensure that the corresponding argument is a pointer to the initial byte of an array of char, signed char, or unsigned char large enough to accept the sequence and a terminating null character code, which shall be added automatically.

Tanto Hector como yo mismo, nos hemos olvidado de el carácter nulo, cad debiera ser de 9 caracteres. char cad [9];
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar