如何存储根据日期排序的预定义值在C 中排序
How can I store predefined values sorted according to date in C++?
我想在对象中存储预定义的(硬编码(值,并用日期排序在屏幕上显示它。我如何实现?
这是问题和我的代码。
社会保留成员列表并使用程序存储列表。对于每个成员,记录以下信息
会员编号姓名字该人加入社会的日期他们是否仍然是会员该程序必须提供三个选项1(输入会员的详细信息(当前成员或过去的成员(。可以按任何顺序输入会员。您可以假设会员编号可以从某些现有列表中获得,因此只需要将其与其他数据一起输入该程序。
2(提示当前日期并作为输出产生至少10年成员(目前仍然是成员(的人列表,该列表应按日期加入并根据多长时间分配他们已经成为成员(50岁以上,40岁以上等(,如果有一个以上的人在同一天加入,则应按字母顺序姓,如果它们具有相同的姓氏,则为名字。应通过将一组成员排序为所需的顺序来产生。
3(提示会员编号,并将其成员标记为不是当前的。
输出应该看起来像这样
Long-standing members at 20/02/2012
50+years
mem no date joined name
432 21/07/1963 Xerxes Smith
3103 20/02/1968 Aloysius Baker
40+years
mem no. date joined name
4934 21/02/1968 Hermione Turner
0123 08/06/1975 Bartholomew Wright
1498 08/06/1975 Ermintrude Wright
30+year
————————————————————————————————
我只给你泡泡排序。
#include <iostream>
#include <sstream>
#include <iomanip>
using namespace std;
class person
{
public:
person(string doj)
{
memset(&m_doj, 0, sizeof(tm));
std::istringstream ssDate(doj);
ssDate >> get_time(&m_doj, "%d/%m/%Y");
}
tm m_doj;
bool operator> (person &person2)
{
return mktime(&m_doj) > mktime(&person2.m_doj);
}
void output()
{
cout << put_time(&m_doj, "%d/%m/%Y") << "n";
}
};
void swap(person *xp, person *yp)
{
person temp = *xp;
*xp = *yp;
*yp = temp;
}
void bubbleSort(person arr[], int n)
{
int i, j;
for (i = 0; i < n - 1; i++)
// Last i elements are already in place
for (j = 0; j < n - i - 1; j++)
if (arr[j] > arr[j + 1])
swap(&arr[j], &arr[j + 1]);
}
void main()
{
person people[5] = { person("22/02/2012"), person("21/03/2012"), person("21/02/2018"), person("21/02/1969"), person("20/02/2012") };
bubbleSort(people, 5);
for (int i = 0; i < 5; ++i)
{
people[i].output();
}
}
相关文章:
- #定义c-预处理器常量..我做错了什么
- 使用自定义比较函数使用std::sort()对矢量字符串进行排序时出现问题
- __CHAR_BIT__宏是否为 MSVC 编译器预定义?
- 在哪里定义了预定义'user-defined'文本"m"的标准库?
- std::排序为排序自定义对象时出现的向量引发错误
- 如何打印预定义的cflags
- 适用于 64 位系统的预定义宏
- 如何预定义<atomic>变量?
- 将文本文件中的特定单词:C++替换为预定义值
- 在不使用预定义的C++函数的情况下,按字母顺序打印存储在哈希表中每个索引处的名称
- 在vector中排序自定义对象
- c++在列表中排序自定义对象
- 在c++中使用整数排序(自定义使用std:: Sort)
- 两个值的最大值,其中一个不能等于预定义值
- 按常量id排序自定义类型的向量
- 将char转换为预定义的ascii值
- 结构体的预定义,错误
- 引用预定义的QMediaPlayer
- 是否可以用n个键初始化std::map,其中n是预定义的
- 用于标识调用函数的预定义宏