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

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

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.07.2015, 08:56   #1
dtn1
Новичок
Джуниор
 
Регистрация: 31.07.2015
Сообщений: 0
По умолчанию нужна помощь в лабе С++

Здравствуйте,

Что мог, сделал сам, но тема ввода выода информации в файл не пошла, поэтому обращаюсь к форумчанам.

Суть вопроса:

есть класс товары и класс магазин. Также написаны методы покупки товара и продажи товара, реализован класс текущего времени.

Нужно дописать два метода. Первый (как вариант вставить код в методов покупки и продажи) записывает информацию в текстовый файл сколько и какого товара было куплено с указанием времени.

Второй метод считывает текстовый файл, в котором записаны все операции покупки и продажи.

Методы должны быть написаны максимально простым кодом, который легко объяснить. Не нужно строить заумные конструкции.

Готовый код добавляю ниже. Готов заплатить за помощь 300р. Если мало, пишите, обсудим.


// header
___________________________________ _______________________
#include <iostream>
using namespace std;
#include <fstream>
# include <Windows.h>

class Date

{
private:

int minute;
int hour;

public:
Date getDate();
};

class Goods

{

private:

int milk;
int water;
int juice;

public:

int getMilk();
int getWater();
int getJuice();
void setMilk(int);
void setA95(int);
void setA98(int);
// Goods();
Goods(int milk, int water, int juice);
Goods operator+(const Goods& rv);
Goods operator-(const Goods& rv);

friend ostream& operator<<(ostream& os, Goods pt);
friend istream& operator>>(istream& is, Goods pt);

};

ostream& operator<<(ostream& os, Goods pt);
istream& operator>>(istream& is, Goods pt);

class Shop

{

private:

Goods goods;
Date d1;

public:

Goods();

Goods getGoods();
Goods sell(Goods);
Goods buy(Goods);
void summary();

};

Код:
Date Date::getDate(){

SYSTEMTIME st;
GetLocalTime(&st);

Date d;
d.minute = st.wMinute;
d.hour = st.wHour;

printf("The system time is: %02d:%02d\n", st.wHour, st.wMinute);

return d;

}

int Goods::getMilk(){
return milk;
}

int Goods::getWater(){
return water;
}

int Goods::getJuice(){
return juice;
}

void Goods::setMilk(int Milkt){
milk = this->milk;
}

void Goods::setWater(int Watert){
water = this->water;
}

void Goods::setJuice(int Juicet){
juice = this->juice;
}

Shop::Shop(){}

Shop::getGoods(){

return goods;

}


ostream& operator<<(ostream& os, Goods pt)
	{
			
		os << pt.getMilk();
		os << pt.getWater();
		os << pt.getJuice();
				
		return os;
	}


	istream& operator>>(istream& is, Goods pt)
	{

		is >> pt.Milk;
		is >> pt.Water;
		is >> pt.Juice;

		return is;
	}




Shop::buy(Goods pt) {

Date d;
goods =goods + pt;
d1 = d.getDate();

return goods;

}

Shop::sell(Goods pt){

Date d;

goods = goods - pt;
d1 = d.getDate();

return goods;

}

___________________________________ ________________
// main
Код:
#include <iostream>
using namespace std;
#include <fstream>
#include "Header.h"
# include <Windows.h>

void main () {

}
буду очень благодарен.

Последний раз редактировалось Stilet; 01.08.2015 в 10:52.
dtn1 вне форума Ответить с цитированием
Старый 31.07.2015, 20:28   #2
Krasiosoft
Форумчанин
 
Аватар для Krasiosoft
 
Регистрация: 01.06.2015
Сообщений: 497
По умолчанию

Код:
#include <iostream>
#include <fstream>
#include <ctime>

using namespace std;

#define FileName "file.txt"

#pragma pack(1)
struct Record{
    tm buyTime;
    int index;
    int count;
};
#pragma pack()

void appendToFile(int index, int count){

    ofstream f(FileName, ios::binary | ios::app);
    if(!f.is_open()){
        cout << "Cannot open file: " << FileName << endl;
        return;
    }

    Record tempRec;

    // data time
    time_t t;
    t=time(0);
    tempRec.buyTime = *(localtime( &t ));
    // index
    tempRec.index = index;
    // count
    tempRec.count = count;

    f.write((char*)&tempRec,sizeof(Record));
    f.close();

    cout << "Successfully appended" << endl;
}

void showRecordsFromFile(){

    ifstream f(FileName, ios::binary | ios::ate);
    if(!f.is_open()){
        cout << "Cannot open file: " << FileName << endl;
        return;
    }
    if(!f.tellg()){
        f.close();
        cout << "File is empty: " << FileName << endl;
        return;
    }
    f.seekg(0);

    Record tempRec;
    while( f.read((char*)&tempRec,sizeof(Record)) ){
        char timeStr[100];
        strftime(timeStr,100,"%d.%m.%Y %H:%M:%S",&tempRec.buyTime);
        cout << timeStr << " index: " << tempRec.index << " count: " << tempRec.count << endl;
    }
    f.close();
}



int main(){
    appendToFile(1,5);
    appendToFile(2,4);
    appendToFile(3,3);
    appendToFile(4,2);
    appendToFile(5,1);

    showRecordsFromFile();

    return 0;
}
appendToFile - добавляет структуру с информацией о покупке товара в файл.

showRecordsFromFile - выводит весь список покупок, который сохранен в файле.
Если помог, буду очень благодарен за Ваш отзыв (весы в левой нижней части сообщения).
Krasiosoft вне форума Ответить с цитированием
Старый 01.08.2015, 14:28   #3
dtn1
Новичок
Джуниор
 
Регистрация: 31.07.2015
Сообщений: 0
По умолчанию

спасибо, потестирую и отблагодарю )
напишите кошелек в личку )
dtn1 вне форума Ответить с цитированием
Старый 02.08.2015, 15:38   #4
Krasiosoft
Форумчанин
 
Аватар для Krasiosoft
 
Регистрация: 01.06.2015
Сообщений: 497
По умолчанию

Да не нужно. Главное, чтоб у Вас код работал.
Если помог, буду очень благодарен за Ваш отзыв (весы в левой нижней части сообщения).
Krasiosoft вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вопросик по лабе NewLamer&Programer Общие вопросы C/C++ 6 14.10.2013 09:47
Очень нужна помощь c матрицами, макросами в Excel. Заранее благодарен(поверьте, очень-очень нужна помощь) Farridjan Помощь студентам 1 03.07.2009 12:24
Очень нужна помощь с написанием программы... срочно(буду благодарен за помощь) 5Paladin5 Помощь студентам 3 02.07.2009 09:12