Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.03.2011, 21:41   #1
Кристинка89
Форумчанин
 
Регистрация: 09.02.2011
Сообщений: 163
Вопрос Какие-то ошибки

Всем привет ребята! Посмотрите пожалуйста что за ошибки в программе и помогите их исправить у меня не работает программа

#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int machineBank = 0, manBank = 0;

int read( int a, int b )
{
int choice;
do {
cin >> choice;
if ( choice < a || choice > b)
cout << "Повторите свой выбор\n";
} while ( choice < a || choice > b );
return choice;
}

int mRand ( int a, int b )
{
int rez = rand() % ( b - a + 1 ) + a;
return rez;
}

int main()
{
srand ( ( unsigned ) time ( NULL ) );
setlocale ( LC_ALL, "Russian_Russia.1251" );
int choiceToShot,shot1,shot2;
int shotCount = 1;
cout << "Выберите право первого броска\n"
"1 - Компьютер\n"
"2 - Человек\n";
choiceToShot = read( 1, 2 );
do {
shot1 = mRand( 1, 6 );
cout << "Нажмите\n"
"1 - для броска\n";
read ( 1, 1 );
shotCount++;
shot2 = mRand ( 1, 6 );
switch( choiceToShot ) {
case 1:
machineBank += shot1;
manBank += shot2;
cout << "Компьютер - " << shot1 << endl;
cout << "Человек - " << shot2 << endl;
break;

case 2:
manBank += shot1;
machineBank += shot2;
cout << "Человек - " << shot1 << endl;
cout << "Компьютер - " << shot2 << endl;
break;
}
} while ( shotCount < 6 );
if ( machineBank > manBank )
cout << "\nВыиграл Компьютер!\n";
else if(machineBank < manBank)
cout << "\nВыиграл Человек!\n";
else
cout << "\nНичья\n";
cout << "\nСумма очков Человека - "<< machineBank;
сout << "\nСумма очков Компьютера - " << manBank;

cout << "\n\nИгра окончена!!!!\n";
}
Вложения
Тип файла: txt kosti1.txt (1.7 Кб, 137 просмотров)
Кристинка89 вне форума Ответить с цитированием
Старый 21.03.2011, 00:48   #2
Astaroth~
Новичок
Джуниор
 
Регистрация: 10.09.2010
Сообщений: 1
По умолчанию

В предпоследнем cout е были русские буквы, поэтому компилятор ругался.
Код:
cout << "\nСумма очков Компьютера - " << manBank;
Astaroth~ вне форума Ответить с цитированием
Старый 21.03.2011, 03:26   #3
Кристинка89
Форумчанин
 
Регистрация: 09.02.2011
Сообщений: 163
По умолчанию

А вы запускали программу саму? У меня 16 ошибок было показано
Кристинка89 вне форума Ответить с цитированием
Старый 21.03.2011, 08:13   #4
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Цитата:
Сообщение от Кристинка89 Посмотреть сообщение
А вы запускали программу саму? У меня 16 ошибок было показано
А поподробнее?
И это... код желательно было бы правильно оформить... а то неудобочитаемо.

Код:
#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int machineBank = 0, manBank = 0;

int read( int a, int b )
{
    int choice;
    do {
        cin >> choice;	
        if ( choice < a || choice > b)
            cout << "Повторите свой выбор\n";
    } while ( choice < a || choice > b );
    return choice;
}

int mRand ( int a, int b )
{
     int rez = rand() % ( b - a + 1 ) + a;
     return rez;
}

int main()
{
     srand ( ( unsigned ) time ( NULL ) );
     setlocale ( LC_ALL, "Russian_Russia.1251" );
     int choiceToShot,shot1,shot2;
     int shotCount = 1;
     cout << "Выберите право первого броска\n"
   	      "1 - Компьютер\n"
	      "2 - Человек\n";
     choiceToShot = read( 1, 2 );	
     do {
	shot1 = mRand( 1, 6 );
	cout << "Нажмите\n"
	            "1 - для броска\n";
	read ( 1, 1 );			
	shotCount++;
	shot2 = mRand ( 1, 6 );
	switch( choiceToShot ) {
	   case 1:
	       machineBank += shot1;
	       manBank += shot2;
	       cout << "Компьютер - " << shot1 << endl;
	       cout << "Человек - " << shot2 << endl;
	       break;
	
	   case 2:
	       manBank += shot1;
	       machineBank += shot2;
	       cout << "Человек - " << shot1 << endl;
	       cout << "Компьютер - " << shot2 << endl;
	       break;
	}
     } while ( shotCount < 6 );
     if ( machineBank > manBank )
	cout << "\nВыиграл Компьютер!\n";
     else  if(machineBank < manBank)
	     cout << "\nВыиграл Человек!\n";
	else 
	     cout << "\nНичья\n";
     cout << "\nСумма очков Человека - "<< machineBank;
     сout << "\nСумма очков Компьютера - " << manBank;

     cout << "\n\nИгра окончена!!!!\n";
}
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 21.03.2011, 08:27   #5
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Код:
сout << "\nСумма очков Компьютера - " << manBank;
Судя по всему, в этой строчке первая буква была в кириллице.
Переписал латиницей, добавил в начало
Код:
#include <cstdio>
и все запустилось.
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 21.03.2011, 08:38   #6
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Вот это мне не нравится:
Код:
 setlocale ( LC_ALL, "Russian_Russia.1251" );
В консоли для вывода русских букв юзается кодировка Windows-866.
_-Re@l-_ вне форума Ответить с цитированием
Старый 21.03.2011, 12:03   #7
pproger
C++ hater
Старожил
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2_-Re@l-_
Цитата:
В консоли для вывода русских букв юзается кодировка Windows-866.
а ее исходник в cp1251. вот она и устанавливает такую кодировку для консоли. или предлагаешь исходник конвертнуть в 866?
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 21.03.2011, 12:07   #8
boawinciace
Новичок
Джуниор
 
Регистрация: 21.03.2011
Сообщений: 3
По умолчанию

тратататыы
boawinciace вне форума Ответить с цитированием
Старый 22.03.2011, 02:16   #9
vitaska
Пользователь
 
Регистрация: 03.02.2010
Сообщений: 22
По умолчанию

Цитата:
Сообщение от Кристинка89 Посмотреть сообщение
А вы запускали программу саму? У меня 16 ошибок было показано
Кристинка, код этот на форум изначально выкладывал я и, соответсвенно, перед тем, как его выложить, я его проверял в VS 2005, там он нормально компилился. Кстати каким компилятором пользуешся?
vitaska вне форума Ответить с цитированием
Старый 25.03.2011, 19:06   #10
Кристинка89
Форумчанин
 
Регистрация: 09.02.2011
Сообщений: 163
По умолчанию

у меня 3.1 версия с++... да я знаю что твой код.. ты мне дал его
Кристинка89 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какие возможности ? gefest58 C# (си шарп) 4 23.02.2011 19:51
Какие-то ошибки: 0x004039be и 00464906 _Санек_ Помощь студентам 0 21.11.2010 11:05
Какие мы правильные:=) CodeExpert Свободное общение 10 15.03.2010 00:20
Какие компоненты zmey31313 Компоненты Delphi 3 21.01.2010 00:34