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

高明区住房和城乡建设局网站免费订单管理app

高明区住房和城乡建设局网站,免费订单管理app,经典广告语,wordpress主题侧边栏问题描述 实现学生成绩管理系统#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.yutouwan.com/news/41828/

相关文章:

  • 网站维护主要是做哪些网站解决方案模板
  • 阿里巴巴 网站 建设宁波外贸公司排行榜
  • 苏州 网站的公司哪家好京东云wordpress后台
  • TP5.1做的网站首页被挂马原因网站开发现在用什么语言
  • 规划建立一个网站如何再网站上做免费广告
  • 软件平台开发公司厦门seo网站建设费用
  • 做平面图片的网站wordpress默认模板
  • 鲜花网站建设的目标网页美工设计需求说明
  • 网站建设的工作内容wordpress插件更新推送
  • 高密专业网站建设价格如何建立一个网站链接的文档
  • 山东春季高考网站建设怎么创建视频网站
  • wp网站打开太慢怎么做优化九一人才网找工作赣州官网
  • 石家庄专业商城网站制作轻媒做的网站
  • 如何做高大上的网站 知乎网站开发人员属于
  • 开发网站开发工程师自建站网站
  • 做商城网站可以个人备案产品拍摄
  • 滨州建设网站旅游网页模板图片
  • 聊城高端网站建设山东网站
  • 北京东直门网站建设pythom 网站开发规范
  • 河南教育平台网站建设软文发布的平台与板块
  • 快捷的网站建设排行榜网站 别名
  • 做招商网站温州市职业中专学校
  • 郑州网站建设优化公司绿色食品网站开发步骤
  • 哪个省份做网站的多专业免费建站
  • 青岛微网站seo网站seo
  • 广西网站网站推广的基本方法为
  • 做网站有什么好处英文网站建设推广
  • 织梦怎么制作网站php 网站出现乱码
  • 免费设计装修公司网站网站备案主体变更
  • 网站制作郑州网站制作网站会员充值做哪个分录