C/C++

Помогите написать программу по теме "Строки" на языке C.

Написать программу, реализующую игру "угадай число". Правила
игры следующие. Играют двое. Один задумывает число, второй —
угадывает. На каждом шаге угадывающий делает предположение,
а задумавший число — говорит, сколько цифр числа угаданы и
сколько из угаданных цифр занимают правильные позиции в
числе. Например, если задумано число 725 и выдвинуто
предположение, что задумано число 523, то угаданы две цифры (5
и 2) и одна из них (2) занимает верную позицию.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void reverse(char * str, int len)
{
char c;
int L = len/2;
for(int x = 0; x < L; x++)
{
c = str[x];
str[x] = str[len - 1 - x];
str[len - 1 - x] = c;
}
}

int numToStr(int num, char * str)
{
int len = 0;
while(num)
{
str[len++] = num % 10 + '0';
num /= 10;
}
str[len] = '\0';
reverse(str,len);
return len;
}

void test(char * str_num1,int len1,char * str_num2,int len2)
{
for(int x = len2 - 1; x >= 0; x--)
{
for(int y = len1 - 1; y >= 0; y--)
{
if(str_num2[x] == str_num1[y])
{
printf("Угадана цифра %c.\n",str_num2[x]);
if(len2 - len1 == x - y)
{
printf("Угадана позиция. \n");
}
}
}
}
printf("Было загадано число %s.\n",str_num1);
}

int main()
{
srand(time(NULL));
char c;
int num1,num2;
const int size = 10;
char str_num1[size], str_num2[size];
int len1,len2;
do
{
num1 = rand() % 1000; /* ограничем значение от 0 до 999 */
len1 = numToStr(num1,str_num1);
printf("Угадайте загаданное число: ");
scanf("%d",&num2);
len2 = numToStr(num2,str_num2);
test(str_num1,len1,str_num2,len2);
getchar(); /* чтобы работала следующая функция scanf */
printf("Чтобы продолжить угадывать, введите \'y\' и Enter: ");
scanf("%c",&c);
}while(c == 'y' || c == 'Y');
return 0;
}
ЮН
Юрий Никулин
86 328
Лучший ответ
Никита Мазалов Большое спасибо!)
Как я понимаю, тут каждый раз угадывается разное число
А как реализовать то, что вот есть число загаданное, например, 689 и нужно угадать именно его
Т. е, когда мы будем угадывать и напишем 187, то так же должно выдавать, что угадана цифра 8 и её позиция, и далее нужно угадывать это же число 689
Это можно как-то реализовать?