954,483 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

Just a question regarding Variables in C++

Is it possible to create a variable within a program (while its running).

The problem I am trying to Solve:

In school I created a cashmachine emulator. The thought then dawned on me, what If I wanted different user abilities within my cash machine program (Ie. only the manager would be able to define prices, and sales values).

Now I realize I could design the program with a set amount of users, but is there a way to input a new usewr (and variables containing the users data) while the program is running? (Ie. create an entirely new variable that was not defined or even used before.)

Stanislaw
Newbie Poster
15 posts since Jul 2005
Reputation Points: 11
Solved Threads: 0
 

Not sure what you're asking for, but it seems like you could simply ask for the values and then use an appropriate constructor to create an object that defines the user...

winbatch
Posting Pro in Training
466 posts since Feb 2005
Reputation Points: 68
Solved Threads: 18
 

>is there a way to input a new usewr while the program is running?
Yes, of course. Just maintain a list of valid users, and when adding a new user, append to the list. Unfortunately, without further detail about how you're going about things, I can't be more specific.

Narue
Bad Cop
Administrator
15,460 posts since Sep 2004
Reputation Points: 6,464
Solved Threads: 1,401
 
>is there a way to input a new usewr while the program is running? Yes, of course. Just maintain a list of valid users, and when adding a new user, append to the list. Unfortunately, without further detail about how you're going about things, I can't be more specific.


Here is some of the basic code:
/*
Name: Adam Adamowicz
Id #: 114861
Lab Section: G
Lab: 5, Program: 2.0
This program will demonstrate the basic programming needed for a fastfood resteraunt
computer program.
*/

#pragma hdrstop
#include
#include

//---------------------------------------------------------------------------
#pragma argsused
int main(int argc, char* argv[])
{
int drinkchoice;
char mealchoice;
float mealprice, mealgst, drinkprice, drinkgst, total;

printf ("McKrusty's Main Meals:\nA. Krusty Burger\nB. Krusty Fries\nC. Krusty Buns\nEnter your choice here: ");
scanf (" %c", &mealchoice);

printf ("\nMcKrusty's Drinks: \n1. Krusty Pop \n2. Krusty Juice \nEnter your choice here: ");
scanf (" %d", &drinkchoice);

switch(mealchoice)
{
case 'A': mealprice = 4.25;
break;
case 'B': mealprice = 1.75;
break;
case 'C': mealprice = 3.50;
break;
default : mealprice = 0.0;
break;
}

switch(drinkchoice)
{
case 1: drinkprice = 1.50;
break;
case 2: drinkprice = 2.25;
break;
default : drinkprice = 0.0;
break;
}

mealgst = ( mealprice * .07);
drinkgst = ( drinkprice * .07) ;
total = mealprice + drinkprice + drinkgst + mealgst ;

printf ("\nPrice of Krusty meal: \t$%5.2f\n", mealprice);
printf ("Krusty meal GST: \t$%5.2f\n", mealgst);
printf ("Price of Krusty drink: $%5.2f\n", drinkprice);
printf ("Krusty drink GST: \t$%5.2f\n", drinkgst);
printf ("\nTotal: \t\t\t$%5.2f\n", total);
printf ("\n\nPress \"Enter\" to quit.\n");

getchar ();
getchar ();
return 0;
}
And for the change calculator

/*
Name: Adam Adamowicz
Id #: 114861
Lab Section: G
Lab: 6, Program: 1.0
This program will emulate a vending machine.
*/
#pragma hdrstop
#include
#include
#include

//---------------------------------------------------------------------------
#pragma argsused
int main(int argc, char* argv[])
{ int choice;
float price, money;
printf ("Your choices are: \n 1. Chocolate Bar ($1.25)\n 2. Granola Bar ($1.50)\n 3. Crispy Square ($0.75)\nEnter your choice here: ");
scanf (" %d", &choice);
printf ("\n");

switch (choice)
{
case 1: price = 1.25; break;
case 2: price = 1.50; break;
case 3: price = 0.75; break;
default: price = 0.00; break;
}
while (price > 0)
{
printf ("Enter $%4.2f: ", price);
scanf (" %f", &money);
price -= money;
}

price = fabs(price);

printf ("\nYou get $%4.2f back in change.", price);

printf ("\n\nPress \"Enter\" to quit.");
getchar();
getchar();
return 0;
}

Stanislaw
Newbie Poster
15 posts since Jul 2005
Reputation Points: 11
Solved Threads: 0
 

So, what I have done, is combined the two programs, the choices of the first one with the change aspect of the second.

Now I have also included a switch statement for the users (admin manager or employee, default is exit. ) the switch is inside of a do while statement (if true program runs through again if false returns to switch. (it is unstructered progamming but I did use goto statements)

Now that is the very easy part, the problem is this, I realize that if I wanted to add more employees I could simply add another line to the switch, and anothert variable to the definition portion at the beggining of the program, but what I was wondering is if it is possible to create this new employee and create a new variable to store them in from with in the program (ie, the administrator section of the program)

Stanislaw
Newbie Poster
15 posts since Jul 2005
Reputation Points: 11
Solved Threads: 0
 

you can do it but with a different approch. you need to store your users' details(what they can do, and can't). then when you need to add another type of user, just append these new users' details to the file.

tonakai
Junior Poster
121 posts since Feb 2005
Reputation Points: 25
Solved Threads: 11
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You