首頁 > 軟體

C語言實現考試報名管理系統

2022-06-02 14:00:03

本文範例為大家分享了C語言實現考試報名管理系統的具體程式碼,供大家參考,具體內容如下

原始碼:

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

typedef struct node {
    char name[40];
    char id[20];
    char gender[10];
    char age[10];
    char tele[20];
    struct node *pNext;
} NODE , *PNODE;

void InputElement(PNODE);
PNODE CreatList(void);
void FindList(PNODE);
void AmendList(PNODE);
void DeleteList(PNODE);
void InsertList(PNODE);

int main() {
    PNODE pHead = NULL;
    int opt;
    while(1) {
        system("cls");
        printf("-------考試報名管理系統-------n");
        printf("1.錄入考生資訊n");
        printf("2.查詢考生資訊n");
        printf("3.修改考生資訊n");
        printf("4.刪除考生資訊n");
        printf("5.插入考生資訊n");
        printf("0.退出系統n");
        printf("請輸入您的操作命令:");
        scanf("%d" , &opt);
        switch(opt) {
            case 1:
                pHead = CreatList();
                getchar();
                getchar();
                break;
            case 2:
                FindList(pHead);
                getchar();
                getchar();
                break;
            case 3:
                AmendList(pHead);
                getchar();
                getchar();
                break;
            case 4:
                DeleteList(pHead);
                getchar();
                getchar();
                break;
            case 5:
                InsertList(pHead);
                getchar();
                getchar();
                break;
            case 0:
                printf("n已退出系統!n");
                exit(0);
                getchar();
                getchar();
                break;
        } 
    }
    return 0;
}

void InputElement(PNODE p) {
    printf("姓名:");
    scanf("%s" , p->name);
    printf("身份證號:"); 
    scanf("%s" , p->id); 
    printf("性別:"); 
    scanf("%s" , p->gender);
    printf("年齡:"); 
    scanf("%s" , p->age);
    printf("電話號碼:"); 
    scanf("%s" , p->tele); 
}

PNODE CreatList(void) {
    int i , len;
    PNODE pHead = (PNODE)malloc(sizeof(NODE)); 
    PNODE pTail = pHead;
    pTail->pNext = NULL;
    printf("n請輸入報考學生的總人數:");
    scanf("%d" , &len); 
    for(i = 0; i < len ; i++) {    
        printf("請輸入第 %d 位考生的相關資訊n" , i + 1);
        PNODE p = (PNODE)malloc(sizeof(NODE));
        InputElement(p);
        pTail->pNext = p;
        p->pNext = NULL;
        pTail = p;
    } 
    return pHead;
}

void FindList(PNODE pHead) {
    char id[20];
    PNODE p = pHead;
    printf("n請輸入你要查詢的身份證號碼:");
    scanf("%s" , id);
    while(p != NULL) {
        if(strcmp(id , p->id) == 0) {
            printf("%s 的資訊如下:n" , p->name);
            printf("身份證號:%sn" , p->id);
            printf("性別:%sn" , p->gender);
            printf("年齡:%sn" , p->age);
            printf("電話號碼:%sn" , p->tele);
            return;
        }else if(p->pNext == NULL) {
            printf("未找到考生的相關資訊!n");
            return;
        } 
        p = p->pNext;
    }
    return;    
}

void AmendList(PNODE pHead) {
    char name[40];
    PNODE p = pHead;
    printf("n請輸入你要修改的考生姓名:");
    scanf("%s" , name);
    while(p != NULL) {
        if(strcmp(name , p->name) == 0) {
            printf("%s 的資訊如下:n" , p->name);
            printf("身份證號:%sn" , p->id);
            printf("性別:%sn" , p->gender);
            printf("年齡:%sn" , p->age);
            printf("電話號碼:%sn" , p->tele);
            printf("請輸入修改後的考生資訊:n");
            InputElement(p);
            printf("修改成功!n"); 
            return;
        }else if(p->pNext == NULL) {
            printf("未找到考生的相關資訊!n");
            return;
        } 
        p = p->pNext;
    }
    return;    
}

void DeleteList(PNODE pHead) {
    char name[40];
    PNODE p = pHead;
    PNODE q = p->pNext;
    printf("n請輸入要刪除的考生姓名:");
    scanf("%s" , name);
    while(strcmp(q->name , name) != 0) {
        p = q;
        q = p->pNext;
        if(q == NULL) {
            printf("未找到考生的相關資訊!n");
            return;
        }
    }
    p->pNext = q->pNext;
    free(q);
    q = NULL;
    printf("刪除成功!");
    return;
}

void InsertList(PNODE pHead) {
    PNODE p = (PNODE)malloc(sizeof(NODE));
    printf("n請輸入要插入的考生資訊n");
    InputElement(p);
    p->pNext = pHead->pNext;
    pHead->pNext = p;
    printf("插入成功!n");
    return; 
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。


IT145.com E-mail:sddin#qq.com