C语言实现考试报名管理系统

2022-11-13 09:11:23 语言 管理系统 考试报名

本文实例为大家分享了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("身份证号:%s\n" , p->id);
            printf("性别:%s\n" , p->gender);
            printf("年龄:%s\n" , p->age);
            printf("电话号码:%s\n" , 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("身份证号:%s\n" , p->id);
            printf("性别:%s\n" , p->gender);
            printf("年龄:%s\n" , p->age);
            printf("电话号码:%s\n" , 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; 
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

相关文章