一、       程序设计的题目

——学生档案管理系统

二、         程序分析

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){ place=pla;}//修改排名};class Operation
{
private:Student *first;
public:Operation(){first=new Student;}void Menu();//菜单 void Insert();//插入void Search();//查找void Remove();//修改void Delete();//删除void Print();//输出
};void Operation::Menu()
{  cout<<"********************************************************************************"<<endl;  cout<<"〓〓〓〓〓〓〓〓〓〓  ☆   学 生 档案 管 理 系  统     ☆  〓〓〓〓〓〓〓〓〓〓"<<endl;  cout<<"〓〓〓〓〓〓〓★★★★★         ★★★★★★★         ★★★★★〓〓〓〓〓〓〓"<<endl;  cout<<"〓〓〓〓〓〓〓〓〓★  ☆          1.增加学生信息        ☆  ★〓〓〓〓〓〓〓〓〓"<<endl;  cout<<"〓〓〓〓〓〓〓〓〓★  ☆          2.显示学生信息        ☆  ★〓〓〓〓〓〓〓〓〓"<<endl;  cout<<"〓〓〓〓〓〓〓〓〓★  ☆          3.查找学生信息        ☆  ★〓〓〓〓〓〓〓〓〓"<<endl;  cout<<"〓〓〓〓〓〓〓〓〓★  ☆          4.删除学生信息        ☆  ★〓〓〓〓〓〓〓〓〓"<<endl;    cout<<"〓〓〓〓〓〓〓〓〓★  ☆          5.修改学生信息        ☆  ★〓〓〓〓〓〓〓〓〓"<<endl;   cout<<"〓〓〓〓〓〓〓〓〓★  ☆          6.安全退出系统        ☆  ★〓〓〓〓〓〓〓〓〓"<<endl;  }  void Operation::Insert()     //插入{string number;//学号string grade;//班级string name;//名字string sex;//性别int dailyScore;//平时分int finalScore;//卷面分float generalScore;//总成绩int place;//排名Student *p=NULL;cout<<"请输入要添加学生的信息:"<<endl;cout<<"请输入学号:";cin>>number;cout<<endl;cout<<"请输入班级:";cin>>grade;cout<<endl;cout<<"请输入姓名:";cin>>name;cout<<endl;cout<<"请输入性别:";cin>>sex;cout<<endl;cout<<"平时成绩:";cin>>dailyScore;cout<<endl;cout<<"卷面成绩:";cin>>finalScore;cout<<endl;cout<<"总成绩:";cin>>generalScore;cout<<endl;cout<<"排名:";cin>>place;cout<<endl;Student *s=new Student(number,name,grade,sex,dailyScore,finalScore,generalScore,place);p=first;while(p->next!=NULL&&p->getnum()<s->getnum())//顺便排好序{p=p->next;}s->next=p->next;p->next=s;
}void Operation::Delete()//删除{string name;Student * p =first->next, *q = first;cout << "请输入要删除学生信息的姓名:" << endl;cin >> name;while(p!=NULL){if (p->getname()==name){q->next = p->next;delete p;break;}p=p->next;q=q->next;} if (p!=NULL){cout << "删除成功!" << endl;}if (p==NULL){cout << "\t\t没有找到!" << endl;}
}void Operation::Search()//查询
{ Student *p=NULL;cout<<"\n** 查询学生信息 **\n"<<endl; cout<<"请输入查询方式:"<<endl; cout<<"1.按学号查询"<<endl; cout<<"2.按姓名查询"<<endl; cout<<"3.返回"<<endl; char c;cin>>c; switch (c) { case '1': {string n;cout<<"请输入你要查询的学生的学号"<<endl;cin>>n;for(p=first;p!=NULL;p=p->next){if(p->getnum()==n){cout<< "姓名:" <<p->getname() << endl << "班别:" <<p->getgrade() << endl << "学号:" <<p->getnum() << endl <<"性别:"<<p->getgrade()<<endl<< "日常成绩:" <<p->getdS()<< endl<< "期末成绩:" <<p->getfS()<< endl << "总评成绩:" <<p->getgS()<< endl << "排名:" <<p->getpla()<< endl ;}}break;}case '2': { string name;cout<<"请输入你要查询的学生姓名"<<endl;cin>>name;for(p=first;p!=NULL;p=p->next){if(name==p->getname()){cout<< "姓名:" <<p->getname() << endl << "班级:" <<p->getgrade() << endl << "学号:" <<p->getnum() << endl << "性别:" <<p->gets() << endl << "日常成绩:" <<p->getdS()<< endl<< "期末成绩:" <<p->getfS()<< endl << "总评成绩:" <<p->getgS()<< endl << "排名:" <<p->getpla()<< endl ;                  }} break;}case '3': return ;}}
void Operation::Print()   //输出
{Student *p;cout<< "姓名"  <<"\t\t班级"<< "\t\t学号"  <<"\t\t性别"<< "\t\t期末成绩" << "\t\t总评成绩" << "\t\t排名"<<endl;for(p=first->next;p!=NULL;p=p->next)cout<<p->getname()<<"\t\t"<<p->getgrade()<<"\t\t"<<p->getnum()<<"\t\t"<<p->gets()<<"\t\t"<<p->getfS()<<"\t\t\t"<<p->getgS()<<"\t\t\t"<<p->getpla()<< endl ;
}void Operation::Remove()   //修改
{string n;//修改项string number;//学号string grade;//班级string name;//名字string sex;//性别int dailyScore;//平时分int finalScore;//卷面分float generalScore;//总成绩int place;//排名cout<<"请输入你要修改的学生姓名"<<endl;cin>>n;Student *p;for(p=first->next;p!=NULL;p=p->next)if(p->getname()==n){cout<<"请选择您要修改的信息项:"<<endl;cout<<"1、学号,2、班别,3、姓名,4、性别,5、平时分,6、卷面分,7、总成绩,8、排名。"<<endl;int in;cin>>in;switch(in){case 1:cout<<p->getnum()<<"修改为:"<<endl;cin>>number;p->setnum(number);break;case 2:cout<<p->getgrade()<<"修改为:"<<endl;cin>>grade;p->setgrade(grade);break;case 3:cout<<p->getname()<<"修改为:"<<endl;cin>>name;p->setname(name);break;case 4:cout<<p->gets()<<"修改为:"<<endl;cin>>sex;p->sets(sex);break;case 5:cout<<p->getdS()<<"修改为:"<<endl;cin>>dailyScore;p->setdS(dailyScore);break;case 6:cout<<p->getfS()<<"修改为:"<<endl;cin>>finalScore;p->setfS(finalScore);break;case 7:cout<<p->getgS()<<"修改为:"<<endl;cin>>generalScore;p->setgS(generalScore);break;case 8:cout<<p->getpla()<<"修改为:"<<endl;cin>>place;p->setpla(place);break;default:cout<<"输入错误!"<<endl;break;}}}int main()
{Operation O;O.Menu();while(1){int n;cout<<"\n\t\t\n\t\t请选择:";  cin>>n;switch(n){case 1://增加O.Insert();break;case 2://显示O.Print();   break;case 3://查找O.Search();break;case 4://删除O.Delete();break;case 5://修改O.Remove();break;case 6:cout<<"******************************"<<"\n感谢您的使用!\n"<<"******************************"<<endl;exit(0);}}return 0;}

课程设计:学生档案管理系统相关推荐

  1. c语言学生档案管理课设作业,2019-2020年c语言课程设计学生档案管理系统实验报告.doc...

    2019-2020年c语言课程设计学生档案管理系统实验报告.doc 还剩 10页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: *********C 语 ...

  2. 查询学生选修课程管理系统java_JAVA数据库课程设计学生选课管理系统的

    <JAVA数据库课程设计学生选课管理系统的>由会员分享,可在线阅读,更多相关<JAVA数据库课程设计学生选课管理系统的(59页珍藏版)>请在人人文库网上搜索. 1.一.课程设计 ...

  3. MFC课程设计 --学生成绩管理系统

    MFC课程设计 ,C++课程设计 --学生成绩管理系统 ps:因为课设完成的过程大家都不太一样,以下的代码仅供学习一下在MFC下各个控件的用法,有问题欢迎留言讨论. 实验目的 使用MFC类库编制应用程 ...

  4. c语言课程设计查找分数与删除元素,c语言课程设计学生成绩管理系统

    <c语言课程设计学生成绩管理系统>由会员分享,可在线阅读,更多相关<c语言课程设计学生成绩管理系统(31页珍藏版)>请在人人文库网上搜索. 1.河南理工大学计算机科学与技术学院 ...

  5. java学籍管理系统 课程设计,Java课程设计---学生学籍管理系统

    Java课程设计---学生学籍管理系统 设计报告设计报告 课题名称学生学籍管理系统 学院 专业班级计算机应用技术 091 学号 学生 指导教师 2011 年 7 月 7 日 1 学生 指导教师 课题名 ...

  6. C语言成绩统计源代码,C语言课程设计学生成绩管理系统+源码

    <C语言课程设计学生成绩管理系统+源码>由会员分享,可在线阅读,更多相关<C语言课程设计学生成绩管理系统+源码(25页珍藏版)>请在人人文库网上搜索. 1.简易教学管理系统的设 ...

  7. C语言学生成绩管理设计总结,C语言课程设计学生成绩管理系统个人总结

    C语言课程设计学生成绩管理系统个人总结 C语言课程设计--学生成绩管理系统 个人心得体会 (徐州工程学院 14计嵌1班 07组 张凯) 这一周以来的课程设计,不仅让我明白了C语言的确是一门很有用的,但 ...

  8. ASP.NET程序设计课程设计——学生信息管理系统

    点击查看详细信息 ASP.NET程序设计课程设计--学生信息管理系统 一.实验目的 综合运用们所学的ASP.NET知识,开发学生信息管理系统,完成相关功能: (1)教师管理 (2)学生信息 (3)课程 ...

  9. oracle学生信息管理系统课程设计,数据库课程设计-学生信息管理系统的设计与实现.doc...

    数据库课程设计-学生信息管理系统的设计与实现 2011-2012课程设计II 学生信息管理系统的设计与实现 一 设计内容 建立一个简单的在校学生信息查询系统,可以让使用者查询到学生的一些简单的个人信息 ...

  10. C语言课程信息管理系统课程设计,c语言课程设计学生信息管理系统.doc

    c语言课程设计学生信息管理系统 课程设计报告 课程名称: 高级语言程序设计课程设计 姓 名: 汤璞君 班级学号: BX1209 121003410937 指导教师: 吉顺如 完成日期: 2013.6. ...

最新文章

  1. python随机生成字符串_python生成随机数、随机字符串
  2. MIT机器狗再进化,碎石冰面上跑也不打滑,这次真的稳如狗了
  3. Qt creator 编译错误 :cannot find file .pro qt
  4. Java ME游戏开发中,碰撞检测算法在Java?ME中的实现(
  5. C# 操作并口类,并口通信
  6. 数据结构基础概念、逻辑结构、物理结构
  7. Webpack4: Tree-shaking 深度解析
  8. python 函数参数传递机制_Python函数参数传递机制(超级详细)
  9. 华为服务器型号2285,华为服务器2285磁盘阵列设置
  10. appium java api文档_Appium常用API
  11. Linux 关机/重启/注销命令(7个)
  12. 17.1.1 How to Set Up Replication 设置复制:
  13. matlab 乱七八糟求最大值~
  14. linux x中文显示,01_Linux系统系统语言查询,设置Xshell工具,中文显示,测试Xshell中文字符显示,Linux中文显示乱码设置...
  15. jvm异常生成文件hs_err_pid[pid].log
  16. mysql中orderby用法_MySQL教程:OrderBy用法_MySQL
  17. SpringBoot整合Thymeleaf(22)
  18. 【HDU4622】Reincarnation(后缀自动机)
  19. Cocos Creator转盘抽奖
  20. 系统集成项目管理工程师10大管理47个过程域输入输出工具(项目范围管理)

热门文章

  1. SpringBoot项目集成全文搜索引擎Elasticsearch
  2. 如何使用Xcode进行高保真原型设计?
  3. html鼠标的点击事件失效,为什么鼠标悬停事件不起作用呢?
  4. fastlane 踩坑实录
  5. HTML列表、表格、表单
  6. 目标检测论文阅读:FCOS算法笔记
  7. 第一部分 思科九年 一(9)
  8. 夯实算力底座,“中原计算”开创河南AI产业新局面
  9. BBS社区运营,需要什么专业知识?
  10. tcl卸载会怎么样 tvac_TCL电视怎么样,如何安装卸载第三方应用