一、项目需求:
1. 创建一对文件Teacher.h Teacher.m。
2. 在Teacher.h中,定义一个Teacher结构体,成员变量包括:姓名、性别、年龄、员工编号、评分。
3. 声明一个打印Teacher的函数,void printTeacher(Teacher* teacher)。
4. 定义一个函数指针类型,typedef BOOL(*CompareFunctionPointer)(Teacherteacher1, Teacher teacher2);
5. 声明一个老师数组排序的函数,void sortTeachers(Teacher teacher[ ] ,int count, CompareFunctionPointer cfp);
6. 声明一个打印数组中所有老师的函数,void printTeachers(Teacher * teachers, int count);
7. 分别声明两个比较Teacher姓名的函数:BOOL compareNameByAscending(Teacher teacher1 , Teacher teacher2);(升序方式)、BOOLcompareNameByDescending(Teacher teacher1, Teacher teacher2);(降序方式)。
8. 分别声明两个比较Teacher员工编号的函数:BOOL compareNumberByAscending(Teacher teacher1 , Teacher teacher2);(升序方式)、BOOLcompareNumberByDescending(Teacher teacher1, Teacher teacher2);(降序方式)
9. 分别声明两个比较Teacher员工评分的函数:BOOL compareScoreByAscending(Teacher teacher1 , Teacher teacher2);(升序方式)、BOOLcompareScoreByDescending(Teacher teacher1, Teacher teacher2);(降序方式)
10. 声明一个输出教师数组中全部男老师的函数,void printMaleTeacher(Teacher * teachers, int count);
11. 声明一个输出教师数组中全部女老师的函数,void printFemaleTeacher(Teacher * teacher, int count);
12. 声明一个枚举FunctionName,其中的每个枚举值于用户从控制台输入的功能数字一一对应。例如:当从控制台输入1时,此时实现按照姓名进行升序排列。
13. 要求在控制台中,有用户操作说明。如图:
14. 在Teacher.m中,实现上述的全部函数。
15. 在main.m文件中要求:
① 创建一个Teacher数组,利用上面的sortTeachers(Teacher teacher[ ] ,int count,CompareFunctionPointer cfp)函数,调用函数(使用switch…case,通过控制台输入的数字与枚举值匹配实现调用不同的函数)来分别实现按姓名、员工编号、评分排序,其中每种排序的升、降方式都要实现。比如:分别实现对年龄按照升序、降序排列。
② 输出教师数组中全部的男老师。
③ 输出教师数组中的所有女老师。
// ma