//学生成绩管理
//文件名:橘链main.cpp
//------!!!!!!---------BOF-[程序代码开始]-------------------
#include<iostream>
#include<string>
using namespace std
//=============<开始定义结构体>===================================================
struct combox
{
int num
int mark
string name
combox *next
}
//=============<结束定义结构体>===================================================
//=============<开始定义Commonbox类>==============================================
//-----类体开始------------------------
class Commonbox
{
private:
combox *head
void Swap(combox *,combox *)//交换两个combox变量的数据域
void Print(combox *)//输出一combox指定的记录
combox *Find(int)//查找条例条件的记录,并返回该记录的指针宽伍虚
public:
Commonbox()
{
head=NULL
}
int ListCount()//统计当前链表的记录总数,返回一个整数
void AddItem(int num, string name, int mark)//添加一条记录到表尾
void RemoveItem(int)//删除一条指定的记录
void List()//列出当前链表中的所有记录
void Sort()//对当前链表进行排序
void Search(int)//在当前链表查找指定记录并输出
float Average()//计算平均成绩
}
//-----类体结束------------------------
//-----类成员函数开始----------------------------------
int Commonbox::ListCount() //统计当前链表的慎燃记录总数,返回一个整数
{
if (! head)return 0
combox *p=head
int n=0
while (p)
{
n++
p=p->next
}
return n
}
void Commonbox::AddItem(int num, string name, int mark) //添加一条记录到表尾
{
if (! head)
{
head=new combox
head->mark=mark
head->num=num
head->name=name
head->next=NULL
return
}
combox *t=head
while (t &&t->num!=num)
t=t->next
if (t)
{
cout<<" *** 作失败:学号为"<<num<<"的记录已经存在!"<<endl
return
}
combox *p=head
while (p->next)p=p->next
combox *p1=new combox
p1->num=num
p1->mark=mark
p1->name=name
p1->next=NULL
p->next=p1
return
}
void Commonbox::RemoveItem(int num) //删除一条指定的记录
{
combox *t=Find(num)
if (! t)return
combox *p=head
//如果要删除的记录位于表头
if (head==t)
{
head=head->next
delete p
cout <<"成功删除学号为 "<<num<<" 的记录!"<<endl<<endl
return
}
while (p->next!=t)p=p->next
combox *p1=p->next
p->next=p1->next
delete p1
cout <<"成功删除学号为 "<<num<<" 的记录!"<<endl<<endl
return
}
void Commonbox::Print(combox *p) //输出一combox指定的记录
{
cout<<p->num<<"\t\t"
cout<<p->name<<"\t\t"
cout<<p->mark<<endl
return
}
void Commonbox::List() //列出当前链表中的所有记录
{
if (ListCount()==0)
{
cout <<"错误:当前的列表为空!"<<endl
return
}
combox *p=head
cout<<"共有记录:"<<ListCount()<<endl
cout<<"学号\t\t姓名\t\t分数"<<endl
while (p)
{
Print(p)
p=p->next
}
cout <<endl
return
}
void Commonbox::Search(int num) //在当前链表查找指定记录并输出
{
cout <<"Searching...."<<endl
combox *p=Find(num)
if (p)
{
cout<<"学号\t\t姓名\t\t分数"<<endl
Print(p)
}
cout <<endl
}
combox *Commonbox::Find(int num)
{
if (ListCount()==0)
{
cout <<"错误:当前的列表为空!"<<endl
return NULL
}
combox *p=head
while (p)
{
if (p->num==num)break
p=p->next
}
if (! p)
{
cout <<"错误:找不到该记录!\n"
return NULL
}
return p
}
void Commonbox::Swap(combox *p1, combox *p2) //交换两个combox变量的数据域
{
combox *temp=new combox
temp->num=p1->num
temp->mark=p1->mark
temp->name=p1->name
p1->num=p2->num
p1->mark=p2->mark
p1->name=p2->name
p2->num=temp->num
p2->mark=temp->mark
p2->name=temp->name
}
void Commonbox::Sort() //对当前链表进行排序
{
cout <<"Sorting..."<<endl
if (ListCount()<2) return
combox *temp=NULL,*p=NULL,*p1=NULL,*p2=NULL,*k=NULL
int n=ListCount(),i,j
p=head
for (i=1i<ni++)
{
k=p
p1=p->next
for (j=0j<n-ij++)
{
if (k->num >p1->num)
{
k=p1
}
p1=p1->next
}
if (p!=k)Swap(k,p)
p=p->next
}
cout <<"Complete successfully!"<<endl<<endl
return
}
float Commonbox::Average() //计算平均成绩
{
if (ListCount()==0)
{
cout <<"错误:当前的列表为空!"<<endl
return -1
}
int sum=0,n=0
combox *p=head
while (p)
{
sum += p->mark
p=p->next
n++
}
return float(sum)/n
}
//-----类成员函数结束----------------------------------
//=============<结束定义Commonbox类>==============================================
Commonbox student//定义全局变量
int Menu()
{
cout <<"===========[主选单:]==========="<<endl
int n=1,select=-1
cout <<n++<<".输入学生成绩"<<endl<<endl
cout <<n++<<".按学号排序"<<endl<<endl
cout <<n++<<".按学号查找记录"<<endl<<endl
cout <<n++<<".删除由学号指定的记录"<<endl<<endl
cout <<n++<<".列出所有记录"<<endl<<endl
cout <<n++<<".计算平均成绩"<<endl<<endl
cout <<"0.退出"<<endl<<endl
cout <<"[请选择(输入相应数字)]:"
cin >>select
return select
}
char Exit() //返回一个字符患,用于确认退出
{
char s
cout<<"确定要退出程序吗?[Y/N]:"
cin >>s
return s
}
void Input(int *num, string *name, int *mark) //输入学生信息
{
cout <<"请输入 学号 姓名 分数:"
cin >>*num
if (*num==-1)return
cin >>*name>>*mark
return
}
void AddNew() //增加记录
{
int num=0,mark=0
string name=""
cout<<endl<<"当输入的学号为-1时表示结束输入."<<endl
Input(&num, &name, &mark)
while (num!=-1)
{
student.AddItem(num,name,mark)
Input(&num, &name, &mark)
}
return
}
void DoFind() //按学号查找
{
int num
cout<<endl<<"当输入的学号为-1时表示结束输入."<<endl
do
{
cout <<"请输入要查找的学生的学号: "
cin>>num
if (num==-1)continue
student.Search(num)
}
while (num!=-1)
return
}
void DoDelete() //删除记录
{
cout<<endl<<"当输入的学号为-1时表示结束输入."<<endl
int num
do
{
cout <<"请输入要删除的学生的学号:"
cin>>num
if (num==-1)continue
student.RemoveItem(num)
}
while (num!=-1)
return
}
void ShowAverage() //输出平均数
{
float avr=student.Average()
if (avr>0)
{
cout<<"共有记录:\t"<<student.ListCount()<<endl<<endl
cout<<"平均成绩:\t"<<avr<<endl<<endl
}
return
}
//-------******<主函数开始>******-------
int main()
{
cout<<"Welcome!\n学生成绩管理系统\nVer 1.01\nBy FondBoy\n\n"
int select
char s
while (1)
{
select=Menu()
switch (select)
{
case 0: //退出程序
s=Exit()
if (s=='y' || s=='Y')return 0
break
case 1: //输入学生成绩
AddNew()
break
case 2: //按学号排序
student.Sort()
break
case 3: //按学号查找记录
DoFind()
break
case 4: //删除由学号指定的记录
DoDelete()
break
case 5: //列出所有记录
student.List()
break
case 6: //输出平均成绩
ShowAverage()
break
default:
cout<<"无效输入!"<<endl
}
}
return 0
}
//-------******<主函数结束>******-------
//------!!!!!!---------EOF-[程序代码结束]-------------------
支付宝岁渗拍照识花调用识花小程序。近日支付宝手机上推荐小程序就有一个名为前咐“形色识花”的小程序,能够利用AR识花乎悔脊和相册上传两种方式来识别。想要现场拍摄可以选择AR模式,也可以从相册里上传图片来识别花的种类。
本周大新闻,AR方面,IDC报告预计2019年亚太地区在AR和VR领域的支出将达75亿美元,较去年增长100%;西蒙地产与Niantic旗下AR 游戏 合作,将旗下商场变成 游戏 补给点;微信小程序开放第三方AR引擎接入;微软SwiftKey推3D人脸识别动态表情,类似苹果Animoji;Vuzix Blade支持海外版微信和抖音等应用;三星Note 10邀请函曝光显示或与AR 游戏 《哈利波特》有关联。
VR方面,江西省政府发布了虚拟现实产业发展规划(2019-2023);Steam VR用户突破Steam总玩家1%,创新高;沃尔玛再将VR用于中层员工选拔和考核;韩国LG U+将推出5G云VR 游戏 服务,号称全球首家提供该服务;HTC成立Vive企业解决方案部门;VR 游戏 《OrbusVR》宣布推出免费版,以此刺激玩家下载体验。
融资方面,工业AR头显厂商RealWear宣布获得8000万美元B轮融资,资金将用于进一步扩展市雹拆好场;日本VR解决方案公司Geocreates获新融资,金额未透露。
AR|IDC:2019亚太XR规模将达75亿美元
据IDC最新报告预测,2019年亚太地区在AR和VR领域的支出将达75亿美元,较去年增长100%,还预测C端和B端市场对AR/VR产品和服务的支出在5年内(2018到2023)的复合年增长率将达81%,其中C端对AR/VR的支出将在5年内(2018-2023)带来70%复合年增长率。
AR|西蒙地产与Niantic旗下AR 游戏 合作
美国最大的商业地产公司:西蒙地产近期表示将和Niantic就LBS AR 游戏 《哈利波特:巫师联盟》合作,其通过Niantic将前者旗下商场编程 游戏 补给点,从而通过带动商场客流进而弥补收益下滑的百货公司。
AR|微信小程序加入AR功能
本周,微信公布在其小程序已经支持AR模式,并结合阿玛尼推出AR试妆体验。其模式基于第三方AR引擎(需入驻微信平台),其它服务商可与入驻引擎合作。源铅不过,就现有AR体验来看,效果一般。
AR|CBS推自家AR广告解决方案
近期,CBS互动宣布将于Unity合作,为广告主提供可集成于CBS移动端应用的AR广告解决方案。通过此次与Unity合作,CBS希望让品牌通过定制的AR广告来吸引更多受众。
AR|ARKit 3支持FaceTime注视感知校正
近期,苹果ARKit 3一项FaceTime注视感知校正功能浮出水面,该功能意在通过A12及更新设备和具备原深感相机的iOS设备,结合机器学习技术改善你在视频通话时视线盯屏幕眼神向下的物理尴尬。
AR|微软SwiftKey推3D人脸识别动态表情
微软本周宣布将在旗下输入法SwiftKey中加入类似于苹果Animoji的3D定制表情:Puppets。据悉,Puppets表情基于AI人脸识别,可实时识别和模拟你的微笑、张嘴等表情,并制作熊猫、猫、狗、猫头鹰或恐龙5款3D动态表情,供你与朋友分享。
AR|Vuzix Blade应用数增至45款
Vuzix本周宣布Blade AR智能眼镜的原生应用数增至御含45个以上,是最初发布的2倍以上,并且已经支持微信和Tiktok。同时Vuzix也在举行应用开发比赛,后续也将会有更多应用上线。
AR|安卓短信内置AR滤镜功能曝光
外媒XDA有网友发现了谷歌最新版系统中发现了一个位于短信界面的AR滤镜功能,目前处于测试中,且共仅有5款滤镜,整个 *** 作体验和Sanpchat很类似。
AR|SwimAR泳镜显示模块发布
近日,伦敦Imaginationa Factory公司推出一款名为SwimAR的游泳显示附加模块,其采用索尼SmartEyeglass智能眼镜的显示技术,作用是可以让游泳运动员在训练过程中能够在眼前看到时间、目标速度、距离等实时训练数据,特点是轻便、灵活且符合流体力学。
AR|斯坦福大学研发自动调焦老花镜
为了帮助患有老花眼的人看得更清,斯坦福科研人员在近期研发了一种自动聚焦眼镜原型,其采用支持多焦距的Optotune EL-30-45透镜材料,搭配Pupil Labs的眼球追踪模块和RealSense R200 3D传感器,特点是能够模拟人眼的自然调节和聚焦。
AR|NASA新战机将支持AR模式
据悉,洛克希德·马丁和NASA正研发一款非常规的V形飞机机体,原型代号X-59,特点是头部采用了扁平的”鸭嘴型“设计,且前方采用半小面积飞机窗设计,并且结合独特的计算机视觉系统XVS,能直接将外部情况结合计算机以标注形式显示在机舱内的4K显示屏上。
AR|科研人员用HoloLens练习土卫六登陆
NASA宣布启动土卫六探测计划,计划于2025年派出“蜻蜓”无人机去执行 探索 任务。为帮助“蜻蜓”做足登陆泰坦星的准备,约翰霍普金斯大学的科研人员采用HoloLens在AR中模拟无人机登陆泰坦星表面。
AR|三星Note 10邀请函曝光或与AR有关
近期三星Note 10手机邀请函被媒体曝光,这是一套魔幻的羽毛笔套装,并且显示:魔法即现,亲眼所见字样,结合此前三星投资Niantic时就有预测,看来Note 10与AR 游戏 《哈利波特:巫师联盟》结合有很大可能。
VR|江西省VR产业发展规划(2019-2023)发布
本周,江西省人民政府办公厅下发了关于印发江西省虚拟现实产业发展规划(2019-2023年)的通知,文中提到:江西省将全方位推动VR产业发展,打造VR产业的“江西高地”,本规划从发展基础和形势、总体思路和发展目标、发展重点、重大工程、保障措施这五个方面进行展开。
VR|Steam VR用户突破总玩家1%
根据Steam平台官方统计数据,2019年6月,VR活跃用户占Steam平台活跃玩家总量约1%,与上个月0.99%数据相比微弱上涨0.01个百分点,再创新高。
VR|沃尔玛将VR用于中层选拔和考核
继去年沃尔玛大批采购VR用于培训外,沃尔玛又在通过VR技术用于挑选中层管理人员的绩效考核中。据悉,测试者将在VR中应对愤怒的顾客、混乱的货架或表现不佳的员工等情境,VR系统会生成对其优势、弱点和潜力等方面的评估。
VR|日航将用VR辅助飞机维修人员培训
日本航空(JAL)本周宣布将在飞机维修人员考核培训中结合VR技术。据悉该VR培训项目由日本航空和东芝联合开发,他们在VR中模拟了飞机引擎测试的全过程。
VR|韩国LG U+将推出5G云VR 游戏 服务
7月3日消息,近期韩国运营商LG U+将于今年内推出基于5G的云VR 游戏 服务,并宣称是全球首家提供该服务的公司。目前,其已经率先在门店提供试体验服务。
VR|HTC成立Vive企业解决方案部门
7月2日消息,HTC宣布成立Vive企业级解决方案部门,据悉HTC将打造一整套商用VR产品战略,包括在VR培训、VR协作、VR设计等方面提供整套解决方案,而不单单是VR硬件。
VR|Valve公布Index CAD文件
Valve本周在GitHub上公布Index头显、手柄、基站的CAD模型,以供开发者对自己的Index设备进行改造。Valve公布的模型文件包括:高分辨率STP格式文件和用于快速预览的低分辨率STL文件、相关尺寸图、配件范例。
VR|迪士尼D23将推出全新VR项目
在两年一度的D23展会上,将迎来迪士尼百老汇25周年庆典,据悉本次将带来一个全新的VR项目,你将会看到大量迪士尼经典角色,包括:阿拉丁、冰雪奇缘、狮子王等并由百老汇知名演员出演。
VR|Esqapes推出沉浸式VR+Spa项目
据悉,美国加州刚刚成立一家名为Esqapes的VR Spa按摩店,该店特色是将VR与按摩椅结合,通过VR模拟不同场景带给沉浸式环境。
VR|苹果更新PrimeSense 3D扫描专利
近期苹果在欧洲申请了一项延续型专利,其包括PrimeSense部分3D扫描的更新。主要变更是引入VCSEL,并且对激光光束直径、角度、汇聚有一定说明,同时要求激光波长大于900nm的部分要求透明,半导体材质基底要求0.5mm厚等等。
VR|Varwin推出了一套VR管理系统
Varwin公司近期推出了一套适用于打通VR开发商和客户对接的VR平台,其通过可视化界面来方便客户进行调整,并且方便VR开发商进行VR内容的迭代更新等 *** 作,大大降低VR商用过程中不必要的沟通成本。
VR|《Sansar》将与Monstercat合作
VR社交平台《Sansar》制作方Linden Labs,近期宣布将和Monstercat(电子舞曲音乐公司)合作,表示将现场音乐和 娱乐 项目引入《Sansar》,并将设立专门房间用于粉丝见面,演唱会等。
VR|《神秘博士》VR 游戏 公开幕后花絮
继VR短片《神秘博士》后,BBC又推出了一款以神秘博士为主题的VR 游戏 :《神秘博士:时间的边缘》, 游戏 将于9月29日登陆PS VR、Oculus Rift/Rift S、HTC Vive。近期,还公布了 游戏 开发的幕后花絮和宣传片。
VR|《VR乒乓球Pro》9月上线
开发商Reddoll Srl, IVP新作《VR乒乓球Pro》将于9月份上线,也是2016年发布的《VR乒乓》续作。细节方面,《VR乒乓球Pro》共内置8个关卡, 游戏 场景也更为逼真,支持主流PC VR和PS VR。
VR|《Sairento VR》将登陆PS VR平台
新加坡工作室Mixed Realms开发的第一人称战斗类VR 游戏 《Sairento VR》(中文名:《默者VR》)将于本周在欧洲地区的PS VR商店发布,并将于下周在北美地区上线。
VR|VR 游戏 《OrbusVR》推出免费版
MMO VR 游戏 《OrbusVR:Reborn》近期宣布该作将提供免费下载版本,通过先免费体验后购买刺激玩家下载,免费版玩家可免费升级到10级,之后如果你想在体验将收取一次性下载费用,目前的付费(指购买 游戏 )玩家可升级至30级,这也是两者区别。
VR|《Gran Turismo》续作或将支持VR
知名赛车 游戏 《Gran Turismo》的开发商Polyphonny Digital公司CEO Kazunori Yamauchi近期表示:《Gran Turismo》续作已经进入开发阶段,同时还谈到他认可VR,并表示VR比较适合模拟驾驶类 游戏 。似乎意味着,《Gran Turismo》续作有望支持VR模式。
VR|VR小 游戏 合集《RADtv》8月2日上线
Ruffian Games本周宣布多人对战VR 游戏 《RADtv》将于8月2日登陆Steam,该作由5个不同主题的25个小 游戏 组成,包括:向僵尸扔黑胶碟片、朝饥饿的嘴里扔食物、在酒吧里用q快速决斗,都是风格简单有趣的类型。
VR|索尼或开发新款PS VR 游戏
索尼互娱伦敦工作室本周在Twitter宣布将开发新款PlayStation 游戏 ,并寻求 游戏 逻辑程序员和AI程序员,加入《Blood&Truth》开发团队。考虑到《Blood&Truth》是一款VR 游戏 ,猜测其可能在开发另一款VR 游戏 。
融资|RealWear获8000万美元B轮融资
7月2日,工业AR头显厂商RealWear宣布获得8000万美元B轮融资,本轮融资由自动测试设备厂商泰瑞达领投,本轮融资由股票和债券两种形式组成,预计将用于进一步扩张市场,并加速平台开发。
融资|VR解决方案公司Geocreates获新融资
日本VR解决方案公司Geocreates宣布获得来自日本富国物产的一笔新融资,具体金额未公开,至此其总融资已超过1亿日元。据悉,本轮融资将会用于发展其SaaS VR工具ToPolog的开发和运营规模,并将VR/AR解决方案扩展到建设、生产和零售领域。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)