ImageVerifierCode 换一换
格式:DOC , 页数:85 ,大小:418KB ,
资源ID:9231170      下载积分:16 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/9231170.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(c加加动态数组加无限内存人员管理系统.doc)为本站上传会员【w****g】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

c加加动态数组加无限内存人员管理系统.doc

1、 c加加动态数组加无限内存人员管理系统 83 2020年4月19日 资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。 ”信息与计算科学”专业 《C++语言程序设计》课程设计 班级 计算科学 姓名 学号 指导教师

2、 设计日期 ·春·19周~20周 ( 一) 、 设计菜单选择程序。 菜单是应用程序的界面, 经过控制语句改变程序执行的顺序, 设计菜单是程序设计的基础。本设计分两步: 第一步: 设计一个菜单程序。 1. 菜单内容: 程序运行后, 给出3个菜单项的内容和输入提示, 如下: 1) 利用克莱姆法则求解线性方程组 2) 统计一篇英文文章的单词数 3) 退出程序 第二步: 为上述菜单项配上相应的功能。 开始 选择运算 求 解 线 性 方 程 组 求 解 单

3、 词 的 个 数 退 出 结束 1.流程图: 2.程序优缺点: 优点: 采用了 动态开辟二维数组, 传递不知道大小的二维数组, 程序规范, 可读性强。 缺点:采用递归算法, 增加了程序的时间复杂度。 3.代码段: #include #include #include #include using namespace std; double **open_up(int row

4、int line); double Price(int row,int line,double *a); void Head(); void Cramer(); void Statis_Words(); int main() { char ch; // 选择变量 while(1) { Head(); cout<<"\t\t选择要进行的程序: "<

5、m("cls");Cramer();break; case '2':system("cls");Statis_Words();break; case '3':system("cls"); cout << " 退出程序" << endl; exit(0);break; default :system("cls");cout<<"\t\t 输入有误 "<

6、程序 "<

7、

8、open_up(15,15); //动态开辟二维数组 double **T = open_up(15,15); //动态开辟二维数组 double **W = open_up(15,15); //动态开辟二维数组 double P[15] = {0.0},d[15] = {0.0}; cout << "\t\t克莱姆法则计算矩阵的值" << endl; cout << "输入所求线性方程组的系数矩阵"; cout << "输入行数m和列数n" << endl; cin >> m >> n; cout<<"输入矩阵"<

9、or(i = 0;i < m;i++) { for(j = 0;j < n;j++) { cin >> a[i][j]; } } cout<> d[i]; } for(i = 0;i < m;i++) { for(j =

10、0;j < n;j++) { e[i][j] = a[i][j]; } } for(j = 0;j < n;j++) { for(i = 0;i < m;i++) { a[i][j] = d[i]; } for(i = 0;i < m;i++) { P[j] = Price(n,n,(double*)a)/Quit; //强制类型转换 } cout << "x[" << j << "]=" << P[j] <

11、 //重置矩阵 { a[h][j] = e[h][j]; } } } void Statis_Words() { char ch = '\0'; int count = 0,word = 0; cout<<"输入一片英语文章 以零结尾\n "<= 0 && ch <= 64) || (ch >= 91 && ch <= 96) || (ch >

12、 122 && ch < 127)) //判断是否为 { word = 0; } else { if(0 == word) { word = 1; count++; } } } cout<<"文章一共有"<

13、 0,c = 0,p = 0,q = 0; double sum = 0; double **ele = open_up(row,line); //动态开辟二维数组 if(row == 1) { return *a; } for(i = 0;i < row;i++) //递归法求解行列式的值 { for(c = 0;c < row;c++) { if(c < i) { p=0; } else {

14、 p=1; } for(j = 0;j < row - 1;j++) { ele[c][j] = *( a+row*(c+p) + (j+1) ); } } if(i % 2 == 0) { q = 1; } else { q = -1; } sum += *(a+i*row+0) * q * Price(row-1,row-1,(double *)ele); }

15、 return sum; } double **open_up(int row,int line) // 动态开辟二维数组 { double **ele = new double *[row]; for (int i = 0; i < row; i++) { ele[i] = new double[line]; } return ele; } 4.程序运行截图: ( 二) 、 有理数的四则运算

16、 有理数就是两个整数的比率, 一般表示为, 分母不能为0。 本设计要求设计一个Rational( 有理数) 类, 实现有理数的四则运算, 该类型的对象使用起来要像使用基本类型的对象一样自然。具体要求如下: 1. 抽象Ration类, 包含两个数据成员( 分子、 分母) , 比如有理数能够用对象表示为。 2. 如果分子分母有公约数, 应该约分, 例如应表示为。根据需要, 有时要将表示为, 或者将表示为 重载相应的运算符( 输入、 输出、 加、 减、 乘、 除) 。比如, 要计算, 希望像普通加法一样操作, 和相加得, 算数表示式为。又如, 想使用如下形式直接输入分子

17、分母 cin << r ; //输入 cout >> r; //输出 则需要重载这两个流运算符。 1.流程图: 小数转换 转换 结束 执行减法 执行加法 执行乘法 开始 创立分数对象 执行除法 开始 开始 开始 创立分数对象 创立分数对象 创立分数对象 执行除法 执行除法 执行除法 执行乘法 执行乘法

18、 执行加法 执行加法 执行减法 2.程序优缺点: 优点: 采用了友元函数实现运算符重载, 使用windows命名规则程序规范, 可读性强, 使用外部接口让程序更安全。 缺点: 部分函数为类的友元函数, 破坏了类的完整性。 3.代码段: #include #include using namespace std; int gcd(int a, int b) ; class Ration { publ

19、ic: Ration(int a = 0,int b = 0):numer(a),denom(b) { } void decide (); void trans (); void input (); friend Ration operator -(Ration c1,Ration c2); friend Ration operator +(Ration c1,Ration c2); friend Ration operator *(Ration c1,Ration c2); friend R

20、ation operator /(Ration c1,Ration c2); friend int gcd(int a, int b); friend istream & operator >> (istream &in,Ration &c ); friend ostream & operator << (ostream &out,Ration &c ); private: int numer; int denom; }; void Ration :: trans () //转变为小数 { decide(); double c = (do

21、uble)numer/(double)denom; cout << "小数形式为 "<< c <

22、) { c3.denom = c2.denom; c3.numer = c1.numer + c2.numer; } else { c3.denom = c1.denom * c2.denom/gcd(c1.denom,c2.denom); c3.numer = c1.numer* c3.denom / c1.denom + c2.numer*c3.denom /c2.denom ; } return c3; } Ration operator -(Ration c1,Ration c2) { c1.

23、decide(); c2.decide(); Ration c3; if(c1.denom == c2.denom) { c3.denom = c2.denom; c3.numer = c1.numer - c2.numer; } else { c3.denom = c1.denom * c2.denom/gcd(c1.denom,c2.denom); c3.numer = c1.numer* c3.denom / c1.denom - c2.numer*c3.denom /c2.denom ; } re

24、turn c3; } Ration operator *(Ration c1,Ration c2) { c1.decide(); c2.decide(); Ration c3; c3.denom = c1.denom * c2.denom; c3.numer = c1.numer * c2.numer; return c3; } Ration operator /(Ration c1,Ration c2) { c1.decide(); c2.decide(); Ration c3; c3.nu

25、mer = c1.numer * c2.denom; c3.denom = c1.denom * c2.numer; return c3; } istream & operator >> (istream &in,Ration &c ) { //c.decide(); cout<<"输入分子分母\n"; in >>c.numer; cin.get(); in >> c.denom; return in; } ostream & operator << (ostream &out,Ration &c ) { //c.de

26、cide(); if(c.numer != 0) { int GCD = gcd(c.numer,c.denom) ; if(GCD <= 1) { out<

27、nt b) // 求最小公倍数 { int n = b; int c = a % b; while(c!=0) { a = b; b = c; c = a % b; } return b; } int main() { Ration A; Ration B; Ration c; cout << "请输入分数A"<> A; cout << "请输入分数B"<> B; cout <<"

28、B = " << B; cout <<" A = " << A; c = B / A; cout <<"c = B / A = "<

34、5)<

35、{ int a = 0,i = 0; cout<<"请输入编号:"; cin>>a; if(a <= 10) { for (i = 0;i < 10;i++) { if (w2[i].getnum()==a) { cout<<"name:"<

36、); } } } else { cout<<"编号错误差无此人"; } } int main() { Employee_one w1[10] = { Employee_one(1,"ci",'m',18),Employee_one(2,"cai",'m',19), Employee_one(3,"xi",'f',18),Employee_one(4,"su",'m',20), Employee_one(5,"li",'m',20),Employee_one(6,"yan",'m

37、',19), Employee_one(7,"yi",'m',18),Employee_one(8,"xiu",'m',21), Employee_one(9,"su",'m',17), Employee_one(10,"men",'m',22) }; Employee_two w2[10]= { Employee_two(1,"ci",'m',18,800),Employee_two(2,"cai",'m',19,700), Employee_two(3,"xi",'f',18,900),Employee_two(4,"s

38、u",'m',20,750), Employee_two(5,"li",'m',20,860),Employee_two(6,"yan",'m',19,900), Employee_two(7,"yi",'m',18,1000),Employee_two(8,"xiu",'m',21,680), Employee_two(9,"su",'m',17,1500),Employee_two(10,"men",'m',22,700) }; cout<<"职工信息数据显示如下:"; for(int i = 0;i < 10; i++)

39、 { Employee_one *p= w1+i; p->display(); cout << '\n'; } cout<<"\n"; cout<<"职工信息简表如下:\n"; for(int j = 0;j < 10;j++) { Employee_two *p = w2 + j; p->display(); cout<<"\n"; } cout<<"实际对象信息为: \n"; printer(w

40、2); cout<<"\n"; return 0; } 4.程序截图: ( 四) .高校人事管理系统: 1、 问题描述( 功能要求) : 某高校, 主要人员有: 在职人员( 行政人员、 教师、 双肩挑人员( 注: 教师编制, 担任领导职务) ) 、 退休人员、 返聘人员和临时工。现在, 需要存储这些人员的人事档案信息: 编号、 姓名、 性别、 年龄、 职务、 职称、 政治面貌、 最高学历、 任职时间、 来校时间。 要求: 1) 添加删除功能

41、 能根据学校人事的变动情况, 添加删除记录; 2) 查询功能: 能根据编号和姓名进行查询; 3) 编辑功能( 高级) : 根据查询对相应的记录进行修改, 并存储; 4) 统计功能: 能根据多种参数进行人员的统计( 在职人数、 党员人数、 女工人数、 高学历高职称人数) ; 5) 保存功能: 能对输入的数据进行相应的存储, 要求重载插入和提取符以完成数据的保存和打开。 6) 人员编号在生成人员信息时同时生成, 每输入一个人员信息, 编号顺序加1。 2、 问题的解决方案: 根据系统功能要求, 能够将问题解决分为以下步骤: 1) 应用系统分析, 建立该系统的功能模块

42、框图以及界面的组织和设计; 2) 分析系统中的各个实体及它们之间的关系包括属性和行为; 3) 根据问题描述, 设计系统的类层次; 4) 完成类层次中各个类的描述( 包括属性和方法) ; 5) 完成类中各个成员函数的定义; 6) 完成系统的应用模块; 7) 功能调试; 完成系统总结报告以及系统使用说明书。 高校人事管理系统包括的功能: 1.流程图 结束 动态增加容量 增加教职工 删除教职工 显示教职工 查找教职工 修改教职工 统计职务人数 执行销

43、毁函数退出 开始 选择函数 开始 开始 开始 选择函数 选择函数 选择函数 v 统计职务人数 删除教职工 增加教职工 查找教职工 显示教职工 修改教职工 执行销毁函数退出 执行销毁函数退出 修改教职工 显示教职工 查找教职工 增加教职工 删除教职工 统计职务人数 v 动态增加容量 结束 2程序优缺点: 优点:

44、 采用动态类数组建立, 并设立了数组的有效长度, 而且自动增加数组长度, 不必使用文件结构, 降低了空间复杂度, 代码规范可读性性强, 封装紧密, 安全。采用了《数据结构》链表的思想 缺点: 界面设计有所欠缺。部分函数算法还需加强 3程序代码: #include #include #include #include using namespace std; #define SIZE_INTE 10 // 初始类数组的长度 int usedsize = 0;

45、// 类数组的有效长度 class Personnel_Staff //人员类 { public: void Add(); //新增教职工信息 void Display(); //显示已有教职工信息 void Edit(); //修改教职工信息 bool Search(int Num ,char *Na); //查找教职工 void Delete(); //删除教职工信息 void State(); //统计信息 int GetSer_Number() { return S

46、er_Number; } int GetAge() { return Age; } int GetOff_Time() { return Off_Time; } int GetStart_Time() { return Start_Time; } char *GetName() { return Name; } char *GetSex() { return Sex;

47、 } char *GetJob() { return Job; } char *GetTitle_Po() { return Title_Po; } char *GetPol_Status() { return Pol_Status; } char *GetEdu_Certi() { return Edu_Certi; } private: int Ser_Number; //编号 int A

48、ge; //年龄 int Off_Time; //任职时间 int Start_Time; //来校时间 char Name[20]; //姓名 char Sex[20]; //性别 char Job[20]; //职务 char Title_Po[20]; //职称 char Pol_Status[20]; //政治面貌 char Edu_Certi[20]; //学历 }; //######

49、新增教职工信息 void Personnel_Staff::Add() { //Tusedsize = usedsize; int f = 1; cout << "##########新增职工档案#############" << endl; cout << "输入教职工编号: "; cin >> Ser_Number; //ser_Number = usedsize; cout << "输入教职工姓名: "; cin >> Name; co

50、ut << "输入教职工性别: "; cin >> Sex; cout << "输入教职工年龄: "; cin >> Age; while (1) { cout << "教职工分类( 行政, 教师, 双肩挑, 退休, 返聘, 临时工) : "; cin >> Job; if ( strcmp(Job,"行政") == 0 || strcmp(Job,"教师") == 0 || strcmp(Job,"双肩挑") == 0 || strcmp(Job,"退休") == 0 || strcmp(Job,

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服