學生管理系統----用c語言在Xcode裏編寫 學生管理系統

mian函數裏

#import <Foundation/Foundation.h>
#import "func.h"
int main(int argc, const char * argv[]) {
  //最多存2000名學生信息
    Student stu[2000] = {0};
    int choose = 0;
    //cont 用於計數,記當前有多少位學生信息
    int cont = 0;
    //sys 控制系統運行
    int sys = 1;
    while (sys) {
        printf("*****************************\n1  添加學生\n2  查找學生(打印對應學生信息)\n3  修改學生信息\n4  刪除學生信息\n5  打印成績單(所有學生信息)\n6  退出系統\n*****************************\n\n\n");
        printf("選擇你所需的功能:");
    //選擇功能參數
        scanf("%d",&choose);
        switch (choose) {
                //1, 添加學生
            case 1:
                 cont = Addstudent(stu , cont);
                printf("\n\n");
                break;

                //2, 查找學生(打印對應學生信息)
            case 2:
                FindStudent(stu ,cont);
                printf("\n\n");
                break;

                //3, 修改學生信息
            case 3:
                AlterStudent(stu, cont);
                printf("\n\n");
                break;

                //4, 刪除學生信息
            case 4:
                DelStudent(stu, cont);
                printf("\n\n");
                break;

                //5, 打印成績單(所有學生信息)
            case 5:
                PrintScore(stu, cont);
                printf("\n\n");
                break;

                //6, 退出系統
            case 6:
                sys = 0;
                break;

        }

    }
    printf("\n\n已退出系統!!");

    return 0;
}


Func.h文件裏
#import <Foundation/Foundation.h>

typedef struct subject{
    int  chinese;
    int math;
    int credit;
}subject;

typedef struct student{
    int num;
    char name[20];
    int age;
    char  sex[5];
    subject sub;
}Student;
//添加學生信息
int Addstudent(Student stu[], int cont);

//查找學生信息
void FindStudent(Student stu[], int cont);

//修改學生信息
void AlterStudent(Student stu[], int cont);

//刪除學生信息
void DelStudent(Student stu[], int cont);

//打印成績單
void PrintScore(Student stu[], int cont);



Func.m裏

#import "func.h"
//1, 添加學生
int Addstudent(Student stu[] , int cont){
    int n = 0;
    printf("\n\n\n需要添加多少名學生信息:");
    scanf("%d", &n);
    for (int i = cont; i < n + cont; i++) {
        printf("輸入學生信息:學號 姓名 年齡 性別 成績(語文 數學 總學分\n");
        //當前面有空位時將信息插入
        if (0 == stu[i].num) {
            printf("輸入第 %d 位學生信息\n", i);
            printf("學號:");
            scanf("%d", &stu[i].num);
            printf("姓名:");
            scanf("%s", stu[i].name);
            getchar();
            printf("年齡:");
            scanf("%d", &stu[i].age);
            printf("性別:");
            scanf("%s", stu[i].sex);
            getchar();
            printf("語文成績:");
            scanf("%d", &stu[i].sub.chinese);
            printf("數學成績:");
            scanf("%d", &stu[i].sub.math);
            printf("總學分:");
            scanf("%d", &stu[i].sub.credit);
        }
    }
    return cont += n;
}
//2, 查找學生(打印對應學生信息)
void FindStudent(Student stu[], int cont){
    int fcont = 0;
    int flat = 0;
    printf("輸入學號:");
    scanf("%d",&fcont);
    for (int i = 0; i < cont; i++) {
        if (fcont == stu[i].num) {
          printf("%d  %s  %d  %s %d  %d  %d \n\n\n", stu[i].num, stu[i].name, stu[i].age, stu[i].sex, stu[i].sub.chinese, stu[i].sub.math,stu[i].sub.credit);
            flat++;
        }
    }
    if (0 == flat) {
        printf("\n\n\n對不起,沒找到您所要的信息 \n\n\n");
    }
}

//3, 修改學生信息
void AlterStudent(Student stu[], int cont){
    //temp 存所要修改的學號
    int temp;
    printf("輸入學號: ");
    scanf("%d", &temp);
    for (int i = 0; i < cont; i++) {
        if (temp == stu[i].num) {
            printf("%d  %s  %d  %s %d  %d  %d \n", stu[i].num, stu[i].name, stu[i].age, stu[i].sex, stu[i].sub.chinese, stu[i].sub.math,stu[i].sub.credit);
            printf("輸入修改的學生信息\n");
            printf("學號:");
            scanf("%d", &stu[i].num);
            printf("姓名:");
            scanf("%s", stu[i].name);
            getchar();
            printf("年齡:");
            scanf("%d", &stu[i].age);
            printf("性別:");
            scanf("%s", stu[i].sex);
            getchar();
            printf("語文成績:");
            scanf("%d", &stu[i].sub.chinese);
            printf("數學成績:");
            scanf("%d", &stu[i].sub.math);
            printf("總學分:");
            scanf("%d", &stu[i].sub.credit);
            break;
        }
    }
}

//4, 刪除學生信息
void DelStudent(Student stu[], int cont){
    //存要刪除的學號
    int temp = 0;
    //存是否確認刪除
    char YesNo = '0';
    int flat = 0;
    printf("輸入要刪除學生的學號:");
    scanf("%d", &temp);
    getchar();
    for (int i = 0; i < cont; i++) {
        if (temp == stu[i].num) {
            printf("%d  %s  %d  %s %d  %d  %d \n", stu[i].num, stu[i].name, stu[i].age, stu[i].sex, stu[i].sub.chinese, stu[i].sub.math,stu[i].sub.credit);
            printf("確定要刪除嗎? (y / n)    :");
            scanf("%c", &YesNo);
            if (YesNo == 'y') {
                //kk是一個空的結構體類型變量  用於清楚要刪除的學生信息
                Student kk = {0};
                stu[i] = kk;
                printf(" \n刪除成功!!");
                flat++;
            }
        }
    }
    if (0 == flat) {
        printf("\n對不起,沒有找到該學生");
    }
}


//5, 打印成績單(所有學生信息)
void PrintScore(Student stu[], int cont){
    for (int i = 0; i < cont; i++) {
        if (0 == cont ) {
            printf("無學生信息!!");
        }else if (stu[i].num != 0) {
            printf("%d  %s  %d  %s %d  %d  %d \n", stu[i].num, stu[i].name, stu[i].age, stu[i].sex, stu[i].sub.chinese, stu[i].sub.math,stu[i].sub.credit);
        }
    }

}
發佈了47 篇原創文章 · 獲贊 18 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章