Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: NicolasPileci en 6 Agosto 2019, 05:11 am



Título: Vector de cadena de caracteres
Publicado por: NicolasPileci en 6 Agosto 2019, 05:11 am
Estimados,
buenas tardes.

Necesito hacer un codigo que me permite ingresar una descripcion por cada cada articulo de un vector.

Lo tengo hasta ahora es lo siguiente:

Funcion

Código
  1. void validarVectorDesc(char* [], int);

Main

Código
  1. validarVectorDesc(des, TAM_DES);

Funcion Codificada

Código
  1. void validarVectorDesc(char *desc[TAM], int LS)
  2. {
  3. do
  4.        puts("Ingrese descripcion de articulo: ");
  5.        gets(*desc);
  6. while(strlen(*desc) < LS);
  7. }

Siento tener un problema en la lógica pero no logro descifrar cual.

Desde ya muchas gracias!


Título: Re: Vector de cadena de caracteres
Publicado por: K-YreX en 6 Agosto 2019, 06:06 am
Entiendo que lo que quieres hacer es un vector de cadenas de caracteres. Entonces como una cadena de caracteres ya es un vector, pues necesitas un vector de vectores. Un vector de vectores es lo mismo que una matriz.

Código
  1. #include <stdio.h>
  2.  
  3. #define MAX_ARTICULOS 4
  4. #define MAX_SIZE 100
  5.  
  6. int main(){
  7.    char descripciones[MAX_ARTICULOS][MAX_SIZE];
  8.  
  9.    for(size_t i = 0; i < MAX_ARTICULOS; ++i){
  10.        printf("Introduce la descripcion del articulo %d: ", i+1);
  11.        fgets(descripciones[i], MAX_SIZE, stdin);
  12.    }
  13.  
  14.    for(size_t i = 0; i < MAX_ARTICULOS; ++i)
  15.        printf("Descripcion %d: %s", i+1, descripciones[i]);
  16. }

Ahí tienes un ejemplo de cómo trabajar con vectores de cadenas. Piensa que cada línea es una cadena (una frase) y cada columna es un caracter.
Puedes probar ese pequeño código para que veas cómo funciona o intentar hacer algún cambio para entender el funcionamiento. También puedes por ejemplo pedir el número de artículos a tratar y si es menor que <MAX_ARTICULOS> usarlo como condición del bucle.


Título: Re: Vector de cadena de caracteres
Publicado por: NicolasPileci en 13 Agosto 2019, 21:59 pm
Muchas gracias!

Funciono perfecto y lo explicaste de manera excepcional.

Saludos!