473,223 Members | 1,774 Online

Passing Variables between functions

I don't want to use global variables to do this, but I'm stumped on how
to pass a variable between one function to another, so if someone could
help out, that'd be appreciated. Here's an example of what I need to
accomplish:

(note: Don't worry about whether or not the functions work properly,
but if you want to comment, I won't stop you.)

void playGame ()
{
int sum; /* sum of rolled dice */
int myPoint; /* point earned */
int balance; /* user's current balance */
..
..
..
}
void getWager()
{
int wager;

printf("Enter wager: ");
scanf("%d", &wager);

while (wager > balance || wager <= 0)
{
printf("Enter a new wager: ");
scanf("%d", &wager);
}
}

Nov 15 '05 #1
3 14594

"tigrfire" <bb******@gmail.com> wrote > void playGame ()
{
int sum; /* sum of rolled dice */
int myPoint; /* point earned */
int balance; /* user's current balance */
.
.
.
}
void getWager()
{
int wager;

printf("Enter wager: ");
scanf("%d", &wager);

while (wager > balance || wager <= 0)
{
printf("Enter a new wager: ");
scanf("%d", &wager);
}
}

Two ways

1)

int getWager()
{
int wager;

/* code to print message etc */
scanf("%d", &wager);

return wager.
}

in the caller

theWager = getWager();

2)

/*
get the wager, return 0 on success, -1 on fail
*/
int getWager(int *wager)
{
int result;
/* code to print message goes here */

result = scanf("%d", wager);

/* scanf tells you how many fields were read successfully*/
if(result == 1)
return 0;
else
return -1;
}

/* in the caller */

int ok;
int wager;

ok = getWager(&wager);
if(ok == -1)
{
/* code to handle error goes here. User didn't enter a valid wager */
}
The second way is better, but the first will work.
Nov 15 '05 #2
On Sun, 06 Nov 2005 12:33:54 -0800, tigrfire wrote:
I don't want to use global variables to do this, but I'm stumped on how
to pass a variable between one function to another, so if someone could
help out, that'd be appreciated. Here's an example of what I need to
accomplish:

(note: Don't worry about whether or not the functions work properly,
but if you want to comment, I won't stop you.)

void playGame ()
{
int sum; /* sum of rolled dice */
int myPoint; /* point earned */
int balance; /* user's current balance */
getWager(balance);

You needn't call it with a variable named "balance" - any expression that
has int type or can implicitly be safely converted to int is fine.

This is pretty fundamental stuff and comp.lang.c isn't the best place to
learn it. A text-book or online course would be better.
.
.
.
}
void getWager()
void getWager(int balance)
{
int wager;

printf("Enter wager: ");
scanf("%d", &wager);

while (wager > balance || wager <= 0)
{
printf("Enter a new wager: ");
scanf("%d", &wager);
}
}

--
http://members.dodo.com.au/~netocrat
Nov 15 '05 #3
tigrfire wrote:
I don't want to use global variables to do this, but I'm stumped on how
to pass a variable between one function to another, so if someone could
help out, that'd be appreciated. Here's an example of what I need to
accomplish:

(note: Don't worry about whether or not the functions work properly,
but if you want to comment, I won't stop you.)

void playGame ()
{
int sum; /* sum of rolled dice */
int myPoint; /* point earned */
int balance; /* user's current balance */
.
.
.
}
void getWager()
{
int wager;

printf("Enter wager: ");
scanf("%d", &wager);

while (wager > balance || wager <= 0)
{
printf("Enter a new wager: ");
scanf("%d", &wager);
}
}

This is one of the first things you should have been taught when
learning C. Functions are usually taught in the third or fourth class.
You are therefore obviously not a C programmer. This is BASIC stuff.

A function is:

return_type function_name (parameter_type parameter, ...) {
function_body
}
Therefore passing a value into a function:

getWager(balance);

getting a value out of the function:

wager = getWager();

pass a value in and get a value out:

wager = getWager(balance);

Once you understand this, then you can start playing with pointers.

Nov 15 '05 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

 0 by: lawrence | last post by: Those of you with backgrounds with the C language will laugh at my mistake, but those of you, like myself, who deal mostly with PHP should be warned about passing variables as references -... 7 by: Matthew Robinson | last post by: i read a tutorial the other day on passing variables between php pages using a html form and setting the action to the php page to parse, can anybody see anything wrong with the code below? the... 2 by: Chieko Kuroda | last post by: Hello all, I would like to learn the syntax for passing variables that I retreived from a database to a second asp page. Currently, I'm using: Response.Write "