Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Elaboración de un catálogo en lenguaje de programación C (https://www.clubdelphi.com/foros/showthread.php?t=92847)

Daniel2622 20-02-2018 20:03:52

Elaboración de un catálogo en lenguaje de programación C
 
Buenas tardes, tengo que elaborar un programa en lenguaje de programación C, en el cual mediante arreglos (arrays) permita a un usuario crear un catálogo de películas por categorías. Tiene que tener las siguientes opciones:
1) Agregar categoría.
2) Agregar película a categoría.
3) Ver lista de películas .

Hay algunas consideraciones las cuales son:
1) Pueden agregarse hasta 5 categorías.
2) Cada categoría podrá almacenar hasta 15 películas.
3) Cada que se muestre el título de una película deberá mostrarse la categoría a la que pertenece.
4) El programa únicamente deberá finalizar cuando el usuario seleccione la opción de salir, por lo que el menú se deberá mostrar cada que termine alguna acción.

El siguiente código es el que eh hecho hasta el momento:
Código:

#include<stdio.h>

int main()
{
    short opcion;
    while(1)
    {
        printf("Progrma que despliega catalogo de pel%cculas\n\n",161);
        printf("Eliga una opci%cn\n\n",162);
        printf("\t1)Agregar categor%ca\n",161);
        printf("\t2)Agregar pel%ccula a categor%ca\n",161,161);
        printf("\t3)Ver lista de pel%cculas\n",161);
        printf("\t4)Salir\n");
        scanf("%d",&opcion);
        switch(opcion)
        {
            case 1: agregarCategoria();
            break;
            case 2: agregarPelicula();
            break;
            return 0;
            default: printf("opcion no valida");
        }
    }
    return 0;
}

void agregarCategoria()
{
    int ren,col,i,j,k=0;
    printf("Igresa el tama%co de la categor%ca:\n",164,161);
    printf("\nRenglones:");
    scanf("%i",&ren);
    printf("\nColumnas:");
    scanf("%i",&col);
    char categoria[ren][col];
    char texto[ren*col];
    printf("\nEscriba la categor%ca:",161);
    scanf("%s",&texto);
    for (i=0;i<ren;i++)
        for (j=0;j<col;j++)
            categoria[i][j] = texto[k++];
    printf("\nLa categor%ca agregada fue:\n",161);
    for (i=0 ; i<col ; i++)
        for (j=0 ; j<ren ; j++)
            printf("%c", categoria[j][i]);
}

void agregarPelicula()
{
    int ren,col,i,j,k=0;
    printf("Igresa el tama%co de la pel%ccula:\n",164,161);
    printf("\nRenglones:");
    scanf("%i",&ren);
    printf("\nColumnas:");
    scanf("%i",&col);
    char pelicula[ren][col];
    char texto[ren*col];
    printf("\nEscriba el nombre de la pel%ccula:",161);
    scanf("%s",&texto);
    for (i=0;i<ren;i++)
        for (j=0;j<col;j++)
            pelicula[i][j] = texto[k++];
    printf("\nLa pel%ccula agregada fue:\n",161);
    for (i=0 ; i<col ; i++)
        for (j=0 ; j<ren ; j++)
            printf("%c", pelicula[j][i]);
}

Al parecer la opción 1 si funciona, pero ya la opción 2 me marca como opción no válida.

Muchas gracias por su ayuda y saludos. :)

ecfisa 20-02-2018 23:39:48

Hola.
Cita:

Empezado por Daniel2622 (Mensaje 524681)
...
Al parecer la opción 1 si funciona, pero ya la opción 2 me marca como opción no válida.

De lo anterior entiendo que tenes problemas con la selección del menu, creo que deberías armarlo de un modo similar a este:
Código PHP:

#include<stdio.h>

// prototipos de función
void agregarCategoria(void);
void agregarPelicula(void);
void listarPeliculas(void);
//...

// principal
int main()
{
  
short opcion;

  do {
    
printf("Progrma que despliega catalogo de pel%cculas\n\n",161);
    
printf("Eliga una opci%cn\n\n",162);
    
printf("\t1)Agregar categor%ca\n",161);
    
printf("\t2)Agregar pel%ccula a categor%ca\n",161,161);
    
printf("\t3)Ver lista de pel%cculas\n",161);
    
printf("\t4)Salir\n");
    
scanf("%d", &opcion);

    switch(
opcion) {
      case 
1agregarCategoria(); break;
      case 
2agregarPelicula();  break;
      case 
3listarPeliculas();  break;
      case 
4: break;
      default: 
printf("opcion no valida\n");
    }
  } while (
opcion != 4);

  return 
0;
}

// definicion de funciones
void agregarCategoria(void

  ... 
}
void agregarPelicula(void)
{
  ...
}
void listarPeliculas(void)
{
  ...
}

//... 

Saludos :)

Daniel2622 21-02-2018 07:17:35

Gracias ecfisa, me fue de mucha ayuda tu código :)


La franja horaria es GMT +2. Ahora son las 16:27:03.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi