![]() ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Выполнила: Мандрыкина Н.Е.Факультет: ИТиПМ Специальность: Прикладная информатика Группа: 83001304 Проверила: Гахова Н.Н. Дата: ______________ Оценка:____________ Отчет по Лабораторной Работе №8 «РАБОТЫ СО СТРУКТУРАМИ» Цель: Закрепление знаний о структурах, составление программ с применением структур. Вариант 19. Задание 1 Дана информация о студентах. Запись имеет вид: фамилия, год рождения, место рождения, факультет. Вывести данные о старших по возрасту студентах, предполагая, что год рождения может быть одинаков.
Контрольные вопросы 1. Правила объявления и инициализации строк в Си. Для объявления строки длиной N символов, необходимо объявить массив char размером N+1 символ, т. к. последний символ строки является нулем: char[5]=”word”; //правильно, 4 буквы, последний символ 0. char[5]=”слово”; //неправильно, последний символ лишний. Для работы со строками в языке С++ используются стандартные функции, которые описаны в библиотечном файле string.h. 2. Функции обработки строковых данных. Функция определения длины строки strlen (s). Определяет длину строки s. Функция копирование строки strcpy (s1, s2). Копирует содержимое строки s2 в строку s1. Массив s1 должен быть достаточно вместительным. Если при копировании места не хватает, то компилятор не выдает сообщение об ошибке и программа может работать, но неправильно. Функция сцепления строк strcat (s1, s2). Присоединяет строку s2 к строке s1 и помещает новую строку s1. Строка s2 не изменяется. При этом, как и в предшествующем случае, нет никакого контроля. Нулевой байт строки s1 заменяется первым символом строки s2. Новая строка автоматически завершается нулевым байтом. Функция сравнения строк strcmp (s1, s2). Результат: минус 1 –первая строка меньше второй; 1 – первая строка больше второй; 0 – строки равны. Функция поиска подстроки в строке strstr (s1, s2). Поиск в строке s1 строки s2. Результат: 0 – строка не найдена; не 0 – номер позиции с которой строка s2 входит в строку s1. Функция поиска символа в строке strchr (s, smb). Поиск символа smb в строке s. Результат: 0 – символ не найден; не 0 – номер позиции найденного символа в строке. Функция strupr (s) делает все буквы строки s прописными (заглавными). Функция strlwr (s) делает все буквы строки s строчными. 3. Что такое структура? Как обратиться к полю структуры? Структура является собранием одного или более объектов (переменных, массивов, указателей и т.д.), которые для удобства работы с ними объединены под одним именем. Обращение к полям структуры: s1.kurs=3; s1.age=20; Для переменных s1 и s2 возможно присваивание s1=s2. 4. Как ввести структуру? Например: struct tovar{char name[20]; int kol; float cena;} t[5]; ………………………………………………………… for (i=0; i<N; i++){ cout<< "\n Введите наименование товара "; cin >> t[i].name; cout<< "\n Введите количество товара, шт"; cin >> t[i].kol); cout<< "\n Введите цену товара, руб/кг "); cin >> t[i].cena);} в данном фрагменте программа объявляется структура и вводятся данные в нее. 5. Может ли существовать массив структур? Можно ли в вашей программе использовать массив структур? Структуры могут быть объединены в массивы структур. Объявление массива структур делается аналогично объявлению массива переменных. Например, если нужно хранить информацию о 10 студентах, то объявление массива будет следующим struct student stud1[10]; Здесь stud1 – имя массива структур, а stud1[0] – это первая структура, stud1[1] – вторая... stud1[9] – десятая структура. Чтобы получить доступ к полю age пятой структуры нужно написать stud1[4].age Чтобы получить доступ к полю kurs первой структуры нужно написать stud1[0].kurs И в моей программе тоже можно использовать массив структур
Не нашли, что искали? Воспользуйтесь поиском:
|