elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


  Mostrar Temas
Páginas: [1]
1  Programación / Java / Buscar un string en un txt y modificarlo en: 28 Junio 2017, 14:17 pm
Hola muy buenas tengo una duda con un metodo y no se como resolverla ni si es posible

Quiero que el metodo haga lo siguiente:

Tengo un personas.txt el cual contiene informacion de una serie de personas : Monitores o Usuarios. Lo que hago es leer este fichero e ir rellenando dos HashMap uno que contiene  los monitores ( HashMap<Integer, Monitor>) y otro a los usuarios (HashMap<Integer,Usuario>)  la key de los HashMap es el id de cada persona
Código:
1                                               //id
monitor                                      //tipo
Jose Carlos                                 //nombre
Alvarez Perez                              //apellidos
07/09/1976                               //fechaNacimiento
14                                            //horasAsignables
1 1;1 2; 1 3; 1 4; 2 1; 2 3; 4 6   //GruposImpartidos idActividad idGrupo; <--- ESTA
***************************************
4                                                //id
usuario          
Susana                                       //nombre
Rodriguez Estevez                       //apellidos
15/01/1998                              //fechaNacimiento
6/10/2015                               //fechaIngreso
                                             //actividadesCursadasAnteriores
90,5                                      //saldo
1 [1]; 2 [3];                           //actividadesActuales

La cuestion es la siguiente , quiero que al final de ejecutar un metodo el cual añade un grupo impartido:
Código:
public static void asignaMonitorGrupo(HashMap<Integer, Monitor> monitores, int idMonitor){}
  coja la nueva linea de GruposImpartidos y sustituya a la del fichero personas.txt  
2  Programación / Java / Pasar ArrayList generico como argumento a un metodo en: 18 Junio 2017, 00:20 am
Hola muy buenas tengo que creo que es de teoria.

Tengo un metodo llamado imprimePersonas(); el cual lo que va a  hacer como su nombre dice es imprimir personas en un fichero siguiendo un formato especifico , para ello quiero que el metodo tenga 3 parametros de entrada:
Código:
public static void imprimePersonas(String tipoPersona, String nombreFichero, Arraylist<Personas> listPersonas)

bien la pregunta consiste en ¿Hay alguna manera de pasar un arraylist por parametro sin especificar que tipo de dato trabaja el ArrayList?? es decir yo tengo dos tipos de personas Unas son monitores y las otras usuarios ( ambas heredan de una clase llamada persona) entonces  quiero saber si hay alguna manera de pasar el arraylist sin especificar si se trata de  
Código:
ArrayList<Monitor>  o ArrayList<Usuario> 
3  Seguridad Informática / Seguridad / Primeros pasos en seguridad ? en: 3 Abril 2017, 21:49 pm
Hola muy buenas a todos !

Estoy aquí porque me gustaría saber por donde empezar en la seguridad informática , es un ambito que me llama mucho y me encantaría aprender. Soy estudiante de teleco y aun no he tenido la asignatura de seguridad informática .Se que no es fácil y que no es para todo el mundo pero me gustaría que me ayudaseis a poder empezar y que me dieseis consejos sobre  que leer , que practicar , que ver ..... todas esas cosas serán de ayuda! Lo máximo que he conseguido ha sido conseguir la clave wifi de la casa de mi amigo  con wifislax así que ... tengo muuuuucho que aprender
4  Programación / Java / Herencia java en: 3 Abril 2017, 14:27 pm
Hola muy buenas a todos!! tengo un problema en este programa que estoy realizando ahora mismo  el cual mediante la lectura de un fichero que contiene personas y sus datos, va a ordenarlas en función de si son monitores o usuarios en dos HashMaps diferentes ( Monitores y Usuarios). El problema está en que las clases monitores y usuarios heredan de la clase personas un identificador( idPersona) el nombre, los apellidos y la fecha de nacimiento. Esos 4 datos a la hora de imprimir los HashMap de Personas y Monitores me dice que son null y no deberia de ser asì , a parte cuando intento imprimir un hashmap con todas las personas , me dice la ruta donde se encuentra la clase personas . Os adjunto el codigo! muchas gracias!

MI PREGUNTA: ¿Porque cuando relleno el HashMap de Usuarios y Monitores , no me rellena los campos de  id nombre apellidos fecha de nacimiento? ¿ Porque cuando imprimo el hashmap de personas me imprime el paquete donde se encuentra ?
ejemplo:

{1=es.uvigo.pii.instalacionesdeportivas.main.Persona@6d06d69c, 2=es.uvigo.pii.instalacionesdeportivas.main.Persona@7852e922, 3=es.uvigo.pii.instalacionesdeportivas.main.Persona@15db9742}

Código
  1.  
  2. import java.io.BufferedReader;
  3. import java.io.BufferedWriter;
  4. import java.io.File;
  5. import java.io.FileReader;
  6. import java.util.HashMap;
  7. import es.uvigo.pii.instalacionesdeportivas.main.Persona;
  8.  
  9. public class FicheroPersonas {
  10.  
  11. public static void main(String[] args) {
  12.  
  13. // TODO Auto-generated method stub
  14.  
  15. HashMap<Integer,Persona> Personas= new HashMap<Integer,Persona>();
  16. HashMap<Integer,Usuario> Usuarios= new HashMap<Integer,Usuario>();
  17. HashMap<Integer,Monitor> Monitores= new HashMap<Integer,Monitor>();
  18.  
  19. String[] datos=new String[10];
  20. int i=0;
  21. int idsOcupados=0;
  22. FileReader fr = null;
  23. BufferedReader br = null;
  24.  
  25. String rutaPersonas = "personas.txt";
  26. File personas = new File(rutaPersonas);
  27.  
  28. try {
  29. // Apertura del fichero y creacion de BufferedReader para poder
  30. // hacer una lectura comoda (disponer del metodo readLine()).
  31.  
  32. fr = new FileReader(personas);
  33. br = new BufferedReader(fr);
  34.  
  35. // Lectura del fichero
  36. String linea;
  37. while ((linea = br.readLine()) != null) {
  38.  
  39. if(linea.startsWith("*")!=true){
  40.  
  41. datos[i]=linea; // guardo la linea
  42. i++;
  43.  
  44. }
  45.  
  46.  
  47. if(linea.startsWith("*")==true){
  48.  
  49. if(datos[1].equalsIgnoreCase("usuario")){
  50. System.out.println(datos[0]+datos[1]);
  51.  
  52. Usuario usuario=new Usuario(Integer.parseInt(datos[0]),datos[2],datos[3],datos[4],datos[5],datos[6],Float.parseFloat(datos[7]),datos[8]);
  53.  
  54.  
  55. Usuarios.put(Integer.parseInt(datos[0]), usuario);
  56.  
  57.  
  58. Persona persona=new Persona(Integer.parseInt(datos[0]),datos[2],datos[3],datos[4]);
  59.  
  60. Personas.put(Integer.parseInt(datos[0]), persona);
  61.  
  62. }
  63. if(datos[1].equalsIgnoreCase("monitor")){
  64. System.out.println(datos[0]+datos[1]);
  65.  
  66. Monitor monitor=new Monitor(Integer.parseInt(datos[0]),datos[2],datos[3],datos[4],Integer.parseInt(datos[5]),datos[6]);
  67. Monitores.put(Integer.parseInt(datos[0]), monitor);
  68.  
  69. Persona persona=new Persona(Integer.parseInt(datos[0]),datos[2],datos[3],datos[4]);
  70.  
  71. Personas.put(Integer.parseInt(datos[0]), persona);
  72. }
  73. i=0;
  74. idsOcupados ++;
  75. }
  76.  
  77. }
  78. if(datos[1].equalsIgnoreCase("usuario")){
  79. System.out.println(datos[0]+datos[1]);
  80. idsOcupados ++;
  81. }
  82. if(datos[1].equalsIgnoreCase("monitor")){
  83. System.out.println(datos[0]+datos[1]);
  84. idsOcupados ++;
  85. }
  86. System.out.println(Monitores);
  87. System.out.println(Usuarios);
  88. System.out.println(Personas);
  89.  
  90. } catch (Exception e) {
  91. e.printStackTrace();
  92. } finally {
  93. // En el finally cerramos el fichero, para asegurarnos
  94. // que se cierra tanto si todo va bien como si salta
  95. // una excepcion.
  96. try {
  97. if (null != fr) {
  98.  
  99. fr.close();
  100.  
  101. }
  102. } catch (Exception e2) {
  103. e2.printStackTrace();
  104. }
  105. }
  106.  
  107. }
  108.  
  109.  
  110. }
  111.  
  112.  
  113. public class Usuario extends Persona{
  114.  
  115. public int idUsuario;
  116. public String nombre;
  117. public String apellidos;
  118. public String fechaNacimiento;
  119. public String fechaAlta;
  120. public String actividadesPrevias;
  121. public float saldo;
  122. public String actividadesActuales;
  123.  
  124. public Usuario(int idUsuario,String nombre,String apellidos,String fechaNacimiento,String fechaAlta,String actividadesPrevias, float saldo, String actividadesActuales){
  125. super(idUsuario,nombre,apellidos,fechaNacimiento);
  126.  
  127. this.fechaAlta=fechaAlta;
  128. this.actividadesActuales=actividadesActuales;
  129. this.saldo=saldo;
  130. this.actividadesPrevias=actividadesPrevias;
  131. }
  132.  
  133. //GETTERS & SETTERS
  134.  
  135.  
  136.  
  137.  
  138. @Override
  139. public String toString() {
  140. return "Usuario [nombre=" + nombre + ", apellido=" + apellidos+", fechaNacimiento=" + fechaNacimiento
  141. + ", fechaAlta=" + fechaAlta + ", actividadesPrevias=" + actividadesPrevias + ", saldo=" + saldo
  142. + ", actividadesActuales=" + actividadesActuales + "]";
  143. }
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151. public String getFechaAlta() {
  152. return fechaAlta;
  153. }
  154.  
  155. public void setFechaAlta(String fechaAlta) {
  156. this.fechaAlta = fechaAlta;
  157. }
  158.  
  159. public String getActividadesPrevias() {
  160. return actividadesPrevias;
  161. }
  162.  
  163. public void setActividadesPrevias(String actividadesPrevias) {
  164. this.actividadesPrevias = actividadesPrevias;
  165. }
  166.  
  167. public float getSaldo() {
  168. return saldo;
  169. }
  170.  
  171. public void setSaldo(float saldo) {
  172. this.saldo = saldo;
  173. }
  174.  
  175. public String getActividadesActuales() {
  176. return actividadesActuales;
  177. }
  178.  
  179. public void setActividadesActuales(String actividadesActuales) {
  180. this.actividadesActuales = actividadesActuales;
  181. }
  182.  
  183. }
  184.  
  185.  
  186. public class Monitor extends Persona{
  187.  
  188. public int idMonitor;
  189. public String nombre;
  190. public String apellidos;
  191. public String fechaNacimiento;
  192. public int horasAsignables;
  193. public String GruposImpartidos;
  194.  
  195. public Monitor(int idMonitor,String nombre, String apellidos, String fechaNacimiento, int horasAsignables, String GruposImpartidos){
  196. super(idMonitor,nombre,apellidos,fechaNacimiento);
  197.  
  198.  
  199. this.horasAsignables=horasAsignables;
  200. this.GruposImpartidos=GruposImpartidos;
  201.  
  202.  
  203. }
  204.  
  205.  
  206.  
  207. @Override
  208. public String toString() {
  209. return "Monitor [nombre=" + nombre + ", apellidos=" + apellidos + ", fechaNacimiento=" + fechaNacimiento
  210. + ", horasAsignables=" + horasAsignables + ", GruposImpartidos=" + GruposImpartidos + "]";
  211. }
  212.  
  213.  
  214.  
  215.  
  216. public int getHorasAsignables() {
  217. return horasAsignables;
  218. }
  219.  
  220. public void setHorasAsignables(int horasAsignables) {
  221. this.horasAsignables = horasAsignables;
  222. }
  223.  
  224. public String getGruposImpartidos() {
  225. return GruposImpartidos;
  226. }
  227.  
  228. public void setGruposImpartidos(String gruposImpartidos) {
  229. GruposImpartidos = gruposImpartidos;
  230. }
  231.  
  232.  
  233. }
  234.  
  235.  
  236. public class Persona {
  237.  
  238. public int idPersona;
  239. public String nombre;
  240. public String apellidos;
  241. public String fechaNacimiento;
  242.  
  243. public Persona(int idPersona, String nombre, String apellidos,String fecha){
  244. super();
  245.  
  246. this.idPersona=idPersona;
  247. this.nombre=nombre;
  248. this.apellidos=apellidos;
  249. this.fechaNacimiento=fechaNacimiento;
  250.  
  251. }
  252. //GETTERS & SETTERS
  253. public int getIdPersona() {
  254. return idPersona;
  255. }
  256.  
  257. public void setIdPersona(int idPersona) {
  258. this.idPersona = idPersona;
  259. }
  260.  
  261. public String getNombre() {
  262. return nombre;
  263. }
  264.  
  265.  
  266.  
  267. public void setNombre(String nombre) {
  268. this.nombre = nombre;
  269. }
  270.  
  271. public String getApellidos() {
  272. return apellidos;
  273. }
  274.  
  275. public void setApellidos(String apellidos) {
  276. this.apellidos = apellidos;
  277. }
  278.  
  279. public String getFechaNacimiento() {
  280. return fechaNacimiento;
  281. }
  282.  
  283. public void setFechaNacimiento(String fechaNacimiento) {
  284. this.fechaNacimiento = fechaNacimiento;
  285. }
  286.  
  287.  
  288.  
  289.  
  290.  
  291. }
  292.  
  293.  
5  Sistemas Operativos / Windows / error 0xc0000255 al instalar windows 10 en: 6 Enero 2017, 22:27 pm
Hola muy buenas, y gracias a todos los que me ayuden!

el problema es el siguiente: tenia un adware en el pc el cual no conseguia eliminar de ninguna manera, este lo que hacia era cambiar la pagina de inicio de google chrome asi como el motor de busqueda a otros motores como amisites por ejemplo. Desde que esto pasó el portatil comenzo a ir mas lento asi que como no tenia mucha informacion en el pc decidí formatearlo y reinstalar W10 pro.

Para reinstalar W10 pro lo hago desde un USB Booteable , he usado tanto windows media creation tool como Rufus para poder hacerlo booteable. Hasta aqui todo bien, el problema esta en que tengo dos ISO diferentes, la original descargada de microsoft y la otra descargarda de un post en fiuxy.com

Cuando utilizo la oficial instala crea el proceso de instalacion y cuando llega al siguiente paso despues de preparando los dispositivos  pone preparando y el circulo de puntos dando vueltas durante horas lo he tenido mas de 20 horas y no acaba nunca.

En cambio cuando no utilizo la oficial me salta el error 0xc0000255

alguien me puede ayudar?? Gracias!
6  Programación / Programación C/C++ / AYUDA PROGRAMA EN C:No detecta los tipo Char en: 6 Mayo 2016, 12:38 pm
 ; esto forma parte de un programa mayor ; el porblema esta en que cuando lo ejecuto y le introduzco por teclado un valor tal que resp pasa a ser igual a ... por ejemplo '3f', es decir: resp[0]=3 resp[1]=f entonces me deberia de volver a pedir que escoja un nuevo nivel de dificultad pero no lo hace. Lo que hace es retornarme la parte entera del array y , si no tiene parte entera me devuelve un 0; LO QUE QUIERO QUE HAGA ES QUE SI INTRODUZCO UN CARACTER ME LO DETECTE Y ME DIGA QUE VUELVA A INTRODUCIR LA DIFICULTAD. MUCHAS GRACIAS  ;D
Código:
int main(){
  int control=0,n,i,dif;
  char resp[4];
printf("Nivel actual %i \n", dificultad);

do{
printf("Elige el nuevo nivel[1..100]: \n");
  fflush(stdin);
scanf(" %s",  &resp);
 
n=strlen(resp);          //COMPROBACIONES
  if(n<1||n>=4){control=1;}

for(i=0;i<n;i++){   //letras
if(resp[i]<'0'&& resp[i]>'9'){
control=2;}}
switch(control){
case 1:
printf("\nHas seleccionado un n\243mero no v\240lido\n\n");break;
case 2:
printf("El numero ha de contener solo digitos\n");break;
case 0:
dif=atoi(resp);
if(dif>=1&&dif<=100){
printf("\nHas establecido numero de intentos máximo como: %i \n\n", dif);control=0;}
else{printf("\nHas establecido un n\243mero no v\240lido\n\n");
control==1;
}
}
}while(control==3 || control==2 || control==1);
return 0;}
7  Programación / Programación C/C++ / Ayuda: programa en lenguaje C en: 28 Abril 2016, 18:26 pm
Hola buenas, os pido ayuda con este programa. Lo que quiero es ordenar unos caracteres de tal manera que primero se impriman '*' , luego '|' y final mente' _ '. Para eso tiene que  comparar un array predefinido con valor= 1234 , con otro que introducimos por teclado. Si estos dos son iguales el programa para de ejecutarse; sino sigue. Si el valor es correcto ha de escribir ****. Si un numero esta escrito en el array pero esta en una posicion incorrecta | y si no esta en el array una _. Por ejemplo : introducimos 1245 y nos devuelve **|_ , otro ejemplo; introducimos 3524 y devuelve *||_
 Muchas gracias!!Y tened paciencia por favor , soy nuevo en programacion.

ADEMAS si no fuera mucho pedir podriais decirme a que se debe este fallo en concreto:

si escribimos cualquier numero mayor de 4 lo da por bueno, cuando deberia de escribir una barra baja ya que en el array solo hay numeros  menores de 4.

Código
  1. #include<stdio.h>
  2. #include<time.h>
  3. #include<ctype.h>
  4. #include<math.h>
  5. #include<stdlib.h>
  6. #include<string.h>
  7.  
  8. int main (){
  9. char cad[5]="1234";
  10. char resp[5];
  11. char resul[5];
  12. char correc[5]="****";
  13. int asteriscos=0, barras=0, bajas=0, intentos=0, controlador=0,i,j,k,q;
  14.   do{
  15.  
  16.  
  17. intentos ++;
  18. printf("Escribe una cadena de 4 numeros + ENTER: ");
  19. scanf("%s", &resp);
  20. for(i=0;i>4;i++){
  21. if(resp[i]<'0'||resp[i]>'9'){
  22. printf("No pueden ser caracteres, tienen que ser numeros");}
  23. else continue;}
  24. if (strlen(resp)!=4 ){//si la cadena escrita es demasiado larga o corta
  25. printf("Error de longitud de cadena ");}
  26.  
  27.  
  28.  
  29.  
  30. for(i = 0; i < 4; i++){
  31. for(j = 0; j < 4; j++){
  32.  
  33.  
  34. if (i == j && cad[i]==resp[j]){
  35. asteriscos=asteriscos+1;j==4;}
  36.  
  37. if(i != j && cad[i]==resp[j]){
  38. barras=barras+1;j==4;}
  39.  
  40. else {
  41. bajas=bajas+1;j==4;
  42. }
  43. }
  44. }
  45.  
  46.  
  47.  
  48. for(q=0;q<asteriscos;q ++){
  49. resul[q]='*';}
  50. for(q=asteriscos; q<asteriscos+barras; q++){
  51. resul[q]='/';}
  52. for(q=asteriscos+barras; q<4; q++){
  53. resul[q]='_';}
  54. for(k = 0; k<4; k++){
  55. printf("%c", resul[k]);}
  56.  
  57. printf("\n");
  58.  
  59. if(strcmp(resul,cad)==0){
  60. intentos==100;}
  61. }while(intentos<100);return 0;}

MOD EDIT: Titulo y etiqueta GeSHi corregidos.
8  Programación / Programación C/C++ / [AYUDA] Juego Master mind en: 20 Abril 2016, 12:40 pm
Hola a todos abrí este tema ya que necesito ayuda urgente con este programa. Estoy estudiando telecomunicaciones y me han mandado hacer el juego mastermind en lenguaje c. No estan definidas todas las funciones principales del juego aun , tan solo NivelDificultad, MENU, JugarPartida, impresionCARATULA... en fin; la duda es la siguiente: Al ejecutar la función NivelDificultad, se supone que la variable dificultad tendria que cambiar su valor de 100 por el valor que devuelve la funcion NivelDificultad. Eso lo que haíia sería que al ejecutar seguidamente JugarPartida limitar el numero de intentos que se puede jugar. Pero no lo hace, no guarda el valor devuelto con la funcion NivelDificultad. Algun consejo por favor? todos seran bien recibidos; soy nuevo en esto asi que  tener piedad  ;D :rolleyes:
Código:
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
#include <time.h>


//FUNCIONES CREADAS:

void impresionCARATULA();
void JugarPart(int dificultad, int intentos);
void Gene_Num_Aleatorios();
int NivelDificultad(int dificultad);
int MENU(int *dir_opcion, int dificultad, int control, int intentos);



int main(){
int opcion, num_adivinar[4],num_jugador,  control,  dificultad, intentos;
control=1;

impresionCARATULA();
dificultad=100;
do{

control=MENU(&opcion,  dificultad,  control, intentos);}while(control==1);


}

//CODIGO DE LAS FUNCIONES CREADAS:


void impresionCARATULA(){//imprimir la caratula intentar que sea lo mas corto posible.
int i;
int aste;
int linea=0;
do{
linea ++;
if(linea != 4){
for(aste=0; aste<80;aste ++){// LINEA DE ASTERISCOS
printf("*");}
printf("\n");}
else{
for(aste=0;aste<32;aste ++){printf("*");}printf(" MASTER MIND ");for(aste=0;aste<35;aste ++){printf("*");}printf("\n");//Linea mastermind
}}while(linea<7);}


int MENU(int *dir_opcion, int dificultad, int control, int intentos){//imprimir el menú
printf("\n1) Jugar partida \n2) Jugar partida de prueba\n3) Establecer nivel de dificultad\n4) Listar historial de partidas\n0) Salir\n\n ¿Siguiente operacion?\t");
scanf("%i", dir_opcion);

switch(*dir_opcion){
case 1:
control=1;
JugarPart(dificultad, intentos);
break;

case 2:
control=1;
break;

case 3:
control=1;
NivelDificultad( dificultad);
break;
case 4:
control=1;
printf("Has selecionado Listar historial de partidas\n");
break;
case 0:
printf("Has seleccionado Salir\n");
control=0;
break;
default:
control=1;
printf("Has seleccionado una opcion no valida\n");
break;

}return control;
}
int NivelDificultad(int dificultad){
  int c1=0;
do{
printf("Seleccione un numero de 1 a 100 para establecer el numero de intentos: \t");
  scanf("%i", & dificultad);
if(1<dificultad && dificultad<100){
printf("Has establecido numero de intentos máximo como: %i \n\n", dificultad);
c1=0;}
else{printf("Has selecionado un numero no valido\n");c1=1;}}while(c1!=0);return dificultad;}

void Gen_Num_Aleatorio_y_Comp(int adivinar[],int n){

int i;
    int bande;
    int j;
int cont;
srand (time(NULL));
do{
for(cont=0; cont<4; cont++){
adivinar[cont]=(rand() %10); //del 0 al 10
for(j=0;j<4;j ++){
for(i=j+1;j<3;i++){
if(adivinar[j]==adivinar[i]){
bande=1;

}
else continue;
}
}

}}while(bande!=1);
printf("correcto");}


void JugarPart(int dificultad, int intentos){
    printf("Has seleccionado Jugar Partida con dificultad %i \n", intentos);

do{
intentos++;
printf("2f\t", dificultad);
 }while(intentos<dificultad);
}
9  Programación / Programación C/C++ / ayuda: programa en lenguaje c en: 20 Abril 2016, 12:35 pm
Hola a todos abrí este tema ya que necesito ayuda urgente con este programa. Estoy estudiando telecomunicaciones y me han mandado hacer el juego mastermind en lenguaje c. No estan definidas todas las funciones principales del juego aun , tan solo NivelDificultad, MENU, JugarPartida, impresionCARATULA... en fin; la duda es la siguiente: Al ejecutar la función NivelDificultad, se supone que la variable dificultad tendria que cambiar su valor de 100 por el valor que devuelve la funcion NivelDificultad. Eso lo que haíia sería que al ejecutar seguidamente JugarPartida limitar el numero de intentos que se puede jugar. Pero no lo hace, no guarda el valor devuelto con la funcion NivelDificultad. Algun consejo por favor? todos seran bien recibidos; soy nuevo en esto asi que  tener piedad  ;D :rolleyes:
Código:
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
#include <time.h>


//FUNCIONES CREADAS:

void impresionCARATULA();
void JugarPart(int dificultad, int intentos);
void Gene_Num_Aleatorios();
int NivelDificultad(int dificultad);
int MENU(int *dir_opcion, int dificultad, int control, int intentos);



int main(){
int opcion, num_adivinar[4],num_jugador,  control,  dificultad, intentos;
control=1;

impresionCARATULA();
dificultad=100;
do{

control=MENU(&opcion,  dificultad,  control, intentos);}while(control==1);


}

//CODIGO DE LAS FUNCIONES CREADAS:


void impresionCARATULA(){//imprimir la caratula intentar que sea lo mas corto posible.
int i;
int aste;
int linea=0;
do{
linea ++;
if(linea != 4){
for(aste=0; aste<80;aste ++){// LINEA DE ASTERISCOS
printf("*");}
printf("\n");}
else{
for(aste=0;aste<32;aste ++){printf("*");}printf(" MASTER MIND ");for(aste=0;aste<35;aste ++){printf("*");}printf("\n");//Linea mastermind
}}while(linea<7);}


int MENU(int *dir_opcion, int dificultad, int control, int intentos){//imprimir el menú
printf("\n1) Jugar partida \n2) Jugar partida de prueba\n3) Establecer nivel de dificultad\n4) Listar historial de partidas\n0) Salir\n\n ¿Siguiente operacion?\t");
scanf("%i", dir_opcion);

switch(*dir_opcion){
case 1:
control=1;
JugarPart(dificultad, intentos);
break;

case 2:
control=1;
break;

case 3:
control=1;
NivelDificultad( dificultad);
break;
case 4:
control=1;
printf("Has selecionado Listar historial de partidas\n");
break;
case 0:
printf("Has seleccionado Salir\n");
control=0;
break;
default:
control=1;
printf("Has seleccionado una opcion no valida\n");
break;

}return control;
}
int NivelDificultad(int dificultad){
  int c1=0;
do{
printf("Seleccione un numero de 1 a 100 para establecer el numero de intentos: \t");
  scanf("%i", & dificultad);
if(1<dificultad && dificultad<100){
printf("Has establecido numero de intentos máximo como: %i \n\n", dificultad);
c1=0;}
else{printf("Has selecionado un numero no valido\n");c1=1;}}while(c1!=0);return dificultad;}

void Gen_Num_Aleatorio_y_Comp(int adivinar[],int n){

int i;
    int bande;
    int j;
int cont;
srand (time(NULL));
do{
for(cont=0; cont<4; cont++){
adivinar[cont]=(rand() %10); //del 0 al 10
for(j=0;j<4;j ++){
for(i=j+1;j<3;i++){
if(adivinar[j]==adivinar[i]){
bande=1;

}
else continue;
}
}

}}while(bande!=1);
printf("correcto");}


void JugarPart(int dificultad, int intentos){
    printf("Has seleccionado Jugar Partida con dificultad %i \n", intentos);

do{
intentos++;
printf("2f\t", dificultad);
 }while(intentos<dificultad);
}
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines