Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 24.01.2013
Сообщений: 11
1

Очередная формация давно решённой задачи

12.02.2013, 12:31. Показов 932. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток!

Необходимо было решить задачу с 2мя кубиками:

Задача: написать программу, реализующую игру в кости.

Правила игры:
1. Играющий называет любое число в диапазоне от 2 до 12 и ставку, которую он делает в этот ход
2. Программа с помощью генератора случайных чисел дважды выбирает числа от 1 до 6 (бросает кубик, на гранях которого цифры от 1 до 6)
3. Если сумма выпавших очков:
а) меньше либо равна 7 и играющий назвал число меньше либо равное 7, он выигрывает ставку
б) больше 7 и играющий сделал ставку на число больше 7, он также выигрывает ставку
в) равна названному игроком числу (игрок угадал сумму цифр), он получает в 4 раза больше очков, чем сделанная ставка
г) в противном случае ставка проиграна (если ни одна из ситуаций а-в не имеет места)
В начальный момент у игрока и компьютера по 100 очков. Игра идет до тех пор, пока у кого-либо из играющих останется 0 очков

Попробовал самостоятельно написать програмку, но к сожалению у меня самостоятельно не определяются числа (random) и вообще как то корявенько получилось. Просьба просмотреть намётанным взглядом (смех и издёвки не уместны, как никак первый опыт)....



C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include "stdafx.h"
#include <iostream>
#include <clocale>
#include <cstdlib>
#include <ctime>
using namespace std; 
 
int main() { 
setlocale (LC_CTYPE,"rus"); 
srand( (unsigned)time( NULL ) ); 
int a,b,c,st;
int e=100; 
int f=100; 
a=rand()%6+1;
b=rand()%6+1;
cout<<"Бросте 1 кубик (от 1 до 6):\n"; //определение 1 вводимого числа (случайное число) 
cin>> a;
cout<< "Бросте 2 кубик (от 1 до 6):\n"; //определение 2 вводимого числа (случайное число) 
cin>> b;
cout<<"Загадайте число (от 2 до 12):\n"; //определение числа игрока 
cin>>c;
while (2<=c<=12){
if(2<=c<=12){
cout<<"Выберете ставку игры (от 1 до 20):\n"; //определение суммы ставки игры 
cin>>st;
if
(a+b<=7&&c<=7||a+b<=12&&c<=12) { // условие распределения выиграша игроком
 
e=e+st;
f=f-st;}
 
else {
*
e=e-st;
f=f+st;}
if
(c=a+b){ 
e=e+4*c;}
 
for
(;e<=0,f<=0;e++,f++) //определение условий работы цикла 
{
e+=e;
f+=f;
}
if
(e=0){ 
cout<<"Вы проиграли...\n"; 
cout<<"Выиграл компьютер. Его выиграш составляет:"<<f<<"\n"; 
}
else { 
cout<<"Я Вас поздравляю.Вы выиграли. Ваш выиграш составляет:"<<e<<"\n";} 
}
else{
cout<<"Введено число не из указанного диапазона";}
}
return 0; 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.02.2013, 12:31
Ответы с готовыми решениями:

яндекс не работает давно
Подскажите пожалуйста, у меня яндекс с неделю не работает вместе с контактом. что мне делать. я на...

Яндекс давно не индексировал
На своем сайте размещаю статьи. Индексация была нормальная. Статью разместишь - через неделю в...

Забанили давно за самоклики на объявлениях
Забанили давно за самоклики на объявлениях... после этого домен стал в 3 раза больше посещаемый,...

Давно ли Яндекс.XML лжёт?
Использовал все время для проверки индексации количества страниц - Яндекс.XML, но сегодня увидел...

2
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
12.02.2013, 14:06 2
Ты сначала даешь a и b рандомные значения,
C
1
2
a=rand()%6+1;
b=rand()%6+1;
А потом на их место вводишь числа с терминала
C
1
 cin >> a; cin>>b;
В результате чего твои рандомные a,b забиваются введенными. Ты уж определись, как ты будешь их - из датчика случайностей (что ИМХО, вернее) или заставишь вводить их с терминала.
Короче, убери строчки 16-19
Вот это
C
1
2
while (2<=c<=12){
if(2<=c<=12){
тоже несколько странно. Зачем 2 раза проверять одно условие?
Дальше смотреть не стал...
1
0 / 0 / 1
Регистрация: 24.01.2013
Сообщений: 11
12.02.2013, 14:38  [ТС] 3
А вот так?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>
#include <clocale>
#include <cstdlib>
#include <ctime>
using namespace std; 
 
int main() { 
setlocale (LC_CTYPE,"rus"); 
srand( (unsigned)time( NULL ) ); 
int a,b,c,st;
int e=100; 
int f=100; 
cout<<"Бросте 1 кубик (от 1 до 6):\n"; //определение 1 вводимого числа (случайное число) 
a=rand()%6+1;
cout<< "Бросте 2 кубик (от 1 до 6):\n"; //определение 2 вводимого числа (случайное число) 
b=rand()%6+1;
cout<<"Загадайте число (от 2 до 12):\n"; //определение числа игрока 
cin>>c;
if(1<c<13){
cout<<"Выберете ставку игры (от 1 до 20):\n"; //определение суммы ставки игры 
cin>>st;
if
(a+b<=7&&c<=7||a+b<=12&&c<=12) { // условие распределения выиграша игроком
 
e=e+st;
f=f-st;}
 
else {
e=e-st;
f=f+st;}
if
(c=a+b){ 
e=e+4*c;}
 
for
(;e<=0,f<=0;e++,f++) //определение условий работы цикла 
{
e+=e;
f+=f;
}
if
(e<=0){ 
cout<<"Вы проиграли...\n"; 
cout<<"Выиграл компьютер. Его выиграш составляет:"<<f<<"\n"; 
}
else { 
cout<<"Я Вас поздравляю.Вы выиграли. Ваш выиграш составляет:"<<e<<"\n";} 
}
else
cout<<"Введено число не из указанного диапазона";
 
return 0; 
}
0
12.02.2013, 14:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.02.2013, 14:38
Помогаю со студенческими работами здесь

Меня давно мучает это вопрос.
Почему программисты на С\C++ в конце каждой строки своих программ подмигивают? И, главное, кому?

Как восстановить давно удаленный файл
Как восстановить давно удаленный файл Эксель?

Как добавить в Steam давно купленную игру?
Здравствуйте. У меня есть лицензионный Fallout 3 на диске. Игра была куплена лет 7-8 назад. И...

Не понимаю почему ругается компилятор (давно не писала на С++)
FileSorter.h: #pragma once #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; using...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru