服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - C语言实现考试报名管理系统

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

2022-12-15 12:12南栀城边 C/C++

这篇文章主要为大家详细介绍了C语言实现考试报名管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了C语言实现考试报名管理系统的具体代码,供大家参考,具体内容如下

源代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
#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
}

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

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

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

原文链接:https://blog.csdn.net/xyx_3/article/details/118120759

延伸 · 阅读

精彩推荐
  • C/C++OpenGL绘制Bezier曲线的方法

    OpenGL绘制Bezier曲线的方法

    这篇文章主要为大家详细介绍了OpenGL绘制Bezier曲线的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    process-z.com7892021-09-01
  • C/C++c++ String去除头尾空格的方法

    c++ String去除头尾空格的方法

    这篇文章主要介绍了c++ String去除头尾空格的方法,非常具有实用价值,需要的朋友可以参考下...

    C++教程网8292021-02-18
  • C/C++C++中rapidjson组装map和数组array的代码示例

    C++中rapidjson组装map和数组array的代码示例

    今天小编就为大家分享一篇关于C++中rapidjson组装map和数组array的代码示例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一...

    stpeace6282021-07-27
  • C/C++C++11 Unicode编码转换

    C++11 Unicode编码转换

    这篇文章主要介绍了C++11 Unicode编码转换的相关资料,帮助大家更好的理解和学习c++11,感兴趣的朋友可以了解下...

    Dabelv6522021-09-26
  • C/C++聊聊C++ 运算符重载知识

    聊聊C++ 运算符重载知识

    运算符重载是一种形式的C++多态,重载运算符可以使代码看起来更加自然,下面通过例子介绍下C++ 运算符重载知识,感兴趣的朋友一起看看吧...

    Sauron7i5442022-02-21
  • C/C++在matlab中实现for循环的方法

    在matlab中实现for循环的方法

    for循环用来循环处理数据,break用于终止离它最近的一层for循环,continue用于跳过离它最近的一层for循环,接着执行下一次循环,本文重点给大家介绍在ma...

    一千种风的味道8222022-03-07
  • C/C++C++实现俄罗斯方块源码

    C++实现俄罗斯方块源码

    这篇文章主要为大家详细介绍了C++实现俄罗斯方块源码完整版,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    C++教程网6242021-11-16
  • C/C++C++使用链表实现图书管理系统

    C++使用链表实现图书管理系统

    这篇文章主要介绍了C++使用链表实现图书管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    6842022-10-18