コード例 #1
0
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;
}
コード例 #2
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;	
}
コード例 #3
0
ファイル: main.c プロジェクト: EEST1/rampa
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
    }
}
コード例 #4
0
ファイル: main.c プロジェクト: mavocado3/tp_laboratorio_1
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;
}
コード例 #5
0
ファイル: main.c プロジェクト: JuanM96/tp_laboratorio_1
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;
}