Autor
|
Tema: Dudas en C++ (Leído 3,082 veces)
|
WiseHidden
Desconectado
Mensajes: 225
La curiosidad es la semilla de la genialidad.
|
Hola a todos los miembros de elhacker.net
Llevo un tiempo con la ilusion y la entrega de aprender C++. Como todos sabemos es un lenguaje bastante Complejo (Por lo completo que puede ser)
He "Hojeado" "Buscado" "Mirado" "Preguntado" ect......
Muchos de los Ejercicios que encuentro. No puedo compilarlos porque me da el fastidioso (jaja) error en rojo que tan poco nos gusta.
Como por ejemplo: -void (que lo tengo que sustituir por int -clrscr(); (que no se por que lo tengo que sustituir -sleep (que si no me esquivoco es para el S.O Linux) Ect.....
No se si sera mi compilador el cual utilizo es el Code::Blocks 8.02
Creo que tambien podria ser el tema de CONSOLE, Y demas. Pero hay si es verdad que ando aun mas perdido.
El tema de mi post. es si estoy haciendo una u otra cosa mal. O si tengo que cambiar de compilador. O si debo abrir en CONSOLE o en otro,
Agradeceria mucho vuestra ayuda pues soy muy muy novato en C++ y m queda un largiiiisimo camino, y la verdad que me encanta este lenguaje.
Un saludo
WiseHidden
|
|
|
En línea
|
Si tu tienes una manzana y yo otra y decidimos intercambiarlas, seguiremos teniendo una manzana cada uno, pero si tu tienes una idea y yo otra y la intercambiamos, ambos tendremos dos ideas. (Origen Anónimo)
|
|
|
|
WiseHidden
Desconectado
Mensajes: 225
La curiosidad es la semilla de la genialidad.
|
Gracias Akai. Aceptare tu consejo de utilizar el CodeBlock y leere el tutorial referente alo del ejemplo en si lo expondre aqui: #include <iostream.h> #include <conio.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #define num_palabras 3 void cosntruye_todo (); void captura_las_palabras(); void muestra_las_palabras(); void exhibe_el_menu(); void elegir_palabra(); void construye_cabeza(); void construye_tronco(); void construye_brazo_izquierdo(); void construye_brazo_derecho(); void construye_pie_izquierdo(); void construye_pie_derecho(); void construye_horca(); int opcion_elegida; int posicion_de_palabra_a_adivinar; int cant_de_palabras=num_palabras; int longitud_de_las_palabras[num_palabras]; char todas_las_palabras[20][num_palabras]; char palabra_actual[20]; int longitud_palabra_actual; main() { opcion_elegida=0; clrscr(); // AQUI ESTA MI PRIMER ERROR exhibe_el_menu(); getche(); return 0; } void exhibe_el_menu(void) { clrscr(); do { gotoxy(25,2); printf("PRECIONA EL NUMERO DE LA OPCION QUE DESEE"); gotoxy(25,3); printf("-----------------------------------"); gotoxy(25,3.5); printf(""); gotoxy(59,3.5); printf("!"); gotoxy(25,4); printf(" MENU DEL JUEGO EL AHORCADO !"); gotoxy(25,5); printf(" 1 - INGRESAR LAS PALABRAS ! "); gotoxy(25,6); printf(" 2 - JUGAR EL AHORCADO ! "); gotoxy(25,7); printf(" 3 - MOSTRAR LAS PALABRAS ! "); gotoxy(25,8); printf(" 4 - ABANDONAR EL PROGRAMA ! "); gotoxy(25,9); printf("-----------------------------------"); gotoxy(25.5,15); printf("ELIJA LA OPCION QUE DESEE Y PULCE ACEPTAR:"); gotoxy(67,15); scanf("%d",&opcion_elegida); } while (opcion_elegida < 1 || opcion_elegida > 4); switch (opcion_elegida) { case 1: captura_las_palabras(); case 2: elegir_palabra(); case 3: muestra_las_palabras(); case 4: exit(1); } } void captura_las_palabras(void) { int i,j; clrscr(); for (i=0; i<cant_de_palabras;i++) { gotoxy(5,i+10); printf("ESCRIBA LA PALABRA NUMERO %d: ", i+1); gotoxy(35,i+10); cin>>palabra_actual; longitud_palabra_actual = strlen(palabra_actual); longitud_de_las_palabras=longitud_palabra_actual; for(j=0;j<longitud_palabra_actual; j++) todas_las_palabras[j]=palabra_actual[j]; } exhibe_el_menu(); } void muestra_las_palabras(void) { int i,j; clrscr(); for (i=0; i<cant_de_palabras;i++) { gotoxy(5,i+10); printf("PALABRA No %d", i+1); longitud_palabra_actual=longitud_de_las_palabras; for(j=0; j<longitud_palabra_actual;j++) { gotoxy(19+j, i+10); printf("%c", todas_las_palabras[j]); } } printf("n Pulse una tecla para continuar..."); getche(); exhibe_el_menu(); } void elegir_palabra(void) { int longitud_de_palabra_a_adivinar,l; int i,j,sw=0,errores=0,contaP=0; char letra[1],completa[20]; clrscr(); do { gotoxy(10,4); printf("Escriba un numero entre 1 y %d y pulse enter:", cant_de_palabras); gotoxy(55,4); scanf("%d",&posicion_de_palabra_a_adivinar); clrscr(); } while (posicion_de_palabra_a_adivinar < 1 || posicion_de_palabra_a_adivinar > cant_de_palabras); longitud_de_palabra_a_adivinar=longitud_de_las_palabras[posicion_de_palabra_a_adivinar-1]; for(i=0;i<longitud_de_palabra_a_adivinar;i++) { gotoxy(i+20,3); printf("-"); } do { i++; gotoxy(10,4); printf("n Escriba Una Letra y Presione <Enter>..."); cin>>letra; sw=0; for(j=0;j<longitud_de_palabra_a_adivinar; j++) { if (todas_las_palabras[j][posicion_de_palabra_a_adivinar-1]==letra[0]) { gotoxy(j+20,3); printf("%c",letra[0]); completa[j]=letra[0]; sw=1; } } contaP=0; for(l=0;l<longitud_de_palabra_a_adivinar; l++) { if(completa[l]==todas_las_palabras[l][posicion_de_palabra_a_adivinar-1]) contaP++; } if (contaP==longitud_de_palabra_a_adivinar) { gotoxy(37,10); printf("nGANASTES EL JUEGO....."); errores=4; i=longitud_de_palabra_a_adivinar; getch(); exhibe_el_menu(); } else { if( sw==0) errores++; if(errores== 1) construye_cabeza(); else if(errores==2) construye_tronco(); else if(errores==3) construye_brazo_derecho(); else if(errores==4) construye_brazo_izquierdo(); else if(errores==5) construye_pie_derecho(); else if(errores==6) construye_pie_izquierdo(); else if(errores==7) { clrscr(); cosntruye_todo (); errores = 7 ; } } }while(i<longitud_de_palabra_a_adivinar|| errores <=6); printf("nn Pulse una tecla para continuar..."); getche(); exhibe_el_menu(); } void construye_cabeza(void) { gotoxy(39,6); printf("|||||"); gotoxy(38,7); printf("| . . |"); gotoxy(39,8); printf("|_-_|"); } void construye_tronco(void) { gotoxy(41,9); printf("|"); gotoxy(41,10); printf("|"); gotoxy(41,11); printf("|"); gotoxy(41,12); printf("|"); } void construye_brazo_derecho(void) { gotoxy(40,9); printf("/"); gotoxy(38,10); printf("/"); } void construye_brazo_izquierdo(void) { gotoxy(42,9); printf(""); gotoxy(44,10); printf(""); } void construye_pie_izquierdo(void) { gotoxy(42,13); printf(""); gotoxy(44,14); printf(""); } void construye_pie_derecho(void) { gotoxy(40,13); printf("/"); gotoxy(38,14); printf("/"); } void cosntruye_horca(void) { int i; gotoxy(41,5); printf(":"); gotoxy(41,4); printf(":"); gotoxy(41,3); printf(":"); gotoxy(42,3); printf(":::::::::::::::"); for(i=3;i<18;i++) { gotoxy(57,i); printf(":"); } gotoxy(50,i); printf("==============="); } void cosntruye_todo(void) { gotoxy(37,4); printf("nPERDISTE EL JUEGO....."); cosntruye_horca(); construye_pie_derecho(); construye_pie_izquierdo(); construye_brazo_derecho(); construye_brazo_izquierdo(); construye_tronco(); construye_cabeza(); }
Gracias de nuevo Un saludo WH
|
|
|
En línea
|
Si tu tienes una manzana y yo otra y decidimos intercambiarlas, seguiremos teniendo una manzana cada uno, pero si tu tienes una idea y yo otra y la intercambiamos, ambos tendremos dos ideas. (Origen Anónimo)
|
|
|
Akai
Desconectado
Mensajes: 823
|
iostream se incluye de esta forma --> El .h es para la cabecera antigua y ya no se usa. stdio, stdlib y string se incluyen como cstdio cstdlib cstring sin la h (lo mismo para la mayoría de liberías estándar de C, se quita el .h al final se añace c al principio. conio.h es una librería obsoleta, mejor no usarla, y por tanto clrscr y gotoxy tampoco. Por otro lado, main debe ser int --> cin da problema de no estar declarado, soluciones: usa o añade al principio del código Me pregunto para qué usar printf en C++ teniendo cout. Cambia el getche() por getchar() Incluyes librerías que no usas (string.h stdlib.h) Por otro lado tengo la impresión que estás leyendo un manual antiguo, ¿me equivoco? Puedes probar con el libro de Deitel & Deitel "Cómo Programar en C/C++" que encontrarás aquí: http://foro.elhacker.net/programacion_cc/librospapers_cc-t296234.0.htmlCreo que no me dejo nada por comentar
|
|
|
En línea
|
|
|
|
WiseHidden
Desconectado
Mensajes: 225
La curiosidad es la semilla de la genialidad.
|
Fantastica respuesta.
Si, al parecer debo de estar aprendiendo en un tutorial "antiguo" Solo me queda una curiosidad.
Es tambien igual si hablamos de C++? O solo funciona con el C?
Gracias akai y sin duda me centrare en este.
MIL GRACIAS
|
|
|
En línea
|
Si tu tienes una manzana y yo otra y decidimos intercambiarlas, seguiremos teniendo una manzana cada uno, pero si tu tienes una idea y yo otra y la intercambiamos, ambos tendremos dos ideas. (Origen Anónimo)
|
|
|
Akai
Desconectado
Mensajes: 823
|
Todo lo que he comentado es referente a C++, asumiendo que es lo que estás utilizando.
|
|
|
En línea
|
|
|
|
|
|