Dev - C++ - programa en c - capturar los datos de 5 libros

 
Vista:

programa en c - capturar los datos de 5 libros

Publicado por Angel (1 intervención) el 18/05/2020 22:45:14
como estan colegas en esta ocacion me pidieron un programa en c:
Tomar como referencia el código conStruct.c y adecuarlo a la siguiente definición: Considerar que se desean capturar los datos de 5 libros, de los cuáles se desean conocer los siguientes datos:

1.nombre del libro

2.un autor del libro

3.editorial

4.año de edición

5.cantidad de páginas.

Incluir un menú con tres opciones:

1.Capturar los datos

2.Imprimir todos los datos de los libros que tengan más de 100 páginas.

3.Salir

trato de hacer el programa y no me sale del todo, les adjuntaria el archivo pero aun no me deja, asi que se los dejo abajo.
saludos!!

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <stdio.h>
#include <stdlib.h>
 
struct {
    char titulo[50];
    char autor[50];
    char editorial[30];
    int no_edicion[5];
    int anio_edicion[5];
 
} tlibro[100];
 
int i = 0;
 
int menu();
void nuevoRegistro();
 
int main() {
    int opc;
 
    opc = menu();
 
    return 0;
}
 
int menu() {
    int opcion;
 
    do {
        printf("Seleccione una opcion:\n");
        printf("1.-Generar un nuevo registro de libro\n");
        printf("2.-visualizar libros registrados\n");
        printf("3.-salir\n");
        scanf("%d", &opcion);
 
        switch (opcion) {
            case 1:
                nuevoRegistro();
            break;
            case 2:
            break;
            case 3:
            break;
            default: printf("Esa opcion no existe\n");
        }
 
    } while (opcion < 3);
 
    return opcion;
 }
 
 void nuevoRegistro() {
 
        printf ("Proporcione el titulo del libro: ");
        scanf (tlibro[i].titulo);
        printf ("Nombre del autor: ");
        scanf (tlibro[i].autor);
        printf ("Ingrese la editorial: ");
        scanf (tlibro[i].editorial);
        printf ("Digite el año de edicion: ");
        scanf (tlibro[i].no_edicion);
        printf ("numero de paginas: ");
        scanf (tlibro[i].anio_edicion);
 
    }
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
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

programa en c - capturar los datos de 5 libros

Publicado por Alfil (1444 intervenciones) el 19/05/2020 19:38:48
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#include <stdio.h>
 
struct Libro
{
    char titulo[50];
    char autor[50];
    char editorial[30];
    int edicion;
    int paginas;
};
 
void menu();
void leerDatos(Libro l[5]);
void imprimirDatos(Libro l[5]);
 
int main()
{
    char opcion;
    Libro lib[5];
 
    do {
        menu();
        fflush(stdin);
        scanf("%c", &opcion);
 
        switch (opcion)
        {
            case '1':
                leerDatos(lib);
                break;
 
            case '2':
                imprimirDatos(lib);
                break;
 
            case '3':
                printf("\nFIN DEL PROGRAMA\n");
                break;
 
            default:
                printf("\nOPCION NO VALIDA\n");
                break;
        }
 
 
    } while (opcion != '3');
 
    return 0;
}
 
void menu()
{
    printf("\n          MENU");
    printf("\n============================");
    printf("\n1.- Capturar datos");
    printf("\n2.- Imprimir libros +100 pag");
    printf("\n3.- Salir");
    printf("\n============================");
    printf("\nOPCION (1 - 3): ");
}
 
void leerDatos(Libro l[5])
{
    for (int i = 0; i < 5; i++)
    {
        printf("\n\nLibro %d:\n", i + 1);
        fflush(stdin);
        printf("Titutlo: ");
        scanf("%50[^\n]", l[i].titulo);
        fflush(stdin);
        printf("Autor: ");
        scanf("%50[^\n]", l[i].autor);
        fflush(stdin);
        printf("Editorial: ");
        scanf("%30[^\n]", l[i].editorial);
        printf("Anio Edicion: ");
        scanf("%d", &l[i].edicion);
        printf("Paginas: ");
        scanf("%d", &l[i].paginas);
    }
}
 
void imprimirDatos(Libro l[5])
{
    for (int i = 0; i < 5; i++)
    {
        if (l[i].paginas > 100)
        {
            printf("\nTitutlo: %s", l[i].titulo);
            printf("\nAutor: %s", l[i].autor);
            printf("\nEditorial: %s", l[i].editorial);
            printf("\nAnio Edicion: %d", l[i].edicion);
            printf("\nPaginas: %d", l[i].paginas);
            printf("\n\n");
        }
    }
}
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