C++ 按平台名称过滤的函数
C++ Function that filters by name of plataform
我有一个函数来显示在我的程序中注册的每个游戏:
void games_per_plataform(void)
{
char type[TYPE];
PTRGM aux;
if (!head)
{
printf("n No games!n");
getch();
return;
}
//Show plataforms of registered games
printf("n");
printf(" %-20sn","plataforms of registered games");
for(aux=head;aux!=NULL;aux=aux->next)
{
printf("n %-20sn", aux->Plataform);
}
我需要一个函数,只显示用户想要看到的一些平台的游戏。 这是我已经拥有的:
//Show games filtered by plataform
printf("n Plataform - ");
scanf("%s",&tipo);
printf("n %-20s %-20s %-20s %-20sn","Name", "Plataform", "Genre", "Price");
for(aux=head;aux!=NULL;aux=aux->next)
{
printf(" %-20s %-20s %-20s %-20fn", aux->Name, aux->Plataform, aux->Genre, aux->Price);
}
getch();
}
您唯一需要做的就是过滤循环中的输出:
scanf("%s",type);
...
int tln=strlen(type);
for(aux=head;aux!=NULL;aux=aux->next)
{
if (strncmp(aux->Plataform,type,tln)==0)
printf(" %-20s %-20s %-20s %-20fn", aux->Name, aux->Plataform, aux->Genre, aux->Price);
}
当平台从用户输入的内容开始时,此解决方案还会打印整个内容。 请注意,我保留了您的 C 样式,并且scanf()
中存在缓冲区溢出的风险。
相关文章:
- "error: no matching function for call to"构造函数错误
- 什么时候调用组成单元对象的析构函数
- 继承函数的重载解析
- 为什么随机数生成器不在void函数中随机化数字,而在main函数中随机化
- C++模板来检查友元函数的存在
- 递归函数计算序列中的平方和(并输出过程)
- 对RValue对象调用的LValue ref限定成员函数
- C++17复制构造函数,在std::unordereded_map上进行深度复制
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 在C++STL中是否有Polyval(Matlab函数)等价物?
- 为什么使用 "this" 指针调用派生成员函数?
- 将对象数组的引用传递给函数
- 函数调用中参数的顺序重要吗
- 函数向量_指针有不同的原型,我可以构建一个吗
- 使用不带参数的函数访问结构元素
- 代码在main()中运行,但在函数中出现错误
- boost ::适配器::转换为boost :: apapters ::过滤呼叫函数两次
- C++ 按平台名称过滤的函数
- 过滤函数中的矢量,并返回另一个带有过滤结果的矢量
- 是否可以使用比较器函数过滤掉STL多集下界检查的数据