『管理系统?』▻▻看这250行代码就够了◅◅

2023年 10月 13日 86.5k 0

引言

不知道大家刚接触“『管理系统』”这个词的时候是怎么想的,我反正认为这是一个很高大上的东西,实现起来一定超难。结果后面看到了运行结果,有那么一丢丢“请以实物为准”的感觉,这里先把我这个项目的效果图放在下面。

这是用C++写出来的,其实用C语言写出来的也差不多。

如果看到这里,你还是感兴趣的话,那么就继续看下去吧,后面我会描述一下设计思路并把程序代码贴出来。

设计思路

做任何事情总要有个起因,我当然也不是无缘无故的就想搞这个,哪怕它很常见,这其实是我的一次作业,先把作业的题目放在下面,这样也可以明确需求。

建立一个结点包括职工的编号、年龄和性别的单向链表,分别定义函数完成以下功能:

(1)遍历该链表输出全部职工信息;

(2)分别统计男、女职工的人数;

(3)在链表尾部插入新职工结点;

(4)删除指定编号的职工结点;

(5)删除年龄在60岁以上的男性职工或55岁以上的女性职工结点,并保存在另一个链表中。

要求:用主函数建立简单菜单选择,并测试程序。

看到问题后,我的第一想法就是自定义五个函数分别实现这五个功能,在主函数的调用下实现管理系统。

这一题很明显需要使用链表,所以我创建了一个结构体类型用来存放职工的编号、年龄、性别以及指向下一节点的指针,然后声明自定义函数。在完成这些后,我就开始编写主函数了,首先当然是建立一个头指针指向空,然后在do...while循环中显示菜单,使用switch根据用户输入的数字调用相关函数实现相应功能,或退出程序。

先对链表的一些知识明确一下:

这里先把这部分的代码放在下面,有一些没解释到的代码暂时用不到,这是程序基本功能实现后优化输出的,后面会解释,暂时先忽略就行了。

#include 

using namespace std;

struct information {
int id;
int age;
string sex;
information* next;
}*s,*p,*new_s,*new_p;
information* new_head = NULL;
int help_judge = 0;

void all_out(information*);
void sex_num_out(information*);
void last_inset(information* &);
void my_delete(information*&);
void classify(information* &);

int main()
{
information* head;
head = NULL;
int select;
do
{
cout

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论