当前位置: 首页 > news >正文

网站开发专业成功人士重庆邮电大学官网网站

网站开发专业成功人士,重庆邮电大学官网网站,辽宁省城乡和建设厅网站,女生做交互设计师好吗问题描述 实现学生成绩管理系统#xff1a; 学生信息包括#xff1a;学号、姓名、性别、年龄、班级等信息。除了包括学生所有信息外#xff0c;还包括专业、英语、程序设计和高等数学等课程。 设计一程序能够对学生成绩进行管理#xff0c;应用到继承、抽象类、虚函数、虚…问题描述 实现学生成绩管理系统 学生信息包括学号、姓名、性别、年龄、班级等信息。除了包括学生所有信息外还包括专业、英语、程序设计和高等数学等课程。 设计一程序能够对学生成绩进行管理应用到继承、抽象类、虚函数、虚基类、多态和文件的输入/输出等内容。用户自行输入所需要的数据或者被要求的数据或从“.txt”文档中输入输出的形式以文件的形式输出程序所能达到的功能。 功能1添加功能、2查询功能、3显示功能、4编辑功能、5删除功能、6统计功能、7保存功能、8读取功能、9排序功能 类的定义及类之间的关系 本程序一共分为四大类Info学生基本信息类  course课程分数类 student学生类  studentmanager学生管理类 其中Info类定义学生的基本信息学号id姓名name性别gender,年龄age班级ClassNamecourse类定义学生的课程分数专业课zhuanye英语课englishscore程序设计programingscore,高等数学课程mathscore。student类继承Info类以及course并且新增total(总分)和average平均分两个新的成员变量。其中本类还包含与用户的交互界面display函数。Studentmanager类为功能实现类。其中本类创造了student类容器以容器的方式代替对象数组的功能包含九个功能函数。 程 程序模块 序模块分为三大模块类设计模块用户界面交互模块函数设计模块。 类设计模块主要是定义学生基本信息以及分数类在类中的构造函数中实现成员变量的复制以及与其对应的get/set方法。 用户界面交互的模块主要是以switch/case模块搭建的cout/cin输入/输出体系模块也就是与使用用户有关的模块。 函数设计模块为实现功能算法的模块在此模块中可以实现用户的多种需求但是原则上将其封装起来不对用户暴露。此模块一共分为11个功能函数分别为 void saveToFile()保存学生记录 void loadFromFile() 从文件中读取学生记录 void addStudent()   添加学生记录 void displayAllStudents()显示所有学生记录 void searchStudent()    查找学生信息 void editStudent()      修改学生记录 void deleteStudent()    删除学生信息 void calculateStatistics() 统计学生成绩排名 void menu()                排序菜单 cmp函数 static bool compareByTotalScore(Student* s1, Student* s2) static bool compareByEnglishScore(Student* s1, Student* s2) static bool compareByProgrammingScore(Student* s1, Student* s2) static bool compareByMathScore(Student* s1, Student* s2) static bool compareByzhuanyescore(Student* s1, Student* s2) Sort函数   void sortStudentsByTotalScore() void sortStudentsByEnglishScore() void sortStudentsByProgrammingScore() void sortStudentsByMathScore() void sortStudentsByzhuanyeScore() 算法设计 算法分析本程序一共分为3大模块其中算法用的不算太多也不是很难除了排序查找修改之外其他基本用不上算法。 算法的实现 基于本程序的数据保存的结构是以容器vector实现的因此上在算法实现上都是以容器vector的方式进行实现的STL 对定义的通用容器分三类顺序性容器、关联式容器和容器适配器。本程序主要是以顺序性容器为基本来实现上述算法要求的。 顺序性容器 是 一种各元素之间有顺序关系的线性表是一种线性结构的可序群集。顺序性容器中的每个元素均有固定的位置除非用删除或插入的操作改变这个位置。这个位置和 元素本身无关而和操作的时间和地点有关顺序性容器不会根据元素的特点排序而是直接保存了元素操作时的逻辑顺序。比如一次性对一个顺序性容器追加三 个元素这三个元素在容器中的相对位置和追加时的逻辑次序是一致的。 源码 下面是完整代码 #if defined(_MSC_VER) !defined(_CRT_SECURE_NO_DEPRECATE) #define _CRT_SECURE_NO_DEPRECATE #endif #include iostream #include fstream #include string #include cstring using namespace std; class Student{ public:friend void Input(Student stu[]);friend void Statistic(Student stu[]);friend void Lookup(Student stu[]);friend void Modify(Student stu[]);friend void Delete(Student stu[]);friend void Output(Student stu[]);friend void Insert(Student stu[]);friend void Sort(Student stu[]);friend void Write(Student stu[],int n);friend int Read(Student stu[]); private:int num;char name[8];char class_0[20];float elec;float c_program;float english;float math;float media;float sport;float polity;float average;int order; }stu[100];void Write(Student stu[], int n) {fstream myFile;myFile.open(score.txt, ios::out | ios::binary);if (!myFile) {cout score.txt cant open! endl;abort();}int count n;myFile count endlendl;for (int i 0; i count; i) {myFile stu[i].class_0 \t stu[i].num \t stu[i].name \t stu[i].elec \t stu[i].c_program \t stu[i].media \t stu[i].english \t stu[i].math \t stu[i].sport \t stu[i].polity \t stu[i].average endl;}myFile.close(); }int Read(Student stu[]) {fstream myFile;myFile.open(score.txt, ios::in | ios::binary);if (!myFile) {cout score.txt cant open! endl;abort();}int count;myFile.seekg(0);myFile count;for (int i 0; i count; i) {myFile stu[i].class_0 stu[i].num stu[i].name stu[i].elec stu[i].c_program stu[i].media stu[i].english stu[i].math stu[i].sport stu[i].polity stu[i].average;}myFile.close();return count; }void Input(Student stu[]) {system(cls);int i 0;int flag;char sign 0;cout endl 请输入学生成绩 endl;while (sign ! n sign ! N) {cout 班级;cin stu[i].class_0;loop:cout 学号;cin stu[i].num;int c 0;while (c i) {c;if (stu[i].num stu[i - c].num) {cout 您输入的学号已存在请重新输入。 endl;goto loop;}}cout 姓名;cin stu[i].name;do {flag 0;cout 电子技术成绩;cin stu[i].elec;if (stu[i].elec 100 || stu[i].elec 1) {cout 对不起请输入1-100之间的数字\n;}else {flag 1;}} while (flag 0);do {flag 0;cout C程序设计成绩;cin stu[i].c_program;if (stu[i].c_program 100 || stu[i].c_program 1) {cout 对不起请输入1-100之间的数字\n;}else {flag 1;}} while (flag 0);do {flag 0;cout 多媒体技术成绩;cin stu[i].media;if (stu[i].media 100 || stu[i].media 1) {cout 对不起请输入1-100之间的数字\n;}else {flag 1;}} while (flag 0);do {flag 0;cout 大学英语成绩;cin stu[i].english;if (stu[i].english 100 || stu[i].english 1) {cout 对不起请输入1-100之间的数字\n;}else {flag 1;}} while (flag 0);do {flag 0;cout 高等数学成绩;cin stu[i].math;if (stu[i].math 100 || stu[i].math 1) {cout 对不起请输入1-100之间的数字\n;}else {flag 1;}} while (flag 0);do {flag 0;cout 大学体育成绩;cin stu[i].sport;if (stu[i].sport 100 || stu[i].sport 1) {cout 对不起请输入1-100之间的数字\n;}else {flag 1;}} while (flag 0);do {flag 0;cout 马克思主义基本原理成绩;cin stu[i].polity;if (stu[i].polity 100 || stu[i].polity 1) {cout 对不起请输入1-100之间的数字\n;}else {flag 1;}} while (flag 0);stu[i].average (stu[i].elec stu[i].c_program stu[i].media stu[i].english stu[i].math stu[i].sport stu[i].polity) / 7;cout 平均分为 stu[i].averageendl;cout 提示是否继续写入学生成绩 ?(y/n);cin sign;i;}Write(stu, i); }void Statistic(Student stu[]) {system(cls);int n Read(stu);cout endl 输出学生统计数据 \n endl;cout --------------------------------------- endl;cout 班级 \t 学号 \t 姓名 \t 平均分 endl;cout --------------------------------------- endl;for (int i 0; i n; i)cout stu[i].class_0 \t stu[i].num \t stu[i].name \t stu[i].average endl;cout --------------------------------------- endl;system(pause); }void Lookup(Student stu[]) {system(cls);int n Read(stu);int s;int i 0;cout endl 查找学生成绩 endl;cout 请输入要查找学生的学号;cin s;while ((stu[i].num - s) ! 0 i n)i;if (i n) {cout 对不起无法找到该学生...... endl;}else {cout ---------------------------- endl;cout 班级 stu[i].class_0 endl;cout 学号 stu[i].num endl;cout 姓名 stu[i].name endl;cout 电子技术 stu[i].elec endl;cout C程序设计 stu[i].c_program endl;cout 多媒体技术 stu[i].media endl;cout 大学英语 stu[i].english endl;cout 高等数学 stu[i].math endl;cout 大学体育 stu[i].sport endl;cout 马克思主义基本原理 stu[i].polity endl;cout 平均分 stu[i].average endl;} }void Modify(Student stu[]) {system(cls);int n Read(stu);int s;int i 0;cout endl 修改学生成绩 endl;cout 请输入要修改成绩学生的学号;cin s;while ((stu[i].num - s) ! 0 i n)i;if (i n) {cout 对不起无法找到该学生...... endl;}else {cout ------------------------------------------------------------------------------------ endl;cout 班级 \t 学号 \t 姓名 \t 电子 \t C \t 多媒体 \t 英语 \t 数学 \t 体育 \t 政治 \t 平均分 endl;cout ------------------------------------------------------------------------------------ endl;cout stu[i].class_0 \t stu[i].num \t stu[i].name \t stu[i].elec \t stu[i].c_program \t stu[i].media \t stu[i].english \t stu[i].math \t stu[i].sport \t stu[i].polity \t stu[i].average endl;cout endl 请重新输入该学生成绩 endl;cout 电子技术成绩;cin stu[i].elec;cout C成绩;cin stu[i].c_program;cout 多媒体技术成绩;cin stu[i].media;cout 大学英语成绩;cin stu[i].english;cout 高等数学成绩;cin stu[i].math;cout 大学体育成绩;cin stu[i].sport;cout 马克思主义基本原理成绩;cin stu[i].polity;stu[i].average (stu[i].elec stu[i].c_program stu[i].media stu[i].english stu[i].math stu[i].sport stu[i].polity) / 7;cout 平均分 stu[i].average endl;char c;cout 是否保存数据 (y/n);cin c;if (c ! n c ! N)Write(stu, n);} }void Delete(Student stu[]) {system(cls);int n Read(stu);int s;int i 0, j ;cout endl 删除学生成绩 endl;cout 请输入要删除的学生的学号;cin s;while ((stu[i].num - s) ! 0 i n)i;if (i n) {cout 对不起无法找到该学生...... endl;}else {for (j i; j n - 1; j) {strcpy(stu[j].class_0,stu[j 1].class_0);stu[j].num stu[j 1].num;strcpy(stu[j].name, stu[j 1].name);stu[j].elec stu[j 1].elec;stu[j].c_program stu[j 1].c_program;stu[j].media stu[j 1].media;stu[j].english stu[j 1].english;stu[j].math stu[j 1].math;stu[j].sport stu[j 1].sport;stu[j].polity stu[j 1].polity;stu[j].average stu[j 1].average;}cout 提示已成功删除 endl;}Write(stu, n - 1); }void Insert(Student stu[]) {system(cls);int n Read(stu);char s0;cout endl 增加学生成绩 endl;while (s ! n s ! N) {cout 班级;cin stu[n].class_0;cout 学号;cin stu[n].num;cout 姓名;cin stu[n].name;cout 电子技术成绩;cin stu[n].elec;cout C成绩;cin stu[n].c_program;cout 多媒体技术成绩;cin stu[n].media;cout 大学英语成绩;cin stu[n].english;cout 高等数学成绩;cin stu[n].math;cout 大学体育成绩;cin stu[n].sport;cout 马克思主义基本原理成绩;cin stu[n].polity;stu[n].average (stu[n].elec stu[n].c_program stu[n].media stu[n].english stu[n].math stu[n].sport stu[n].polity) / 7;cout 平均分 stu[n].average endl;n;cout 是否继续插入(y/n);cin s;}Write(stu, n); }void Sort(Student stu[]) {system(cls);int i, j, k;float s;char t[20];cout endl 降序排列 endl;int n Read(stu);for (i 0; i n-1; i) {for (j 0; j n - 1; j) {if (stu[j].average stu[j 1].average) {//交换课程strcpy(t, stu[j 1].class_0);strcpy(stu[j 1].class_0, stu[j].class_0);strcpy(stu[j].class_0, t);//numk stu[j 1].num;stu[j 1].num stu[j].num;stu[j].num k;//namestrcpy(t, stu[j 1].name);strcpy(stu[j 1].name, stu[j].name);strcpy(stu[j].name, t);//elecs stu[j 1].elec;stu[j 1].elec stu[j].elec;stu[j].elec s;//c_programs stu[j 1].c_program;stu[j 1].c_program stu[j].c_program;stu[j].c_program s;//medias stu[j 1].media;stu[j 1].media stu[j].media;stu[j].media s;//englishs stu[j 1].english;stu[j 1].english stu[j].english;stu[j].english s;//maths stu[j 1].math;stu[j 1].math stu[j].math;stu[j].math s;//sports stu[j 1].sport;stu[j 1].sport stu[j].sport;stu[j].sport s;//politys stu[j 1].polity;stu[j 1].polity stu[j].polity;stu[j].polity s;//averages stu[j 1].average;stu[j 1].average stu[j].average;stu[j].average s;}}}cout ------------------------------------------------------------------------------------ endl;cout 班级 \t 学号 \t 姓名 \t 电子 \t C \t 多媒体 \t 英语 \t 数学 \t 体育 \t 政治 \t 平均分 endl;cout ------------------------------------------------------------------------------------ endl;for (int i 0; i n; i) {stu[i].order i 1;cout stu[i].class_0 \t stu[i].num \t stu[i].name \t stu[i].elec \t stu[i].c_program \t stu[i].media \t stu[i].english \t stu[i].math \t stu[i].sport \t stu[i].polity \t stu[i].average endl;}Write(stu, n); }void Output(Student stu[]) {system(cls);int n Read(stu);cout endl 显示全部学生成绩 endl;if (!stu) {cout 没有记录;}else {cout ------------------------------------------------------------------------------------ endl;cout 班级 \t 学号 \t 姓名 \t 电子 \t C \t 多媒体 \t 英语 \t 数学 \t 体育 \t 政治 \t 平均分 endl;cout ------------------------------------------------------------------------------------ endl;for (int i 0; i n; i) {cout stu[i].class_0 \t stu[i].num \t stu[i].name \t stu[i].elec \t stu[i].c_program \t stu[i].media \t stu[i].english \t stu[i].math \t stu[i].sport \t stu[i].polity \t stu[i].average endl;}cout ------------------------------------------------------------------------------------ endl;} }int menu() {char c;do {system(cls);cout ****************************************************** endl;cout ----------------欢迎使用学生成绩管理系统--------------- endl;cout * 【1】输入学生成绩 * endl;cout * 【2】显示统计数据 * endl;cout * 【3】查找学生成绩 * endl;cout * 【4】修改学生成绩 * endl;cout * 【5】删除学生成绩 * endl;cout * 【6】插入学生成绩 * endl;cout * 【7】按平均分排列 * endl;cout * 【8】显示学生成绩 * endl;cout * 【0】退出管理系统 * endl;cout ****************************************************** endl;cout 请选择您的操作 (0-8): endl;c getchar();} while (c 0 || c 8);return (c - 0); }int main() {for (;;) {switch (menu()) {case 1:Input(stu);break;case 2:Statistic(stu);break;case 3:Lookup(stu);system(pause);break;case 4:Modify(stu);system(pause);break;case 5:Delete(stu);system(pause);break;case 6:Insert(stu);system(pause);break;case 7:Sort(stu);system(pause);break;case 8:Output(stu);system(pause);break;case 0:cout endl 感谢您使用学生成绩管理系统\n endl;exit(0);}}return 0; }
http://www.pierceye.com/news/467970/

相关文章:

  • 官方网站后台图片下载怎么做网站开发与支付宝端口连接
  • 浏览器怎么打开网站服务器下载在线音乐网站开发摘要
  • 建网站拿到广告吉林整站优化
  • 怎么建站网站清远佛冈住房和城乡建设局网站
  • 领导高度重视门户网站建设广州引流推广公司
  • 公司网站建设吧个好wordpress增加搜索
  • 温州网站推广排名哪家购物网站建设好
  • 宿迁做网站公司哪家好中国建设监理协会化工监理协会网站
  • 网站建设广州天河常州企业自助建站系统
  • 厦门网站建设u贷款在线申请
  • 做肮脏交义的网站南宁住房和城乡建设局网站
  • 办网站需要什么my23777免费域名查询
  • 销售网站开发步骤网站域名到期了怎么办
  • 怎么做注册账号的网站网页打不开视频播放不了是什么问题
  • 江阴市住房和城乡建设局网站免费网页游戏poki
  • 个人网站设计网站建设的基本特点
  • 泉州专业做网站网站被k 原因
  • 18款禁用网站app直播建设部资质网站
  • 免费完整版的网站模板商丘行业网站建设开发公司
  • 网站与微网站区别推广通
  • 京东网站建设的意义wordpress美图
  • 佛山市外贸网站建设公司营销型网站建设 兼职
  • 四川省城乡与建设厅网站中国十大it培训机构排名
  • 国家高新技术企业查询网站汕头整站优化
  • asp网站生成静态在线网站软件免费下载
  • wordpress古腾堡编辑器广州建网站开发seo型企业网站
  • 易云巢做营销型网站wordpress下载视频播放器
  • google网站哪里找人做网站
  • 外贸网站建设如何做呢百度热搜风云榜
  • ASP网站建设实训报告总结山西建设公司网站