课程设计:学生档案管理系统
一、 程序设计的题目
——学生档案管理系统
二、 程序分析
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;}
课程设计:学生档案管理系统相关推荐
- c语言学生档案管理课设作业,2019-2020年c语言课程设计学生档案管理系统实验报告.doc...
2019-2020年c语言课程设计学生档案管理系统实验报告.doc 还剩 10页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: *********C 语 ...
- 查询学生选修课程管理系统java_JAVA数据库课程设计学生选课管理系统的
<JAVA数据库课程设计学生选课管理系统的>由会员分享,可在线阅读,更多相关<JAVA数据库课程设计学生选课管理系统的(59页珍藏版)>请在人人文库网上搜索. 1.一.课程设计 ...
- MFC课程设计 --学生成绩管理系统
MFC课程设计 ,C++课程设计 --学生成绩管理系统 ps:因为课设完成的过程大家都不太一样,以下的代码仅供学习一下在MFC下各个控件的用法,有问题欢迎留言讨论. 实验目的 使用MFC类库编制应用程 ...
- c语言课程设计查找分数与删除元素,c语言课程设计学生成绩管理系统
<c语言课程设计学生成绩管理系统>由会员分享,可在线阅读,更多相关<c语言课程设计学生成绩管理系统(31页珍藏版)>请在人人文库网上搜索. 1.河南理工大学计算机科学与技术学院 ...
- java学籍管理系统 课程设计,Java课程设计---学生学籍管理系统
Java课程设计---学生学籍管理系统 设计报告设计报告 课题名称学生学籍管理系统 学院 专业班级计算机应用技术 091 学号 学生 指导教师 2011 年 7 月 7 日 1 学生 指导教师 课题名 ...
- C语言成绩统计源代码,C语言课程设计学生成绩管理系统+源码
<C语言课程设计学生成绩管理系统+源码>由会员分享,可在线阅读,更多相关<C语言课程设计学生成绩管理系统+源码(25页珍藏版)>请在人人文库网上搜索. 1.简易教学管理系统的设 ...
- C语言学生成绩管理设计总结,C语言课程设计学生成绩管理系统个人总结
C语言课程设计学生成绩管理系统个人总结 C语言课程设计--学生成绩管理系统 个人心得体会 (徐州工程学院 14计嵌1班 07组 张凯) 这一周以来的课程设计,不仅让我明白了C语言的确是一门很有用的,但 ...
- ASP.NET程序设计课程设计——学生信息管理系统
点击查看详细信息 ASP.NET程序设计课程设计--学生信息管理系统 一.实验目的 综合运用们所学的ASP.NET知识,开发学生信息管理系统,完成相关功能: (1)教师管理 (2)学生信息 (3)课程 ...
- oracle学生信息管理系统课程设计,数据库课程设计-学生信息管理系统的设计与实现.doc...
数据库课程设计-学生信息管理系统的设计与实现 2011-2012课程设计II 学生信息管理系统的设计与实现 一 设计内容 建立一个简单的在校学生信息查询系统,可以让使用者查询到学生的一些简单的个人信息 ...
- C语言课程信息管理系统课程设计,c语言课程设计学生信息管理系统.doc
c语言课程设计学生信息管理系统 课程设计报告 课程名称: 高级语言程序设计课程设计 姓 名: 汤璞君 班级学号: BX1209 121003410937 指导教师: 吉顺如 完成日期: 2013.6. ...
最新文章
- python随机生成字符串_python生成随机数、随机字符串
- MIT机器狗再进化,碎石冰面上跑也不打滑,这次真的稳如狗了
- Qt creator 编译错误 :cannot find file .pro qt
- Java ME游戏开发中,碰撞检测算法在Java?ME中的实现(
- C# 操作并口类,并口通信
- 数据结构基础概念、逻辑结构、物理结构
- Webpack4: Tree-shaking 深度解析
- python 函数参数传递机制_Python函数参数传递机制(超级详细)
- 华为服务器型号2285,华为服务器2285磁盘阵列设置
- appium java api文档_Appium常用API
- Linux 关机/重启/注销命令(7个)
- 17.1.1 How to Set Up Replication 设置复制:
- matlab 乱七八糟求最大值~
- linux x中文显示,01_Linux系统系统语言查询,设置Xshell工具,中文显示,测试Xshell中文字符显示,Linux中文显示乱码设置...
- jvm异常生成文件hs_err_pid[pid].log
- mysql中orderby用法_MySQL教程:OrderBy用法_MySQL
- SpringBoot整合Thymeleaf(22)
- 【HDU4622】Reincarnation(后缀自动机)
- Cocos Creator转盘抽奖
- 系统集成项目管理工程师10大管理47个过程域输入输出工具(项目范围管理)