int main() { List lista; BSTree pasados[ HASHSIZE ]; lista = NULL; int x; for(x=0; x<HASHSIZE; x++) { pasados[x] = NULL; } printf("Ingrese una lista de enteros separados por coma:"); char str[2000] = ""; scanf("%s", str); lista = crear_lista(lista, str); printf("La lista es: \n"); mostrar_lista(lista); printf("\n\n"); List rList = lista; printf("\n\nSacando Duplicados Queda: "); sacar_duplicados(lista, pasados); mostrar_lista(lista); printf("\n\n"); }
int main(int argc, char *argv[]) { int op; int generada_lista = 0; Pila pila_docentes = NULL; Cola cola_estudiantes = (Cola)malloc(sizeof(TCola)); cola_estudiantes->primero = NULL; cola_estudiantes->ultimo = NULL; Lista lista = NULL; do{ printf("###### OLIMPIADAS VENEZOLANAS DE INFORMATICA #####\n"); printf("1) Registrar docente\n"); printf("2) Registrar estudiante\n"); printf("3) Generar listado\n"); printf("4) Mostrar listado de docentes\n"); printf("5) Mostrar listado de estudiantes\n"); printf("6) Mostrar listado completo\n"); printf("7) Salir\n"); scanf("%d",&op); switch(op){ case 1: anadir_pila(&pila_docentes,registrar_persona(DOCENTE)); break; case 2: anadir_cola(&cola_estudiantes,registrar_persona(ESTUDIANTE)); break; case 3: llenar_lista(&pila_docentes,&cola_estudiantes,&lista); generada_lista = 1; break; case 4: if(lista == NULL){ printf("No hay personas registradas\n"); } else{ mostrar_lista(&lista,DOCENTE); } break; case 5: if(lista == NULL){ printf("No hay personas registradas\n"); } else{ mostrar_lista(&lista,ESTUDIANTE); } break; case 6: (generada_lista)?(mostrar_lista(&lista,TODO)):(printf("No has seleccionado la opcion 3 del menu\n")); break; case 7: exit(EXIT_SUCCESS); break; } }while(1); return 0; }
int main(void){ T_LISTA mi_lista; mi_lista=crear_lista(); mostrar_lista(mi_lista); printf("\n\n---------------------\n\n"); ordena_lista(&mi_lista); mostrar_lista(mi_lista); return 0; }
/* * Arquivo de testes, aqui pode ser testadas todas * as funções implementadas da linkedList. */ int main() { linkedList minha_lista = criar_lista(); adicionar_no(minha_lista, 6); adicionar_no(minha_lista, 3); adicionar_no(minha_lista, 5); mostrar_lista(minha_lista); printf("O tamanho da lista é: %d\n", minha_lista->tamanho); return 0; }
main(){ // Apuntador al primer elemento de la lista Nodo* lista = NULL; // Pruebas para función insertar_cola lista = insertar_cola(lista, 7); lista = insertar_cola(lista, 4); lista = insertar_cola(lista, 12); // Pruebas para función insertar_tope lista = insertar_tope(lista, 2); lista = insertar_tope(lista, 5); lista = insertar_tope(lista, 3); // Pruebas para función insrtar_tope_m. // Nótese que se tiene una llamada más limpia e intuitiva que la de // insetar_tope. insertar_tope_m( &lista, 6); insertar_tope_m( &lista, 10); insertar_tope_m( &lista, 22); // Se mustra la lista creada. mostrar_lista(lista); printf("La longitud de la lista es: %d\n\n" , longitud(lista)); borrar_nodo(&lista, 2); borrar_nodo(&lista, 0); mostrar_lista(lista); printf("La longitud de la lista es: %d\n\n" , longitud(lista)); // Liberación de la lista. liberar_lista(&lista); // Si le la lista fue liberada no debe mostrarse elemento alguno. mostrar_lista(lista); }
player jogadores(player lista) { int op, total; do{ total=conta_jogador(lista); titulo(); printf("\n\tMenu principal\n\t >>Jogadores\n\n"); printf("\n\t1 - Inserir novo jogador"); printf("\t\t2 - Listar jogadores"); printf("\n\n\t3 - Eliminar jogador"); printf("\t\t\t4 - Recuperar Password\n"); printf("\n\t5 - Menu Principal\n"); printf("\n\n\t----------------------------------------------------------------\n"); printf("\n\t\tEstatisticas Globais"); printf("\n"); printf("\n\tNumero total de jogadores registados: %d\n\n", total); do{ printf("\nEscolha uma opcao: "); scanf("%d", &op); }while(op<1 || op>5); switch(op){ case 1: system("cls"); lista=inserir_player(lista); break; case 2: system("cls"); mostrar_lista(lista); break; case 3: system("cls"); lista= eliminar_player(lista); break; case 4: system("cls"); recoverPW(lista); break; } }while(op!=5); return lista; }
int main() { int opcion; primero = (struct Agenda *) NULL; ultimo = (struct Agenda *) NULL; do { mostrar_menu(); scanf("%d", &opcion); switch (opcion) { case 1: anadir_elemento(); break; case 2: borrar_elemento(); break; case 3: mostrar_lista(); break; case 4: exit(0); break; default: printf("Opcion no valida\n"); break; } } while (opcion!='4'); return 0; }
void mostrar_todo_factorizado( int arr[MAX_ALPHABET_SIZE][MAX_STRING_SIZE][MAX_ALPHABET_SIZE] ) { int k, n, z; List factores; printf("<h2>Resultados factorizados</h2>"); for(k=0; k<MAX_ALPHABET_SIZE; k++) { printf("<h3>Alfabeto de tamaño: %d</h3>", k); printf("<table>"); for(n=0; n<MAX_STRING_SIZE; n++) { printf("<tr>"); printf("<td style='width: 200px; font-weight: bold;'>Cadena de tamaño: %d</td>", (n+1)); for(z=0; z<MAX_ALPHABET_SIZE; z++) { printf("<td>"); factores = factorizar( arr[ k ][ n ][ z ]); mostrar_lista(factores); printf("</td>"); liberar_lista(factores); } printf("</tr>"); } printf("</table>"); } }
int main(int argc, char * argv[]) { int s, r; struct sockaddr_in dest; char buffer[MAXBUF]; struct Mensaje mensaje; if (argc < 3) { puts("Usage ./cliente [nombre] [pos1] ..."); return EXIT_FAILURE; } signal(SIGKILL, handler_seniales); signal(SIGTERM, handler_seniales); cantidad_barcos_hundidos = 0; // Validacion de las posiciones de la matriz cantidad_barcos = argc - 2; // Le resto los primeros 2 argumentos: ejecutable y nombre de jugador //char * posiciones[cantidad_barcos]; if (validarPosiciones(argv, posiciones_barcos) == -1) { return EXIT_FAILURE; } //posiciones_barcos = posiciones; // Leo ip y puerto del servidor del archivo de configuracion struct Conexion conexion = leerConfiguracion(); if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) { perror("Socket"); return EXIT_FAILURE; } /*---Initialize server address/port struct---*/ bzero(&dest, sizeof(dest)); dest.sin_family = AF_INET; dest.sin_port = htons(conexion.puerto); if (inet_aton(conexion.ip, &dest.sin_addr.s_addr) == 0) { perror(conexion.ip); return EXIT_FAILURE; } /*---Connect to server---*/ if (connect(sockfd, &dest, sizeof(dest)) != 0) { perror("Connect "); return EXIT_FAILURE; } bzero(buffer, MAXBUF); // Enviar nombre jugador mensaje.tipo = Registra_Nombre; strcpy(mensaje.contenido, argv[1]); sleep(2); s = send(sockfd, &mensaje, sizeof(mensaje), 0); if (s == -1) { perror("Error al enviar el nombre del jugador"); return EXIT_FAILURE; } // Recibo la estructura del jugador registrado. r = recv(sockfd, buffer, sizeof(struct MensajeNIPC), 0); memcpy(&jugador, buffer + sizeof(TIPO_MENSAJE) + sizeof(int), sizeof(struct Jugador)); printf("Se ha registrado en el servidor como el jugador %s.\n", jugador.nombre); if (mostrar_lista() == -1) { return EXIT_FAILURE; } desconectar(); liberar_recursos(); return EXIT_SUCCESS; }
int main(int argc, char **argv) { int m = 0, n = 0; // m para filas, n para columnas char ** tablero; // Tablero de juego char ** tableroCopia; // Tablero de Copia char ** auxiliar; // Apuntador Auxiliar int i = 0, j = 0, k = 0; // Variables auxiliares int conejosIniciales = 0; // Se almacenaran los conejos ingresados por el usuario int puntaje = 0, nivel = 0, conejosVivos = 0; // Estado del juego float trampolines = 0; // Se llevara la cantidad de trampolines int coordZF = 0, coordZC = 0; int siguienteMovimiento = 0; Bool gameOver = False; Bool movValido = False; FILE *fp = NULL; Bool recuperarPartida = False; ItemRanking ranking[RANKING_NUM]; ItemRanking paso; TipoNodoNombre *lista_partidas; int lista_partidas_num; char partida_ruta[50]; char partida_nombre[NODO_NOMBRE_MAX_LENGTH + 1]; // Inicializo la lista lista_partidas = lista_vacia(); // Cargo el Ranking inicializarRanking(ranking, RANKING_NUM); cargarRanking(ranking, RANKING_NUM); // Doy la bienvenida clearScr(); printZanahoria(); pausa(); clearScr(); // Instrucciones del Juego if(!preguntayn("Conoces las reglas del juego?")){ mostrarAyuda(); } // Lista de Partidas lista_partidas = generar_lista_partidas(); if(lista_partidas != NULL){ clearScr(); recuperarPartida = False; recuperarPartida = (Bool)preguntayn("Existen partidas guardadas, quieres cargar una?"); if(recuperarPartida) { lista_partidas_num = longitud_lista(lista_partidas); clearScr(); printf("Se encontraron %i partida(s):\n\n", lista_partidas_num); mostrar_lista(lista_partidas); do{ i = 0; printf("\nSelecciona una partida: "); clearStdin(); scanf("%i", &i); if(i < 1 || i > lista_partidas_num) printMsjError("Partida no valida!"); }while(i < 1 || i > lista_partidas_num); sprintf(partida_ruta, "%s%s%i%s", FOLDER_PARTIDAS, FILE_PARTIDA_PREFIX, i - 1, FILE_PARTIDA_EXT); tablero = cargarPartida(partida_ruta, &m, &n, &conejosIniciales, &conejosVivos, &nivel, &puntaje, &trampolines); if(tablero == NULL){ printMsjError("Error: No se logro conseguir memoria para el tablero!"); return 1; } } } // // Verifico si existe una partida guardada // fp = fopen(FILE_PARTIDA, "r"); // // Existe una partida guardada // if(fp != NULL){ // // Cierro el fichero para poder abrirlo desde la funcion // fclose(fp); // fp = NULL; // clearScr(); // recuperarPartida = False; // recuperarPartida = (Bool)preguntayn("Existe una partida guardada, desea cargarla?"); // // Si la respuesta fue afirmativa recupero el estado del juego // if(recuperarPartida) // tablero = cargarPartida(FILE_PARTIDA, &m, &n, &conejosIniciales, &conejosVivos, &nivel, &puntaje); // } if(!recuperarPartida){ // Preguntamos el tamano del tablero clearScr(); pedirDimensionTablero(&m, &n); // Preguntamos los conejos iniciales clearScr(); pedirConejosIniciales(&m, &n, &conejosIniciales); conejosVivos = conejosIniciales; // Reservo memoria para el tablero tablero = (char **)pedirMemoriaMatriz(m, n, 'c'); if(tablero == NULL) { printMsjError("Error: No se logro conseguir memoria para el tablero!"); return 1; } tablero_ini(tablero, m , n); // Ubico la zanahoria ubicarZanahoriaInicial(tablero, m, n); // Ubico los conejos iniciales ubicarConejosIniciales(tablero, m, n, conejosVivos); } // Reservo la memoria para una copia del tablero tableroCopia = (char **)pedirMemoriaMatriz(m, n, 'c'); if(tableroCopia == NULL){ printMsjError("Error: No se logro conseguir memoria para el tablero!"); return 1; } // Doy valores iniciales al tablero tablero_ini(tableroCopia, m, n); // Comienza el Ciclo de Juego for(;;){ clearScr(); // Muestro el tablero tablero_pretty_view(tablero, m , n); // Muestro el estado del juego //println("Conejos Vivos: %i - Nivel: %i - Puntaje: %i", conejosVivos, nivel + 1, puntaje); printf("%sConejos Vivos: %i%s", COLOR_ROJO_CLARO_S, conejosVivos, ESTILO_NORMAL_S); printf(" - %sNivel: %i%s", COLOR_VERDE_CLARO_S, nivel + 1, ESTILO_NORMAL_S); printf(" - %sPuntaje: %i%s\n", COLOR_MARRON_CLARO_S, puntaje, ESTILO_NORMAL_S); // Pido movimiento al usuario siguienteMovimiento = pedirSiguienteMovimiento(); // Establesco el movimiento como no valido hasta que se demuestre lo contrario movValido = False; // Realizo el siguiente movimiento si es posible if(siguienteMovimiento >= 1 && siguienteMovimiento <= 9){ // Verificamos si el movimiento ingresado se puede realizar // Si es asi movemos la zanahoria movValido = ejecutarMovimientoZanahoria(siguienteMovimiento, tablero, m, n, nivel) ? True : False; if(!movValido){ printMsjErrorPausa("Movimiento no valido!"); }else{ gameOver = (ejecutarMovimientoConejos(tablero, tableroCopia, m, n, &conejosVivos, &puntaje) == 0) ? True : False; } }else if(siguienteMovimiento == MOVE_TRANSPORT){ // Ejecutamos la teletransportacion y movemos a los conejos movValido = True; ejecutarTeletransportacion(tablero, m , n); gameOver = (ejecutarMovimientoConejos(tablero, tableroCopia, m, n, &conejosVivos, &puntaje) == 0) ? True : False; }else if(siguienteMovimiento == ACTION_SAVE){ lista_partidas_num = longitud_lista(lista_partidas); clearScr(); if(lista_partidas_num) printf("Puedes guardar unar partida nueva o sobreescribir una existente.\n\n"); if(lista_partidas_num && preguntayn("Deseas sobreescribir una partida?")){ clearScr(); printf("Hay %i Partida(s) Disponibles:\n\n", lista_partidas_num); mostrar_lista(lista_partidas); do{ i = 0; printf("\nIngresa el numero de la que deseas sobreescribir: "); clearStdin(); scanf("%i", &i); if(i < 1 || i > lista_partidas_num) printMsjError("Partida no valida!"); }while(i < 1 || i > lista_partidas_num); // Sobreescribir una partida sprintf(partida_ruta, "%s%s%i%s", FOLDER_PARTIDAS, FILE_PARTIDA_PREFIX, i - 1, FILE_PARTIDA_EXT); pedirCadena("\nBreve descripcion partida", partida_nombre, NODO_NOMBRE_MAX_LENGTH); if(guardarPartida(partida_ruta, tablero, m, n, partida_nombre, conejosIniciales, conejosVivos, nivel, puntaje, trampolines)){ modificar_valor_posicion(lista_partidas, i - 1, partida_nombre); printMsjOkPausa("Partida Guardada!"); } }else{ // Guardar Partida Nueva sprintf(partida_ruta, "%s%s%i%s", FOLDER_PARTIDAS, FILE_PARTIDA_PREFIX, lista_partidas_num, FILE_PARTIDA_EXT); clearScr(); pedirCadena("Breve descripcion partida", partida_nombre, NODO_NOMBRE_MAX_LENGTH); if(guardarPartida(partida_ruta, tablero, m, n, partida_nombre, conejosIniciales, conejosVivos, nivel, puntaje, trampolines)){ lista_partidas = insertar_por_cola(lista_partidas, partida_nombre); printMsjOkPausa("Partida Guardada!"); } } // // Verficamos si ya existe una partida guardada // fp = fopen(FILE_PARTIDA, "r"); // if(fp != NULL){ // fclose(fp); // fp = NULL; // // Preguntamos si desea sobreescribir la partida existe // if(preguntayn("Ya existe una partida guardada, desea sobreescribirla?")){ // if(guardarPartida(FILE_PARTIDA, tablero, m, n, conejosIniciales, conejosVivos, nivel, puntaje)) // printMsjOkPausa("Partida Guardada!"); // } // }else{ // if(guardarPartida(FILE_PARTIDA, tablero, m, n, conejosIniciales, conejosVivos, nivel, puntaje)) // printMsjOkPausa("Partida Guardada!"); // } }else if(siguienteMovimiento == ACTION_QUIT){ clearScr(); //println("Gracias por jugar!"); printGraciasPorJugar(); break; } if(movValido){ puntaje += PUNTAJE_MOV; // Intercambio los tableros auxiliar = tablero; tablero = tableroCopia; tableroCopia = auxiliar; // Paso de Nivel if(conejosVivos == 0){ // Inicializo el Tablero posicionZanahoria(tablero, m, n, &coordZF, &coordZC); tablero_ini(tablero, m , n); tablero[coordZF][coordZC] = ZANAHORIA; // Aumento el nivel en una unidad nivel++; // Aumento el puntaje puntaje += PUNTAJE_NIVEL; // Incremento los conejos conejosVivos = conejosIniciales + (redondeoEntero(conejosIniciales * TASA_AUMENTO_CONEJOS) * nivel); ubicarConejosIniciales(tablero, m , n, conejosVivos); // Ubico los Trampolines if(nivel >= NIVEL_TRAMPOLINES_START){ trampolines += nivel == NIVEL_TRAMPOLINES_START ? TRAMPOLINES_INICIALES : trampolines * TASA_AUMENTO_TRAMPOLINES; ubicarTrampolines(tablero, m, n, (int)trampolines); } } } // Acciones en caso de Perder el Juego if(gameOver){ clearScr(); // tablero_view(tablero, m, n); printConejoGameOver(); // Verificamos si puede entrar al ranking if(puntaje > ranking[0].puntaje){ paso.puntaje = puntaje; pedirCadena("\nFelicidades has ingresado al ranking!!\n\nDate tu nombre", paso.nombre, MAX_SIZE_NAME); i = ingresarRanking(ranking, RANKING_NUM, &paso); clearScr(); mostrarRankingDestacado(ranking, RANKING_NUM, i); } break; } } // for - ciclo de juego // Libero la memoria otorgada para el tablero liberarMemoriaMatriz((void **)tablero); liberarMemoriaMatriz((void **)tableroCopia); tablero = tableroCopia = NULL; // Guarda el Ranking en el disco guardarRanking(ranking, RANKING_NUM); return 0; }
int main(void){ no_t *inicio, *cadastro; // cadastro será usado para verificar se um // nome já existe com aquele cadastro char nome[20]; short controle, op; inicio=NULL; cadastro=NULL; // Menu controle=1; while( controle) { printf("============== Menu ============\n"); printf("0. Sair \n"); printf("1. Inserir \n"); printf("2. Mostrar Nomes\n"); printf("3. Pesquisar por Nome \n"); printf("4. Remover por Nome \n"); printf("Opção: "); __fpurge(stdin); scanf("%hd", &op); switch(op){ case 0: // Sair controle = 0; break; case 1: // Inserir inserir(&inicio, criar_no()); continuar(&controle); system("clear"); break; case 2: // Mostrar if( inicio == NULL ){ printf("A lista está vazia.\n"); continuar(&controle); } else{ mostrar_lista(inicio); continuar(&controle); } break; case 3: // Pesquisar if( inicio == NULL ){ printf("A lista está vazia.\n"); continuar(&controle); } else{ printf("\nNome: "); __fpurge(stdin); fgets(nome,20,stdin); nome[0] = toupper(nome[0]); // procura se o nome já foi cadastrado cadastro = pesquisar(inicio,nome); if( cadastro == NULL ){ printf("Nome não cadastrado.\n"); continuar(&controle); } else{ // Mostrar dados printf("Rua: %sNumero: %s", cadastro->rua, cadastro->numero); printf("Cidade: %sEstado: %s", cadastro->cidade, cadastro->estado); continuar(&controle); } } break; case 4: // Remover if( inicio == NULL ){ printf("A lista está vazia.\n"); continuar(&controle); } else{ printf("Nome: "); __fpurge(stdin); // limpa o buffer do teclado fgets(nome,20,stdin); nome[0]=toupper(nome[0]); if( remover(&inicio, nome) == true){ printf("Removido.\n"); } else{ printf("Não está na lista.\n"); } continuar(&controle); } break; default: printf("Erro, opção inválida.\n"); __fpurge(stdin); continuar(&controle); break; }// end switch }// end while return 0; }