C语言课程设计——考试报名管理系统

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; 
}

在这里插入图片描述

在这里插入图片描述

  • 13
    点赞
  • 112
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值