设计课程(course)结构(如p50例2-2),
1)重载==运算符,查找出课程名为“英语”的记录;
2)重载==运算符,查找出开课学时为72的所有记录;
3)重载>运算符,查找出开课学时>80的所有课程记录。
设计main函数,先创建p51的表2-1,然后实现上述功能。
根课本的例子基本一致
但我做出的界面不好看
不知道怎么用C++修改字符输出宽度,细节做得不够好
#include<iostream>
#include<string>
struct course
{
char name[20];
int period;
int term;
};
bool operator==(course x, char*key)
{
if (strcmp(x.name, key) == 0)
return true;
else
return false;
}
bool operator==(course x, int key)
{
if (x.period == key)
return true;
else
return false;
}
int operator>(course x, int key)
{
return x.period > key;
}
void main()
{
course a[5] = { {"高等数学",90,1},{"离散数学",72,2},{"英语",72,1},{"计算机组成原理",90,2},
{"程序设计基础",63,3} };
int i;
char *p = "英语";
std::cout << "查找课程名为英语的记录" << std::endl;
std::cout << " " << std::endl;
std::cout << "查询结果为:" << std::endl;
for (i = 0; i < 5; i++)
if (a[i] == p)
{
std::cout << "课程名称 开课学时 开课学期" << std::endl;
std::cout << a[i].name << " " << a[i].period << " " << a[i].term << std::endl;
std::cout << " " << std::endl;
}
std::cout << "查找课时为72的记录" << std::endl;
std::cout << " " << std::endl;
std::cout << "查询结果为:" << std::endl;
for ( i = 0; i < 5; i++)
if (a[i] == 72)
{
std::cout << "课程名称 开课学时 开课学期" << std::endl;
std::cout << a[i].name << " " << a[i].period << " " << a[i].term << std::endl;
std::cout << " " << std::endl;
}
std::cout << "查找课时大于80的记录" << std::endl;
std::cout << " " << std::endl;
std::cout << "查询结果为:" << std::endl;
for ( i = 0; i < 5; i++)
if (a[i] > 80)
{
std::cout << "课程名称 开课学时 开课学期" << std::endl;
std::cout << a[i].name << " " << a[i].period << " " << a[i].term << std::endl;
std::cout << " " << std::endl;
}
system("pause");
}
如图,后面的不能对应,比较难看
1127


&spm=1001.2101.3001.11974&articleId=78103357&d=1&t=3&u=143cfb42e7b84ff4adad78aaaf7ad94a)

被折叠的 条评论
为什么被折叠?



