资源简介
【附源代码】
现在最低分只能设置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(“
相关资源
- 操作系统c语言模拟文件管理系统844
- C语言开发实战宝典
- C++中头文件与源文件的作用详解
- C语言代码高亮html输出工具
- 猜数字游戏 c语言代码
- C语言课程设计
- 数字电位器C语言程序
- CCS FFT c语言算法
- 使用C语言编写的病房管理系统
- 通信过程中的RS编译码程序(c语言)
- 计算机二级C语言上机填空,改错,编
- 用回溯法解决八皇后问题C语言实现
- 简易教务管理系统c语言开发文档
- 操作系统课设 读写者问题 c语言实现
- 小波变换算法 c语言版
- C流程图生成器,用C语言代码 生成C语
- 3des加密算法C语言实现
- 简单的C语言点对点聊天程序
- 单片机c语言源程序(51定时器 八个按
- 个人日常财务管理系统(C语言)
- c语言电子商务系统
- 小甲鱼C语言课件 源代码
- 将图片转换为C语言数组的程序
- C语言实现的一个内存泄漏检测程序
- DES加密算法C语言实现
- LINUX下命令行界面的C语言细胞游戏
- 用单片机控制蜂鸣器播放旋律程序(
- 学校超市选址问题(数据结构C语言版
- 电子时钟 有C语言程序,PROTEUS仿真图
- 尚观培训linux许巍老师关于c语言的课
评论
共有 条评论