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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  PROGRAMA USANDO CICLOS FOR
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: PROGRAMA USANDO CICLOS FOR  (Leído 8,709 veces)
BOONE

Desconectado Desconectado

Mensajes: 6


Ver Perfil
PROGRAMA USANDO CICLOS FOR
« en: 18 Octubre 2008, 22:29 pm »

Hola.. necesito ayuda con un programa en c++

el programa es muy sencillo..es como una "adivinanza"

pide que adivines un numero y te da 10 oportunidades para acertar

si no aciertas pues te saca del programa..

les dejo el codigo qe empece como ejemplo jaja me sale raro S:


Código:
/ WHILE!!.cpp : main project file.

#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"

void main()

{
int numero;
int contador;


printf("PROGRAMA ADIVINA EL NUMERO \n\n\n  ");

printf("Adivina un numero que este entre el 0 y el 100   ");
scanf_s("%d",&numero);

numero=82;
contador=1;

for(contador=1;contador<=12;contador=contador++)

do

{
if  (numero<=10)
{


printf("Estas muy lejos todavia...");
contador=2;


printf("Vuelve a intentarlo de nuevo ");
scanf("%d",&numero);

}
else
if (numero<=20)
{


printf("Te falta mas todavia..");
contador=3

printf("Vuelve a intentarlo de nuevo ");
scanf("%d",&numero);
}
else
if (numero<=30)
{

printf("Estas cerca ");
contador=4;

printf("Vuelve a intentarlo de nuevo ");
scanf("%d",&numero);
}
else
if (numero<=40)
{

printf("Sigue aumentando..");
contador=5;


printf("Vuelve a intentarlo de nuevo ");
scanf("%d",&numero);
}
else
if (numero<=50)
{

printf("Estas cerca del gran premio...");
contador=6;

printf("Vuelve a intentarlo de nuevo ");
scanf("%d",&numero);
}
else
if (numero<=60)
{

printf("Caliente..aumenta mas...");
contador=7;


printf("Vuelve a intentarlo de nuevo ");
scanf("%d",&numero);

}
else
if (numero<=70)
{

printf("A una puntita...");
contador=8;


printf("Vuelve a intentarlo de nuevo ");
scanf("%d",&numero);

}
else
if (numero<=80)
{

printf("Calientisisisisismo...");
contador=9;


printf("Vuelve a intentarlo de nuevo ");
scanf("%d",&numero);

}
else
if (numero<=90)
{

printf("hot...");
contador=10;


printf("Vuelve a intentarlo de nuevo ");
scanf("%d",&numero);
contador=10;

}
else
if (numero<=100)
{
printf("Te pasastesss...");
contador=11;

printf("Lo siento perdiste ");

}
else
if (numero==82)


printf("Bravo..adivinaste");
contador=12;

}

while(contador<=12);



system("pause");

}



En línea

The_Judgement

Desconectado Desconectado

Mensajes: 119


Ver Perfil
Re: PROGRAMA USANDO CICLOS FOR
« Respuesta #1 en: 18 Octubre 2008, 22:53 pm »

Bueno, yo lo he intentado compilar en el Dev-C++ y para este compilador he encontrado varios errores:

-int main (void) en vez de void main ().

-La biblioteca stdafx.h no la tengo y creo que sobra si en vez de usar scanf_s usas scanf.

-En la línea en la que pones el contador a 3 te falta un ; al final.

-El bucle for que usas es absurdo usarlo teniendo un do while que hace lo mismo.

-El contador no tiene sentido al no incrementar cada vez que introduces un número.


Este código lo he hecho yo hará un tiempo, creo que es parecido:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. //PROTOTIPOS
  5. void presentacion (void);
  6. void modulo_principal (int,int *);
  7.  
  8. int main (void)
  9. {
  10. //DECLARACIÓN DE VARIABLES
  11. int numero_aleatorio;
  12. int numero;
  13.  
  14. srand(time(0));
  15. numero_aleatorio = 512*(rand()%1001/(float)1000);
  16. modulo_principal(numero_aleatorio,&numero);
  17. system("pause");
  18. return 0;
  19. }
  20.  
  21. void presentacion (void)
  22. {
  23. system("cls");
  24. printf("*************************************************************************\n");
  25. printf("\t\t\t\tMASTERMIND\n");
  26. printf("*************************************************************************\n");
  27. printf("Adivine el número que el ordenador ha pensado en 9 intentos. El número está comprendido entre 0 y 512\n");
  28. }
  29.  
  30. void modulo_principal (int numero_aleatorio, int *numero)
  31. {
  32. int intentos = 0;
  33. do
  34. {
  35.        presentacion();
  36.       printf("Este es el %dº intento\n", intentos+1);
  37. printf("Introduzca el número: ");
  38. scanf("%d", &*numero);
  39. if(*numero < numero_aleatorio)
  40. {
  41. printf("Lo siento, el número que he pensado es mayor que %d\n", *numero);
  42. ++intentos;
  43. system("pause");
  44. }
  45. if(*numero > numero_aleatorio)
  46. {
  47. printf("Lo siento, el número que he pensado es menor que %d\n", *numero);
  48. ++intentos;
  49. system("pause");
  50. }
  51. }while(intentos != 9 && numero_aleatorio != *numero);
  52. if(*numero == numero_aleatorio)
  53. {
  54. printf("¡Enhorabuena! El número que había pensado es %d\n",numero_aleatorio);
  55. printf("Has usado %d intentos.\n", intentos+1);
  56. }
  57. else
  58. printf("Lo siento, ha perdido. El número era %d\n", numero_aleatorio);
  59. }

Espero que te ayude.

Saludos.


En línea

Sacred Powers, cast your purifying light upon this corrupt souls, rest in peace sinners!, JUDGEMENT!!!
BOONE

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: PROGRAMA USANDO CICLOS FOR
« Respuesta #2 en: 18 Octubre 2008, 23:58 pm »

OOOOOH muchas gracias (:
me copie muchas cosas de tu programa aunque no le entendi a muchas
cosas que haces porque yo uso visual c++..me gustaria usar dev c++ porque
he escuchado que es mejor pero en mi escuela utilizamos visual c++ y no me
queda de otra xD..

muchas gracias..creo que ya me salio pero voy a seguirle modificando cosas

gracias :D
En línea

The_Judgement

Desconectado Desconectado

Mensajes: 119


Ver Perfil
Re: PROGRAMA USANDO CICLOS FOR
« Respuesta #3 en: 19 Octubre 2008, 13:40 pm »

Si necesitas ayuda con mi código, di en qué partes e intentaré explicártelas.

Yo en clase uso Dev-C++, pero a la hora de usar el debugger y el editor de textos me quedo con el Visual Studio 2005, así que en casa uso Visual Studio. Yo creo que lo mejor es aprender a usar el Dev-C++ por que la forma de programar en él es más estándar y normalmente el código que programes en Dev-C++ será compatible con otros compiladores.

Saludos.
En línea

Sacred Powers, cast your purifying light upon this corrupt souls, rest in peace sinners!, JUDGEMENT!!!
^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: PROGRAMA USANDO CICLOS FOR
« Respuesta #4 en: 23 Octubre 2008, 18:40 pm »

Ten mucho en cuenta la optimizacion (llamese tamano) de tu objeto final, no es requerido que utilizes cabeceras de las cuales no usaras ninguna funcion de esta.

Aqui te posteo tambien un codigo ejemplo... que realize haber si te puede servir.

Código:
#include <stdio.h>
#include <stdlib.h>

static unsigned int numero = 8;
static unsigned int numerito1;

int main(void)
{
   
int numerito = 0;

    fprintf(stdout, "Inserta un numero\n");
    fscanf(stdin, "%i", &numerito1);   

for ( ; numerito < 9;  ) {

if (numerito1 < numero) {
              fprintf(stdout, "El numero insertado es menor\n");
              fprintf(stdout, "Inserta un numero\n");
              fscanf(stdin, "%i", &numerito1);
              numerito++;
              getchar();
               }
else if (numerito1 > numero) {
              fprintf(stdout, "El numero insertado es mayor\n");
              fprintf(stdout, "Inserta un numero\n");
              fscanf(stdin, "%i", &numerito1);
              numerito++;
              getchar();
              }
else {
              fprintf(stdout, "Accertaste el numero!!\n"); 
              getchar();
              exit(0);
}
 
}

EXIT_SUCCESS;   
}
En línea

ISCJAIRO

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: PROGRAMA USANDO CICLOS FOR
« Respuesta #5 en: 7 Diciembre 2011, 04:22 am »

hola que tal  oye de pura casualidad no tendras un codigo que utilice microcontroladores,este programa tiene que hacer lo siguiente:
*programar al microcontrolador poniendole un numero
*que el usuario pide un numero desde teclado
*mostrar en el display si el numero introducido por el usaurio concuerda con el programado en el microcontrolador si es el mismo mandar un mensaje en el diaplay numero asertado,y si no mostrar al usuario que el numero programado en el microcontrolador esta en un rango mas abajo o mas arriba hasta que el usuario.
*si el numero es asertado es correcto que enciendas un par de leds

si lo tienes o me puedes ayudar si me lo podrias pasar antes del jueves 8 de diciembre del 2001
mandamelo a este correo je_secta_cha@live.com.mx por favor o dime si me lo puedes hacer es usando el programa pci simulator ide ESTE SIMULADOR SOPORTA BASIC,C Y ENSAMBLADOR,ESTE PROGRAMA ES MUY PARECIDO AL TUYO PERO YA LO PROBE Y ME MARCA UN ERROR ESPERO Y ME AYUDES ME URGE XFA
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Mi programa no libera memoria, estoy usando heapdestroy y heapcreate
Programación C/C++
milya777 7 5,937 Último mensaje 29 Marzo 2011, 12:04 pm
por Eternal Idol
Introducción a los modelos de ciclos de vida [Presentación]
Programación General
madpitbull_99 0 1,566 Último mensaje 17 Noviembre 2011, 20:25 pm
por madpitbull_99
lio con ciclos...
Java
dvdza 1 1,967 Último mensaje 16 Diciembre 2012, 01:10 am
por kasiko
Problemas con programa usando struct
Programación C/C++
Fyllio 2 2,388 Último mensaje 28 Noviembre 2013, 22:30 pm
por Fyllio
Programa en c++ usando eclipse Ayuda!!!
Programación C/C++
johnatanjony 1 1,965 Último mensaje 7 Abril 2014, 00:24 am
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines