天天看點

考試一,綜合練習,C語言,

main 部分

//

//  main.m

//  First test

//  Created by lanou3g on 15/6/26.

//  Copyright (c) 2015年 wangjiafu. All rights reserved.

#import <Foundation/Foundation.h>

#import "Teacher.h"

int main(int argc, const char * argv[]) {

    Teacher tea[] = {

        {"tb", 'm', 25, 7, 80.6},

        {"ta", 'w', 24, 6, 75.5},

        {"tc", 'm', 27, 9, 90.4},

        {"td", 'w', 26, 8, 69.3},

        {"te", 'm', 22, 5, 96.5}

    };

    int count = sizeof(tea)/sizeof(tea[0]);

    printf("輸入1:實作姓名升序排列\n");

    printf("輸入2:實作姓名降序排列\n");

    printf("輸入3:實作工作編号升序排列\n");

    printf("輸入4:實作工作編号降序排列\n");

    printf("輸入5:實作評分升序排列\n");

    printf("輸入6:實作評分降序排列\n");

    printf("輸入7:實作輸出所有女教師\n");

    printf("輸入1:實作所有男教師\n");

    printf("=========================\n");

    printf("請輸入對應功能的數字:");

    enum functionName c = 1;

    scanf("%d",&c);

    while (c < 1 || c > 8) {

        printf("請輸入有效數字");

        scanf("%d",&c);

    }

    switch (c) {

            case 1:

            softTeachers(tea, count, CompareName1);

            break;

            case 2:

            softTeachers(tea, count, CompareName2);

            case 3:

            softTeachers(tea, count, CompareNumber1);

            case 4:

            softTeachers(tea, count, CompareNumber2);

            case 5:

            softTeachers(tea, count, ComparScore1);

            case 6:

            softTeachers(tea, count, CompareScore2);

            case 7:

            printFemale(tea, count);

            case 8:

            printMale(tea, count);

        default:

    return 0;

}

.h 部分

typedef struct teacher{

    char name[20];

    char gender;

    int age;

    int number;

    float score;

}Teacher;

enum functionName{

    CompareNameByAscending = 1,

    CompareNameByDesscending,

    CompareNumberByAscending,

    CompareNumberByDescending,

    CompareScoreByScenging,

    CompareScoreByDescending,

    PrinterFemaleTeacher,

    PrinterMaleTeacher,

};

typedef BOOL (*compare)(Teacher teacher1, Teacher teacher2);

void softTeachers(Teacher teacher[],int count,compare cfp);

void printTeachers(Teacher *teacher,int count);

BOOL CompareName1(Teacher teacher1,Teacher teacher2);

BOOL CompareName2(Teacher teacher1,Teacher teacher2);

BOOL CompareNumber1(Teacher teacher1, Teacher teacher2);

BOOL CompareNumber2(Teacher teacher1, Teacher teacher2);

BOOL ComparScore1(Teacher teacher1, Teacher Teacher2);

BOOL CompareScore2(Teacher teacher1, Teacher teacher2);

void printMale(Teacher *teacher,int count);

void printFemale(Teacher *teacher, int count);

.m部分

繼續閱讀