Review


Problem 1
Create a project called AdivinarNumero. The program generates a random integer value from 0 to 15. The user has five times to guess the number. If the number is outside the range from 0 to 15, a message indicating the number is invalid and it does not reduce the number of trials. When the user inputs a number that is bigger than the randomly created, a message saying the number is too big is displayed, otherwise the message says that the number is too small. When the user correctly guesses the number or when the five trials are completed the game ends. The program should inform the user when he wins or loses. The program must have a button to play again.
Cree un proyecto llamado AdivinarNumero. El programa genera un número entero aleatorio entre 0 y 15. El usuario tiene cinco intentos para adivinar el número. Si el número esta fuera del rango de 0 a 15 se marca que el número es invalido y no vale como intento. Cuando se coloca un número mayor al número secreto se dice que el número es grande, de otra forma se dice que el número es pequeño. Cuando el usuario adivina el número o cuando se llega a cinco intentos el juego termina. Se debe informar al usuario cuando se gana o cuando se pierde. El programa debe tener un botón para volver a jugar.

AdivinarNumero1

AdivinarNumero2

AdivinarNumero.h
#pragma once //______________________________________ AdivinarNumero.h
#include "resource.h"

class AdivinarNumero: public Win::Dialog
{
public:
     AdivinarNumero()
     {
           srand(::GetTickCount());
           randomNumber = (int)(15.0*rand()/RAND_MAX);
           trialCount = 0;
     }
     ~AdivinarNumero()
     {
     }
     int randomNumber;
     int trialCount;
     ...
};

Problem 2
Write a program called Platicador to generate a sentence as shown. The program should take the name of a person, a verb and an object. The program must build a random sentence choosing from: 'likes', 'cries for', 'hates', 'loves', 'dies for', 'dream about', 'waits for', 'was born for', 'pretends'. The program must display the sentence three times. The first time, as the user typed it, the second one with uppercase letters, and the last time in lowercase characters.
Escriba un programa llamado Platicador que tome el nombre de una persona, un verbo y un objeto como se muestra. El programa construirá una frase aleatoriamente escogiendo una de las siguientes palabra(s), 'le gusta', 'llora por', 'odia', 'ama', 'muere por', 'sueña con', 'espera', 'nacio para', 'pretende'. El programa debe mostrar la frase tres veces. La primera vez, tal como el usuario la escribio, la segunda con letras mayúsculas y la última vez con letras minúsculas.

Platicador1

Platicador2

Platicador3

Platicador.h
#pragma once //______________________________________ Platicador.h
#include "resource.h"
class Platicador: public Win::Dialog
{
public:
     Platicador()
     {
     }
     ~Platicador()
     {
     }
     //std::tr1::mt19937 randomGenerator;
     std::mt19937 randomGenerator;
     const wchar_t * GetVerb(bool spanish);
protected:
     ...
};

Platicador.cpp
void Platicador::Window_Open(Win::Event& e)
{
     randomGenerator.seed(::GetTickCount());
     radioEnglish.Checked = true;
}

void Platicador::btGenerate_Click(Win::Event& e)
{
     //__________________________ Build the sentence
     ...

     //____________________________ Uppercase - Mayusculas
     tbxOutput.Text += L"\r\n";
     std::transform(sentence.begin(), sentence.end(), sentence.begin(), toupper);
     tbxOutput.Text += sentence;
     //____________________________ Lowercase - Minusculas
     ...
}

const wchar_t * Platicador::GetVerb(bool spanish)
{
     //std::tr1::uniform_int<int> distribution(0, 8);
     std::uniform_int<int> distribution(0, 8);
     const int index = distribution(randomGenerator);

     if (spanish == true)
     {
          switch(index)
          {
          case 0: return L"le gusta";
          ...
          }
     }
     else
     {
          switch(index)
          {
          case 0: return L"likes";
          ...
          }
     }
     return L"error";
}

Problem 3
Write a program called Montecarlo to compute the value of π. Suppose there is a circle of radius one, therefore the area of the circle is π. Suppose also that there is a square that touches the borders of the circle, therefore the area of the square is four. Suppose that a person throws coins so that they can fall inside the square or the circle. If N coins are thrown, the probability that a coin falls inside the circle is π/4. Using this method, it is possible to estimate the value π.
The equation of the circle is x2+y2 =r2.
Escriba un programa llamado Montecarlo para calcular el valor de π. Suponga que hay un círculo de radio uno, por lo tanto el área del círculo es π. Suponga también que hay un cuadrado que toca los bordes del círculo, por lo tanto el área del cuadrado es cuatro. Suponga que una persona lanza monedas de tal forma que caen dentro del cuadrado o el círculo. Si N monedas son lanzadas, la probabilidad de que una moneda caiga dentro del círculo es π/4. Usando este método, es posible estimar el valor de π.
La ecuación del círculo es x2+y2 =r2.

Montecarlo

Montecarlo2

Montecarlo.cpp
void Montecarlo::Window_Open(Win::Event& e)
{
     //________________________________________________________ spnCount
     spnCount.SetBuddy(tbxCount);
     spnCount.SetRange(1, 100000);
     tbxCount.IntValue = 5000;
}

void Montecarlo::btCalculate_Click(Win::Event& e)
{
}

© Copyright 2000-2019 Wintempla selo. All Rights Reserved. Sep 05 2019. Home