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

 

 


Tema destacado:


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12
91  Programación / Programación C/C++ / Re: EXAMEN! AYUDA MASTER MIND COLORES en: 3 Abril 2013, 14:42 pm
Mira a ver que te parece este código, he modificado el tuyo tal cual lo pide en el enunciado, con las funciones que pide y los parámetros que utiliza cada función.

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #define CIFRAS 3
  5. int resultado[2];
  6. char num[10]={'0','1','2','3','4','5','6','7','8','9'};
  7. int aleatorio();
  8. void leer_combinacion(int *v1,int *v2,int *v3);
  9. int compara (int v1,int v2,int v3, char cadena[]);
  10.  
  11.  
  12.  
  13. ////Función main
  14. int main()
  15. {
  16. //Definiión de variables    
  17. time_t t;
  18. int v1,v2,v3;
  19. int i,j,azar,intentos,repetida,jugar=1,ola;
  20. char cadena[CIFRAS];
  21. char jugada[CIFRAS];
  22. char volver_jugar;
  23.  
  24.  
  25. intentos=repetida=azar=0;
  26. srand((unsigned)time(&t));
  27.  
  28. //Bucle con la función aleatorio para generar la solución
  29. for(i=0;i<CIFRAS;i++)
  30. {
  31.   cadena[i]=num[aleatorio()];
  32. }
  33.  
  34. printf("\nLa combinación aleatoria es: ");
  35. for(j=0;j<CIFRAS;j++) printf("%c ",cadena[j]);
  36.  
  37. //Bucle para obtener las entradas del jugador y comprobar si son correctas.
  38. while (jugar==1)
  39. {
  40.   intentos++;
  41.   leer_combinacion(&v1,&v2,&v3);
  42.  
  43.   printf("\nTu jugada es: ");
  44.   printf("\n%i %i %i ",v1,v2,v3);
  45.   compara(v1,v2,v3,cadena);
  46.  
  47.  
  48.   if(resultado[0]==CIFRAS) printf("\n\nENHORABUENA! HAS GANADO!(%d intentos)\n",intentos);
  49.   else
  50.   {
  51.       printf("\n\nOTRA PARTIDA<S/N>?");
  52.       scanf("%c",&volver_jugar);
  53.       fflush(stdin);
  54.       if (volver_jugar=='S' || volver_jugar=='s') jugar=1;
  55.       else jugar=0;
  56.   }
  57. }
  58.  
  59. system("pause");
  60. return 0;
  61. }
  62.  
  63.  
  64. //// Función aleatorio
  65.  
  66. int aleatorio()
  67. {
  68.   return (rand()%10);
  69. }
  70.  
  71. //// Función compara
  72. int compara(int v1,int v2,int v3, char cadena[])
  73. {
  74.  
  75.   int i;
  76.   int jugada;
  77.   for (i=0;i<CIFRAS;i++)
  78.   {
  79.       if (i==0) jugada=atoi(&cadena[i])/100; else if (i==1) jugada=atoi(&cadena[i])/10; else jugada=atoi(&cadena[i]);
  80.       if (jugada==v1)
  81.       {
  82.       if (i==0) {printf("verde");resultado[0]++;} else {printf("amarillo");resultado[1]++;}
  83.       }
  84.       if (jugada==v2)
  85.       {
  86.       if (i==1) {printf("verde");resultado[0]++;} else {printf("amarillo");resultado[1]++;}
  87.       }
  88.       if (jugada==v3)
  89.       {
  90.       if (i==2) {printf("verde");resultado[0]++;} else {printf("amarillo");resultado[1]++;}
  91.       }
  92.       if (jugada!=v1 && jugada!=v2 && jugada!=v3) printf("rojo");
  93.   }
  94.   return 1;
  95.  
  96. }
  97.  
  98. //// Función leer_combinación
  99. void leer_combinacion(int *v1,int *v2,int *v3)
  100. {
  101.     int j;
  102.     printf("\n\nIntroduce un numero, del 0 al 9");
  103.     printf("\nNumero 1: ");
  104.     scanf("%i",v1);
  105.     printf("\nNumero 2: ");
  106.     scanf("%i",v2);
  107.     printf("\nNumero 3: ");
  108.     scanf("%i",v3);
  109.     fflush(stdin);
  110. }
  111.  
92  Programación / Programación C/C++ / Re: como puedo hacer un codigo que imprima los primero 100 numero pares en c++ en: 3 Abril 2013, 11:14 am
Citar

Sumar 2 también es una posibilidad, pero al multiplicar por 2 una variable que se va incrementando de 1 en 1 también proporciona los números pares.
93  Programación / Programación C/C++ / Re: como puedo hacer un codigo que imprima los primero 100 numero pares en c++ en: 3 Abril 2013, 00:29 am
Hay varias opciones, puedes hacer un bucle "for" o "while" que te incremente una variable e ir comprobando si el residuo al dividirlo por 2 es cero, como dice amchacon o multiplicar dicha variable por 2 directamente con lo que te ahorras tiempo de cálculo y habrá muchas más formas de hacerlo.
El límite del bucle será que el número a imprimir como mucho sea 100
94  Programación / Programación C/C++ / Re: EXAMEN! AYUDA MASTER MIND COLORES en: 2 Abril 2013, 21:36 pm
Un par de cosas que he cambiado para poder hacerlo funcionar:
- La variable "letra", supongo que es lo que se ha definido previamente como num[6]
-Todos los bucles "for" en los que metes la variable "combinacion" debes poner "combinacion" pues de lo contrario no estarás recorriendo el array elemento a elemento.
- La línea "combinacion=letra[azar]; " durante la definición de la combinación aleatoria correcta, debe estar fuera del "while" pues si no se repite la letra debe asignarla también en la posición correspondiente.

Creo que eso es todo, a mi me funciona bien habiendo hecho esos cambios.

Un saludo.
95  Programación / Programación C/C++ / Re: [C] Error en código de ejercicio en: 29 Marzo 2013, 17:11 pm
Efectivamente, con la siguiente línea si que obedece al día insertado

Código
  1. if (strcmp(dia,"sabado")==0||strcmp(dia,"martes")==0)descuento=montobruto*12.56/100;
96  Programación / Programación C/C++ / Re: [C] Error en código de ejercicio en: 29 Marzo 2013, 10:42 am
A mi me estaba dando fallos para pasar pagarporhora y montobruto de int a float, pero bueno si a ti te va bien, mejor.

Yo habiendo definido estas dos variables como float también y poniéndole:

Código
  1. system("pause");  // Para que no desaparezca la pantalla rápidamente

Habiendo incluido la librería iostream, si que obtengo el resultado. Creo que no hay ningún fallo.
97  Programación / Scripting / Re: Ayuda a crear un archivo bat. en: 28 Marzo 2013, 18:25 pm
Mira a ver si esto te sirve para tu programa, sería para volver al mismo día y mismo mes del año pasado.

set dia=%date:~0,2%
set mes=%date:~3,2%
set /a año=%date:~6,4%-1
date %dia%/%mes%/%año%
start "Tu_programa.exe"

Saludos

98  Programación / Programación C/C++ / Re: suma de ASCII en: 28 Marzo 2013, 12:04 pm
Efectivamente, como ha dicho Maik33 puedes utilizar la función strlen y a partir de ahí ya lo puedes programar como un bucle for:

Código
  1. while(!feof(archivo))
  2.    {
  3.        fscanf(archivo,"%[^\n]\n",cadena);
  4.        l=strlen(cadena);
  5.        for(i=0; i<l+1; i++)
  6.        {
  7.            suma=suma+cadena[i];
  8.        }
  9.    }

o como un while

Código
  1. while(!feof(archivo))
  2.    {
  3.        fscanf(archivo,"%[^\n]\n",cadena);
  4.        l=strlen(cadena);
  5.        while(i<=l)
  6.        {
  7.            suma=suma+cadena[i];
  8.            i++;
  9.        }
  10.    }

Un saludo
99  Programación / Programación C/C++ / Re: por favor ayudenme a programar este ejercicio con la funcion if en: 24 Marzo 2013, 20:56 pm
La estructura del "if"  es:

if (condition) statement

Por lo que para una categoría por ejemplo sería

if (la edad de la persona está dentro del rango) Precio=Precio_normal-descuento;

y así lo repites con cada una de las categorias. Si aún así te da errores escribe el código que tengas hasta el momento para así dar directamente con el error.
100  Programación / Programación C/C++ / Re: programa en c++ calcular potencia en: 24 Marzo 2013, 19:35 pm
Es un problema bastante fácil en cuanto a programar, inténtalo y si tienes problemas más específicos no dudes en preguntar, pues será el único modo de que aprendas.
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines