C語(yǔ)言簡(jiǎn)單實(shí)現(xiàn)門(mén)禁系統(tǒng)

小億
182
2023-12-19 02:24:08

以下是一個(gè)簡(jiǎn)單的C語(yǔ)言實(shí)現(xiàn)門(mén)禁系統(tǒng)的示例代碼:

#include <stdio.h>
#include <string.h>

#define MAX_STUDENTS 100

typedef struct {
    int id;
    char name[20];
    int accessGranted;
} Student;

int main() {
    Student students[MAX_STUDENTS];
    int numStudents = 0;
    
    // 添加學(xué)生信息到系統(tǒng)
    students[numStudents].id = 1001;
    strcpy(students[numStudents].name, "張三");
    students[numStudents].accessGranted = 1;
    numStudents++;
    
    students[numStudents].id = 1002;
    strcpy(students[numStudents].name, "李四");
    students[numStudents].accessGranted = 0;
    numStudents++;
    
    students[numStudents].id = 1003;
    strcpy(students[numStudents].name, "王五");
    students[numStudents].accessGranted = 1;
    numStudents++;
    
    // 輸入學(xué)生ID進(jìn)行驗(yàn)證
    int inputId;
    printf("請(qǐng)輸入學(xué)生ID:");
    scanf("%d", &inputId);
    
    int i;
    int accessGranted = 0;
    for(i = 0; i < numStudents; i++) {
        if(students[i].id == inputId) {
            accessGranted = students[i].accessGranted;
            break;
        }
    }
    
    // 輸出驗(yàn)證結(jié)果
    if(accessGranted) {
        printf("驗(yàn)證通過(guò),歡迎進(jìn)入!\n");
    } else {
        printf("驗(yàn)證失敗,禁止進(jìn)入!\n");
    }
    
    return 0;
}

這個(gè)簡(jiǎn)單的門(mén)禁系統(tǒng)使用了一個(gè)結(jié)構(gòu)體數(shù)組來(lái)存儲(chǔ)學(xué)生信息,每個(gè)學(xué)生包括ID、姓名和是否有權(quán)限進(jìn)入。在主函數(shù)中,首先添加了幾個(gè)學(xué)生信息到系統(tǒng)中。然后,用戶輸入學(xué)生ID進(jìn)行驗(yàn)證,程序會(huì)遍歷學(xué)生數(shù)組,在找到匹配的ID時(shí)判斷該學(xué)生是否有權(quán)限進(jìn)入。最后,輸出驗(yàn)證結(jié)果。

請(qǐng)注意,這個(gè)示例是一個(gè)非常簡(jiǎn)單的實(shí)現(xiàn),實(shí)際的門(mén)禁系統(tǒng)可能包括更多功能和復(fù)雜的邏輯。

0