C++实验(二)

来源:互联网 发布:淘宝大表情 编辑:程序博客网 时间:2024/05/29 10:21

认真阅读下面的代码,并更改错误,得到合理的结果

// Debugging Problem#include <iostream>using std::cout;using std::cin;using std::endl;#include <cstring>void initialize( char [], int * );void input( const char [], int & );void print( const char *, const int );void growOlder( const char [], int * );bool comparePeople( const char *, const int *,                    const char *, const int * );void add(int &, int=5);int main(){   char name1[ 25 ];    char name2[ 25 ];   int age1;   int age2;   initialize( name1, &age1 );   initialize( name2, &age2 );   print( name1, *age1 );   print( name2, *age2 );   input( name1, age1 );   input( name2, age2 );   print( &name1, &age1Ptr );   print( &name2, &age1Ptr );   growOlder( name2, age2 );   if ( comparePeople( name1, &age1, name2, &age2 ) )      cout << "Both people have the same name and age"           << endl;   return 0;} // end main// function input definitionvoid input( const char name[], int &age ){   cout << "Enter a name: ";   cin >> name;   cout << "Enter an age: ";   cin >> age;   cout << endl;} // end function input// function initialize definitionvoid initialize( char name[], int *age ){   name = "";   age = 0;} // end function initialize// function print definitionvoid 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;} // end function print// function growOlder definitionvoid growOlder( const char name[], int *age ){   cout << name << " has grown one year older\n\n";   *age++;} // end function growOlder// function comparePeople definitionbool comparePeople( const char *name1, const int *age1,                    const char *name2, const int *age2 ){   return ( age1 == age2 && strcmp( name1, name2 ) );} // end function comparePeoplevoid add(int &a, int num=5){    a += num;}

q
&
a

以下为更改后代码(仅供参考):

// Debugging Problem#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 *, const int );void growOlder( const char [], int& );bool comparePeople( const char *, const int , const char *, const int  );void add(int &, int);int main(){    char name1[ 25 ];    char name2[ 25 ];    int age1;    int age2;    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 ) )        cout << "Both people have the same name and age" << endl;    return 0;} // end main// function input definitionvoid input( char name[], int &age ){    cout << "Enter a name: ";    cin >> name;    cout << "Enter an age: ";    cin >> age;    cout << endl;} // end function input// function initialize definitionvoid initialize( char name[], int *age ){    strcpy(name,"");    *age = 0;} // end function initialize// function print definitionvoid 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;} // end function print// function growOlder definitionvoid growOlder( const char name[], int& age ){    cout << name << " has grown one year older\n\n";    age++;} // end function growOlder// function comparePeople definitionbool comparePeople( const char *name1, const int age1, const char *name2, const int age2 ){    return ( age1 == age2 && !strcmp( name1, name2 ) );} // end function comparePeoplevoid add(int &a, int num=5){    a += num;}
(内容大多源自老师讲课)
0 0
原创粉丝点击