Программа должна сгенерировать 2 случайных числа в диапазоне от 2 до 9 - C (СИ)
Формулировка задачи:
Здравствуйте! я только начинаю изучать азы Си подскажите пожалуйста!
Задача такая: программа должна сгенерировать 2 случайных числа в диапазоне от 2 до 9 , потом вывести их на экран и далее пользователь должен ввести ответ чему будет равно произведение этих чисел. таблица умножения...
Казалось бы всё просто , но оператор While отказывается напрочь работать и условия в скобках не проверяются , даже если оставить только 1 из 4х условий!
это первый вопрос!. на свою голову пока пытался отладить программу решил ввести задержку времени sleep(1000);
почему то задержка работает в секундах а не в милисекундах как должна((((
вот текст программы:
#include <stdlib.h> #include <stdio.h> #include <conio.h> #include <locale.h> #include <windows.h> #include <time.h> int main() { setlocale(0,""); int x, y , z; x=1; y=1; puts("Программа проверки таблицы умножения:"); system ("pause"); srand(time(NULL)); m: while (x>=2&&x<=9&&y>=2&&y<=9) { sleep(5); x=rand()%10; printf("x=%d ",x); y=rand()%10; printf("y=%d",y); } printf("Введите результат выражения %d*%d\n",x,y); scanf("%2d",&z); x*y==z&&printf("\nВерно!!!"); x*y!=z&&printf("\nне верно!!!"); goto m; getch(); }
Решение задачи: «Программа должна сгенерировать 2 случайных числа в диапазоне от 2 до 9»
textual
Листинг программы
#include <stdio.h> #include <time.h> #include <sys/select.h> #define SLEEP_TIME (250000) void slowprint(const char * s) { while ( *s ) { struct timeval t = { .tv_sec = 0, .tv_usec = SLEEP_TIME }; select(0, NULL, NULL, NULL, &t); printf("%c", *s++); fflush(stdout); } } int main(void) { char buf[BUFSIZ]; while ( printf("> ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' ) slowprint(buf); return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с временем и файловой системой.
- Определение константы SLEEP_TIME, которая задает время в микросекундах, в течение которого программа будет
медленно
печатать символы. - Реализация функции slowprint, которая принимает строку и печатает ее
медленно
, делая паузу на каждую итерацию. - Создание пустой строки buf для считывания ввода пользователя.
- В основном цикле программы пользователю предлагается ввести строку, которую затем выводят
медленно
. - Программа завершается, когда пользователь вводит символ новой строки или когда ввод пользователя превышает размер буфера (BUFSIZ).
- Все вызовы функций и операции с переменными объявлены в пределах области видимости main.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д