int main() { EMovie movies; char nombre[50]; char seguir='s'; char guardar= 's'; if(cargarDesdeArchivo(&movies)) { printf("No se pudo abrir el fichero"); } else { printf("Se cargaron las estructuras con exito\n"); } system("pause"); system("cls"); while(seguir=='s') { switch(menu()) { case 1: agregarPelicula(&movies); break; case 2: borrarPelicula(&movies); break; case 3: modificarPelicula(&movies); break; case 4: generarPagina(&movies,nombre); break; case 5: printf("\nGuardar cambios S/N ?: "); guardar = tolower(getche()); if(guardar == 's') { if(guardarEnArchivo(&movies)) { printf("\nNo se pudo abrir el fichero\n"); } else { printf("\nSe guardo la informacion con exito\n"); } } seguir = 'n'; break; } } return 0; }
/** \brief Funcion para la salida del programa, pregunta si se quieren guardar los cambios realizados o no. * * \param peliculas (*sMovie) Array de peliculas. * \param largoArray (int) Largo del array. * */ void doExit( sMovie *peliculas, int largoArray ) { short int respuesta; int error; system(CLEAR_SCREEN); respuesta = preguntarPorSiOPorNo( "\nDesea guardar los cambios realizados? (S/N) ", "\nError en la respuesta", 3 ); system(CLEAR_SCREEN); if( respuesta == 1 ) { error = guardarEnArchivo( peliculas, largoArray ); if( error == 0 ) { printf("\nSe guardo la informacion con exito.\n\n"); } else { printf("\nNo se pudo guardar en el fichero.\n\n"); } } else { printf("\nNo se guardaron los cambios.\n\n"); } }
//MAIN// void main() { t_alumno alumno; FILE *pf; t_alumno vec[TAM]; int opc,cont=1,i=1; float prom,promgral=0; abrirArchivo(&pf,"C:\\ArchProII\\12Alu.txt","wt"); estiloArchivo(pf); while(cont==1) { fflush(stdin); prom=cargarDatos(&alumno); guardarEnArchivo(pf,&alumno,prom,i); i++; promgral+=prom; printf("\nDesea cargar otro? (1:SI - 0:NO): "); scanf("%d",&cont); fflush(stdin); } promgral=promgral/(i-1); estiloFinal(pf,promgral); fclose(pf); }
int main(int argc, char *argv[]) { system("clear"); int fd_socket_servidor, fd_comunicacion; struct sockaddr_in dir_servidor; struct sockaddr_in dir_cliente; int sin_size; int clienteNum = 0; int contador; if ((fd_socket_servidor = socket(AF_INET, SOCK_STREAM, 0)) == -1) { fprintf(stderr, "Error en socket\n"); exit(-1); } dir_servidor.sin_family = AF_INET; dir_servidor.sin_addr.s_addr = INADDR_ANY; dir_servidor.sin_port = htons(PORT); bzero(&(dir_servidor.sin_zero), 8); if (bind(fd_socket_servidor, (struct sockaddr*) &dir_servidor, sizeof(struct sockaddr)) == -1) { fprintf(stderr, "Error en bind\n"); exit(-1); } if (listen(fd_socket_servidor, BACKLOG) == -1) { fprintf(stderr, "Error en listen\n"); exit(-1); } contador = 0; while (1) { trama = (char *)malloc(sizeof(char) *250); printf("Server esperando...\n"); sin_size = sizeof(dir_cliente); if ((fd_comunicacion = accept(fd_socket_servidor, (struct sockaddr*) &dir_cliente, &sin_size)) == -1) { fprintf(stderr, "Error en accept\n"); exit(-1); } // Empezamos el proceso del cliente que llega, para no tener un solo proceso para todos los clientes, creamos mas procesos. if (fork() == 0) { // 1. Server recibe es el numero de cuenta if ((inf_tam_byte = recv(fd_comunicacion, recepNoCta, TAMANIO_MAX, 0)) == -1) { fprintf(stderr, "Error en recibir\n"); exit(1); } //Verificamos que exista y devolvemos una cadena con los datos de la cuenta. recepNoCta[inf_tam_byte] = '\0'; //Asignamos a la posicion final el fin de cadena '\0' printf("Cta Recibida: %s\n", recepNoCta); sleep(1); //de aqui se manda a imprimir o algo trama = verificarCtaBase(recepNoCta); if (trama == NULL) { printf("Dentro de trama=NULL: %s\n", contador); //cuenta incorrecta, se aniade //fprintf(stderr, "Cuenta incorrecta\n"); //printf("Se aniadira a la base de datos\n"); sprintf(trama, "%s + 10.00 %s",recepNoCta, recepNoCta); printf("Trama transacc %s\n", trama); guardarEnArchivo(ARCHIVO_TRANSACCIONES, trama); sprintf(trama, "%s 10.00",recepNoCta); //la trama se queda al final lista para enviarla guardarEnArchivo(ARCHIVO_CUENTAS, trama); printf("Trama transacc%s\n", trama); } if (send(fd_comunicacion, trama, strlen(trama)+1, 0) == -1) { perror("send"); fprintf(stderr, "No se pudo enviar trama\n"); //close(fd_comunicacion); exit(0); } sleep(1); if ((inf_tam_byte = recv(fd_comunicacion, recepTransaccion, TAMANIO_MAX, 0)) == -1) { perror("recv"); exit(1); } recepTransaccion[inf_tam_byte] = '\0'; //Asignamos a la posicion final el fin de cadena '\0' printf("Transaccion Recibida: %s\n", recepTransaccion); sleep(1); if(strcmp(actualizar(recepTransaccion), "correcto")==0){ printf("Datos actualizados"); } guardarEnArchivo(ARCHIVO_TRANSACCIONES, recepTransaccion); } else { close(fd_comunicacion); /* Se suspende la ejecucion del proceso padre hasta que finalice el proceso hijo */ while (waitpid(-1, NULL, WNOHANG) > 0); } //printf("Cliente %d: Desde %s \n", clienteNum, inet_ntoa(dir_cliente.sin_addr)); //send(fd_comunicacion, "Bienvenido a mi servidor!!!\n", 30, 0); //close(fd_comunicacion); clienteNum++; } printf("Error en listen\n"); exit(-1); }
int main() { char seguir='s'; int opcion=0; int moviesFlag=0; int auxAlta; int auxBaja; int auxMod; char save; EMovie movies[CANT]; initMovies(movies,CANT); if(cargarDesdeArchivo(movies,CANT)) { printf("No se pudo abrir el fichero"); system("pause"); system("cls"); } else { printf("Se cargaron las estructuras con exito\n"); system("pause"); system("cls"); } //hardcodePeliculas(movies,CANT); while(seguir=='s') { showMessage("1- Agregar pelicula"); showMessage("2- Borrar pelicula"); showMessage("3- Modificar"); showMessage("4- Generar pagina web"); showMessage("5- Salir"); scanf("%d",&opcion); switch(opcion) { case 1: auxAlta=alta(movies,CANT); if(auxAlta==-1) { showMessage("ERROR,ALTA INCORRECTA O NO HAY ESPACIOS DISPONIBLES"); } else { moviesFlag=1; } break; case 2: if(moviesFlag==1) { auxBaja=baja(movies,CANT); if(auxBaja==-1) { showMessage("ERROR, BAJA INCORRECTA"); } } else { showMessage("ERROR, INGRESE UNA PELICULA PRIMERO"); } break; case 3: if(moviesFlag==1) { auxMod=modificar(movies,CANT); if(auxMod==-1) { showMessage("ERROR EN LA MODIFICACION"); } } else { showMessage("ERROR, INGRESE UNA PELICULA PRIMERO"); } break; case 4: generarPagina(movies,"Listado Peliculas.html",CANT); break; case 5: showMessage("Guardar cambios S/N ?"); fflush(stdin); scanf("%c",&save); save=tolower(save); if(save == 's') { if(guardarEnArchivo(movies,CANT)) { showMessage("No se pudo abrir el fichero"); system("pause"); system("cls"); } else { showMessage("Se guardo la informacion con exito"); system("pause"); system("cls"); } } seguir = 'n'; break; } } return 0; }
int main() { EMovie peliculas[MAX]; char seguir='s'; int opcion=0; int resp; int i; InicializarArrayPeliculas(peliculas,MAX); if(cargarDesdeArchivo(peliculas)==1) { printf("No se pudo abrir el fichero\n"); exit(1); } else { printf("Se cargaron las estructuras con exito\n"); system("pause"); system("cls"); } while(seguir=='s') { printf("***ADMINISTRACION DE PELICULAS***\n\n"); printf("1- Agregar pelicula\n"); printf("2- Borrar pelicula\n"); printf("3- Modificar pelicula\n"); printf("4- Generar pagina web\n"); printf("5- Salir\n\n"); opcion=TomarValidarCadSoloNumerica("ingrese una opcion :\n"); if (opcion==0) { system("cls"); //continue; } switch(opcion) { case 1: agregarPelicula(peliculas,MAX,"ingrese el titulo de la pelicula :","ingrese el genero :","ingrese la duracion ( 00:00 ) :","ingrese la descripcion :","ingrese puntaje ( 1 / 10 ) :","ingrese el link de imagen, puede copiar una url de cualquier imagen en la web y pegarla aqui :","titulo invalido ,solo letras,numeros y 50 caracteres como maximo ,reingrese :","genero invalido,reingrese :","duracion invalida reingrese :","descripcion invalida solo numeros,reingrese :","puntaje invalido solo numero 1/10 reingrese","link incorrecto reingrese :"); break; case 2: for(i=0; i<MAX; i++) //solo ingresa a este caso si hay alguna pelicula registrada { if(peliculas[i].estado!=0) { borrarPelicula(peliculas,MAX); break; } else { printf("--Primero ingrese algun dato--\n"); getch(); system("cls"); break; } } break; case 3: for(i=0; i<MAX; i++) //solo ingresa a este caso si hay alguna pelicula registrada { if(peliculas[i].estado!=0) { ModificarDatosPeliculas(peliculas,MAX); break; } else { printf("--Primero ingrese algun dato--\n"); getch(); system("cls"); break; } } break; case 4: for(i=0; i<MAX; i++) //solo ingresa a este caso si hay alguna pelicula registrada { if(peliculas[i].estado!=0) { generarPaginaWeb(peliculas,MAX); break; } else { printf("--Primero ingrese algun dato--\n"); getch(); system("cls"); break; } } break; case 5: printf("\nGuardar cambios S/N ?: "); seguir = tolower(getche()); if(seguir == 's') { if(guardarEnArchivo(peliculas)==1) { printf("\nNo se pudo abrir el fichero\n"); } else { printf("\nSe guardo la informacion con exito\n"); } } seguir = 'n'; break; default: system("cls"); break; } } 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; }