Организация вывода текста в прямоугольную область экрана - C (СИ)

Узнай цену своей работы

Формулировка задачи:

организация вывода текста в прямоугольную область экрана,координаты левого верхнего и нижнего правого углов которой задается пользователем.отображаемые данные читаются из текстового файла, предварительно сформированного пользователем и переданного программе в качестве аргумента командной строки. Предполагается, что выводится только один блок данных, читаемых из файла, причем размер блока не превосходит размер окна "буфера" отображения.

Решение задачи: «Организация вывода текста в прямоугольную область экрана»

textual
Листинг программы
#include <stdio.h>
#include <string.h>
 
int main(void)
{   
   
   char* fname="data.txt";
   char t[1024];
   int k1=0,k2=0;
   int b1=0,b2=0,i;
   
   FILE *r;
   r = fopen(fname, "r");
   fgets(t,1024,r);
   fclose(r);
   
   printf("\nVvedite koordinaty levogo verxnego\n");
   printf("Vnachale Perenos stroki; Potom ' ';\n");
   scanf("%i",&k1);
   scanf("\n%i",&k2);
   
   printf("\n\nVvedite koordinaty pravogo nichnego\n");
   printf("Vnachale Perenos stroki; Potom ' ';\n");
   scanf("%i",&b1);
   scanf("\n%i",&b2);
   
   for(i=0; i<k1; i++) {
      printf("\n");
   }
   
   for(i=0; i<k2; i++) {
      printf(" ");
   }
   
   printf("*%s",t);
   
   for(i=k2+strlen(t); i<b2; i++) {
      printf(" ");
   }
   
   printf("*");
   
   for(i=0; i<b1; i++) {
      printf("\n");
   }
   
   for(i=0; i<k2; i++) {
      printf(" ");
   }
   
   printf("*");
   
   for(i=k2; i<b2; i++) {
      printf(" ");
   }
   
   printf("*");
   
}

Объяснение кода листинга программы

  1. Объявление переменных:
    • fname (указатель на строку) - имя файла, содержащего текст для вывода;
    • t (массив символов) - временная переменная для хранения строки из файла;
    • k1, k2 (целые числа) - координаты левого верхнего угла прямоугольника для вывода текста;
    • b1, b2 (целые числа) - координаты правого нижнего угла прямоугольника для вывода текста;
    • i (целое число) - счётчик для циклов;
    • r (указатель на файл) - файл для чтения;
    • printf, scanf (функции для вывода и ввода данных соответственно).
  2. Открытие файла с помощью функции fopen и чтение строки с помощью функции fgets.
  3. Вывод приглашения для ввода координат левого верхнего угла прямоугольника.
  4. Ввод координат левого верхнего угла прямоугольника с помощью функции scanf.
  5. Вывод приглашения для ввода координат правого нижнего угла прямоугольника.
  6. Ввод координат правого нижнего угла прямоугольника с помощью функции scanf.
  7. Отображение символа новой строки (или ) в количестве k1 с помощью цикла for и функции printf.
  8. Отображение символа новой строки (или ) в количестве k2 с помощью цикла for и функции printf.
  9. Отображение содержимого файла с помощью функции printf.
  10. Отображение символа новой строки (или ) в количестве b1 с помощью цикла for и функции printf.
  11. Отображение символа новой строки (или ) в количестве k2 с помощью цикла for и функции printf.
  12. Отображение символа новой строки (или ) в количестве b2 с помощью цикла for и функции printf.
  13. Закрытие файла с помощью функции fclose.
  14. Значение переменной i используется в качестве счётчика в циклах for и функции printf для отображения символа новой строки (или ) в количестве b1.
  15. Значение переменной i используется в качестве счётчика в циклах for и функции printf для отображения символа новой строки (или ) в количестве k2.
  16. Значение переменной i используется в качестве счётчика в циклах for и функции printf для отображения символа новой строки (или ) в количестве b2.
  17. Значение переменной i используется в качестве счётчика в циклах for и функции printf для отображения символа новой строки (или ) в количестве k2.
  18. Значение переменной i используется в качестве счётчика в циклах for и функции printf для отображения символа новой строки (или ) в количестве b2.
  19. Значение переменной i используется в качестве счётчика в циклах for и функции printf для отображения символа новой строки (или ) в количестве k2.
  20. Значение переменной i используется в качестве счётчика в циклах for и функции printf для отображения символа новой строки (или ) в количестве b2.

Оцени полезность:

11   голосов , оценка 4 из 5
Похожие ответы