void pedirCadena (tMovimiento *mov) { tFlag esValido = 1; char str[STR_DIM2]; char nuevoStr[15]; /* tamaño suficiente para evaluar si el usuario introdujo de más */ int fo, co; int n; fo = ++(mov->coordOrig.fil); /* sumamos 1 a las coordenadas, pues leerCoord les resta 1 */ co = ++(mov->coordOrig.col); printf("Puede encadenar una movimiento!\n"); printf("Ingrese solo la coordenada de la casilla a la que desea moverse y el tipo de captura si es necesario\n"); printf("Se imprimira su nueva casilla de origen.\n"); do { imprimirError(esValido); /* en una primer instancia no imprimirá nada, pues esValido es mayor a 0 */ printf("> M [%d,%d]", fo, co); n = getlinea(nuevoStr, 15); if (n >= MIN_STR2 && n <= MAX_STR2) { sprintf(str, "M [%d,%d]%s", fo, co, nuevoStr); esValido = validarMovFormato (str, mov); /* devuelve menor a 0 en caso de error */ } else esValido = ERR_FMT_MOV1; } while (esValido < 0); /* si es menor a cero es error */ return; }
main() { char line[MAXLINE]; char longest[MAXLINE]; while ((len = getlinea(line)) > 0){ copia(longest,line); printf("%s", longest);} return 0; }
/* printf longest input line */ main() { int len; /* current line length */ int max; /* maximum length seen so far */ char line[MAXLINE]; /* current input line */ char longest[MAXLINE]; /* longest line saved here */ //max = 0; while ((len = getlinea(line, MAXLINE)) > 0) { if(len > REQUIRED_LENGTH) printf("%3d: %s", len, line); } }
main() { char *preguntas[4] = { "1. Defina qué es una Estructura de Datos\n", "2. Explique qué es una Estructura de Datos dinámica y una estática ?\n", "3. Cuáles son los tipos de datos básicos de C ?\n", "4. Cómo se representan los datos booleanos (true/false) en C\n" }; int i = 0; char lineaActual[LARGOMAX]; while(i < 4) { printf("%s", preguntas[i]); while(getlinea(lineaActual, LARGOMAX) > 0) ; i++; } }
int main(void){ enum tOpcion opcion; int modo; tTablero tablero; int jugador; char nombre[MAX_NOM]; tFlag ganador; srand(time(0)); printf("\n\t\t=*=*=*=*=*=*=*=*=*==FANORONA==*=*=*=*=*=*=*=*=*=*="); printf("\n\t\t=*=*=*=*=*=*=*=*=FUTURAMA EDITION=*=*=*=*=*=*=*=*=\n\n"); printf("\n\t\t=*=*=*=*=*=*=*=*=REGLAS DE JUEGO==*=*=*=*=*=*=*=*=\n"); printf("\n\t\t Hay bastantes reglas, Wikipedialo, ni idea\n\t\t Ah, salvo que hay que capturar si o si\n\n"); printf("\t\t=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=\n\n"); printf("\tElija una opcion:\n\n"); printf("\t\t1. Juego nuevo: vs PC\n"); printf("\t\t2. Juego nuevo: dos jugadores \n"); printf("\t\t3. Cargar partida de archivo\n"); printf("\t\t4. Salir\n\n"); do{ opcion=getint("Ingrese un numero de opcion > ") - 1; }while(opcion<0 || opcion>3); if(opcion == PVP || opcion == PVE){ modo = opcion; /* )1 para dos jugadores, 0 para juego contra la computadora*/ jugador=BLANCO; pedirDimensiones(&tablero); tablero=generarTablero(tablero.filas,tablero.cols); } else if(opcion == CARGAR){ printf("Ingrese el nombre del archivo:\n > "); getlinea(nombre, MAX_NOM); tablero=cargarPartida(&modo, &jugador, nombre); /*modo cambia al correspondiente (0 o 1)*/ if(tablero.matriz == NULL){ printf("\nError al intentar abrir el archivo \"%s\". Abortando...\n\n", nombre); return 1; } printf("\nMODO DE JUEGO: %s\n", modo?"DOS JUGADORES":"JUGADOR VS COMPUTADORA"); printf("TURNO DEL JUGARDOR %s\n", jugador?"NEGRO":"BLANCO"); printf("DIMENSIONES DEL TABLERO: %dx%d\n\n",tablero.filas,tablero.cols); } else{ printf("\n\t\t¡Adios!\n\n"); return 0; } ganador = jugar2(tablero, modo, jugador); switch(ganador) { case GANADOR_BLANCO: printf("GANA BLANCO\n\n"); break; case EMPATE: printf("EMPATE\n\n"); break; case GANADOR_NEGRO: printf("GANA NEGRO\n\n"); break; } printf("\n\t\tAdios!\n\n"); return 0; }