Снегопад в окне - C (СИ)
Формулировка задачи:
Нужно написать код, чтобы в появившемся окне падал снег. Заранее спасибо.
Решение задачи: «Снегопад в окне»
textual
Листинг программы
int main(int argc, char *argv[]) { int i,t; char s[2001]=""; srand(time(NULL)); for(i=0;i<2000;i++) s[i]=' '; for(i=0;i<250;i++) s[rand()%2000]='*'; do { puts(s); t=time(NULL); while(!(time(NULL)-t)); for(i=1999;i>79;i--) s[i]=s[i-80]; for(i=0;i<80;i++) s[i]=' '; for(i=0;i<10;i++) s[rand()%80]='*'; }while(!kbhit()); system("PAUSE"); return 0; }
Объяснение кода листинга программы
- Объявлены переменные: — i, t (для цикла) — s (строка)
- Задается начальное значение для s (2000 пробелов)
- Задается начальное значение для srand (используется текущее время)
- Выводится строка s на экран (с помощью функции puts)
- Задается начальное значение для t (текущее время)
- В цикле, пока время не изменится (с помощью функции time), происходит вывод строки s на экран
- В цикле, сдвигая строку s влево на 80 символов, удаляются 10 символов с правого края
- В цикле, на 10 случайных позициях (из 80) в строке s ставится символ '*'
- Проверяется наличие нажатий клавиш (с помощью функции kbhit)
- При отсутствии нажатий клавиш, программа повторяет пункты 4-9
- Показывается сообщение
Press any key to continue
- Возвращается 0 (код завершения программы)