• Create Account

### #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