Catalogo de libros
Publicado por alma (1 intervención) el 20/07/2018 16:49:06
hola, espero que me puedan ayudar, soy nueva para programar y me dejaron hacer un catalogo de libros usanndo arreglos y estructuras.
ya llevo una pequeña parte pero necesito que me ayuden a saber como invoco un procedimiento.
Construir el algoritmo (con diagrama de flujo o pseudocódigo) y programa en lenguaje C, según lo que se describe a continuación:
Generar un ‘struct’ para crear un nuevo tipo de dato llamado tlibro, el cual contiene los siguientes campos:
Título Arreglo de caracteres de tamaño 50
Autor(es) Arreglo de caracteres de tamaño 50
Editorial Arreglo de caracteres de tamaño 30
No de Edición Entero
Año de Edición Entero
Clasificación (LCC) Arreglo de caracteres de tamaño 30
ISBN Entero long
Generar un arreglo de tamaño 100, cuyos elementos son del tipo tlibro.
esta parte ya la hice:
Desplegar un menú de opciones (implementado como una función que retorna la opción seleccionada por el usuario) que permita generar acciones sobre el arreglo creado en el punto anterior, de acuerdo a lo siguiente:
1. Generar un nuevo registro de libro
2. Eliminar un registro de libro
3. Modificar un registro de libro
4. Visualizar todos los registros de libros
5. Buscar un registro de libro (por ISBN)
6. Terminar
esta parte tambien ya esta:
EN LA QUE TENGO DUDA ES EN ESTA PARTE:
Al seleccionar la opción 1 del menú deberá invocarse a un procedimiento que permita capturar los valores de los campos y almacenarlos en el siguiente elemento vacío del arreglo. Es decir, deberán desplegarse mensajes como los que se muestran a continuación y a partir de éstos el usuario debe capturar lo propio:
“Proporcione el título del libro: “
“Proporcione el(los) nombre(s) del(los) autor(es): “
“Proporcione la Editorial: “
…
Al seleccionar la opción 2 del menú deberá invocarse a un procedimiento que elimine un registro de libro en el arreglo, desplazando una posición a la izquierda el resto de los registros que se encuentren a la derecha del registro a eliminar. Queda a elección del programador el método para
indicar cuál es el registro a eliminar: por número de registro (número de elemento en el arreglo, de acuerdo a como indexaría un usuario), o por ISBN.
Al seleccionar la opción 3 del menú deberá invocarse a un procedimiento que pregunte cuál es el registro a modificar (queda a criterio del programador si la identificación del registros se hace por número de elemento en el arreglo o por ISBN), posteriormente debe desplegar un nuevo menú, a partir del cual pueda modificarse algún o algunos campos del registro de libro:
1. Modificar Título
2. Modificar Autor(es)
3. Modificar Editorial
4. Modificar No de edición
5. Modificar año de edición
6. Modificar clasificación
7. Modificar ISBN
8. Retornar
Al seleccionar una opción de este nuevo menú deberá preguntársele al usuario cuál es el nuevo valor del campo; por ejemplo, si el usuario seleccionó la opción 4 del nuevo menú, deberá desplegarse algo como lo siguiente, debiendo el usuario capturar lo propio (almacenándose, posterior a la captura, el valor en el campo del registro respectivo):
“Indique el No de edición correcto: “
Al seleccionar la opción 4 del menú principal deberá invocarse a un procedimiento que despliegue, en forma de lista, los valores de los campos de todos y cada uno de los registros de libro, recorriendo el arreglo en forma secuencial a partir del primer elemento.
Al seleccionar la opción 5 del menú principal deberá invocarse a un procedimiento que solicite un número de ISBN, busque en el arreglo un registro cuyo campo ISBN coincida con el número ingresado y, si se encuentra coincidencia, despliegue el número de registro y todos los valores de los campos del registro encontrado.
espero que me puedan ayudar.
ya llevo una pequeña parte pero necesito que me ayuden a saber como invoco un procedimiento.
Construir el algoritmo (con diagrama de flujo o pseudocódigo) y programa en lenguaje C, según lo que se describe a continuación:
Generar un ‘struct’ para crear un nuevo tipo de dato llamado tlibro, el cual contiene los siguientes campos:
Título Arreglo de caracteres de tamaño 50
Autor(es) Arreglo de caracteres de tamaño 50
Editorial Arreglo de caracteres de tamaño 30
No de Edición Entero
Año de Edición Entero
Clasificación (LCC) Arreglo de caracteres de tamaño 30
ISBN Entero long
Generar un arreglo de tamaño 100, cuyos elementos son del tipo tlibro.
esta parte ya la hice:
1
2
3
4
5
6
7
8
9
10
11
12
struct tlibro {
char titulo[50];
char autor[50];
char editorial[30];
int no_edicion;
int anio_edicion;
char clasificacion[30];
long ISBN;
};
tlibro arreglo[100];
Desplegar un menú de opciones (implementado como una función que retorna la opción seleccionada por el usuario) que permita generar acciones sobre el arreglo creado en el punto anterior, de acuerdo a lo siguiente:
1. Generar un nuevo registro de libro
2. Eliminar un registro de libro
3. Modificar un registro de libro
4. Visualizar todos los registros de libros
5. Buscar un registro de libro (por ISBN)
6. Terminar
esta parte tambien ya esta:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
int menu(int opcion){
int opcion;
switch (opcion){
printf("Seleccione una opcion:\n");
printf("1.-Generar un nuevo registro de libro\n");
printf("2.-Eliminar un registro de libro\n");
printf("3.-Modificar un registro de libro\n");
printf("4.-Visualizar todos los registros de libro\n");
printf("5.-Buscar un registro de libro(por ISBN)\n");
printf("6.-Terminar\n");
scanf("%d", &opcion);
case 1:;
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
break;
case 6:
break;
default: printf("Esa opcion no existe\n");
}
return opcion;
}
EN LA QUE TENGO DUDA ES EN ESTA PARTE:
Al seleccionar la opción 1 del menú deberá invocarse a un procedimiento que permita capturar los valores de los campos y almacenarlos en el siguiente elemento vacío del arreglo. Es decir, deberán desplegarse mensajes como los que se muestran a continuación y a partir de éstos el usuario debe capturar lo propio:
“Proporcione el título del libro: “
“Proporcione el(los) nombre(s) del(los) autor(es): “
“Proporcione la Editorial: “
…
Al seleccionar la opción 2 del menú deberá invocarse a un procedimiento que elimine un registro de libro en el arreglo, desplazando una posición a la izquierda el resto de los registros que se encuentren a la derecha del registro a eliminar. Queda a elección del programador el método para
indicar cuál es el registro a eliminar: por número de registro (número de elemento en el arreglo, de acuerdo a como indexaría un usuario), o por ISBN.
Al seleccionar la opción 3 del menú deberá invocarse a un procedimiento que pregunte cuál es el registro a modificar (queda a criterio del programador si la identificación del registros se hace por número de elemento en el arreglo o por ISBN), posteriormente debe desplegar un nuevo menú, a partir del cual pueda modificarse algún o algunos campos del registro de libro:
1. Modificar Título
2. Modificar Autor(es)
3. Modificar Editorial
4. Modificar No de edición
5. Modificar año de edición
6. Modificar clasificación
7. Modificar ISBN
8. Retornar
Al seleccionar una opción de este nuevo menú deberá preguntársele al usuario cuál es el nuevo valor del campo; por ejemplo, si el usuario seleccionó la opción 4 del nuevo menú, deberá desplegarse algo como lo siguiente, debiendo el usuario capturar lo propio (almacenándose, posterior a la captura, el valor en el campo del registro respectivo):
“Indique el No de edición correcto: “
Al seleccionar la opción 4 del menú principal deberá invocarse a un procedimiento que despliegue, en forma de lista, los valores de los campos de todos y cada uno de los registros de libro, recorriendo el arreglo en forma secuencial a partir del primer elemento.
Al seleccionar la opción 5 del menú principal deberá invocarse a un procedimiento que solicite un número de ISBN, busque en el arreglo un registro cuyo campo ISBN coincida con el número ingresado y, si se encuentra coincidencia, despliegue el número de registro y todos los valores de los campos del registro encontrado.
espero que me puedan ayudar.
Valora esta pregunta


0