Y lo otro si alguien me puede decir como poner una "ñ" en el printf porfa.
Adjunto mi código para que puedan probarlo.
De antemano gracias.
Código
#include <stdio.h> #include <string.h> #include<stdlib.h> #include<dos.h> #define MAXLINEA 30 #define MAXTIPO 15 #define MAXCOLOR 15 #define MAXMATERIAL 20 #define MAXMUEBLE 1000 enum { Anadir=1, Listartodo, Listartipo, Listarmaterial, Buscarmueble, Eliminarmueble, Salir}; struct fecha { int dia; int mes; int ano; }; struct mueble { int codigo; char tipo[MAXTIPO]; char color[MAXCOLOR]; char material[MAXMATERIAL]; struct fecha creacion; int precio; }; struct bodega { struct mueble bod[MAXMUEBLE]; int cant; }; int main (void) { struct bodega mis_muebles; int opc, i, j; char tipo[MAXTIPO]; char material[MAXMATERIAL]; char linea[MAXLINEA]; int codigo; mis_muebles.cant = 0; do{ do{ printf ("---------------------\n"); printf ("Inventario Muebletex\n"); printf ("---------------------\n"); printf ("1) Anadir mueble\n"); printf ("2) Listar muebles\n"); printf ("3) Listar por tipo de mueble\n"); printf ("4) Listar por tipo de material\n"); printf ("5) Buscar mueble\n"); printf ("6) Eliminar mueble\n"); printf ("7) Salir\n\n"); printf ("Opcion: "); gets(linea); sscanf (linea, "%d", &opc); if (opc < 1 || opc > 7){ printf ("Opcion inexistente. Debe estar entre 1 y 5\n"); } } while(opc < 1 || opc > 7); switch (opc) { case Anadir: sleep(1); system("cls"); if (mis_muebles.cant == MAXMUEBLE){ printf("Lo sentimos, La memoria esta llena.\n"); } else{ printf("Codigo: "); gets(linea); sscanf (linea, "%d", &mis_muebles.bod[mis_muebles.cant].codigo); printf("\nFecha:\n\n"); do{ printf("Dia: "); gets(linea); sscanf (linea, "%d", &mis_muebles.bod[mis_muebles.cant].creacion.dia); if (mis_muebles.bod[mis_muebles.cant].creacion.dia < 1 || mis_muebles.bod[mis_muebles.cant].creacion.dia > 31){ printf ("Opcion inexistente. Debe estar entre 1 y 31\n"); } } while (mis_muebles.bod[mis_muebles.cant].creacion.dia < 1 || mis_muebles.bod[mis_muebles.cant].creacion.dia > 31); do{ printf("Mes: "); gets(linea); sscanf (linea, "%d", &mis_muebles.bod[mis_muebles.cant].creacion.mes); if (mis_muebles.bod[mis_muebles.cant].creacion.mes < 1 || mis_muebles.bod[mis_muebles.cant].creacion.mes > 12){ printf ("Opcion inexistente. Debe estar entre 1 y 12\n"); } } while (mis_muebles.bod[mis_muebles.cant].creacion.mes < 1 || mis_muebles.bod[mis_muebles.cant].creacion.mes > 12); do{ printf("Ano: "); gets(linea); sscanf (linea, "%d", &mis_muebles.bod[mis_muebles.cant].creacion.ano); if (mis_muebles.bod[mis_muebles.cant].creacion.ano < 1000 || mis_muebles.bod[mis_muebles.cant].creacion.ano > 3000){ printf ("Opcion inexistente. Debe estar entre 1000 y 3000\n"); } } while (mis_muebles.bod[mis_muebles.cant].creacion.ano < 1000 || mis_muebles.bod[mis_muebles.cant].creacion.ano > 3000); printf("\nTipo de mueble: "); gets(mis_muebles.bod[mis_muebles.cant].tipo); printf("Material: "); gets(mis_muebles.bod[mis_muebles.cant].material); printf("Color: "); gets(mis_muebles.bod[mis_muebles.cant].color); printf("Precio: "); gets(linea); sscanf (linea, "%d", &mis_muebles.bod[mis_muebles.cant].precio); mis_muebles.cant++; } sleep(1); system("cls"); break; case Listartodo: sleep(1); system("cls"); for(i = 0; i < mis_muebles.cant; i++){ printf("--------------------------------------\n"); printf("Codigo: %d Fecha: %d/%d/%d\n", mis_muebles.bod[i].codigo, mis_muebles.bod[i].creacion.dia, mis_muebles.bod[i].creacion.mes, mis_muebles.bod[i].creacion.ano); printf("Tipo de mueble: %s\n", mis_muebles.bod[i].tipo); printf("Material: %s\n", mis_muebles.bod[i].material); printf("Color: %s\n", mis_muebles.bod[i].color); printf("Precio: $%d pesos\n", mis_muebles.bod[i].precio); printf ("\n"); } break; case Listartipo: sleep(1); system("cls"); printf("Tipo de mueble a buscar: "); gets(tipo); for(i = 0; i < mis_muebles.cant; i++){ if (strcmp(tipo, mis_muebles.bod[i].tipo) == 0){ printf("--------------------------------------\n"); printf("Codigo: %d Fecha: %d/%d/%d\n", mis_muebles.bod[i].codigo, mis_muebles.bod[i].creacion.dia, mis_muebles.bod[i].creacion.mes, mis_muebles.bod[i].creacion.ano); printf("Tipo de mueble: %s\n", mis_muebles.bod[i].tipo); printf("Material: %s\n", mis_muebles.bod[i].material); printf("Color: %s\n", mis_muebles.bod[i].color); printf("Precio: $%d pesos\n", mis_muebles.bod[i].precio); } } break; case Listarmaterial: sleep(1); system("cls"); printf("Tipo de material a buscar: "); gets(material); for(i = 0; i < mis_muebles.cant; i++){ if (strcmp(material, mis_muebles.bod[i].material) == 0){ printf("--------------------------------------\n"); printf("Codigo: %d Fecha: %d/%d/%d\n", mis_muebles.bod[i].codigo, mis_muebles.bod[i].creacion.dia, mis_muebles.bod[i].creacion.mes, mis_muebles.bod[i].creacion.ano); printf("Tipo de mueble: %s\n", mis_muebles.bod[i].tipo); printf("Material: %s\n", mis_muebles.bod[i].material); printf("Color: %s\n", mis_muebles.bod[i].color); printf("Precio: $%d pesos\n", mis_muebles.bod[i].precio); } } break; case Buscarmueble: sleep(1); system("cls"); printf("Ingrese el codigo del producto a buscar: "); scanf("%d", &codigo); for(i = 0; i < mis_muebles.cant; i++){ if(codigo == mis_muebles.bod[i].codigo){ printf("Codigo: %d Fecha: %d/%d/%d\n", mis_muebles.bod[i].codigo, mis_muebles.bod[i].creacion.dia, mis_muebles.bod[i].creacion.mes, mis_muebles.bod[i].creacion.ano); printf("Tipo de mueble: %s\n", mis_muebles.bod[i].tipo); printf("Material: %s\n", mis_muebles.bod[i].material); printf("Color: %s\n", mis_muebles.bod[i].color); printf("Precio: $%d pesos\n", mis_muebles.bod[i].precio); } } break; case Eliminarmueble: sleep(1); system("cls"); printf("Ingrese el codigo del producto para eliminar: "); scanf("%d", &codigo); for(i = 0; i < mis_muebles.cant; i++){ if(codigo == mis_muebles.bod[i].codigo){ break; } } if(i < mis_muebles.cant){ for(j = i+1; j < mis_muebles.cant; j++){ mis_muebles.bod[j-1] = mis_muebles.bod[j]; mis_muebles.cant--; } } sleep(1); system("cls"); break; } } while(opc != Salir); }
Solucionado jajajajaj