int main(int argc, char *argv[]) { int auxCodigo[SIZE_ARRAY]; int opcion=0; int codigo[SIZE_ARRAY]; char descripcion[SIZE_ARRAY][51]; float importe[SIZE_ARRAY]; int cantidad[SIZE_ARRAY]; inicializador_array_int(codigo,0); inicializador_array_int(auxCodigo,-1); inicializador_array_float(importe,0); while(opcion!=6) { opcion=mostrar_y_validar_menu(); switch(opcion) { case 1: altas(codigo,auxCodigo,descripcion,importe,cantidad); break; case 2: modificar(codigo); break; case 3: baja(codigo); break; case 4: informar(codigo,descripcion,importe,cantidad); break; case 5: listar(codigo); break; } } //system("PAUSE"); return 0; }
int main () { int proximo = 0, salir = -1; do { switch(menu()) { case 1: if(proximo == 0) { inicializar(); } alta(codigoProd, descripcion, importe, cantidad); proximo++; break; case 2: modificacion(codigoProd, descripcion, importe, cantidad); break; case 3: baja(codigoProd, descripcion, importe, cantidad); break; case 4: informar(codigoProd, descripcion, importe, cantidad); break; case 5: listar(codigoProd, descripcion, importe, cantidad); break; case 9: salir = 0; break; } }while(salir !=0 ); return 0; }
void main(void) { unsigned char backup_ultimo_caracter; //Var auxiliar para la rec serie unsigned int backup_tiempo_rampa; //Var auxiliar para la cuenta char paquete[4]; //arreglo para el envio serie unsigned char broadcast_flag=0; //flag auxiliar de broadcast backup_tiempo_rampa = ReadADC(); pic_ini13(); //inicializa las ent/salidas del shield 1.3 timer_ini13(); //inicializa el timer en 1ms para habilitar //el multiplexado de displays y la cuenta timer1_ini13(); //inicializa el timer 1 para generar 38.2KHz usart_ini13(); //inicializa el puerto serie a 9600 /* Si no se utiliza el MAX232 se debe de ejecutar lo siguiente: */ BAUDCONbits.RXCKP = 1; BAUDCONbits.TXCKP = 1; /* En caso contrario comentar las lineas */ ei(); //habilitación global de interrupciones assign_id('a'); //en caso de tratarse de un esclavo, asigna //el número enviado a slave_id rampa_ini13(); //inicialización while(1){ if(caracter_recibido != backup_ultimo_caracter){ backup_ultimo_caracter=caracter_recibido; /*decodifico el comando la secuencia correcta es: * * <address> <comando><EOM> * * * address: es el estado que verifica si es solicitado el dispositivo especico * la misma corresponde a un único byte codificado en ASCII * comando: se pueden enviar todos los bytes ASCII que uno desee pero * unicamente se utilizará el primero de todos * EOM: Sin este dato al final del paquete no se ejecuta el comando enviado * Si la secuencia es correcta se devuelve el comando************************** */ //****Que hago con el comando************************************************// switch(decode(caracter_recibido)){ case ninguno:; break; case per2per:{ broadcast_flag=OFF; }break; case broadcast:{ broadcast_flag=ON; }break; case start:{ rampa_status=ON; INTCONbits.INT0IF=0; INTCONbits.INT0IE=1; SOLENOIDE_ON; demora_solenoide = demora_solenoide_set; }break; case stop:{ rampa_status=OFF; INTCONbits.INT0IE=0; INTCONbits.INT0IF=0; }break; case lectura:{ if(!broadcast_flag) informar(paquete,4); //envia la lectura }break; case reset:{ tiempo_rampa=0; }break; } } /*para no hacer la siguiente conversión a menos que sea necesario se realiza una *comprobación */ if(tiempo_rampa !=backup_tiempo_rampa){ //separa la cuenta en BCD paquete[0]=tiempo_rampa/1000; //obtiene los segundos paquete[1]=(tiempo_rampa%1000)/100; //obtiene las decimas paquete[2]=(tiempo_rampa%100)/10; //obtiene la centesimas paquete[3]=tiempo_rampa%10; //obtiene las milesimas backup_tiempo_rampa=tiempo_rampa; } Send_4Disp(paquete[0],paquete[1],paquete[2],paquete[3]); //se actualiza la info del disp } }
int main() { ArrayList* listPeliculas, *listDirectores,*auxPeliculas, *auxDirectores; ArrayList *backupDirectores = NULL; ArrayList *backupPeliculas = NULL; int auxInt; char opcion; listPeliculas = al_newArrayList(); listDirectores = al_newArrayList(); //readMockDirector(listDirectores); cargarDatos(listPeliculas, "peliculas.dat", 1); cargarDatos(listDirectores, "directores.dat", 2); //readPelicula(listPeliculas); if(listPeliculas != NULL && listDirectores != NULL) { do { opcion = mostrarMenu("1.ALTAS PELICULAS\n2.MODIFICAR PELICULA\n3.BAJA PELICULA\n4.NUEVO DIRECTOR\n5.ELIMINAR DIRECTOR\n6.RECUPERAR\n7.INFORMAR\n8.LISTAR\n9.SALIR\n", '1', '9'); switch(opcion) { case '1': auxInt = agregarPelicula(listPeliculas, listDirectores); if(auxInt == 0) { printf("Pelicula agregada\n"); } PAUSE; CLEAR; break; case '2': auxInt = modificarPelicula(listPeliculas, listDirectores); if(auxInt == 0) { printf("Pelicula modificada\n"); } PAUSE; CLEAR; break; case '3': backupPeliculas = borrarPelicula(listPeliculas); PAUSE; CLEAR; break; case '4': auxInt = agregarDirector(listDirectores); if(auxInt == 0) { printf("Director cargado!\n"); } PAUSE; CLEAR; break; case '5': backupDirectores = borrarDirector(listDirectores); if(backupDirectores != NULL) { printf("Director borrado\n"); } PAUSE; CLEAR; break; case '6': opcion = mostrarMenu("1.RECUPERAR PELICULAS\n2.RECUPERAR DIRECTORES\n", '1', '2'); switch(opcion) { case '1': auxPeliculas = recuperarDatos(listPeliculas, backupPeliculas); if(auxPeliculas == NULL) { printf("No se ha podido recuperar peliculas!\n"); } else { printf("Peliculas recuperadas\n"); listPeliculas = al_clone(auxPeliculas); auxPeliculas->deleteArrayList(auxPeliculas); } break; case '2': auxDirectores = recuperarDatos(listDirectores, backupDirectores); if(auxDirectores == NULL) { printf("No se ha podido recuperar los directores\n"); } else { printf("Directores recuperados\n"); listDirectores = al_clone(auxDirectores); auxDirectores->deleteArrayList(auxDirectores); } break; } PAUSE; CLEAR; break; case '7': auxInt =informar(listPeliculas, listDirectores); if(auxInt == -1) { printf("No se ha podido informar\n"); } PAUSE; CLEAR; break; case '8': auxInt = listar(listPeliculas, listDirectores); PAUSE; CLEAR; break; case '9': auxInt = guardarDatos(listPeliculas, "peliculas.dat", 1); if(auxInt != 0) printf("Hubo un error al guardar las peliculas"); auxInt = guardarDatos(listDirectores, "directores.dat", 2); if(auxInt != 0) printf("Hubo un error al guardar los directores"); listDirectores->deleteArrayList(listDirectores); listPeliculas->deleteArrayList(listPeliculas); break; default: break; } }while(opcion!='9'); } return 0; }
int main() { char seguir='s'; char save; int opcion; int flagPelicula=0; int flagDirector=0; int aux,aux2,aux3; int auxIsEmptyD,auxIsEmptyP; ArrayList* peliculas=al_newArrayList(); ArrayList* directores=al_newArrayList(); aux=cargarDesdeArchivoDirectores(directores); if(aux==0) { showMessage("LOS DIRECTORES SE CARGARON CON EXITO"); system("pause"); system("cls"); auxIsEmptyD=al_isEmpty(directores); if(auxIsEmptyD==0) { flagDirector=1; } } aux2=cargarDesdeArchivoPeliculas(peliculas); if(aux2==0) { showMessage("LAS PELICULAS SE CARGARON CON EXITO"); system("pause"); system("cls"); auxIsEmptyP=al_isEmpty(peliculas); if(auxIsEmptyP==0) { flagPelicula=1; } } printf("D=%d\nP=%d\n%d\n%d\n",flagDirector,flagPelicula,peliculas->size,directores->size); system("pause"); system("cls"); while(seguir=='s') { showMessage("1- ALTAS PELICULAS"); showMessage("2- MODIFICAR DATOS DE UNA PELICULA"); showMessage("3- BAJA DE PELICULA"); showMessage("4- NUEVO DIRECTOR"); showMessage("5- ELIMINAR DIRECTOR"); showMessage("6- INFORMAR"); showMessage("7- LISTAR"); showMessage("8- BORRAR TODO"); showMessage("9- SALIR"); scanf("%d",&opcion); switch(opcion) { case 1: if(flagDirector==0) { showMessage("PRIMERO INGRESE UN DIRECTOR"); system("pause"); system("cls"); } else { system("cls"); alta(peliculas,directores); flagPelicula=1; } break; case 2: system("cls"); if (flagPelicula==1) { modificar(peliculas,directores); } else { showMessage("ERROR, NO HAY PELICULAS REGISTRADAS"); system("pause"); } break; case 3: system("cls"); if (flagPelicula==1) { baja(peliculas); } else { showMessage("ERROR, NO HAY PELICULAS REGISTRADAS"); system("pause"); system("cls"); } break; case 4: system("cls"); nuevoDirector(directores); flagDirector=1; system("cls"); break; case 5: system("cls"); if (flagDirector==1) { eliminarDirector(directores); } else { showMessage("ERROR,NO HAY DIRECTORES REGISTRADOS"); system("pause"); system("cls"); } break; case 6: system("cls"); if (flagPelicula==1&&flagDirector==1) { informar(peliculas,directores); system("pause"); system("cls"); } else { showMessage("ERROR, NO HAY PELICULAS REGISTRADAS O NO HAY DIRECTORES REGISTRADOS"); system("pause"); system("cls"); } break; case 7: system("cls"); if (flagPelicula==1&&flagDirector==1) { listar(peliculas,directores); system("pause"); system("cls"); } else { showMessage("ERROR, NO HAY PELICULAS REGISTRADAS O NO HAY DIRECTORES REGISTRADOS"); system("pause"); system("cls"); } break; case 8: system("cls"); if (flagPelicula==1&&flagDirector==1) { borrarTodo(peliculas,directores); } else { showMessage("ERROR, NO HAY PELICULAS REGISTRADAS O NO HAY DIRECTORES REGISTRADOS"); system("pause"); system("cls"); } break; case 9: showMessage("Guardar cambios S/N ?"); fflush(stdin); scanf("%c",&save); save=tolower(save); if(save == 's') { aux3=guardarEnArchivo(peliculas,directores); if(aux3==-1) { showMessage("No se pudo abrir el fichero"); system("pause"); system("cls"); } else { showMessage("Se guardo la informacion con exito"); system("pause"); system("cls"); } } al_deleteArrayList(peliculas); al_deleteArrayList(directores); seguir = 'n'; break; } } return 0; }