|
Mostrar Mensajes
|
Páginas: 1 [2] 3
|
12
|
Programación / Java / AYUDA URGENTE
|
en: 30 Abril 2021, 00:39 am
|
Quiero reproducir audios pequeños pero el codigo me da este error java.io.IOException: Stream closed Exception in thread "main" java.lang.NullPointerException ¿que estoy haciendo mal? try{ clip.open(ais); } return clip; }
|
|
|
13
|
Programación / Programación C/C++ / Colas de supermercado
|
en: 13 Marzo 2020, 23:45 pm
|
Hola tengo que hacer un proyecto de simulación gráfica de colas de supermercado en lenguaje c, y no encuentro ninguna información de esto para guiarme, donde puedo encontrar información de esto? "NO ESTOY PIDIENDO CÓDIGO" ya hice las colas y las voy mostrando en pantalla de esta forma
system("cls");
caja 1: *****
caja 2: ****
Imprimo las colas de cada caja completa y voy borrando la pantalla para que se vea cuando sale y entra un cliente. Lo que quiero saber es como simular esto de forma gráfica, que librería debo usar, porque el proyecto me pide que los clientes entran en el supermercado y se muevan por los pasillos y luego a las cajas, y debo usar hilos para esto? "SOLO PIDO ORIENTACIÓN NO QUE ME HAGAN EL PROYECTO"
|
|
|
14
|
Programación / Programación C/C++ / Ayuda con memoria dinamica
|
en: 10 Febrero 2020, 05:44 am
|
Que error tengo en la linea 128? mercado->p = (struct Puestos) malloc(sizeof(struct Puestos) * tam); y si hago estas dos funciones void espacio_memoria(Mercados *mercado); para crear espacio en memoria de todo void free_memoria(Mercados *mercado); y para liberarla también me funciona? /* Se necesita la información de los mercados municipales de ciudad Guayana, indicando el nombre de cada mercado, dirección, TLF y la información del coordinador del mercado (c.i, nombre, apellido y teléfono). Cada mercado tiene un máximo de 50 puestos, a cada puesto se le específica un nro de local y tamaño (largo y ancho), datos del propietario (TLF, c.i, nombre y apellido) y cada local almacena adicionalmente los ingresos por cada mes del año. *Realizar una función para solicitar la información y una para mostrarla, usar dichas funciones para un total de 20 mercados municipales *Crear las cadenas dinámicamente. *Los puestos de mercado crearlos dinámicamente. *Los mercados crearlos dinámicamente. */ #include<stdio.h> #include<stdlib.h> typedef struct Mercados_Municipales{ char* nombre; char* direccion; char* telefono; struct Datos_Coordinador *info_c; struct Puestos *p; }Mercados; struct Datos_Coordinador{ char* nombrec; char* apellidoc; char* cedulac; char* telefonoc; }; struct Puestos{ int numero; struct Tamano *t; struct Datos_Propietario *info_p; int* mensual; }; struct Tamano{ float largo; float ancho; }; struct Datos_Propietario{ char* nombrep; char* apellidop; char* cedulap; char* telefonop; }; void Presentacion(); Mercados *Leer_Mercado(); int main(){ Mercados *mercados[20]; char desicion; int cantidad; Presentacion(); for(cantidad = 0; cantidad < 20; cantidad ++){ printf("\tMercado Municipal #%d\n\n", cantidad + 1); mercados[cantidad] = Leer_Mercados(); do{ printf("Pasamos a otro? [S/N] ", cantidad ); desicion = getchar(); // Leemos un caracter while(getchar() == EOF ); // Necesario para se coma el \n }while(desicion != 'S' && desicion != 's' && desicion != 'N' && desicion != 'n'); if(desicion == 'N' || desicion == 'n') break; // Si elige N, se sale } return 0; } void Presentacio(){ printf("\t\t*********************************\n"); printf("\t\t* Giudad Guayana *\n"); printf("\t\t* Mercados Municipales *\n"); printf("\t\t*********************************\n\n"); } Mercados *Leer_Mercado(){ Mercados *mercado = (Mercados *) malloc(sizeof(Mercados )); mercado ->nombre = (char *) malloc(sizeof(char) * 20); mercado ->direccion = (char *) malloc(sizeof(char) * 50); mercado ->telefono = (char * ) malloc(sizeof(char) * 15); gets(mercado ->direccion ); printf("\nInformacion del Coordinador\n\n"); mercado ->info_c = (struct Datos_Coordinador *) malloc(sizeof(struct Datos_Coordinador )); mercado ->info_c ->nombrec = (char *) malloc(sizeof(char) * 20); mercado ->info_c ->apellidoc = (char *) malloc(sizeof(char) * 20); mercado ->info_c ->cedulac = (char *) malloc(sizeof(char) * 15); mercado ->info_c ->telefonoc = (char *) malloc(sizeof(char) * 15); gets(mercado ->info_c ->nombrec ); gets(mercado ->info_c ->apellidoc ); gets(mercado ->info_c ->cedulac ); gets(mercado ->info_c ->telefonoc ); printf("\nNumero de Locales "); int i , tam ; scanf("%d", &tam ); mercado ->p = (struct Puestos ) malloc(sizeof(struct Puestos ) * tam ); for(i = 0; i < tam; i++){ mercado->p[i]->numero = i; mercado ->p [i ]->t = (struct Tamano ) malloc(sizeof(struct Tamano )); mercado ->p [i ]->info_p = (struct Datos_Propietario ) malloc(sizeof(struct Datos_Propietario )); mercado ->p [i ]->info_p ->nombrep = (char *) malloc(sizeof(char) * 20); mercado ->p [i ]->info_p ->apellidop = (char *) malloc(sizeof(char) * 20); mercado ->p [i ]->info_p ->cedulap = (char *) malloc(sizeof(char) * 15); mercado ->p [i ]->info_p ->telefonop = (char *) malloc(sizeof(char)* 15); scanf("&d %d", &mercado ->p ->t ->largo , &mercado ->p ->t ->ancho ); printf("\tInformacion del Propietario\n\n"); gets(mercado ->p ->info_p ->nombrep ); gets(mercado ->p ->info_p ->apellidop ); gets(mercado ->p ->info_p ->cedulap ); gets(mercado ->p ->info_p ->telefonop ); printf("\n\tIngresos Mensuales: "); int j ; mercado ->p ->mensual = (int *) malloc(sizeof(int) * 12); for(j = 0; j < 12; j++){ scanf("%d", &mercado ->p ->mensual [j ]); } } return mercado; }
|
|
|
15
|
Programación / Programación C/C++ / Estructuras Anidadas, dudas
|
en: 8 Febrero 2020, 21:28 pm
|
Nose si la estructura anidada esta bien declarada porque cuando voy a ingresar los datos del coordinador el programa deja de funcionar, y si estoy creando bien las cadenas y mercados dinamicamente? /* Crear las cadenas dinámicamente. Los mercados crearlos dinámicamente. */ #include<stdio.h> #include<stdlib.h> typedef struct Mercados_Municipales{ char *nombre; char *direccion; char *telefono; struct Datos_Coordinador *c; }Mercados; struct Datos_Coordinador{ char *nombrec; char *apellidoc; char *cedulac; char *telefonoc; }; void Presentacion(); Mercados *Leer_Mercado(void); void Imprimir_Mercado(Mercados *mercado); int main(){ Mercados *mercados[20]; char desicion; int cantidad, mercado = 0; Presentacion(); for(cantidad = 0; cantidad < 20; cantidad++){ printf("\n\tMercado Municipal #%d\n\n", cantidad + 1); mercados[cantidad] = Leer_Mercado(); do{ printf("\n\tPasamos a otro? [S/N] "); desicion = getchar(); /* Leemos un caracter */ while(getchar() == EOF ); /* Necesario para que se coma el \n */ }while(desicion != 'S' && desicion != 's' && desicion != 'N' && desicion != 'n'); /* Si elige N o n, se sale */ if(desicion == 'N' || desicion == 'n') break; } printf("\nInformacion del Mercado: "); Imprimir_Mercado(mercados[mercado - 1]); return 0; } void Presentacion(){ printf("\t\t********************************\n"); printf("\t\t* Ciudad Guayana *\n"); printf("\t\t* Mercados municipales *\n"); printf("\t\t********************************\n"); } Mercados *Leer_Mercado(){ Mercados *mercado = (Mercados *) malloc(sizeof(Mercados )); mercado ->nombre = (char *) malloc(sizeof(char) * 20); mercado ->direccion = (char *) malloc(sizeof(char) * 50); mercado ->telefono = (char *) malloc(sizeof(char) * 15); gets(mercado ->direccion ); mercado ->c ->nombrec = (char *) malloc(sizeof(char) * 20); mercado ->c ->apellidoc = (char *) malloc(sizeof(char) * 20); mercado ->c ->cedulac = (char *) malloc(sizeof(char) * 15); mercado ->c ->telefonoc = (char *) malloc(sizeof(char) * 15); printf("Informacion del Coordinador\n\n"); gets(mercado ->c ->nombrec ); gets(mercado ->c ->apellidoc ); gets(mercado ->c ->cedulac ); gets(mercado ->c ->telefonoc ); return mercado; } void Imprimir_Mercado(Mercados *mercado){ printf("\n\tMercado Municipal: %s\n\n", mercado ->nombre ); printf("Direccion: %s\tTelefono: %s\n\n", mercado->direccion, mercado->telefono); printf("Datos del Coordinador:\n\n"); mercado->c->nombrec, mercado->c->apellidoc, mercado->c->cedulac); printf("Telefono: %s\n\n", mercado ->c ->telefonoc ); }
|
|
|
16
|
Programación / Programación C/C++ / Ayuda con Estructuras
|
en: 8 Febrero 2020, 07:40 am
|
El programa deja de funcionar con la funcion imprimir_mercado, y no entiendo por que sucede esto #include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct Mercados_Municipales{ char nombre[20]; char direccion[50]; char telefono[11]; }Mercados; Mercados leer_mercado(void); void imprimir_mercado(Mercados mercado); int main(){ Mercados mercados[20]; Mercados mercado; char desicion; int i, cantidad = 0, numero; printf("\n\t\tMercados Municipales de Ciudad Guayana\n\n"); while(cantidad < 20){ do{ printf("%d Mercados Municipales. Pasamos a otro? [S/N] ", cantidad ); desicion = getchar(); // Leemos un caracter while(getchar() == EOF ); // Necesario para se coma el \n }while(desicion != 'S' && desicion != 's' && desicion != 'N' && desicion != 'n'); if(desicion == 'N' || desicion == 'n') break; // Si elige N, se sale mercado = leer_mercado(); mercados[cantidad++] = mercado; } printf("\nMostrar informacion del Mercado: "); imprimir_mercado(mercados[numero]); return 0; } Mercados leer_mercado(){ Mercados mercado; return mercado; } void imprimir_mercado(Mercados mercado){ printf("\n\n\t\t%s", mercado. nombre); printf("\nDireccion: &s\tTelefono: %s\n", mercado. direccion, mercado. telefono); }
|
|
|
18
|
Programación / Programación C/C++ / Ayuda URGENTE con este programa en C
|
en: 22 Octubre 2018, 01:13 am
|
Tengo problemas con estas dos funciones void RegistrarUsuario(); void InicioSesion(); la registrar usuario me guarda el primer usuario cuando se crea al archivo pero luego me dice email registrado con todos los demás que intento guardar y inicio sesión después de introducir email y contraseña dice programa dejo de funcionar #include<stdio.h> #include<stdlib.h> #include<string.h> #include<windows.h> #define MAX 50 char Linea[MAX]; /* ---------------------- | Definir Estructuras | ----------------------*/ // Usuario typedef struct Billetera{ char moneda[MAX]; float saldo; }Monedas; typedef struct Datos{ char nombre[MAX]; char apellido[MAX]; char telefono[MAX]; char pais[MAX]; }DatosPersonales; typedef struct PerfilUsuario{ char e_mail[MAX]; char pasword[MAX]; DatosPersonales p; Monedas m; }Usuario; // Administrador typedef struct CompraVenta{ char moneda[MAX]; float precioD; float precioE; float precioBS; float compra; float venta; }Moneda; typedef struct PerfilAdministrador{ Moneda monedas; }Administrador; int MostrarMenu_BilleteraVirtual(); int MostrarMenu_InicioSesion(); int LeerCadena(char *cadena, int n); int ConfirmarEmail(char email[], Usuario *usuario); void InicioSesion(); void RegistrarUsuario(); void GuardarCuentaUsuario(Usuario *usuario); void MenuPrincipal(); void MenuInicioSesion(); void FinalizarPrograma(); int main(){ switch(MostrarMenu_BilleteraVirtual()){ case 1: InicioSesion(); break; case 2: RegistrarUsuario(); break; case 3: break; case 4: FinalizarPrograma(); break; default: printf("\n\t\t ==================="); printf("\n\t\t| Opcion incorrecta |"); printf("\n\t\t ==================="); MenuPrincipal(); main(); } return 0; } int MostrarMenu_BilleteraVirtual(){ int opcion = 0; printf("\n\t\t\t\t ==================="); printf("\n\t\t\t\t| Billetera Virtual |"); printf("\n\t\t\t\t ===================\n\n"); printf("\t\t[1] Ingresar como Usuario\n"); printf("\t\t[2] Registrarse\n"); printf("\t\t[3] Ingresar como Administrador\n"); printf("\t\t[4] Salir del Programa\n"); printf("\n\t\tDigite su opcion: [ ]\b\b"); LeerCadena(Linea, MAX); return opcion; } int MostrarMenu_InicioSesion(){ int opcion = 0; printf("\t\t[1] Perfil de Usuario\n"); printf("\t\t[2] Su Billetera\n"); printf("\t\t[3] Comprar Criptomonedas\n"); printf("\t\t[4] Vender Criptomonedas\n"); printf("\t\t[5] Cerrar Sesion\n"); printf("\n\t\tDigite su opcion: [ ]\b\b"); LeerCadena(Linea, MAX); return opcion; } void RegistrarUsuario(){ Usuario usuario; printf("\n\t\t\t\t ================"); printf("\n\t\t\t\t| Cree su Cuenta |"); printf("\n\t\t\t\t ================\n\n"); printf("\t\tNombre de pila: "); LeerCadena(usuario.p.nombre, MAX); LeerCadena(usuario.p.nombre, MAX); printf("\n\t\tCorreo elctronico: "); LeerCadena(usuario.e_mail, MAX); printf("\t\tElegir una contasena: "); LeerCadena(usuario.pasword, MAX); if(ConfirmarEmail(usuario.e_mail, &usuario) == 0){ GuardarCuentaUsuario(&usuario); MenuPrincipal(); }else{ printf("\n\t\tEste Email ya tiene Cuenta de Usuario"); MenuPrincipal(); } } void InicioSesion(){ FILE *archivo = fopen("BilleteraVirtualUsuarios.dat", "rb"); char pass[MAX], e_mail[MAX], encontrado; Usuario usuario; if(archivo == NULL){ printf("\n\t\t ========================"); printf("\n\t\t|Lo siento. ERROR Interno|"); printf("\n\t\t ========================"); MenuPrincipal(); }else{ encontrado = 0; printf("\n\t\t\t ====================================="); printf("\n\t\t\t| Iniciar sesion en Billetera Virtual |"); printf("\n\t\t\t =====================================\n\n"); printf("\t\tCorreo electronico: "); LeerCadena(e_mail, MAX); LeerCadena(pass, MAX); /* Se recorre el archivo secuencialmente */ fseek(archivo , 0, SEEK_SET ); /* Posiciona el cursor al principio del archivo */ fread(&usuario , sizeof(usuario ), 1, archivo ); if((strcmp(usuario. e_mail, e_mail ) == 0) && (strcmp(usuario. pasword, pass ) == 0)){ encontrado = 1; } fread(&usuario , sizeof(usuario ), 1, archivo ); } if(encontrado == 1){ printf("\n\tBilletera Virtual\t\t%s %s\n\n", usuario. p. nombre, usuario. p. apellido); switch(MostrarMenu_InicioSesion()){ case 1: break; case 2: break; case 3: break; case 4: break; case 5: MenuPrincipal(); break; default: printf("\n\t\t ==================="); printf("\n\t\t| Opcion incorrecta |"); printf("\n\t\t ==================="); MenuInicioSesion(); break; } }else{ printf("\n\n\t\tUsuario no registrado"); MenuPrincipal(); } } } int ConfirmarEmail(char email[], Usuario *usuario){ FILE *archivo = fopen("BilleteraVirtualUsuarios.dat", "rb"); int existe; if(archivo == NULL){ existe = 0; }else{ existe = 0; fread(usuario , sizeof(usuario ), 1, archivo ); if(strcmp(usuario ->e_mail , email ) == 0){ existe = 1; break; } fread(usuario , sizeof(usuario ), 1, archivo ); } } return existe; } void GuardarCuentaUsuario(Usuario *usuario){ FILE *archivo = fopen("BilleteraVirtualUsuarios.dat", "ab"); if(archivo == NULL){ printf("\n\t\t ========================"); printf("\n\t\t|Lo siento. ERROR Interno|"); printf("\n\t\t ========================"); MenuPrincipal(); }else{ fwrite(usuario , sizeof(usuario ), 1, archivo ); printf("\n\t\tUsuario Registrado con EXITO"); } } int LeerCadena(char *cadena, int n){ int i, c; if (c == EOF) { cadena[0] = '\0'; return 0; } if (c == '\n') { i = 0; } else { cadena[0] = c; i = 1; } for (; i < n - 1 && (c = getchar()) != EOF && c != '\n'; i ++) { cadena[i] = c; } cadena[i] = '\0'; if (c != '\n' && c != EOF) while ((c = getchar()) != '\n' && c != EOF ); return 1; } void MenuPrincipal(){ Sleep(3000); main(); } void MenuInicioSesion(){ Sleep(3000); MostrarMenu_InicioSesion(); } void FinalizarPrograma(){ printf("\n\t ==================================================="); printf("\n\t| LA Billetera Virtual CERRARA en Cualquier Momento |"); printf("\n\t ===================================================\n\n"); Sleep(3000); }
|
|
|
19
|
Programación / Programación C/C++ / Ayuda con este programa en C
|
en: 22 Julio 2018, 15:26 pm
|
Quiero comparar si una fecha es mayor que la otra en este programa si alguien me puede dar una idea de como hacerlo que no sea con if() /* Escribe un programa para calcular el numero de dias que hay entre dos fechas; declarar fecha como una estructura */ #include<stdio.h> struct fecha{ unsigned int dia, mes, año; }; int main(int argc, char *argv[]){ struct fecha f[3]; int i, dia, mes, año; for(i=0; i<2; i++){ printf("Introduzca fecha %d: ", i +1); scanf("%d %d %d", &f [i ]. dia, &f [i ]. mes, &f [i ]. año ); } dia = f[0].dia - f[1].dia; mes = f[0].mes - f[1].mes; año = f[0].año - f[1].año; año = año * 360; mes = mes * 30; f[2].dia = año + (mes) + (dia); printf("\n\n\nDias Trascurridos %d", f [2]. dia); return 0; }
|
|
|
|
|
|
|