Разработка прикладного алгоритма детских развивающих игр и его реализация на языке С++

Автор работы: Пользователь скрыл имя, 26 Октября 2013 в 18:57, курсовая работа

Краткое описание

Описание игр:
"Выбери неправильное слово":
Есть несколько файлов со словами разных групп. Выпадает 3 слова из одного файла и одно из другого.
(Файлы выбираются случайно, как и слова)
У каждого слова есть номер. Пользователю предлагается выбрать номер слова, которое не соответствует тематике.
На угадывание даётся две попытки. Если слово было выбрано правильно с первого раза - 100 баллов, если со второго - 50 баллов. В одном туре 3 группы слов.

Содержимое работы - 1 файл

Курсовик по С++.docx

— 169.42 Кб (Скачать файл)

case '/':

t=reshen(a,c,zn);break;

case'*':

zn='/';

t=reshen(c,a,zn);break;

} // end switch

} // end if

 

if(b&&c)//если искомое *а*

{         

if(zn=='*')

{c=delen(b);}

 

if((c<b&&zn=='+')) 

{a2=c;c=b;b=a2;}

 

system("cls");

cout<<"\n"<<'?'<<zn<<b<<"="<<c<<"\n";

 

switch(zn)

{

case'+':

zn='-';

t=reshen(c,b,zn);break;

case'-':

zn='+';

t=reshen(b,c,zn);break;

case'*':

zn='/';

t=reshen(c,b,zn);break;

case '/':

zn='*';

t=reshen(b,c,zn);break;

} // end switch

  } // end if

 

cout<<"\nX="<<t;

cout<<"\nНапиши  число, которое должно быть  вместо \'?\'\n";

cin>>a2;

 

if(a2==t)

{

baly1+=10;

bal+=10;

cout<<"Правильно!  У тебя  +10 баллов\t\t\t\tВсего:"<<baly1<<"\n";

}

 

else

{

baly1-=10;

bal-=10;

cout<<a2<<"Неверный  ответ!"<<t<< "У вас  -10 баллов\tВсего:"<<baly1<<"\n";

}

 

if(zn=='*'||zn=='/')q*=3;

cout<<"Продолжаем? \'1\' - Да\t\'0\' - Нет\n";

cin>>a1;

}while(a1);

 

char Str[]="ИГРА :   Математические чудеса\n\t\tКоличество  баллов - ";

    a1=baly1;

stat(Str,a1);

//menu();

}

 

double Dab(int g)

{

double s=rand()%g;

double s1=rand()%10;

double s2=s1/10+s;

return (double)s2;

}

 

char smena_znaka(char z)

{

switch(z)

{

case'-':return '+';

case'+':return '-';

case'*':return '/';

case'/':return '*';

}

}

 

void max_uravn()

{

int q,a1=0,a2=0,t=0,baly1=0;

 

q=schet(); //ввод пользователем диапaзона значений

 

do{

int a=0,b=0,c=0,d=0,o=0;

int znak=rand()%4; //определяем 1 знак действия

char zn1=mr_znak[znak],zn='.';

znak=rand()%4;   //определяем 2 знак действия

char zn2=mr_znak[znak];

if(zn1=='*'||zn2=='/'||zn2=='*'||zn1=='/')

{q=3;}    //если действие"*"или"/"- уменьшаем диапозон в 2 р

int isk=rand()%3;  //определяем,что требуется вычислить

 

cout<<"\nWhat?"<<isk;

 

    switch(isk)

   {

case 1:

a=rand()%q+1; //определяем 1 операнд

b=rand()%q+1; //определяем 2 операнд

break;

case 2:

a=rand()%q+1; //определяем 1 операнд

c=rand()%q+1; //определяем 3 операнд

break;

case 0:

b=rand()%q+1; //определяем 2 операнд

c=rand()%q+1;   //определяем 3 операнд

break;

default:

cout<<"\nПроизошла ошибка!\n";

} // end switch

 

if(a&&b)

 {

  c=rand()%10+1;   //если ищем *d*

  if(zn2=='/')b=delen(c);

  if(zn1=='/') a=delen(b);//для "/" подбираем числа, чтобы "нацело"

  if(zn1==zn2)

{

d=reshen(a,b,zn1);

o=reshen(d,c,zn2);

    }

 

else

{

if(b<c)

{a2=c;c=b;b=a2;}

 if(a<b)

    {a2=a;a=b;b=a2;} //для всех ост. меняем  местами а и б

 

 if(zn1!='/'&&zn2=='*'||zn1!='*'&&zn2=='/')

{

  d=reshen(b,c,zn2);    

  o=reshen(a,d,zn1);

}     //правильный ответ в перем  o

 

else {

   d=reshen(a,b,zn1);    

   o=reshen(d,c,zn2);

  }     //правильный ответ в перем o

} // end else

 

  system("cls");

  cout<<"\n"<<a<<zn1<<b<<zn2<<c<<"="<<"?\n"<<d<<"\n";

 

} //end if

 

else if (a&&c)

{  //если искомое *b* повторяем условия

if(zn2=='*')

{d=delen(c);}

else if((zn1=='*') && (zn2=='*'))

{d=delen(a*c);}

else

{d=rand()%10+1;}    

if(zn1=='/')

{

      zn=smena_znaka(zn2);

  a=delen(reshen(d,c,zn));

}

 

if(zn2=='/')

{

if(d<a)

{a2=d;d=a;a=a2;}

}

 

if(zn1=='*'&&zn2!='*')

{

if(d<c)

{a2=d;d=c;c=a2;}

zn=smena_znaka(zn2);

a=delen(reshen(d,c,zn));

}

 

system("cls");

cout<<"\n"<<a<<zn1<<"?"<<zn2<<c<<"="<<d<<"\n";

 

if(zn1=='-'&&zn2=='*'||zn1=='-'&&zn2=='/')

{b=reshen(a,d,zn1);}

 

else if(zn1=='+'&&zn2=='*'||zn1=='+'&&zn2=='/')

{

zn=smena_znaka(zn1);  //выполняем 1 действие

 b=reshen(d,a,zn);

}

 

else

{       

zn=smena_znaka(zn2); //выполняем 1 действие

 b=reshen(d,c,zn);

}

 

switch(zn1)

{        //выполняем 2 действие

case'+':

zn1='-';

o=reshen(b,a,zn1);break;

case'-':

if(zn2=='/'||zn2=='*')

{

zn=smena_znaka(zn2);

o=reshen(b,c,zn);

}

else o=reshen(a,b,zn1);

break;

case '/':

o=reshen(a,b,zn1);break;

case'*':

zn1='/';

o=reshen(b,a,zn1);break;

} //end switch

 

cout<<"\nb="<<b;

} //end else if

 

else

d=rand()%10+1; //если искомое *а* /// if(b&&c)

  

 if ((zn1=='*') && (zn2=='*'))

{d=delen(b*c);}

 

     if((d<c&&zn2!='/')) 

{a2=c;c=d;d=a2;}

system("cls");

 

cout<<"\n"<<'?'<<zn1<<b<<zn2<<c<<"="<<d<<"\n";

 

if(zn1=='*'||zn1=='/')

 {     //выполняем 1 действие

zn=smena_znaka(zn2);

a=reshen(d,c,zn);

}

 

else if(zn2=='*'||zn2=='/')

a=reshen(b,c,zn2);  

 

else

  {

zn=smena_znaka(zn2);

a=reshen(d,c,zn);

  }

 

switch(zn1)

{

    case'+':

zn='-';

(zn2=='*'||zn2=='/')?o=reshen(d,a,zn):o=reshen(a,b,zn);

break;

    case'-':

zn='+';

(zn2=='*'||zn2=='/')?o=reshen(a,d,zn):o=reshen(a,b,zn);

break;

    case'*':

zn='/';

o=reshen(a,b,zn);

break;

    case '/':

zn='*';

o=reshen(b,a,zn);

break;

} // end switch

 

cout<<"\na="<<a<<"\tz2="<<zn2;

zn=smena_znaka(zn2);

cout<<"zn="<<zn;

} // end else

 

cout<<"\nX="<<o;

cout<<"\nНапиши  число, которое должно быть  вместо знака вопроса\'?\'\n";

cin>>a1;

 

if(a1==o)

  {

baly1+=100;

bal+=100;

cout<<" У тебя  +10 баллов\t\t\t\tВсего:"<<baly1<<"\n";

  }

else

{

baly1-=100;

bal-=100;

cout<<"Неверный ответ! У тебя  -10 баллов\tВсего:"<<baly1<<"\n";

}

 

cout<<"Продолжаем? \'1\' - Да\t\'0\' - Нет\n";

cin>>a1;

}while(a1);

 

char Str[]="ИГРА :    Математические чудеса\n\t\tКоличество  баллов - ";

   a1=baly1;

   stat(Str,a1);

}

 

 

 

 

 

 

  1. Выводы

В ходе выполнения курсовой работы были освоены основы разработки консольных приложений и изучена работа с файлами в среде разработки Microsoft Visual C++.

В результате работы была написана детская игровая программа, содержащая игровые приложения различного уровня сложности.

 

 

 

 

 

  1. Список используемой литературы

 

1. Г. Шилдт  «Самоучитель С++» - СПб.:БХВ-Петербург. 2001. — 670с.

2. А. Мешков, Ю. Тихомиров «Visual C++ и MFC» - СПб.:БХВ-Петербург. 2002 — 1017с.

3. Карпов  Б., Баранов Т. «С++: специальный  справочник» - СПб.: Питер, 2001. — 480 с.:ил.

4. Культин  Н. «С/С++ в задачах и примерах»  - СПб.:БХВ-Петербург, 2002. — 288 с.

 


Информация о работе Разработка прикладного алгоритма детских развивающих игр и его реализация на языке С++