/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

Imprimir vectores string en procedimientos

 
      Índice del Foro elrincondelc.com -> Dev-C++
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
Anew



Registrado: 04 Jul 2014
Mensajes: 1

MensajePublicado: 04/07/2014 8:59 pm
Título: Imprimir vectores string en procedimientos

Hola. Me gustaría saber como se imprimen los vectores string en C. Yo ya intenté imprimirlos con printf y no logré ningún resultado.

# include <stdio.h>
# include <stdlib.h>
# include <string.h>
void talle2(char array2 [6])
{
int i;
for (i=0;i<6;++i){
array2[i]=0;
}
}
void talle (char array2 [6])
{
int i;
for (i = 0; i < 6; ++i) {
if (array2[i]!= 0) {
printf("numero de talle:%d", array2[i]);
printf("\n");
}
}
}
int main ()
{
void talle (char array2 [6]);
void talle2(char array2 [6]);
char nombre [3];
char auxnombre [3];
int counter2=0;
int votro2=0;
int votro1=1;
char tall [6];
talle2(tall);
while (votro1!=0)
{
++counter2;
printf("ingresar código de producto\n");
scanf("%d",&tall[counter2]);
gets(nombre);
strcpy(auxnombre,nombre);
printf("ingresar talle\n");
scanf("%s",&nombre);
printf("ingresar un número distinto de 0");
scanf("%d",&votro1);

}
printf("talle: %s",nombre);
talle(tall);
system ("PAUSE");
return 0;
}
Volver arriba
rir3760



Registrado: 01 Oct 2004
Mensajes: 7527
Ubicación: Mexico

MensajePublicado: 14/07/2014 6:52 am
Título:

Para imprimir una cadena de caracteres en la salida estándar se utiliza la función printf, en tu caso la impresión del nombre funcionara correctamente solo si este consiste de un máximo de dos caracteres lo cual (por razones obvias) no es practico.

Otro problema es leer cada uno de los códigos y almacenarlo en el array "tall" ya que los códigos son de tipo int mientras que los elementos del array "tall" son de tipo char. Para que funcione debes cambiar la declaración del array a "int tall[6]".

Algunos mas son leer el nombre dos veces en la misma iteración y copiar este al array "auxnombre" (no tiene caso ya que el contenido de ese array no lo utilizas en ninguna operación posterior).

Un programa de ejemplo basado en el tuyo para darte una idea mejor del uso de arrays, printf y scanf:
Código:
#include <stdio.h>

#define MAX_CHARS     128
#define MAX_ARTICULOS   6

int main(void)
{
   char nombre[MAX_CHARS];
   int codigo[MAX_ARTICULOS];
   int talle[MAX_ARTICULOS];
   int i;
   int num_articulos;
   char continuar = 'S';
   
   puts("Introduce tu nombre:");
   fgets(nombre, MAX_CHARS, stdin);
   
   /* Lectura de cada uno de los articulos */
   i = 0;
   while (i < MAX_ARTICULOS && continuar == 'S'){
      printf("Articulo No %d\n", i + 1);
     
      puts("Indica el codigo:");
      scanf("%d", codigo + i);
     
      puts("Indica el talle:");
      scanf("%d", talle + i);
     
      i++;
      if (i != MAX_ARTICULOS){
         puts("Deseas continuar? S/N");
         scanf(" %c", &continuar);
      }
   }
   num_articulos = i;
   
   /* Impresion de datos */
   printf("Nombre: %s", nombre);
   for (i = 0; i < num_articulos; i++)
      printf("%d\t%d\n", codigo[i], talle[i]);
   
   return 0;
}


Un saludo
_________________
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Volver arriba
      Índice del Foro elrincondelc.com -> Dev-C++
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com