面向对象编程练手
本文最后更新于35 天前,其中的信息可能已经过时,如有错误请发送邮件到528407262@qq.com

学生成绩管理系统( 面向对象编程练手)

vector 简介

vector是C++标准库(std::)中的一个动态数组 <vector> 是一个序列容器,它允许用户在容器的末尾快速地添加或删除元素。与数组相比,<vector> 提供了更多的功能,如自动调整大小、随机访问等。

声明一个<vector>

vector<int> myvector;

vector 中的常用成员函数

函数说明
push_back(const T& val)在末尾添加元素
pop_back()删除末尾元素
at(size_t pos)返回指定位置的元素,带边界检查
operator[]返回指定位置的元素,不带边界检查
front()返回第一个元素
back()返回最后一个元素
data()返回指向底层数组的指针
size()返回当前元素数量
capacity()返回当前分配的容量
reserve(size_t n)预留至少 n 个元素的存储空间
resize(size_t n)将元素数量调整为 n
clear()清空所有元素
insert(iterator pos, val)在指定位置插入元素
erase(iterator pos)删除指定位置的元素
begin() / end()返回起始/结束迭代器

功能实现

私有化基本元素
class student {  //class自带private属性
string name;
vector<double> scores;//通过 vecter<#类型>#容器名 来创建一个vector组
int scoresnum;
用于输入学生基本信息的(公共)接口
  1. 将向用户获取信息写入构造函数,则会在每个新对象创建时要求用户输入
  2. 用变量scoresnum来储存学生人数 以便于通过 for循环批量创建对象
student() {
cout << "enter name"<<endl;
cin >> name;
cout << "enter the number of score"<<endl;
cin >> scoresnum;
for (int i = 0; i < scoresnum; ++i) {
cout << "Enter score " << i + 1 << ": ";
double score;
cin >> score;
scores.emplace_back();
用于得到每个学生平均分的(公共)接口
double get_ave() const {
double sum = 0;
for (double score : scores) { //遍历容器中的每一个元素
sum += score;
}
return scores.empty() ? 0 : sum / scores.size();
}
//scores.empty()   是 C++ 中用于检查容器是否为空的成员函数。
//如果容器中没有任何元素,则empty()返回true;否则返回false 。
展示学生的数据
void display() const {
cout << "Name: " << name << endl;
cout << "Average Score: " << get_ave() << endl << endl;
}
主函数

用容器批量声明对象

int main() {
vector<student> students;
int studentsnum;
cout << "enter the number of students: ";
cin >> studentsnum;

for (int i = 0; i < studentsnum; ++i) {
cout << "enter student " << i + 1 << ": ";
students.emplace_back();
students.back().display();
}
文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
下一篇