Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Вывод массива структур в виде таблицы




 

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

 

for (int i=0; i<SIZE; i++) {

printf("%s ", workers[i].name);

printf("%d ", workers[i].age);

printf("%g\n", workers[i].salary);

}

 

Такой способ отображает весь массив, но колонки оказываются неровными:

 

 

Для ровного вывода следует воспользоваться табуляцией – «\t»

 

for (int i=0; i<SIZE; i++) {

printf("%s\t", workers[i].name);

printf("%d\t", workers[i].age);

printf("%g\n", workers[i].salary);

}

 

 

Однако и в данном случае могут возникнуть проблемы. Например, если одно из имен слишком длинное:

 

 

Хорошим способом решения этой проблемы является использование модификатора количества позиций под переменную:

 

for (int i=0; i<SIZE; i++) {

printf("%10s\t", workers[i].name);

printf("%d\t", workers[i].age);

printf("%g\n", workers[i].salary);

}

 

 

И, наконец, для выравнивания по левому краю существует модификатор «-».

 

for (int i=0; i<SIZE; i++) {

printf("%-10s\t", workers[i].name);

printf("%d\t", workers[i].age);

printf("%g\n", workers[i].salary);

}

 

 


Поделиться:

Дата добавления: 2015-08-05; просмотров: 157; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.005 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты