一、 程序设计的题目
——学生档案管理系统
二、 程序分析
1. 主要运用到的知识:类和对象的应用、链表的应用等等。
2. 程序实现的功能:插入学生信息(按学号排序插入);查询学生信息(按学号查询、按名字查询);修改学生信息;删除学生信息;显示学生信息。
3. 分析
代码里设置有Student类和Operation类,Student类私有数据保存学生信息:名字、班别、学号、性别、平时成绩、卷面成绩、总成绩及排名,Operation类公有函数主要实现对信息的操作:插入、查询、删除、修改、显示。将Operation类与Sstudent类组合起来:
Menu()实现程序主菜单,调用程序各功能
Insert()实现学生信息的插入
Search()实现查找功能,按名字查找或按学号查找
Remove()修改函数
Delete()删除函数,删除学生信息
Show()显示所有学生信息,调用Printone函数通过循环把所有信息显示
四、程序源代码
#include<iostream>
#include <string>
using namespace std;
class Student
{
private:
string number;//学号
string name;//名字
string grade;//班级
string sex;//性别
int dailyScore;//平时分
int finalScore;//卷面分
float generalScore;//总成绩
int place;//排名
public:
Student *next;//next指向下一个学生,构成链表
Student(){next=NULL;}
Student(string num,string n,string g,string s,int dS,int fS,float gS,int pla)
{
number=num;
grade=g;
name=n;
sex=s;
dailyScore=dS;
finalScore=fS;
generalScore=gS;
place=pla;
next=NULL;
};//构造函数
string getnum(){return number;}//学号
string getgrade(){return grade;}//班别
string getname(){return name;}//名字
string gets(){return sex;}//性别
int getdS(){return dailyScore;}//平时分
int getfS(){return finalScore;}//卷面分
float getgS(){return generalScore;}//总成绩
int getpla(){return place;}//排名
void setnum(string num){ number=num;}//修改学号
void setgrade(string g){ grade=g;}//修改班级
void setname(string n){name=n;}//修改名字
void sets(string s){sex=s;}//修改性别
void setdS(int dS){dailyScore=dS;}//修改平时分
void setfS(int fS){ finalScore=fS;}//修改卷面分
void setgS(float gS){ generalScore=gS;}//修改总成绩
void setpla(int pla){