Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические указания по С++.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
793.09 Кб
Скачать

Пример выполнения работы

Задана строка. Спроектировать и написать функцию, осуществляющую вставку последовательности символов в строку с заданной позиции (вставляемая последовательность задается пользователем).

В функцию вставки необходимо передавать три параметра: исходную строку, вставляемую строку, номер символа после которого осуществлять вставку. Функция возвращает один результат – адрес полученной строки (совпадает с адресом исходной строки). Исходная строка состоит из двух частей: первой подстроки – после которой нужно осуществить вставку символов, и второй – перед которой нужно осуществить вставку символов. В функции объявляется локальная переменная – указатель на char. В нее запоминается адрес символа, перед которым будет осуществлена вставка (адрес начала второй подстроки). На позицию вставки (после первой подстроки) записывается символ ‘\0’ – признак окончания строки. Добавляется вставляемая строка и вторая подстрока, адрес которой был запомнен в локальной переменной.

Программа решения задачи имеет вид:

#include <stdio.h> //подключение файла

#include <string.h> //подключение файла

char *insertstr (char *s,int n1,char *t) //заголовок функции insertstr

{ //объявление локальной переменной-указателя

char *l;

strcpy(l,s+n1); //копирование второй части строки

s[n1]='\0'; //запись '\0' на позицию вставки

strcat(s,t); //добавление вставляемой строки

strcat(s,l); //добавление второй части строки

return s; //завершение функции insertstr

}

void main() //заголовок функции main

{char str[255], a[80];

int n; // объявление переменных

printf("Введите строку\n");

gets(str);

printf("Введите вставляемую последовательность\n");

gets(a);

printf("Введите номер символа после которого осуществлять вставку\n");

scanf(“%d”,&n) //ввод значений переменных

strcpy(str,insert(str,n,a));

//вызов функции strcpy, копирующей в str, значение, Возвращаемое функцией insert

printf("Полученная строка\n%s\n",str); //вывод значения переменной

return; //завершение функции main

}

Контрольные вопросы

  1. Перечислить способы ввода и вывода символьных данных.

  2. Назвать специальные функции, используемые для обработки символьных данных.

  3. Пояснить применение указателей при работе с символьными данными.

  4. Указать, что служит признаком окончания строки.

Лабораторная работа №11

Программирование алгоритмов с

использованием переменной структура

Цель работы – овладение навыками алгоритмизации и программирования алгоритмов с использованием переменной структура (запись), проектирование элементов структуры, выбор типов элементов структуры, доступ к элементам структуры, ввод и вывод значений элементов структуры.

Задания для самостоятельной подготовки:

1. Изучить:

-основную терминологию, связанную с переменной структура: определение, элемент структуры;

- организацию доступа к элементам структуры;

- организацию ввода и вывода значений элементов структуры.

2. Разработать алгоритм решения в соответствии с заданием.

3. Составить программу решения задачи.

4. Подготовить тестовый вариант исходных данных. Выполнить на ЭВМ программу с тестовым вариантом.

Задание к работе:

Задание.

Написать программу, осуществляющую ввод информации о количестве изделий категории А, В, С, собранных рабочим за каждую неделю, количество недель не более 4:

- фамилия сборщика,

-наименование цеха,

-количество изделий по категориям, собранных рабочим за каждую неделю.

Вывести на экран информацию в виде таблицы и согласно варианту из таблицы 12.

Таблица 9

Вариант задания

Условия задачи

1

Распечатать данные о сборщике, собравшем наибольшее количество изделий за первую неделю.

2

Распечатать данные о сборщике, собравшем наибольшее количество изделий категории А за весь период.

3

Распечатать информацию об общем количестве изделий по категориям А, В, С для цеха Х.

4

Распечатать информацию об общем количестве изделий, собранных каждым рабочим цеха Х.

5

Считая заданными значения расценок Sa, Sb, Sa за выполненную работу по сборке единицы изделия категории А, В, С соответственно вычислить для каждого рабочего цеха Х заработную плату за весь период.

6

Считая заданными значения расценок Sa, Sb, Sa за выполненную работу по сборке единицы изделия категории А, В, С соответственно вычислить для Х рабочего заработную плату за каждую неделю.

7

Распечатать данные о сборщике, собравшем наибольшее количество изделий категории В за первую неделю.

8

Распечатать информацию об общем количестве изделий по категориям А, В, С, собранных каждым рабочим.

9

Считая заданными значения расценок Sa, Sb, Sa за выполненную работу по сборке единицы изделия категории А, В, С соответственно вывести на экран информацию о рабочем, имеющего наибольшую плату за весь период.

10

Распечатать данные о сборщике, собравшем наименьшее количество изделий категории С за вторую неделю.

Продолжение таблицы 9

Вариант задания

Условия задачи

11

Распечатать данные о сборщике, собравшем наименьшее количество изделий за последнюю неделю.

12

Считая заданными значения расценок Sa, Sb, Sa за выполненную работу по сборке единицы изделия категории А, В, С соответственно вывести на экран информацию о рабочем, имеющего наименьшую плату за последнюю неделю.

13

Распечатать информацию об общем количестве изделий по категориям А, В, С, собранных каждым рабочим.

14

Распечатать данные о сборщике, собравшем наибольшее количество изделий категории А за весь период.

15

Распечатать данные о сборщике, собравшем наибольшее количество изделий категории В за первую неделю.