Программа должна сгенерировать 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д