Давно не постила ничего, но это не значит что я ничем не занималась!
Задачек было решено немало, снова делюсь с вами решениями из разных задачников, в частности Дуравкиной. Условия как всегда в комментах.
Тема: шаблоны
// лаба адын.cpp: определяет точку входа для консольного приложения.
//Создать шаблонную функцию для ввода с клавиатуры и вывода на экран массива элементов. Разработать программу, в которой созданная шаблонная функция используется для пользовательского типа данных
//сделать шаблонную функцию, которая будет использоваться для класса
//
#include "stdafx.h"
#include <iostream>
#include <iomanip>
using namespace std;
class Class
{
public:
template <typename T>
void getArray( T * array, int count)
{
for (int i = 0; i < count; i++)
{
cout << "Enter Value of " << i+1 << " element is " << endl;
cin >> array[i];
}
for (int ix = 0; ix < count; ix++)
{
cout << array[ix] << " ";
}
cout << endl;
}
};
int _tmain(int argc, _TCHAR* argv[])
{
int num; // размер массива
cout << "Enter integer value: ";
cin >> num; // получение от пользователя размера массива
int *p_darr = new int[num]; // Выделение памяти для массива
Class ob1;
ob1.getArray(p_darr, num);
delete [] p_darr; // очистка памяти
system("pause");
return 0;
}
// лаба адын.cpp: определяет точку входа для консольного приложения.
//создать шаблонную функцию, которая меняет местами значения двух переменных, передаваемых в качестве параметров
//Сздать шаблонную функцию для нахождения корня линейного уравнения
#include "stdafx.h"
#include <iostream>
#include <iomanip>
using namespace std;
template <typename T>
void rev(T& a, T& b)
{
T temp;
temp = a;
a = b;
b = temp;
}
template <typename T>
T lineage(T a, T b)
{
return (((-1)*b)/a);
}
int _tmain(int argc, _TCHAR* argv[])
{
int A, B;
A = 1;
B = 2;
rev (A, B);
cout << A << endl << B << endl;
cout << lineage (4, 5) << endl;
system("pause");
return 0;
}
// лаба адын.cpp: определяет точку входа для консольного приложения.
//Разработать класс, содержащий информацию о машине (марка, производитель, объем двигателя, масса, тип коробки передач, объем багажника, грузоподъемность).
//Предусмотреть возможность раздельного ввода данных, ввода данных из файла.
//Определить методы для вычисления возраста машины и возможности перевезти груз с заданным объемом\весом.
#include "stdafx.h"
#include <fstream>
#include <iostream>
#include <stdio.h>
#include <string>
using namespace std;
class automobile
{
private:
string mark;
string seller;
int volume;
int weight;
string typeBox;
int volumeTrunk;
int carryingCapacity;
public:
void in()
{
ifstream fin("cppstudio.txt"); // открыли файл для чтения
fin >> mark >> seller >> volume >> weight >> typeBox >> volumeTrunk >> carryingCapacity; // считали первое слово из файла
}
void display()
{
cout << mark << " " << seller << " " << volume << " " << weight << " "<< typeBox << " " << volumeTrunk << " " << carryingCapacity << endl;
}
int age(int year1)
{
return (2015 - year1);
}
bool opportunity(int vol, int wei)
{
if((vol < volume) && (wei < weight))
return true;
else
return false;
}
};
int _tmain(int argc, _TCHAR* argv[])
{
automobile ob;
int Y1;
ob.in();
ob.display();
int vol, wei;
cout << "calculate the age of the machine and the possibility to carry the goods with a given volume\weight. " << endl << "Enter Graduation Year: ";
cin >> Y1;
cout << ob.age(Y1) << endl;
cout << "enter volume and weight: ";
cin >> vol >> wei;
(ob.opportunity(vol, wei)) ? cout << "true" : cout << "false";
cout << endl;
system("pause");
return 0;
}
// лаба адын.cpp: определяет точку входа для консольного приложения.
//Определить класс, хранящий такую информацию о пользователе библиотеки: ФИО, номер читательского билета, факультет, дата рождения, телефон, дата последнего посещения библиотеки.
//Доступ к данным класса организовать посредством соответствующих функций-членов. Разработать программу, в которой создается массив объектов данного класса (заполнение массива из файла и клавиатуры).
//В программе организовать:
//– ввод данных о заданном читателе (фамилия);
//– вывод информации о читателях которые были в библиотеке после указанной даты;
//- вывод информации о пользователях младше заданного возраста.
#include "stdafx.h"
#include <fstream>
#include <iostream>
#include <stdio.h>
#include <string>
using namespace std;
class Date
{
private:
int day;
int month;
int year;
public:
void get()
{
cin >> day >> month >> year;
}
void display()
{
cout << day << "/" << month << "/" << year;
}
bool operator > (Date d)
{
int date = d.day + d.month*
return true;
else
return false;
}
class library
{
private:
string name;
string soname;
int num;
string facult;
string DOB;
int phone;
string last_date;
public:
void display()
{
cout << name << " " << soname << " " << num << " " << facult << " "<<DOB << " "<< phone << " " << last_date << endl;
}
void in()
{
ifstream fin("cppstudio.txt"); // открыли файл для чтения
fin >> name >> soname >> num >> facult >> DOB >> phone >> last_date; // считали первое слово из файла
}
void get()
{
cout << "Enter Name, library card number , department, date of birth, phone number, date of last visit to the library. " << endl;
cin >> name >> soname >> num >> facult >> DOB >> phone >> last_date;
}
void change_son(string son)
{
soname = son;
}
};
int _tmain(int argc, _TCHAR* argv[])
{
library lib[2];
int num_reader;
string son;
lib[0].in();
lib[1].get();
lib[0].display();
lib[1].display();
cout << "Enter number reader" << endl;
cin >> num_reader;
cout << "Enter new soname" << endl;
cin >> son;
lib[num_reader-1].change_son(son);
lib[num_reader-1].display();
system("pause");
return 0;
}
Задачек было решено немало, снова делюсь с вами решениями из разных задачников, в частности Дуравкиной. Условия как всегда в комментах.
Тема: шаблоны
// лаба адын.cpp: определяет точку входа для консольного приложения.
//Создать шаблонную функцию для ввода с клавиатуры и вывода на экран массива элементов. Разработать программу, в которой созданная шаблонная функция используется для пользовательского типа данных
//сделать шаблонную функцию, которая будет использоваться для класса
//
#include "stdafx.h"
#include <iostream>
#include <iomanip>
using namespace std;
class Class
{
public:
template <typename T>
void getArray( T * array, int count)
{
for (int i = 0; i < count; i++)
{
cout << "Enter Value of " << i+1 << " element is " << endl;
cin >> array[i];
}
for (int ix = 0; ix < count; ix++)
{
cout << array[ix] << " ";
}
cout << endl;
}
};
int _tmain(int argc, _TCHAR* argv[])
{
int num; // размер массива
cout << "Enter integer value: ";
cin >> num; // получение от пользователя размера массива
int *p_darr = new int[num]; // Выделение памяти для массива
Class ob1;
ob1.getArray(p_darr, num);
delete [] p_darr; // очистка памяти
system("pause");
return 0;
}
// лаба адын.cpp: определяет точку входа для консольного приложения.
//создать шаблонную функцию, которая меняет местами значения двух переменных, передаваемых в качестве параметров
//Сздать шаблонную функцию для нахождения корня линейного уравнения
#include "stdafx.h"
#include <iostream>
#include <iomanip>
using namespace std;
template <typename T>
void rev(T& a, T& b)
{
T temp;
temp = a;
a = b;
b = temp;
}
template <typename T>
T lineage(T a, T b)
{
return (((-1)*b)/a);
}
int _tmain(int argc, _TCHAR* argv[])
{
int A, B;
A = 1;
B = 2;
rev (A, B);
cout << A << endl << B << endl;
cout << lineage (4, 5) << endl;
system("pause");
return 0;
}
// лаба адын.cpp: определяет точку входа для консольного приложения.
//Разработать класс, содержащий информацию о машине (марка, производитель, объем двигателя, масса, тип коробки передач, объем багажника, грузоподъемность).
//Предусмотреть возможность раздельного ввода данных, ввода данных из файла.
//Определить методы для вычисления возраста машины и возможности перевезти груз с заданным объемом\весом.
#include "stdafx.h"
#include <fstream>
#include <iostream>
#include <stdio.h>
#include <string>
using namespace std;
class automobile
{
private:
string mark;
string seller;
int volume;
int weight;
string typeBox;
int volumeTrunk;
int carryingCapacity;
public:
void in()
{
ifstream fin("cppstudio.txt"); // открыли файл для чтения
fin >> mark >> seller >> volume >> weight >> typeBox >> volumeTrunk >> carryingCapacity; // считали первое слово из файла
}
void display()
{
cout << mark << " " << seller << " " << volume << " " << weight << " "<< typeBox << " " << volumeTrunk << " " << carryingCapacity << endl;
}
int age(int year1)
{
return (2015 - year1);
}
bool opportunity(int vol, int wei)
{
if((vol < volume) && (wei < weight))
return true;
else
return false;
}
};
int _tmain(int argc, _TCHAR* argv[])
{
automobile ob;
int Y1;
ob.in();
ob.display();
int vol, wei;
cout << "calculate the age of the machine and the possibility to carry the goods with a given volume\weight. " << endl << "Enter Graduation Year: ";
cin >> Y1;
cout << ob.age(Y1) << endl;
cout << "enter volume and weight: ";
cin >> vol >> wei;
(ob.opportunity(vol, wei)) ? cout << "true" : cout << "false";
cout << endl;
system("pause");
return 0;
}
// лаба адын.cpp: определяет точку входа для консольного приложения.
//Определить класс, хранящий такую информацию о пользователе библиотеки: ФИО, номер читательского билета, факультет, дата рождения, телефон, дата последнего посещения библиотеки.
//Доступ к данным класса организовать посредством соответствующих функций-членов. Разработать программу, в которой создается массив объектов данного класса (заполнение массива из файла и клавиатуры).
//В программе организовать:
//– ввод данных о заданном читателе (фамилия);
//– вывод информации о читателях которые были в библиотеке после указанной даты;
//- вывод информации о пользователях младше заданного возраста.
#include "stdafx.h"
#include <fstream>
#include <iostream>
#include <stdio.h>
#include <string>
using namespace std;
class Date
{
private:
int day;
int month;
int year;
public:
void get()
{
cin >> day >> month >> year;
}
void display()
{
cout << day << "/" << month << "/" << year;
}
bool operator > (Date d)
{
int date = d.day + d.month*
return true;
else
return false;
}
class library
{
private:
string name;
string soname;
int num;
string facult;
string DOB;
int phone;
string last_date;
public:
void display()
{
cout << name << " " << soname << " " << num << " " << facult << " "<<DOB << " "<< phone << " " << last_date << endl;
}
void in()
{
ifstream fin("cppstudio.txt"); // открыли файл для чтения
fin >> name >> soname >> num >> facult >> DOB >> phone >> last_date; // считали первое слово из файла
}
void get()
{
cout << "Enter Name, library card number , department, date of birth, phone number, date of last visit to the library. " << endl;
cin >> name >> soname >> num >> facult >> DOB >> phone >> last_date;
}
void change_son(string son)
{
soname = son;
}
};
int _tmain(int argc, _TCHAR* argv[])
{
library lib[2];
int num_reader;
string son;
lib[0].in();
lib[1].get();
lib[0].display();
lib[1].display();
cout << "Enter number reader" << endl;
cin >> num_reader;
cout << "Enter new soname" << endl;
cin >> son;
lib[num_reader-1].change_son(son);
lib[num_reader-1].display();
system("pause");
return 0;
}
Комментарии
Отправить комментарий