![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Глава 7. Типы определяемые пользователем
Структуры
Языки программирования Си/С++ поддерживают определяемые пользователем типы данных, например, структуры.
Структура – это тип данных, который объединяет несколько переменных, возможно разного типа. Переменные, которые объединены структурой, называются элементами или полями структуры. Структуры целесообразно использовать там, где необходимо объединить разнообразные данные, относящиеся к одному объекту.
Пример определения структуры:
struct student
{
char fam[20];
char name[20];
int kurs;
char group[5];
};
Для того, чтобы объявить переменные типа struct student, можно написать:
struct student stud1;
Доступ к полям структуры осуществляется с помощью операции ”точка”.
Например, printf("Курс: %d",stud1.kurs);
Структуры, как и переменные другого типа, могут объединяться в массивы структур. Чтобы объявить массив структур, необходимо сначала задать шаблон структуры, а затем объявить массив:
struct student students[100];
Пример 7.1
Сформировать запись библиотечной картотеки: шифр, автор, наименование книги, количество страниц, год издания, издательство. Вывести запись в виде библиотечной карточки.
/*************************************************/
/* Структуры */
/* Сформировать запись библиотечной картотеки: */
/* шифр, автор, наименование книги, количество */
/* страниц, год издания, издательство. */
/* Вывести запись в виде библиотечной карточки. */
/*************************************************/
#include <stdio.h>
#include <conio.h>
#define size 20
struct kartochka // структура типа kartochka
{
int shifr; // шифр
char avtor[30]; // автор
char nazv[40]; // название книги
int kol; // количество
int god; // год издания
char izdat[20]; // издательство
};
void main()
{
clrscr();
// Объявление переменной типа kartochka
struct kartochka book;
// Ввод данных в карточку
printf("\n\t Ввод данных о книге: \n\n");
printf("\t Автор: ");
gets(book.avtor);
printf("\t Название: ");
gets(book.nazv);
printf("\t Количество страниц: ");
scanf("%d",&book.kol);
printf("\t Год издания: ");
scanf("%d",&book.god);
fflush(stdin); // очистка буфера
printf("\t Издательство: ");
gets(book.izdat);
printf("\t Шифр: ");
scanf("%d",&book.shifr);
// Вывод карточки
printf("\n\n\t Вывод данных о книге: ");
printf("\n \t ----------------------------------");
printf("\n \t \t КАРТОЧКА: \n\n");
printf("\n \t Шифр: %d",book.shifr);
printf("\n \t Автор: %s",book.avtor);
printf("\n \t Название: %s",book.nazv);
printf("\n \t Количество страниц: %d",book.kol);
printf("\n \t Год издания: %d",book.god);
printf("\n \t Издательство: %s",book.izdat);
printf("\n\t -----------------------------------");
getch();
}
Дата публикования: 2015-01-23; Прочитано: 665 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!