一個 C/C++ 的修改


在某論壇上看見了一篇關於 C/C++ 的問題,雖然本人對於這種語言沒玩得太多,不過也算有過修改某一有名的 C/C++ 寫的聊天室程式,所以也算是有點幫助吧,好了,不說太多,自己修改的代碼以下, 另一頁則是在網上找的另一方法 :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include <iostream>

using std::cout;
using std::cin;
using std::endl;

#include <cstring>

void initialize( char [], int * );
void input( char [], int & );
void print( const char name[], const int age );
void growOlder( char [], int * );
bool comparePeople( char *, int *, char *, int * );

int main()
{
char name1[25] = "";
char name2[25] = "";
int age1 = 0, age2 = 0;

initialize(name1, &age1);
initialize(name2, &age2);

print(name1, age1);
print(name2, age2);

input(name1, age1);
input(name2, age2);

print(name1, age1);
print(name2, age2);

growOlder( name2, &age2 );

if ( comparePeople( name1, &age1, name2, &age2 ) == true )
cout << "Both people have the same name and age" << endl;

return 0;
}

void input( char name[], int &age )
{
cout << "Enter a name: ";
cin >> name;

cout << "Enter an age: ";
cin >> age;
cout << endl;
}

void initialize( char name[], int *age )
{
name = "";
age = 0;
}

void print( const char name[], const int age )
{
cout << "The value stored in variable name is: ";
cout << name << endl;
cout << "The value stored in variable age is: ";
cout << age << endl << endl;
}

void growOlder( char name[], int * age )
{
cout << name << " has grown one year older\n\n";
*age++;
}

bool comparePeople( char * name1, int * age1,
char * name2, int * age2 )
{
return age1 == age2;
return strcmp( name1, name2 );
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <iostream>

using std::cout;
using std::cin;
using std::endl;

#include <cstring>

void input( char name[], int &age ) {
cout << "Enter a name: ";
cin >> name;

cout << "Enter an age: ";
cin >> age;
cout << endl;
}

void initialize( char name[], int *age ) {
name = "";
age = 0;
}

void print( const char name[], const int age ) {
cout << "The value stored in variable name is: "
<< name << endl
<< "The value stored in variable age is: "
<< age << endl << endl;
}

void growOlder( const char name[], int *age ) {
cout << name << " has grown one year older\n\n";
*age++;
}

bool comparePeople( const char *name1, const int *age1,
const char *name2, const int *age2 ) {
return ( age1 == age2 && strcmp( name1, name2 ) );
}

int main() {
char name1[ 25 ] = {0};
char name2[ 25 ] = {0};
int age1 = 0;
int age2 = 0;

initialize( name1, &age1 );
initialize( name2, &age2 );

print( name1, age1 );
print( name2, age2 );

input( name1, age1 );
input( name2, age2 );

print( name1, age1);
print( name2, age1 );

growOlder( name2, &age2 );

if ( comparePeople( name1, &age1, name2, &age2 ) )
cout << "Both people have the same name and age"
<< endl;
return 0;
}