Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И ЕСТЕСТВЕННЫХ НАУК
КАФЕДРА МАТЕМАТИЧЕСКОГО И ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИНФОРМАЦИОННЫХ СИСТЕМ
ИНФОРМАТИКА И ПРОГРАММИРОВАНИЕ
Отчет по лабораторной работе №9
студентки 2 курса группы 07001402
Черноморец Дарьи Андреевны
Проверила:
Асс. Ерошенко Яна Борисовна
Белгород 2015
Тема работы: Использование функций и шаблонов функций
Задание
Вариант 8
1. Написать программу, функция main которой включает вызов 3х функций:
- 1-я функция осуществляет ввод исходных данных;
- 2-я функция осуществляет расчет результатов;
- 3-я функция выводит результаты расчета на экран.
В программе использовать два способа передачи параметров в функцию: по значению и по адресу.
Составьте программу – для вывода соответствующей буквы, которая запрашивала у пользователя слово, (состоящее минимум из 5 букв) и число от 1 до 5 и выводила бы на экран соответствующую цифре букву из слова.
2. Напишите программу, осуществляющую ввод элементов массива, и содержащую шаблон функции, возвращающей произведение отрицательных элементов массива.
Выполнение работы
Задание 1
#include "stdafx.h"
#include<iostream>
#include <string.h>
using namespace std;
int f_input(char*Str1, int *num1, int end1, int begin1);
char f_FindLetter(char*Str1, int num1);
void f_Output(char *Str0, char *Str1, int num1);
void main()
{
const int n = 60;
char Str1[n];//исходное слово
int num1 = 0;//исходное число
int end1 = 5, begin1 = 1, Return1;
char Str0[2];
//Вызов функции ввода строки и числа
Return1 = f_input(Str1, &num1, end1, begin1);
if (Return1!= 0) return;
//Вызов функции нахождения буквы
char letter1 = f_FindLetter(Str1, num1);
Str0[0] = letter1;
Str0[1] = '\0';
//Вызов функции для вывода буквы
f_Output(Str0, Str1, num1);
}//main
//функция для ввода исходного слова и числа
int f_input(char*Str1, int *num1, int end1, int begin1)
{
int len1 = 0;//длина слова
char Str2[10];
Str2[0] = '0';
Str2[1] = '\0';
//cout << "Str2=" << Str2 << endl;
while (len1 < end1)
{
cout << "Input a word (length >= " << end1 << ") or Input 0 for exit" << endl;
cin >> Str1;
if (strcmp(Str1, Str2) == 0)//сравнение введённого слова с 0, проверяется равенство двух строк
{
cout << "You input 0. Goodbye!" << endl;
system("pause");
return 1;
}
//Проверить кол-во букв
len1 = strlen(Str1);
cout << "You input word: " << Str1 << endl;
cout << "Length of word=" << len1 << endl;
}//while (Len1 < end1)
while (*num1<begin1 || *num1>end1)
{
cout << "Input number from " << begin1 << " to " << end1 << "" << endl;
cin >> *num1;
cout << "You input number: " << *num1 << endl;
}
return 0;
}//int f_input(char*Str1, int *num1, int end1, int begin1)
//функция нахождения нужной буквы
char f_FindLetter(char*Str1, int num1)
{
char letter1;
//контроль данных был проведен в первой функции
letter1 = Str1[num1 - 1];
return letter1;
}//char f_FindLetter(char*Str1, int num1)
//функция для вывода результатов
void f_Output(char *Str0, char *Str1, int num1)
{
cout << endl << "========Result========" << endl;
cout << "Initial word: " << Str1 << endl;
cout << "Number of letter: " << num1 << endl;
cout << "Letter: " << Str0 << endl;
system("pause");
}//void f_Output(char letter1, char *Str1, int num1)
Дата публикования: 2015-10-09; Прочитано: 475 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!