结构体的两个案例
#include <iostream>
#include <string>
using namespace std;
struct Student{
std:: string sName;
int score;
} ;
struct Teacher{
std:: string tName;
Student StuArray[ 5 ] ;
} ;
void allocateSpace ( Teacher tArray[ ] , int len)
{
std:: string nameSeed = "ABCDE" ;
for ( int i= 0 ; i< len; i++ )
{
tArray[ i] . tName = "Teacher_" ;
tArray[ i] . tName + = nameSeed[ i] ;
for ( int j= 0 ; j< 5 ; j++ )
{
tArray[ i] . StuArray[ j] . sName = "Student_" ;
tArray[ i] . StuArray[ j] . sName + = nameSeed[ j] ;
tArray[ i] . StuArray[ j] . score = rand ( ) & 60 + 40 ;
}
}
}
void printInfo ( Teacher tArray[ ] , int len)
{
for ( int i= 0 ; i< len; i++ )
{
std:: cout << "Teacher name: " << tArray[ i] . tName << std:: endl;
for ( int j= 0 ; j< 5 ; j++ )
{
std:: cout << "Student name: " << tArray[ i] . StuArray[ j] . sName
<< " score : " << tArray[ i] . StuArray[ j] . score << std:: endl;
}
}
}
int main ( )
{
Teacher tArray[ 3 ] ;
int len = sizeof ( tArray) / sizeof ( tArray[ 0 ] ) ;
allocateSpace ( tArray, len) ;
printInfo ( tArray, len) ;
return 0 ;
}
#include <iostream>
#include <string>
using namespace std;
struct Hero
{
std:: string name;
int age;
std:: string sex;
} ;
void bubbleSort ( Hero heroArray[ ] , int len)
{
for ( int i= 0 ; i< len- 1 ; i++ )
{
for ( int j= 0 ; j< len- i- 1 ; j++ )
{
if ( heroArray[ j] . age > heroArray[ j+ 1 ] . age)
{
Hero temp = heroArray[ j] ;
heroArray[ j] = heroArray[ j+ 1 ] ;
heroArray[ j+ 1 ] = temp;
}
}
}
}
void printHero ( Hero heroArray[ ] , int len)
{
for ( int i= 0 ; i< len; i++ )
{
std:: cout << "name: " << heroArray[ i] . name
<< " age: " << heroArray[ i] . age
<< " sex: " << heroArray[ i] . sex
<< std:: endl;
}
}
int main ( )
{
Hero heroArray[ 5 ] =
{
{ "刘备" , 23 , "男" } ,
{ "关羽" , 22 , "男" } ,
{ "张飞" , 21 , "男" } ,
{ "赵云" , 20 , "男" } ,
{ "貂蝉" , 19 , "女" } ,
} ;
int len = sizeof ( heroArray) / sizeof ( heroArray[ 0 ] ) ;
for ( int i= 0 ; i< len; i++ )
{
std:: cout << "name: " << heroArray[ i] . name
<< " age: " << heroArray[ i] . age
<< " sex: " << heroArray[ i] . sex
<< std:: endl;
}
bubbleSort ( heroArray, len) ;
printHero ( heroArray, len) ;
return 0 ;
void printfMessage1 ( Student stu)
{
std:: cout << stu. age << std:: endl;
}
void printfMessage2 ( Student * p_stu)
{
p_stu- > age = 1002 ;
std:: cout << p_stu- > age << std:: endl;
}
void printMessage3 ( const Student * s)
{
std:: cout << s- > age << std:: endl;
}
int main ( )
{
Student s = { "学长" , 100 , 100 } ;
printfMessage1 ( s) ;
printfMessage2 ( & s) ;
Student st2 = { "zha" , 200 , 200 } ;
printMessage3 ( st2) ;
return 0 ;
}