C/C++课程设计学生通讯录信息管理系统,成绩管理系统,抽象封装继承多态,增删改查

目录

一.系统设计内容及要求

需求分析:

 二.系统总体设计  

首先构造基本框架:

基本思路:

三.详细设计

基本步骤

一.系统设计内容及要求

需求分析:

制作一个系统实现对学生通讯信息的管理功能,可以对学生通讯信息进行录入,显示,加,删除修改功能。通过学生通讯信息管理系统给辅导员减轻工作的负担,将工作的失误几率降到最低,为广大老师同学带来便利,使信息共享性大大增强。同时这个系统还可以减少人力与管理费用,提信息准确度,简便了信息管理。

基本功能:

  1. 录入信息
  2. 显示信息
  3. 信息
  4. 修改信息
  5. 删除信息
  6. 退出系统

 .系统总体设计  

首先构造基本框架:

 

基本思路:

首先定义一个person有姓名,性别,年龄等属性,对其初始化,人类作为基类派生出学生类,新增属性电话号码和住址,利用student()构造函数,初始化派生类中的各个变量并记录,使用newlist()函数用于录入信息;调用show()函数,用于输出通讯录信息,;使用add()函数信息。使用update()函数修改各项信息调用delet()函数用于删除通讯录信息。

 

三.详细设计

基本步骤:

1.利用 cout<<” ”输出一些语句组合成菜单,然后利用while(true)无限循环主界面和switch、case语句用户输入一个相应的数字后跳转进行对功能选择的实现。构成主函数

void showmenu()//菜单

{

cout << "-------------------------------------" << endl << endl;

cout << "           工程学院学生通讯录管理系统" << endl;

cout << "           请选择功能:" << endl;

cout << "           1.录入联系人信息" << endl;

cout << "           2.显示联系人信息" << endl;

cout << "           3.添加联系人信息" << endl;

cout << "           4.修改联系人信息" << endl;

cout << "           5.删除联系人信息" << endl;

cout << "           0.退出系统" << endl;
}
int main()

{

int select = 0;//创建用户选择输入的变量

while (true)

{student s;

showmenu();//菜单

cout << " 请选择功能:" << endl;

cin >> select;

switch (select)

{

case 1:system("cls");//1.录入信息

s.newlist();

break;

case 2:system("cls");//2.显示信息

s.show();

break;

case 3:system("cls");//3.添加信息

s.add();

break;

case 4://system("cls");//4.修改信息

s.update();

break;

case 5://system("cls");//5.删除学生信息

s.delet();

break;

case 0:system("cls");//0.退出系统

cout << "欢迎下次使用!!!!" << endl;

return 0;

default:

cout << "请选择功能" << endl;}}

return 0;
}

2.定义一个类,有属性(姓名,性别,年龄)以及构造函数,然后派生出学生类,新增属性电话,住址以及成员函数录入显示增加删除改,退出

class person//定义一个人类

{

 public:

person(){};

person(string n, string s,int a);

 protected:

string name; //姓名

string sex;  //性别

int age;      //年龄

};

person::person(string n, string s,int a)

{

name = n;

sex = s;

age = a;

}

class student :public person  //由人类派生出一个学生类

{

public:

student(){};

student(string n, string s, int a, string p, string d);

void newlist();  //录入信息

void show();     //显示信息

void add();      //添加信息

void update();   //修改信息

void delet();    //删除信息

void meau1();    //退出

protected:

string phone; //电话号码

string addr;  //住址

};
student::student(string n, string s, int a, string p, string d):person(n,s,a)//派生类构造函数

{

phone = p;

addr = d;

}

3.录入信息(姓名,性别,年龄,电话,住址)并保存在磁盘中,使用类成员函数实现,类成员函数需要用类名来限制(返回类型 类名::函数成员名(参数表)),输入要录入的人数,使用for循环按提示进行录入

void student::newlist()//1.录入信息

{

cout << "请输入要录入的人数:" << endl;

cin >> n;

ofstream outfile("stu.dat", ios::out);  //定义文件流对象,打开磁盘文件"stu.dat"

if (!outfile)                          //如果打开失败,outfile返回0值

{

cout << "打开失败" << endl;

abort();//对异常进行终止

}

for (int i = 0; i < n; i++)//1.录入信息

{

cout << "请输入姓名:" << endl;

cin >> stu[i].name;

cout << "请输入性别:" << endl;

cin >> stu[i].sex;

cout << "请输入年龄:" << endl;

cin >> stu[i].age;

cout << "请输入电话:" << endl;

cin >> stu[i].phone;

cout << "请输入地址:" << endl;

cin >> stu[i].addr;

}

outfile.close(); //关闭磁盘文件

cout << "信息录入成功!!!";

4.学生通讯录信息打印菜单选择2功能后调用show()函数对所有通讯录信息进行打印

void student::show()//2.显示信息

{

int i;

cout << "通讯录信息为:" << endl;

cout << "姓名   性别     年龄     电话         住址 " << endl;

for (i = 0; i < n; i++)

{

cout << stu[i].name<< '\t' << stu[i].sex << '\t' << stu[i].age << '\t' << stu[i].phone << '\t' << stu[i].addr << endl;

}

}

5.添加信息使用类成员函数add()可对学生信息进行添加,并且自动保存

void student::add()//3.添加信息

{

cout << "请输入姓名:" << endl;

cin >> stu[n].name;

cout << "请输入性别:" << endl;

cin >> stu[n].sex;

cout << "请输入年龄:" << endl;

cin >> stu[n].age;

cout << "请输入号码:" << endl;

cin >> stu[n].phone;

cout << "请输入住址:" << endl;

cin >> stu[n].addr;

n++;//添加信息

cout << "信息添加成功!!!" << endl;

}

6.修改通讯录信息选择修改功能后按姓名进行查询,查询出对应的信息进行全部信息的修改

void student::update()//4.修改信息

{

string a;

int b{}, c;

cout << "请输入需要修改的姓名:" << endl;

cin >> a;

for (int j = 0; j < n; j++)

{

if (stu[j].name == a)

{

b = 1;

c = j;

}

}

if (b==1)

{

cout << "请输入新的姓名:" << endl;

cin >> stu[c].name;

cout << "输入性别:" << endl;

cin >> stu[c].sex;

cout << "输入年龄:" << endl;

cin >> stu[c].age;

cout << "输入号码:" << endl;

cin >> stu[c].phone;

cout << "输入住址:" << endl;

cin >> stu[n].addr;

cout << "已修改此信息!!!" << endl;

}

else cout << "没有查到此人!!!" << endl;

}

7.删除学生信息

void student::delet()//5.删除信息

{

string a;

int b{}, c{};

cout << "请输入要删除联系人的姓名:" << endl;

cin >> a;

for (int j = 0; j < n; j++)//查找姓名

{

if (stu[j].name == a)

{

b = 1;

c = j;

}

}

if (b == 1)

{

int i = 0;

for (i = c; i < n; i++)

stu[i] = stu[i + 1];

n--; //删除信息

cout << "已删除此人信息" << endl;

}

else cout << "没有查到此人!!!" << endl;

}

  • 6
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
C++学生管理系统是一个用于管理学生信息和成绩的程序。它包括多个模块,如添加学生信息、输出学生成绩、查找学生成绩、修改学生成绩、删除学生成绩、学生成绩排序、保存数据到文件和读取文件中学生成绩等。 在学生管理系统中,可以使用一个类来表示学生,该类包含学号、姓名和成绩等属性。可以使用一个数组或者链表来存储学生对象,以便进行各种操作。 在添加学生信息的模块中,可以使用一个循环来连续添加学生信息,直到用户不再需要添加为止。每次添加学生信息时,可以通过输入来获取学生的学号、姓名和成绩等信息,并将其存储到数组或链表中。 在输出学生成绩的模块中,可以遍历数组或链表,逐个输出学生的学号、姓名和成绩等信息。 在查找学生成绩的模块中,可以通过输入学号或姓名等关键字来查找学生的成绩,并输出相应的信息。 在修改学生成绩的模块中,可以通过输入学号或姓名等关键字来定位到要修改的学生,然后可以修改学生的成绩等信息。 在删除学生成绩的模块中,可以通过输入学号或姓名等关键字来定位到要删除的学生,然后可以将该学生从数组或链表中删除。 在学生成绩排序的模块中,可以根据学生的成绩进行排序,可以使用冒泡排序、快速排序等算法来实现。 在保存数据到文件和读取文件中学生成绩的模块中,可以将学生信息和成绩保存到文件中,以便下次程序运行时可以读取文件中的数据。 总之,C++学生管理系统是一个功能丰富的程序,可以方便地管理学生的信息和成绩。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

字母符号数字

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值