资源简介
【附源代码】
现在最低分只能设置2分,想0分分享给大家的,官方取消了0分分享,连1分都没有了,很无奈!!!!
很简单的链表了,包含有新建学生信息、查看学生信息、删除、修改、清空等功能。
说实话,不值2分。代码也分享在我博客上面了,可以直接查看:
http://blog.csdn.net/wu9797/article/details/77606258
代码片段和文件信息
/*====学生信息管理系统--基于单向链表结构============*/
/*
*版本1.3-20170826:========单链表========
*在上一个版本基础上,增加了查找、修改、清空、删除功能
*发现的未解决的小BUG:
*/
#include
#include
#include
#include
//0.设计节点
typedef struct student
{
char id[20]; //学号
char name[20]; //姓名
int age; //年龄
char nu[13]; //电话
float score; //成绩
struct student *next; //指针
}list_stu *ptr_stu;
//函数的声明
ptr_stu init_list(void); //初始化
ptr_stu creat_node(void); //创建节点
void interface(void); //主界面
void insert_node(ptr_stu head ptr_stu new); //插入新结点
void display_node(ptr_stu head); //显示链表
void choice(ptr_stu head); //选择相应的功能
void delete_node(ptr_stu head char id_input[]); //删除节点
void modify_node(ptr_stu head char id_input[]); //更改信息
bool is_empty(ptr_stu head); //判断空表
void clear_list(ptr_stu head); //清空链表
void find_node(ptr_stu head char id_input[]); //查找节点
int main(int argc char *argv[])
{
printf(“\n\t\t\033[1;32m学生信息管理系统\033[0;0m\n“);
ptr_stu head = init_list(); //链表初始化,创建无数据的头结点
choice(head); //调用选择函数
return 0;
}
//1.初始化创建头结点
ptr_stu init_list(void)
{
ptr_stu head = malloc(sizeof(list_stu));
if(head != NULL)
{
head->next = NULL;
}
return head;
}
//2.创建一个节点
ptr_stu creat_node(void)
{
ptr_stu new = malloc(sizeof(list_stu));
if (new != NULL)
{
printf(“请输入学号:“);
scanf(“%s“ new->id);
printf(“请输入姓名:“);
scanf(“%s“ new->name);
printf(“请输入年龄:“);
scanf(“%d“ &new->age);
printf(“请输入电话:“);
scanf(“%s“ new->nu);
printf(“请输入分数:“);
scanf(“%f“ &new->score);
new->next = NULL;
}
return new;
}
//3.插入结点
void insert_node(ptr_stu head ptr_stu new)
{
if(new == NULL || head == NULL)
return;
ptr_stu p = head;
while(p->next != NULL)
{
if(strcmp(p->next->id new->id) == 0) //判断学号是否有冲突
{
printf(“\033[41m学号重复!录入失败!\033[0m\n“);
return;
}
p = p->next;
}
p->next = new;
}
//4.遍历显示·
void display_node(ptr_stu head)
{
if(head->next == NULL)
{
printf(“\033[41m系统为空,无学生信息!\033[0m\n“);
return;
}
printf(“\033[34m*********\033[0m \033[44m学生信息:\033[0m \033[34m*************\033[0m\n“);
printf(“\033[40m学号\t 姓名\t 年龄\t电话\t 成绩\033[0m\n“);
ptr_stu p = head;
while(p->next != NULL)
{
p = p->next;
printf(“\033[31;40m%-12s\033[0m\033[40m %-12s %-4d %-12s %-4.1f\033[0m\n“ p->id p->name p->age p->nu p->score);
}
printf(“\033[34m*********\033[0m \033[44m可爱的分割线!\033[0m \033[34m*********\033[0m\n“);
}
//主界面
void interface(void)
{
printf(“\n===============\033[42m请选择功能(0-6):\033[0m===============\n“);
printf(“\t \033[40;31m 1. \033[0m \033[33m新建一个学生的信息。\033[0m\n“);
printf(“\t \033[40;31m 2. \033[0m \033[36m删除某个学生的信息。\033[0m\n“);
printf(“\t \033[40;31m 3. \033[0m \033[32m显示全部学生的信息。\033[0m\n“);
printf(“\t \033[40;31m 4. \033[0m \033[34m查找某个学生的信息。\033[0m\n“);
printf(“\t \033[40;31m 5. \033[0m \033[35m修改某个学生的信息。\033[0m\n“);
printf(“
相关资源
- 通过 S-Function 集成 C 代码进行仿真
- fpmax*源代码 c语言实现
- C语言教案 环节完整 谭浩强版
- 一位滑动窗口协议模拟 c语言实现
- ADS7809C语言程序
- 找最近对的分治法 C语言实现
- 贪心算法解决骑士游历问题C语言版
- DFT FFT 的C语言实现方法及程序
- 影碟出租管理系统C语言编写 用于课
- linuxc语言信号量爸爸女儿儿子橘子苹
- 一个FTP客户端的设计与实现C实现
- 用C语言编写二叉排序树
- 酒店管理系统c语言实现133784
- 中值滤波C语言
- c语言画图及小动画制作
- 捷联惯导c语言仿真
- 两颗会跳动的心
- 小型书店进销存管理系统(c语言)
- C语言练习题+综合模拟卷3套(附答案
- 复合形法C语言程序
- gps-gsm的仿真程序 c语言
- unix 下实现ftp部分功能lsgetput等等
- RS编解码的C语言实现
- 数据结构课程设计《活期储蓄帐目管
- c语言端口扫描
- 门禁系统代码(C语言版).
- 实现最近点对问题源的代码(C语言)
- [纯C语言 + Win32 API]一步一步写个围棋
- 共轭梯度法C语言程序
- C语言编写公交查询系统
评论
共有 条评论