1.面对的需求:
编写程序,建立一个班级学生的通讯录系统,每条信息包括:学号、姓名、性别、电话号码、住址、生日(为包含年、月、日信息的结构体变量)。编写两个查找函数,分别根据学生的学号(整型,不重复)、姓名(可能有同名)查找并输出学生的全部信息。在main函数中验证。要求:班级人数、学生记录均由键盘输入。
2.问题的解决思路:
首先我们可以定义一个结构体数组来存储学生的基本信息:学号,姓名,年龄,性别,生日等信息。结构体的是可以嵌套定义的,但不允许递归定义。接着根据用户输入的班级人数,创建一个足够大的结构体数组来存储学生记录,再通过循环来讲每个学生的基本信息输入到结构体中,然后编写两个函数,一个根据学号查找,另一个根据姓名查找。这两个函数都需要通过循环来遍历整个学生数组,检查每个学生的学号或姓名是否匹配,最后在main函数中验证结果。值得注意的是,由于本题涉及的变量名较多,建议在定义变量的时候尽量做到见文知意。
3.功能模块详述:
(1)定义结构体类型:包含哪些成员:
准确的说,我们定义了两结构体 ,第一个结构体名为DATA 是存放学生出生年月日的数据,birth_year ;birth_month;birth_day;是我们定义的变量,在名为students的结构体内我们定义学生的学号student_ID;学生的姓名student_name[20]将其存入到数组中;学生的年龄student_age;学生的性别char gender[30];将其存入到数组中;学生的家庭住址char address[30];
最后我们把第一个结构体引用到第二个里面 struct DATE date;结构体的是可以嵌套定义的,但不允许递归定义。
(2)定义和输入:定义哪些变量,输入什么,
具体说明实现功能:实现什么功能,如何实现(这里我把两者结合了):<