Loading...
BalioFVFX avatar BalioFVFX 40 Точки

C++ Викане на функция в друг Header?

Здравейте, имам проблем с викането на променлива и слагането на стойност в друг Header файл. Това което се опитвам да направя е нещо като Cola Machine, просто търих и попаднах на Project Ideas и реших да се захвана..

 

Ето го кода:

Person.h:

 

#include <iostream>
#include <string>
#pragma once
using namespace std;

class Person
{
public:
	float balance;
	
	void printBalance();
	void setBalance();
};

 

Това което се опитвам да направя е, да извикам Balance и когато, if-овете проверяват дали има пари, да взимат или съответно да казва "Нямате пари"

 

ColaMachine.cpp : 

 

#include <iostream>
#include <string>
#include "ColaMachineStocks.h"
#include "Person.h"

using namespace std;

ColaMachineStocks Stocks;

Person personFunctions;



void setbalance()
{
	personFunctions.balance = 200;
}





void Person::printBalance()
{
	cout << personFunctions.balance <<endl;
}


void setbalance();

void ColaMachineStocks::buyCola()
	{
		if (personFunctions.balance >= 100)
		{
			cout <<"You sucessful purschased Cola!"<<endl;
		
			personFunctions.balance =-10;
		}
		
		else
		{
			cout << "You dont have enough money!"<<endl;
		}
	}

		void buySprite(float priceForSprite = 5)
	{
	
		personFunctions.balance =-5;

	}


	void buyWater(float priceForWater = 1)
	{
	
		personFunctions.balance =-1;

	}


	void buyFanta(float priceForFanta)
	{
	
		personFunctions.balance =-15;

	}



 

Тагове:
0
C++ Programming 13/08/2016 14:16:05
BalioFVFX avatar BalioFVFX 40 Точки

Здравейте, реших да се опитам да направя map, но ето го и новия проблем, когато потребителя реши да спре програмата, тя дава outuput, че е закупил "Coca Cola",както е направено, но не дава какво количество е закупено. 

Ето новостите по кода който пиша //Целия код може да го намерите в последното ми коментар на кода, понеже става много спам, ако реша да paste-вам всеки път 100 реда код.. 

 

map<string, int> userContainer;

int q = 0;


void printMap()
{
	for(auto it = userContainer.cbegin(); it != userContainer.cend(); ++it)
	{
		std::cout << it->first; q;
	}
}

Ето в main функцията при if-а за Coca Cola: 

 

if(userInput == 1)
	{
		aMachine.buyCola();
		aPerson.printBalance();
		userContainer.insert(pair<string,int>("Coca Cola - ",q++));	
	}

След while цикъла:
 

printMap();

Output-а на програмата е следния: Взимаш 10 коли, но показва само "Coca Cola" Press any key, вместо очакваното Coca Cola x10.

0
15/08/2016 22:07:58
BalioFVFX avatar BalioFVFX 40 Точки

Благодаря, утре ще погледна и ще ъпдейтна! Лека вечер! :)

0
BalioFVFX avatar BalioFVFX 40 Точки

Здравей, оправих се с това по следния начин:

 

void printMap()
{
	for(auto it = userContainer.cbegin(); it != userContainer.cend(); ++it)
	{
		std::cout << it->first;
		std::cout << it->second;
	}
}

Обаче сега имам друг проблем, искам при всяко изпълнение на if-а, мапа да слага +1 на Coca Cola, и така да стане Coca Cola x10 примерно..

Ето го if:

if(userInput == 1)
	{
		aMachine.buyCola();
		aPerson.printBalance();
		userContainer.insert(pair<string,int>("Coca Cola - ", 1));	
		}

 

0
BalioFVFX avatar BalioFVFX 40 Точки

Идеи? Остана ми само това и оптимизиране на кода, поне да е малко по-четливо.. 

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.