Jump to content

  • Log In with Google      Sign In   
  • Create Account

We're offering banner ads on our site from just $5!

1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


Don't forget to read Tuesday's email newsletter for your chance to win a free copy of Construct 2!


#Actualhaegarr

Posted 29 July 2013 - 01:10 AM

is there any simpler way of writing this code

Routines are used to write reusable code only once. E.g.

void
writeTextLine(char const* text, int length) {
    ... put the writing herein
}

(Using the routine is shown below in the next comment.)

 

 

is there some way I can use length for both char * c and char * x?

"length" is a variable can be overwritten:

int length;
char * c = "Hallo World!\n";
char * x = "\nI'm a C++ program";
length = 13;
writeTextLine( c, length );
length = 18;
writeTextLine( x, length );

However, with the routine at hand, using "length" in the main part is somewhat oversized, because the following solution would do the same thing:

char * c = "Hallo World!\n";
char * x = "\nI'm a C++ program";
writeTextLine( c, 13 );
writeTextLine( x, 18 );

Next, the size of the length of character arrays can be determined by using a pre-defined routine, namely "strlen". Using it would avoid the need of counting the character arrays' characters at all. This works, of course, only if you don't want to write just a part of a text line.

 

 

However, a problem with your code is the usage of character arrays instead of the string class. Although legal, it is an error-prone way of doing things.

 

 

P.S.: Please stop posting code snippets as screen shots. Post them as text surrounded by the "code" tags (see the button labeled "< >" in the tool bar of the editor panel). It makes reading easier and it makes copy-&-paste of snippets into answers possible.


#1haegarr

Posted 29 July 2013 - 01:08 AM


is there any simpler way of writing this code

Routines are used to write reusable code only once. E.g.

void
writeTextLine(char const* text, int length) {
    for( int i = 0; i < length; i++ ){
        cout << text[ i ];
        sleep( 150 );
    }
}

(Using the routine is shown below in the next comment.)

 


is there some way I can use length for both char * c and char * x?

"length" is a variable can be overwritten:

int length;
char * c = "Hallo World!\n";
char * x = "\nI'm a C++ program";
length = 13;
writeTextLine( c, length );
length = 18;
writeTextLine( x, length );

However, with the routine at hand, using "length" in the main part is somewhat oversized, because the following solution would do the same thing:

char * c = "Hallo World!\n";
char * x = "\nI'm a C++ program";
writeTextLine( c, 13 );
writeTextLine( x, 18 );

Next, the size of the length of character arrays can be determined by using a pre-defined routine, namely "strlen". Using it would avoid the need of counting the character arrays' characters at all. This works, of course, only if you don't want to write just a part of a text line.

 

 

However, a problem with your code is the usage of character arrays instead of the string class. Although legal, it is an error-prone way of doing things.

 

 

P.S.: I haven't compiled any of the code snippets above, so they may contain some errors.

 

P.S.S.: Please stop posting code snippets as screen shots. Post them as text surrounded by the "code" tags (see the button labeled "< >" in the tool bar of the editor panel). It makes reading easier and it makes copy-&-paste of snippets into answers possible.


PARTNERS