Autor
|
Tema: ayuda con codigo (struct y arreglos) (Leído 1,910 veces)
|
angelica24
Desconectado
Mensajes: 4
|
hola, espero que me puedan ayudar, tengo que hacer un catalogo de libros con arreglos y struct, ya llevo algo pero cuando lo quiero probar me salen muchos errores, espero que me puedan ayudar #include <stdio.h> #include <stdlib.h> struct tlibro{ char titulo[50]; char autor[50]; char editorial[30]; int no_edicion; int anio_edicion; char clasificacion[30]; long ISBN; }; int i; int opcion, n; int main(int argc, char** argv) { tlibro arreglo[100]; do { opcion = menu(); switch (opcion) { case 1: crear(arreglo, n); break;case 2: eliminar(); break; case 3: modificar(); break; case 2: visualizar(arreglo, n); break; case 3: buscar(arreglo, n); break; default: printf("Esa opcion no existe\n"); } }while(opcion!=6); return (EXIT_SUCCESS); } void menu(int o){ 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"); } void crear(tlibro libros[], int indice) { for (i = 0; i < 100; i++) { printf("Proporcione el titulo del libro: \n"); scanf("%[^n]", &libros [i ]. titulo); printf("Proporcione el(los) nombre(s) del(los) autor(es)\n"); scanf("%[^n]", &libros [i ]. autor); printf("Proporcione la editorial\n"); scanf("%[^n]", &libros [i ]. editorial); printf("Proporcione el numero de edicion\n"); scanf("%d", &libros [i ]. no_edicion); printf("Proporcione el año de edicion\n"); scanf("%d", &libros [i ]. anio_edicion); printf("Proporcione la clasificacion(LCC)\n"); scanf("%[^n]", &libros [i ]. clasificacion); printf("Proporcione el registro del libro(ISBN)\n"); scanf("%d", &libros [i ]. ISBN); } } void visualizar(tlibro libros[], int indice) { int j=0; for(j=0; j<indice; j++){ printf("%s\n", libros [j ]. titulo); printf("%s\n", libros [j ]. autor); printf("%s\n", libros [j ]. editorial); printf("%d\n", libros [j ]. no_edicion); printf("%d\n", libros [j ]. anio_edicion); printf("%s\n", libros [j ]. clasificacion); printf("%d\n", libros [j ]. ISBN); } } void buscar(tlibro libros[], int indice) { int i; long ISBN; printf("Indique el ISBN del libro a buscar: "); for(i=0; i<indice; i++){ if(ISBN==libros[i].ISBN){ printf("Se encontro el libro cuyos datos son:\n"); printf("%s", libros [i ]. titulo); printf("%s", libros [i ]. autor); printf("%s", libros [i ]. editorial); printf("%d", libros [i ]. no_edicion); printf("%d", libros [i ]. anio_edicion); printf("%s", libros [i ]. clasificacion); } } } void eliminar() { } void modificar() { }
|
|
« Última modificación: 20 Julio 2018, 23:07 pm por engel lex »
|
En línea
|
|
|
|
engel lex
|
Hola modifiqué tu código con etiquetas GeSHi para que fuera más legible...
es bueno que empiezes indicando que errores te da
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
angelica24
Desconectado
Mensajes: 4
|
Estos son los mensajes que genera: ProgramaHector.c:29:18: warning: implicit declaration of function 'menu' is invalid in C99 [-Wimplicit-function-declaration] opcion = menu(); ^ ProgramaHector.c:31:21: warning: implicit declaration of function 'crear' is invalid in C99 [-Wimplicit-function-declaration] case 1: crear(arreglo, n); ^ ProgramaHector.c:39:21: warning: implicit declaration of function 'visualizar' is invalid in C99 [-Wimplicit-function-declaration] case 2: visualizar(arreglo, n); ^ ProgramaHector.c:41:21: warning: implicit declaration of function 'buscar' is invalid in C99 [-Wimplicit-function-declaration] case 3: buscar(arreglo, n); ^ ProgramaHector.c:53:6: error: conflicting types for 'menu' void menu(){ ^ ProgramaHector.c:29:18: note: previous implicit declaration is here opcion = menu(); ^ ProgramaHector.c:68:6: error: conflicting types for 'crear' void crear(struct tlibro libros[], int indice) { ^ ProgramaHector.c:31:21: note: previous implicit declaration is here case 1: crear(arreglo, n); ^ ProgramaHector.c:72:21: warning: format specifies type 'char *' but the argument has type 'char (*)[50]' [-Wformat] scanf("%s", &libros[i].titulo); ~~ ^~~~~~~~~~~~~~~~~ ProgramaHector.c:74:21: warning: format specifies type 'char *' but the argument has type 'char (*)[50]' [-Wformat] scanf("%s", &libros[i].autor); ~~ ^~~~~~~~~~~~~~~~ ProgramaHector.c:76:21: warning: format specifies type 'char *' but the argument has type 'char (*)[30]' [-Wformat] scanf("%s", &libros[i].editorial); ~~ ^~~~~~~~~~~~~~~~~~~~ ProgramaHector.c:82:21: warning: format specifies type 'char *' but the argument has type 'char (*)[30]' [-Wformat] scanf("%s", &libros[i].clasificacion); ~~ ^~~~~~~~~~~~~~~~~~~~~~~~ ProgramaHector.c:84:21: warning: format specifies type 'int *' but the argument has type 'long *' [-Wformat] scanf("%d", &libros[i].ISBN); ~~ ^~~~~~~~~~~~~~~ %ld ProgramaHector.c:96:6: error: conflicting types for 'visualizar' void visualizar(struct tlibro libros[], int indice) { ^ ProgramaHector.c:39:21: note: previous implicit declaration is here case 2: visualizar(arreglo, n); ^ ProgramaHector.c:108:24: warning: format specifies type 'int' but the argument has type 'long' [-Wformat] printf("%d\n", libros[j].ISBN); ~~ ^~~~~~~~~~~~~~ %ld ProgramaHector.c:115:6: error: conflicting types for 'buscar' void buscar(struct tlibro libros[], int indice) { ^ ProgramaHector.c:41:21: note: previous implicit declaration is here case 3: buscar(arreglo, n); ^ ProgramaHector.c:121:17: warning: format specifies type 'int *' but the argument has type 'long *' [-Wformat] scanf("%d", &ISBN); ~~ ^~~~~ %ld ProgramaHector.c:132:26: warning: format specifies type 'int' but the argument has type 'long' [-Wformat] printf("%d", libros[i].ISBN); ~~ ^~~~~~~~~~~~~~ %ld
|
|
|
En línea
|
|
|
|
engel lex
|
los errores Wformat los puedes ignorar mientras aprendes....
warning: implicit declaration of function 'menu' is invalid in C99 [-Wimplicit-function-declaration] opcion = menu(); los primeros 4 son relacionados a la forma en que C lee el codigo... cuando lee el codigo imagina un cursor bajando linea a linea... cuando llega a la linea 25 dará un error porque nunca ha leído ninguna función llamada "menu()"... esto se resuelve de una de las 2 formas... o pones las declaraciones de las funciones antes de donde la vas a usar... o creas prototipos... los prototipos es basicamente antes de main colocas la declaración de la funcion así si el contenido y terminado en ";"
el siguiente error ProgramaHector.c:53:6: error: conflicting types for 'menu' void menu(){ ^ ProgramaHector.c:29:18: note: previous implicit declaration is here opcion = menu(); linea 25 y si vemos la linea 18 sin embargo menú es decir, no hay coherencia... void no tiene retorno, sin embargo en linea 25 le dijiste a opción que tomara su valor de menú... error por donde se vea... lo mismo con las otras funciones
probablemente una de las cosas más importante de programar es aprender a leer los errores
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[SOLUCIONADO]¿Como printear un valor de un struct dentro de otro struct?
Programación C/C++
|
Firos
|
0
|
5,190
|
24 Marzo 2011, 13:47 pm
por Firos
|
|
|
ayuda con mi programa struct c
Programación C/C++
|
akiranakamure
|
2
|
2,211
|
13 Marzo 2013, 21:58 pm
por durasno
|
|
|
Ayuda Struct
« 1 2 »
Programación C/C++
|
BlackM4ster
|
10
|
5,019
|
8 Abril 2013, 14:37 pm
por BlackM4ster
|
|
|
Ayuda con struct en C
Programación C/C++
|
nyper01
|
4
|
2,390
|
15 Diciembre 2013, 23:04 pm
por nyper01
|
|
|
Duda con respecto a struct dentro de struct
Programación C/C++
|
Naimaderis
|
1
|
3,498
|
2 Abril 2017, 00:10 am
por ivancea96
|
|