Автор работы: Пользователь скрыл имя, 26 Октября 2013 в 18:57, курсовая работа
Описание игр:
"Выбери неправильное слово":
Есть несколько файлов со словами разных групп. Выпадает 3 слова из одного файла и одно из другого.
(Файлы выбираются случайно, как и слова)
У каждого слова есть номер. Пользователю предлагается выбрать номер слова, которое не соответствует тематике.
На угадывание даётся две попытки. Если слово было выбрано правильно с первого раза - 100 баллов, если со второго - 50 баллов. В одном туре 3 группы слов.
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<<"="<<
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<<
}
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\
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=='*
{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!='
{
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<
} //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<<
if(zn1=='-'&&zn2=='*'||zn1=='-
{b=reshen(a,d,zn1);}
else if(zn1=='+'&&zn2=='*'||zn1=='+
{
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<<
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(
break;
case'-':
zn='+';
(zn2=='*'||zn2=='/')?o=reshen(
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<<
}
else
{
baly1-=100;
bal-=100;
cout<<"Неверный ответ! У тебя -10 баллов\tВсего:"<<baly1<<"\n";
}
cout<<"Продолжаем? \'1\' - Да\t\'0\' - Нет\n";
cin>>a1;
}while(a1);
char Str[]="ИГРА
: Математические чудеса\n\t\
a1=baly1;
stat(Str,a1);
}
В ходе выполнения курсовой работы были освоены основы разработки консольных приложений и изучена работа с файлами в среде разработки Microsoft Visual C++.
В результате работы была написана детская игровая программа, содержащая игровые приложения различного уровня сложности.
1. Г. Шилдт «Самоучитель С++» - СПб.:БХВ-Петербург. 2001. — 670с.
2. А. Мешков, Ю. Тихомиров «Visual C++ и MFC» - СПб.:БХВ-Петербург. 2002 — 1017с.
3. Карпов Б., Баранов Т. «С++: специальный справочник» - СПб.: Питер, 2001. — 480 с.:ил.
4. Культин Н. «С/С++ в задачах и примерах» - СПб.:БХВ-Петербург, 2002. — 288 с.