• 欢迎访问废江's博客 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏本站吧

人事管理系统(数据结构课程设计)

算法笔记 站点默认 7个月前 (12-15) 345次浏览 已收录 3个评论

数据结构课上完了,我们需要自己选一个课程设计,我们小组选了如下的人事管理系统

11.png

这道题目中,我多加了一个板块,是系统板块,大致是原本我们只需要设计一个人事管理系统,但我觉得系统应该多个,所以我在外层加了一个系统菜单,其次这道题目比较麻烦的有两点,一点是员工的信息太多了,敲的手都酸死,第二点是按薪水进行排序,我用的直接快速排序,时间复杂度为0n(2)。其次我还学到一个新的知识点:为什么不能给结构体指针中的string变量用“=”赋值(更新),也不能输出,但能通过编译??这个问题我在题目中遇到一模一样的,答案是:这里得用new,因为里面有string需要初始化malloc只是申请内存,是无法调用string类型里的初始化函数没有经过初始化的string,在程序执行到这里时出错:node->name =”a”;,所以,在代码中我放弃了malloc,而直接用new,关于new也是新学到的知识点,这里有必要写个笔记。

new关键字

C++中new运算符用于动态分配和撤销内存的运算符。

1、开辟单变量地址空间

new int; //开辟一个存放数组的存储空间,返回一个指向该存储空间的地址.int *a = new int 即为将一个int类型的地址赋值给整型指针a. 2)int *a = new int(5) 作用同上,但是同时将整数赋值为5。

2、开辟数组空间

要访问new所开辟的结构体空间,无法直接通过变量名进行,只能通过赋值的指针进行访问。用new可以动态开辟,撤销地址空间。在编程序时,若用完一个变量,下次需要再用,可以在每次开始使用时开辟一个空间,在用完后撤销它。


接下来把我写的代码贴出来,如果有写的不好的地方,欢迎大家指正。


个人博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:人事管理系统(数据结构课程设计)
喜欢 (12)
[]
分享 (0)
站点默认
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到
(3)个小伙伴在吐槽
  1. 太强了 :mrgreen:
    匿名2019-12-19 15:00 回复 Windows 10 | 未知浏览器
    • 站点默认
      我菜鸡,哈哈=。=
      站点默认2019-12-21 11:09 回复 Windows 10 | Chrome 75.0.3770.100
  2. 流批流批
    匿名2019-12-16 10:27 回复 Windows 10 | Chrome 68.0.3440.75