Ранее мы разобрали циклы,массивы и новый тип данных.Исходя из названия статьи-давайте напишем нормальный код нашей программы по тренировке памяти:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <unistd.h>//в windows не подключайте
void main()
{
srand(time(NULL));
int num[5];//заменили массивом
int choise=0;
int input=0;
for(int i=0;i<5;i++)
{
num[i]=rand()%10;
}
printf("Remember numbers:");
for(int i=0;i<5;i++)
{
printf("%d ",num[i]);
}
printf("\n");
sleep(2);//_sleep(2000) в windows
choise=rand()%5;
system("clear");
printf("Enter %d number:",choise+1);
scanf("%d",&input);
if(input==num[choise])
printf("That's right!\n");
else
printf("Wrong number,it was %d\n",num[choise]);
}
Если сравнить предыдущую версию программы-то в ней было 87 строк,в этой же 29!
Работает так же,но в коде разобраться стало проще,как и модифицировать.
Раз уж у нас теперь нормальная программа,давайте ещё узнаем как можно её скомпилировать с другим именем:
gcc code.c -o filename
Под Windows не обязательно дописывать расширение ".exe",компилятор-умный парень и добавит расширение сам.
Домашним заданием предлагаю вам добавить выбор уровня сложности.Подсказка:усложнить можно пока двумя способами-изменить скорость и количество вводимых чисел.Желаю успехов!