学生信息管理(图+代码;功能:新建,增加,删除,去重、显示、循环)

本文是关于学生信息 新建、增加、删除、显示、循环 的小程序

1、按照需求量,通过动态申请的方式,新建学生节点,录入信息,再次新建时,则舍弃之前的链表

2、按照需求量,通过动态申请的方式,新增学生节点,录入信息(先有链表,再增加,没有则新建 1)

3、删除学生信息(可删除重复信息),并输出 删除数量 及删除 学号对应的学生全部信息(按学号)

4、输出新增学生信息

5、输出全部学生信息

6、去除重复学生信息(按学号)

7、输出信息时,带有序号,可以产看新增了几条信息,也可以查看全部信息数量

8、循环运行

9、自主选择退出

10、提示 错误输入 或 修正

截图展示:

首次进入需要先创建学生链表,输入非 1 ,自动修正为 1,输入 0 可以直接退出。

1、创建新的学生链表

再次选择 1 时,放弃之前的链表 重新创建

2、在原有的链表中增加学生信息(尾部增加)

4、显示新增的学生信息

5、显示当前全部学生信息

3、删除学生信息(重复信息一并删除),显示删除数量及学生详细信息(按学号查找、删除)

     删除后查看对比

多增加一些信息看看,(数量不受限制)

查看一下(带序号输出,总数一目了然)

6、去除重复信息

     去重 和 删除 功能 相似,双重循环遍历链表,查找外循环对应的对象,内循环开始节点起始于外循环的下一节点, 查找到删除即可;(最后的节点处理要注意,否则会内存报错)

在此基础上,还可以增加比如 按姓名、身份证、手机号等查找的功能

    按其他信息查找 和 现在的按学号查找 功能相同 查找的对象(结构体 成员不同而已),有需要的自己添加吧;

代码如下:

#include "stdio.h"
#include "stdlib.h"
int count=0;
/*出生日期结构体*/
struct birthday
{
	int year;
	int month;
	int data;
};
/*学生信息结构体*/ 
struct student //定义结构体 
{
	double num;			//学号 
	char name[20];		//姓名 
	char sexy[4];		//性别 
	struct birthday bir;//出生日期 
	char id_num[20];	//身份证 
	char phone[12];		//电话 
	char add[40];		//地址 
	struct student *next; //结构体指针  
} ; 
/*函数声明*/
void add_creact_s(struct student *head);//增加链表 
void del_creact_s(struct student *head,struct student *last);//删除链表 
void Duplicate_removal_s(struct student *head,struct student *last); //去重 
void input_s(struct student *head,struct student *last,struct student *pin);//输入信息 
void p_list();//表格标题 
void aoutput_s(struct student *head,struct student *last,struct student *pout);//输出信息 
/*循环函数起点*/ 
int mean(struct student *head,struct student *last)
{
	printf("【0】退出\n【1】创建新表\n【2】增加学生信息\n【3】删除学生信息\n");
	printf(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值