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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.09.2010, 17:48   #1
Alena-b-v
Пользователь
 
Регистрация: 28.05.2010
Сообщений: 10
По умолчанию Передача данных между класами

Пишу програмку для покера. Вот ее часть:
Код:
#include <iostream>
#include <fstream>
#include <time.h>
#include <stdio.h>
using namespace std;
class Money
{
	int money, money_prize;;
public:
	Money()
	{
		money=0;
		money_prize=0;
	}
	void Initial( int m)
	{
		money=m;
	}
	int getMoney()
	{
		return money;
	}
	int getMoney_prize()
	{
		return money_prize;
	}

	void My_first_money()
	{
		money=25;
		cout<<"\n\n\t\t\t\tДобро пожаловать в игру. \n\tЗа регистрацию в системе на ваш баланс была положена сумма в 25$\n";
	}
	void Money_in_game(int money,int money_prize)
	{

		money=money+money_prize;
		cout<<"\n\t\t\t\tНа вашем счету "<<money<<"$\n";
	}
};
class Hello
{
	FILE *file;
	char* file_name;
public:
	int *money_case;
	void Hello_user()
	{
		//----------приветствие------------
		file_name="C:\\Pocer\\picture.txt";
		int NotUsed=system("color 17");
		char load_string[50]=" " ;
		file = fopen( file_name, "r" );
		if( file != 0 )
		{
			while(!feof(file))
			{
				fgets( load_string, 50 , file ); 
				cout  << load_string;
			}
		}
		else
		{
			cout << "File not found" << endl;
		}
		cout<<"\n\n\n";
		fclose(file);
		//----------считывание данных о пользователе-------
		ifstream file2("C:\\Pocer\\player.txt");
		char name[15];
		int money;
		char name_controll[15];
		int chek=0;
		int i=0;
		cout<<"\t \t\t      Введите имя пользователя\n\n\t\t\t\t\t";
		cin>>name_controll;
		system("cls");
		while(true)
		{
			file2>>name>>money;
			i++;
			if (!file2.eof())
			{
				if (!strcmp(name_controll,name))
				{
					chek++;
					break;
				}
			}

			else
				break;
		}
		fclose(file);
		if(chek==0)
		{
			ofstream save("C:\\Pocer\\player.txt",ios::app);
			money=25;
			save<<name_controll<<" "<<money<<"\n";
			save.close();
			Money m;
			m.My_first_money();
		}
		else
		{
			cout<<"\n\n\t\t\t\tЗдраствуйте "<<name_controll<<"\n";
			Money m;
			money_case=&money;
			m.Money_in_game(*money_case,0);

		}

	}
};


class Prize
{

	int money_prise[8];
public:
	void Get_a_prize()
	{

		money_prise[1]=10;
		for (int i=7; i>=0;i--)
		{
			
				cout<<money_prise[1]<<"\n";
				Hello m;
				int  l=*m.money_case;
				Money my;
				my.Money_in_game(l,money_prise[i]);
		}


	}
};

void main()
{
	setlocale(LC_ALL,"rus");
	char chois;
	Hello hy;
	hy.Hello_user();
	Prize p;
	p.Get_a_prize();
}
Результатом программы должно быть 110, а выводит 10
Подозреваю что проблема в этой части кода
Код:
my.Money_in_game(l,money_prise[i]);
Подскажите, пожалуйста, как правильно это записать
Alena-b-v вне форума Ответить с цитированием
Старый 01.09.2010, 18:23   #2
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

А чегой у money_prise всегда индекс один и тот же?
Carbon вне форума Ответить с цитированием
Старый 01.09.2010, 18:27   #3
Alena-b-v
Пользователь
 
Регистрация: 28.05.2010
Сообщений: 10
По умолчанию

Индексы меняются зависимости от выигрыша. Там просто очень большой код и я его укоротила(сильно укоротила!)

Главный вопрос состоит в том, как добавить до уже существующих в классе Money денег выигрыш
Alena-b-v вне форума Ответить с цитированием
Старый 01.09.2010, 18:32   #4
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

Ещё тот money_case = &money после завершения Hello_user() будет указывать на мусор, который потом используется.
Carbon вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача данных между формами katbka Общие вопросы C/C++ 1 16.05.2010 20:45
Связь компьютеров, передача данных между ними sande Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 21.01.2009 23:43
Передача данных между страницами IQ-40 Безопасность, Шифрование 0 28.01.2008 11:32
передача данных между процедурами Неясыть Общие вопросы Delphi 15 18.11.2007 12:54
Передача данных между окнами/приложениями? Dexer Win Api 11 23.05.2007 16:23