VN
Valera Novikov

Помогите доделать программу на языке Си

В институте получила задание написать программу на языке Си игра "Быки и коровы". Не знаю как ее доделать. Необходимо сделать так, чтобы загаданное число было произвольным, а не "1234" как в программе. И еще, как сделать так, что бы был подсчет числа коров и быков, а не бык, корова, корова, корова ( т. е. 1 бык 3 коровы) Надеюсь, найдутся люди, для которых это очень просто, в отличии от меня ( Заранее спасибо.

Правила игры
Играют двое. Каждый задумывает и записывает тайное 4-значное число с неповторяющимися цифрами. Игрок, который начинает игру по жребию, делает попытку отгадать число. Попытка — это 4-значное число с неповторяющимися цифрами, сообщаемое противнику. Противник сообщает в ответ, сколько цифр угадано без совпадения с их позициями в тайном числе и сколько угадано вплоть до позиции в тайном числе. Например:
Задумано тайное число «3219».
Попытка номер: «2310».
Результат: две «коровы» (две цифры: "2" и "3" — угаданы на неверных позициях) и один «бык» (одна цифра "1" угадана вплоть до позиции) .
Игроки делают попытки угадать по очереди. Побеждает тот, кто угадает число первым.

//Быки и Коровы
# include
# include
# include

int main()
{
setlocale (0,"Russian");
int
num,n1,n2,n3,n4,
numk,nu1,nu2,nu3,nu4;

start:
printf("Введите 4-значное число\n");

numk=1234;

nu1=numk/1000;
nu2=numk/100-10*nu1;
nu3=numk/10-100*nu1-10*nu2;
nu4=numk-1000*nu1-100*nu2-10*nu3;

scanf("%d",&num);
printf("\n");
n1=num/1000;
n2=num/100-10*n1;
n3=num/10-100*n1-10*n2;
n4=num-1000*n1-100*n2-10*n3;

if (!(num/10000!=0||num/1000==0));

else printf("Нужно ввести 4-значное число\n");
if (n1==n2||n1==n3||n1==n4||n2==n3||n2==n4||n4==n3) printf("Ввод одинаковых чисел недопустимо\n");

if (num==numk) printf("ИГРА ПРОЙДЕНА\n");

else printf("ИГРА НЕ ПРОЙДЕНА\n");

if (n1==nu1) printf(" -Бык\n");
if (n1==nu2) printf(" -Корова\n");
if (n1==nu3) printf(" -Корова\n");
if (n1==nu4) printf(" -Корова\n");

if (n2==nu1) printf(" -Корова\n");
if (n2==nu2) printf(" -Бык\n");
if (n2==nu3) printf(" -Корова\n");
if (n2==nu4) printf(" -Корова\n");

if (n3==nu1) printf(" -Корова\n");
if (n3==nu2) printf(" -Корова\n");
if (n3==nu3) printf(" -Бык\n");
if (n3==nu4) printf(" -Корова\n");

if (n4==nu1) printf(" -Корова\n");
if (n4==nu2) printf(" -Корова\n");
if (n4==nu3) printf(" -Корова\n");
if (n4==nu4) printf(" -Бык\n");

else printf("Попробуйте еще раз\n");
goto start;

system ("pause");
return 0;

}

ЕГ
Екатерина Горшкова

Полноценную игру с компом я не сделаю.
Чтобы Вы угадывали число компа, а комп Ваше и кто первый.
Во первых для меня слишком сложно, во вторых если игра правильно написана, то у человека при игре с компом нет шансов на выигрыш.

Вот накарябал "полуигру". Комп загадывает, человек отгадывает.
http://pastebin.com/HM3XrSQ7
pastebin . com / HM3XrSQ7

Но насколько я понял Вы тоже не пытались сделать полноценную игру.

в файл prompt.txt записывается загаданное компом число, на всякий случай.
Те строчки, что закомментированы так
//@
вспомогательные, использовал пока налаживал.

Похожие вопросы
Помогите написать программу на языке СИ/СИ++!!
Ребята помогите написать программу, язык си)
Помогите написать простейшую программу на языке "СИ"
программа на языке си
Помогите составить программу на языке СИ
Помогите написать программу в языке "СИ".
кто знает си++?помогите доделать. (задание для курсовой)
Помогите исправить программу на языке си++
Программа С. Помогите доделать массив
Помогите написать программу на языке Си.