Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

Какво значи екран по екран

Featured Replies

Имам задание, в което трябва потребителя да въвежда информация във файл символ по символ (очевидно с getch()) и след това да се осигури възможност за извеждане на екрана "екран по екран". Как да разбирам "екран по екран" ? Мислех директно да прочета и целия файл ред по ред с fgets и да принтирам с fprintf.

Редактирано от mfg_lv (преглед на промените)

Имам задание, в което трябва потребителя да въвежда информация във файл символ по символ (очевидно с getch()) и след това да се осигури възможност за извеждане на екрана "екран по екран". Как да разбирам "екран по екран" ? Мислех директно да прочета и целия файл ред по ред с fgets и да принтирам с fprintf.

Аз го разбирам, да запълни видимата част от конзолата и да иска натискане на клавиш за извеждане на следващата част. Като филтрите more(win)/less(lin).

Единият вариант е преподавателят ти да е допуснал грешка по невнимание и да е искал да каже извеждане "символ по символ".

Другото, което ми идва на ум, е симулация на страници, но нямам идея как точно ще се имплементира в конзолата.

Единият вариант е преподавателят ти да е допуснал грешка по невнимание и да е искал да каже извеждане "символ по символ".

Другото, което ми идва на ум, е симулация на страници, но нямам идея как точно ще се имплементира в конзолата.

Елементарно е, взимаш броя на редовете на конзолата. Броиш редовете, които печаташ като в момента в който отпечаташ редове колкото е броя им в конзолата чакаш да се въведе символ от клавиатурата

Елементарно е, взимаш броя на редовете на конзолата. Броиш редовете, които печаташ като в момента в който отпечаташ редове колкото е броя им в конзолата чакаш да се въведе символ от клавиатурата

Наистина звучи елементарно, ще взема да го пробвам :)

Наистина звучи елементарно, ще взема да го пробвам :)

Е, има особености. АКо реда е по-дълъг от броя на колоните в терминала трябва да вземеш мерки :)

  • Автор

Елементарно е, взимаш броя на редовете на конзолата. Броиш редовете, които печаташ като в момента в който отпечаташ редове колкото е броя им в конзолата чакаш да се въведе символ от клавиатурата

Как да взема броя на редовете на конзолата (колко може да покаже максимум) ? Или да си го измеря самостоятелно и да приема че всяка конзола е така ?

Нещо такова за 10 реда ?


while (fgets(str, sizeof str, file) != NULL){
printf("%s", str);
i++;
if(i%10==0)
getch();
}

Редактирано от mfg_lv (преглед на промените)

Как да взема броя на редовете на конзолата (колко може да покаже максимум) ? Или да си го измеря самостоятелно и да приема че всяка конзола е така ?

Зависи от операционната система, на WIndows стандартния cmd отваря 80х25

  • Автор

Друг въпрос, имам "Среден брой на цифри за всеки ред спрямо общият брой символи в реда."

Това как да го разбирам, броя символите в реда (да кажем 50) и разделям на броя на числата (да кажем 5) и получавам средно 10 числа, или обратното, деля 5 числа на 50 символа и получавам 0.1 което е 10%. ?

Редактирано от mfg_lv (преглед на промените)

Друг въпрос, имам "Среден брой на цифри за всеки ред спрямо общият брой символи в реда."

Това как да го разбирам, броя символите в реда (да кажем 50) и разделям на броя на числата (да кажем 5) и получавам средно 10 числа, или обратното, деля 5 числа на 50 символа и получавам 0.1 което е 10%. ?

Според мен е второто

#include <windows.h>
#include <stdio.h>

CONSOLE_SCREEN_BUFFER_INFOEX csbie;
HANDLE houtput;

int main()
    {
    houtput = GetStdHandle(STD_OUTPUT_HANDLE);
    system("cls");
    csbie.cbSize = sizeof(CONSOLE_SCREEN_BUFFER_INFOEX);
    GetConsoleScreenBufferInfoEx(houtput,&csbie);
    printf("\n\nCurrent window width = %d\n\nCurrent window height = %d\n\n",csbie.srWindow.Right + 1,csbie.srWindow.Bottom+1);
    printf("\n\nMax window width = %d\n\nMax window height = %d\n\n",csbie.dwMaximumWindowSize.X,csbie.dwMaximumWindowSize.Y);
    printf("\n\nScreen buffer width = %d\n\nScreen buffer height = %d\n\n",csbie.dwSize.X,csbie.dwSize.Y);
    return 0;
    }

За Уиндоус, намира размерите на текущия прозорец, на максимизирания прозорец и на екранния буфер на конзолата.

Редактирано от Реджеп Иведик (преглед на промените)

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    26%
    Дарени 256.00 EUR от нужните 1,000.00 EUR

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.