学生成绩管理系统C++代码

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

班级:自动化

姓名:

学号:

学院:信息与电气工程学院

完成时间:2010-12-24

成绩:

指导老师签名:

一、项目说明:

该项目的主要作用是记录学生成绩,学生信息,并且对其进行管理,由两个类,一个主函数,调用函数包括添加函数、删除函数、查询函数、排序函数等。程序的大体流程是建立类,建立了类之后建立函数模型,主要属于调用函数,调用函数占了程序的大部分,属于应用部分,主函数的作用就是通过调用不同的调用函数来实现函数的目的,详细的说明会在结尾以及程序中给出。

二、心得体会:

通过做这次的作业,自己加深了对C++程序设计原理的理解,懂得了类的运用,以及通过学习,了解了在C语言上的升华,体会了C++的强大,最重要的去写,因为这样才可以锻炼自己,这个程序不复杂,通俗易懂,但是却有着极大的作用,这就是我们写程序所希望达到的境界。

三、运行结果

这个运行结果是关于对输入的学生的信息进行排列后的结果,这个程序最大的特点就是他的类,我们看到的是源程序代码以及自己对它的注释:

#include

#include

#include

#include//用于程序的暂停属于c的运用方法

using namespace std;

#define max 100;

class student //定义类student定义了程序中主要使用的成员

{ public: student *next;

public: string name;//姓名long num;//学号int x,y,z;//数学,语文,英语

int AA;//总分

void play(){cout<

student(string sname,long snum,int sx,int sy,int sz)

{ name=sname; num=snum; x=sx; y=sy; z=sz; } };

class cla //定义类2包括建立构造函数和解析函数

{ public:

cla()//构造函数

{ stu=0; sload(); }

~cla()//析构函数

{ student *p; p=stu;

while(p)

{ p=p->next; delete stu; stu=p; } stu=0; } //这一部分是对函数的声明void sadd(); //添加void sremove(); //删除void samend(); //修改

void ssearch(); //查询void staxis(); //排序void ssave(); //保存void sload(); //读取

//排序函数的声明

void pxh(); void psx(); void pyw(); void pyy(); void pAA(); //共有5个排序函数private:

student *stu; //头接点};

void cla::sadd()//此处构造了添加学生函数

{ student *q; string name1; long num1; int x1,y1,z1;

system("cls");

cout<<"\n **增加的学生** \n"<

cout<<"请输入学生的(中间用空格间隔) "<

cout<<"姓名学号数学成绩语文成绩英语成绩:"<

cin>>name1>>num1>>x1>>y1>>z1;

q=new student(name1,num1,x1,y1,z1);

q->next=0;

q->AA=x1+y1+z1;

if(stu)

{ student *t; t=stu;

if(t->num==num1)

{ cout<<"学号已存在,请重新输入"<

while(t->next)

{ if(t->num==num1)

{ cout<<"学号已存在,请重新输入"<next; } t->next=q; } else

{ stu=q; }

cout<<"输入完毕"<

void cla::sremove()//删除

{ system("cls"); int num1;

cout<<"\n** 删除学生信息**\n";

cout<<"请输入想要删除学生的学号:";

cin>>num1;

//查找要删除的结点

student *p1,*p2; p1=stu;

while(p1)

{ if(p1->num==num1) break;

else { p2=p1; p1=p1->next; } }

//删除结点

if(p1!=NULL)//若找到结点,则删除

{ p1->play(); cout<<"确定删除吗?[Y/N]"<>c;

if(toupper(c)!='Y') return;

if(p1==stu) //若要删除的结点是第一个结点

{ stu=p1->next; delete p1; }

else //若要删除的结点是后续结点

{ p2->next=p1->next; delete p1; }

cout<<"找到学号为"<

else //未找到结点

cout<<"未找到想要删除的学生!\n"; }

void cla::samend()//修改

{ system("cls"); long num1;

cout<<"\n** 修改学生信息**\n"; cout<<"输入要修改学生的学号"; cin>>num1;

//查找要修改的结点

student *p1,*p2; p1=stu;

while(p1)

{ if(p1->num==num1) break;

else { p2=p1; p1=p1->next; } }

if(p1!=NULL)

{ cout<<"学号是"<

cout<<"姓名"<name<<"数学"<x<<"语文"<y<<"英语"<z<

cout<<"请输入修改后的信息:姓名数学成绩语文成绩英语成绩"<>p1->name>>p1->x>>p1->y>>p1->z;

p1->AA=p1->x+p1->y+p1->z;

cout<<"修改成功"<

{ system("cls");

cout<<"\n** 查询学生信息**\n"<

cout<<"请输入查询方式:"<

cout<<"1.按学号查询"<

cout<<"2.按姓名查询"<

cout<<"3.返回"<

char c; cin>>c;

switch (c) //通过switch语句来选择排序函数

{

相关文档
最新文档