+215.84
195 читателей, 2 топика

Планирование классов по ТЗ

1.Максимально подробно описать ТЗ.
2.Выписать из ТЗ имена существительные.
3.Для каждого из этих существительных, из остального текста сформировать один точно сформулированный абзац и поместить туда все что касается этого существительного.
4.Из ТЗ написать список всех фактов (существования существительного, действие в котором участвует объект).
5.Сгруппировать факты по объектам.
6.Все факты для каждого объекта делятся на две группы:
Свойства или атрибуты(поля, переменные).
7.Для каждого объекта выделяются варианты поведения, которые могут быть вызваны какой-то переданной ему информации.
Методы могут посылать сообщения, для каждого варианта надо давать описания(в чем заключается поведения объекта в данном варианте). Сюда должно входить: список всех атрибутов, которое вызывает это поведение и список всех сообщений, которые объект при этом пошлет другим объектам.

Разработать класс массив. Продумать какие поля и методы, конструкторы, предусмотреть конструктор копирования. Вывести массив на экран, принять с клавиатуры, посчитать минимум. Разработать методы и в main использовать их.
Найти максимум, найти сумму, отсортировать массив.

Main

#include"pop.h"
intmenu(Clas&,int);
voidmain()
{
	setlocale(LC_ALL,"rus");
	Clasobject;
	object.getmas();
	cout<<"Выберитепункт"<<endl;
	cout<<"1. Вывести массив"<<endl;
	cout<<"2. Минимальное число в массиве"<<endl;
	cout<<"3. Максимальное число в массиве"<<endl;
	cout<<"4. Найти сумму чисел в массиве"<<endl;
	cout<<"5. Отсортировать массив"<<endl;
	cout<<"6. Создать многомерный динамический массив"<<endl;
	cout<<""<<endl;
	cout<<"9. Выход"<<endl;
	inta=0;
	while(a!=9){
		cin>>a;
		menu(object,a);
	}
	system("pause");
}
intmenu(Clas&object,inta){
	switch(a){
	case1:{
		object.printmas();
		break;
	}
	case2:{
		object.minmas();
		break;
	}
	case3:{
		object.maxmas();
		break;
	}
	case4:{
		object.sumamas();
		break;
	}
	case5:{
		object.sortmas();
		object.printmas();
		break;
	}
	case6:{
		object.newmas();
		break;
	}
	case7:{

		break;
	}
	case8:{
	
		break;
	}
	case9:{
		EXIT_SUCCESS;
		break;
	}
	default:{
		cout<<"Введитеправильно"<<endl;
		returnmenu(object,a);
	}
	}
}



Header
#include<iostream>
usingnamespacestd;

classClas{

public:
	voidgetmas();
	voidprintmas();
	voidminmas();
	voidmaxmas();
	voidsumamas();
	voidsortmas();
	//************
	voidnewmas();
	Clas(){
		if(mas){
			cout<<"Одномерный массив создан"<<endl;
		}
	}
	Clas(ints1,ints2){
		if(s1!=0&&s2!=0){
			cout<<"Многомерный динамический массив создан"<<endl;
		}
	}

	Clas(constClas&){
		cout<<"Копия создана"<<endl;
	}
	~Clas(){
		cout<<"Объект удален"<<endl;
	}
	intx;
	intmas[];
	
};
voidClas::newmas(){
	inti,s1=5,s2=5;
	int**pArr=newint*[s1];
	for(i=0;i<s1;i++){
		pArr[i]=newint[s2];
	}
	cout<<"Многомерный динамический массив "<<s1<<"  на "<<s2<<" создан"<<endl;
}
/*void f(Clas object3){
	cout << "Функция 1" << endl;

}
Clas f2(){
	Clas object;
	cout << "Функция 2" << endl;
	return object;
}
*/

voidClas::getmas(){
	cout<<"Заполните массив"<<endl;
	for(inti=0;i<5;i++){
		cin>>mas[i];
	}
}
voidClas::printmas(){
	cout<<"Вывод массива"<<endl;
	for(inti=0;i<5;i++){
		cout<<mas[i]<<" ";
	}
	cout<<endl;
}
voidClas::minmas(){
	intd=mas[2];
	for(inti=0;i<5;i++){
		if(d>mas[i]){
			d=mas[i];
		}
	}
	cout<<"Минимальное число в массиве - "<<d<<endl;
}
voidClas::maxmas(){
	intd=mas[2];
	for(inti=0;i<5;i++){
		if(d<mas[i]){
			d=mas[i];
		}
	}
	cout<<"Максимальное число в массиве - "<<d<<endl;
}
voidClas::sumamas(){
	intd=0;
	for(inti=0;i<5;i++){
		d=+mas[i];
	}
	cout<<"Сумма чисел в массиве - "<<d<<endl;
}
voidClas::sortmas(){
	inti=0,j=0,x=0;
	for(inti=0;i<5;i++){
		for(j=5-1;j>i;j--){
			if(mas[j-1]>mas[j]){
				x=mas[j-1];
				mas[j-1]=mas[j];
				mas[j]=x;
			}
		}
	}
}

Заполнить массив случайными числами

#include <iostream>
#include <ctime>
using namespace std;

void main(){
	setlocale(LC_ALL,"rus");
	srand(time(NULL));
	int mas[10];
	for(int i=0; i<10; i++){
		mas[i]=rand()%100+1;
	}
	
	system("pause");
}