Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2015, 18:11   #1
Alena95
Новичок
Джуниор
 
Регистрация: 09.06.2015
Сообщений: 4
Печаль Помогите крик души, очень срочно.

Помогите составить блок-схему к программе очень срочно, пожалуйста
Alena95 вне форума Ответить с цитированием
Старый 09.06.2015, 18:18   #2
Alena95
Новичок
Джуниор
 
Регистрация: 09.06.2015
Сообщений: 4
По умолчанию

Сам код программы. ПОМОГИИИТЕ
//заголовочный файл main.h для класса Book

Код:
#include"stdafx.h"
#include"MyLog.h"
#include<string>
#include<vector>

usingnamespacestd;

classBook
{
public:
	Book();
	Book(int head, std::vector<int> V);
	~Book();
	stringgetName_book();
	intgetNumber_book();
	intgetCount_head();	
	stringget_title();
	vector<int>getMyVector();
	voidsetMyVector(int count);
	vector<int>selectCountHead(int count);
	voidtoStringg(int n);
	//вывод на экран всего списка
	staticvoidshowList();
	//вывод на экран одного экземпляра
	staticvoidshowOneObject(int n);
	//Вывод на экран всех экземпляров с количеством страниц больше выбранного
	staticvoidshowList(int pages);
	staticintgetIndex();
	staticBook books[20];
	
private:
	intnumber_book;
	stringname_book;
	intcount_head;
	intcount_paeges_for_head;
	intcount_pages_book;
	vector<int>myVector;
	intcalculateCountPagesInBook(vector<int> V);
	staticintnumber_object;
	staticMyLog logger;
}; 
// BookCpp.cpp: определяет точку входа для консольного приложения.
//

#include"stdafx.h"
#include"main.h"
#include<iostream>
#include<cstdlib>
#include<time.h>
#include<stdio.h>
#include<vector>
#include<string>
#include<fstream>
#include<iomanip>
#include<cstdlib>
#include<assert.h>
#include<random>
#include<chrono>

usingnamespacestd;

intBook::number_object = 0;
BookBook::books[20];
Book::Book(inthead, vector<int>V) {
	number_object++; //Статический счётчик количества экземпляров
	number_book++; //Номерпопорядку
	name_book = get_title(); //Названиекниги
	count_head = head; //Количествоглав
	myVector = selectCountHead(head); //вектор
	count_pages_book = calculateCountPagesInBook(V); //Количествостраницвкниге
	//Logger::getLogger();

}
intBook::getIndex() {

	returnnumber_object;
}

voidBook::toStringg(intn) {
	cout<<"Номеркниги:         ";
	cout<< ++n<<endl;
	cout<<"Названиекниги:      " + name_book + ""<<endl;
	cout<<"Количествоглав:     ";
	cout<<count_head<<endl;
	cout<<"Количествостраниц:  ";
	cout<<count_pages_book<<endl<<endl;
}

Book::Book() {
	
}

Book::~Book() {
	number_object--;
}


stringBook::get_title() {
	usingnamespacestd::chrono;

	stringxstr = "";
	ifstreamxfile("myfile.txt", ios::binary);
	vector<string>tokens;
	
	//узнаем размер файла, и выделяем память в строке
	xfile.seekg(0, ios_base::end);

Последний раз редактировалось Аватар; 09.06.2015 в 18:21.
Alena95 вне форума Ответить с цитированием
Старый 09.06.2015, 18:19   #3
Alena95
Новичок
Джуниор
 
Регистрация: 09.06.2015
Сообщений: 4
По умолчанию

Код:
xstr.resize(xfile.tellg());
	xfile.seekg(0, ios_base::beg);

	//копируемданные
	xfile.read((char*)xstr.data(), xstr.size());
	string::size_typelastPos = xstr.find_first_not_of(" ", 0);
	string::size_typepos = xstr.find_first_of(" ", lastPos);
	while (string::npos != pos || string::npos != lastPos)
	{
		tokens.push_back(xstr.substr(lastPos, pos - lastPos));
		lastPos = xstr.find_first_not_of(" ", pos);
		pos = xstr.find_first_of(" ", lastPos);
	}
	xstr = "";
	random_devicerd;
	mt19937 gen(rd());
	uniform_int_distribution<int>dist(0, tokens.size() - 1);
	for (inti = 0; i< 3; i++)
	{
		intran_val = dist(gen);
		xstr += tokens[ran_val] + " ";
	}
	Book::logger.logging(number_object);
	
	returnxstr;
}


intBook::calculateCountPagesInBook(vector<int>V) {
	int result = 0;
	for (inti = 0; i<V.size(); i++)
		result += V[i];
	return result;
}

vector<int>Book::selectCountHead(intcount) {	
	for (inti = 0; i<myVector.size(); i++)
		myVector[i] = 50 + rand() % 51;
	returnmyVector;
}

vector<int>Book::getMyVector() {
	returnmyVector;
}

//выводвсегосписка
voidBook::showList() {
	for (inti = 0; i< 20; i++)
	{
		Book::books[i].toStringg(i);
	}
}

//выводнаэкранодногоэкземпляра
voidBook::showOneObject(intn) {
	Book::books[n-1].toStringg(n-1);
}

//Вывод на экран всех экземпляров с количеством страниц больше выбранного
voidBook::showList(intpages) {
	for (inti = 0; i< 20; i++)
	{
		if (Book::books[i].count_pages_book>pages) {
			books[i].toStringg(i);
		}
	}
}

int_tmain(intargc, _TCHAR* argv[])
{
	int n = 0;
	setlocale(LC_ALL, "rus");

	for (inti = 0; i< 20; i++)
	{
		random_devicerd;
		mt19937 gen(rd());
		uniform_int_distribution<int>dist(5, 10);
		int temp = dist(gen);
		std::vector<int>myV(temp);
		for (int j = 0; j < temp; j++)
		{
			/*random_devicerd;
			mt19937 gen(rd());*/
			uniform_int_distribution<int>dist(50, 100);
			intcount_pages = dist(gen);
			myV.push_back(count_pages);
		}
		Book *b = newBook(temp, myV);
		Book::books[i] = *b;
	}

	int op;
	//Программа
	for (;;)
	{
		n = 0;
		cout<<"1 - вывод на экран всего списка"<<endl;
		cout<<"2 - вывод на экран одного экземпляра"<<endl;
		cout<<"3 - вывод на экран всех экземпляров с указанием страниц"<<endl;
		cout<<"4 - выйти из программы"<<endl;

		cin>> op;
		switch (op)
		{
			//system("cls");
			case 1: {
				Book::showList();
			}; break;
			case 2: {
				if (n < 20 && n > -1) {
					cout<<"Введитеномерэкземпляра"<<endl;
					cin>> n;
				}
				else {
					cout<<"Вы ввели недопустимое значение"<<endl;
					continue;
				}
				Book::showOneObject(n);
			}; break;
			case 3: {
				if(n < 100 && n > -1) {
					cout<<"Введите количество страниц "<<endl;
					cin>> n;
				}
				else {
					cout<<"Вы ввели недопустимое значение"<<endl;
					continue;
				}
				Book::showList(n);

Последний раз редактировалось Аватар; 09.06.2015 в 18:22.
Alena95 вне форума Ответить с цитированием
Старый 09.06.2015, 18:19   #4
Alena95
Новичок
Джуниор
 
Регистрация: 09.06.2015
Сообщений: 4
По умолчанию

Код:
} ;break;
			case 4: return 0; break;
			default: cout<<"Повторите ввод операции"<<endl;
				break;
		}
		system("pause");
		system("cls");
	}

	system("pause");
	return 0;
}

//заголовочный файл класса логера

#pragmaonce
#include"stdafx.h"
#include<string>
#include<vector>
#include<iostream>

usingnamespacestd;
classMyLog
{
public:
	MyLog();
	virtual ~MyLog();
	staticvoid logging(int number);
	staticvoid logging(int number, stringinput_data, stringoutput_data);
	staticvoid logging(int number, stringinput_data, stringoutput_data, stringmethod_name);
	staticvoid logging(int number, stringinput_data, stringoutput_data, stringmethod_name, boolis_true);
};

// класс логер программы

#include"stdafx.h"
#include"MyLog.h"
#include<iostream>
#include<cstdlib>
#include<time.h>
#include<stdio.h>
#include<vector>
#include<string>
#include<fstream>
#include<iomanip>
#include<cstdlib>
#include<assert.h>
#include<time.h>

MyLog::MyLog()
{
}

MyLog::~MyLog()
{
}

voidMyLog::logging(intnumber) {
	string s = "";
	time_t some;
	structtm * timeinfo;
	time(&some);
	// timeinfo = localtime(&some);
	//	string my_time = asctime_s(timeinfo);
	ofstreammy_log_file("log.txt", ios::app);
	// s += "Времясобытия " + my_time + " ";
	string buffer;
	stringstr = "Номеробьекта";
	inti = number;
	buffer = to_string(i);
	str += i;
	my_log_file<<str;
}
voidMyLog::logging(intnumber, stringinput_data, stringoutput_data) {
	string s = "";
	MyLog::logging(number);
	ofstreammy_log_file("log.txt", ios::app);
	s += "Входные данные " + input_data + " ";
	s += "Выходные данные " + output_data + " ";
	my_log_file<< s;
}

voidMyLog::logging(intnumber, stringinput_data, stringoutput_data, stringmethod_name) {
	string s;
	MyLog::logging(number, input_data, output_data);
	ofstreammy_log_file("log.txt", ios::app);
	s += "Имяметода " + method_name;
	my_log_file<< s;
}
voidMyLog::logging(intnumber, stringinput_data, stringoutput_data, stringmethod_name, boolis_true) {
	string s = "";
	MyLog::logging(number, input_data, output_data, method_name);
	if (is_true)
	{
		s += "Успешноесобытие";
	}
	else
	{
		s += "Неуспешноесобытие";
	}
	ofstreammy_log_file("log.txt", ios::app);
	my_log_file<< s;
}


Помогииите

Последний раз редактировалось Аватар; 09.06.2015 в 18:22.
Alena95 вне форума Ответить с цитированием
Старый 09.06.2015, 18:30   #5
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Ни ничегож себе ... Это ж за какие такие плюшки возникнет желание разбираться в этой куче кода. К тому же у вас такого желания видимо также нету.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужен совет понимающих в проксях и т.д. КРИК ДУШИ Xiao9 Помощь студентам 7 06.06.2015 12:29
крик души!!! Кира Свободное общение 8 07.10.2011 16:15
Компас 3d v8 Крик души!!! rossijanin Свободное общение 7 25.05.2011 08:38
Крик души ! Qween Фриланс 17 21.08.2009 19:39