16-23万元,全球首款量产激光雷达智能汽车——小鹏P5开启预售

16-23万元,全球首款量产激光雷达智能汽车——小鹏P5开启预售,第1张

2021粤港澳大湾区车展上,小鹏汽车正式公布了小鹏P5的预售价格区间和配置信息,其补贴后预售价为16-23万元,并于7月17日正式开启预售。

作为小鹏汽车在智能出行探索上的最新力作,小鹏P5共推出460G、460E、550G、550E、550P、600P等六款车型,新车预计在9月份正式上市。 

百变舒适智能家轿小鹏P5正式开启预售 

让智能触及到更多鹏友 

小鹏汽车一直致力于探索未来的出行方式,也相信智能汽车一定是未来的方向之一。在已有的小鹏G3i和小鹏P7的基础上,第三款新车型小鹏P5将进一步丰富产品型谱,让智能触及到更多的鹏友。

小鹏汽车联合创始人、总裁夏珩正式公布小鹏P5的预售价格

在2021粤港澳大湾区车展,小鹏汽车联合创始人、总裁夏珩正式公布小鹏P5的预售价格,并宣布小鹏P5开启预售。

结合续航/智能等级梯度 带来六大配置版本

作为全球首款量产激光雷达智能汽车,小鹏P5能实现目前最强的可量产化的自动辅助驾驶功能,从XPILOT 3.0进入到XPILOT 3.5时代。结合以Xmart OS 3.0为核心的智能数字交互座舱以及可以百变拓展的超大舒适乘坐空间,小鹏P5将能实现鹏友们对智能汽车的更多想象。

小鹏P5提供六种外观颜色

在车型配置上,小鹏P5共有460G、460E、550G、550E、550P、600P六种配置版本,提供星云白、天青绿、星湖灰、星辰红、星河紫、暗夜黑等六种外观颜色,满足鹏友们对于个性的追求。此外,小鹏P5也采用了小鹏汽车最新的车型配置命名方式,其中数字代表NEDC续航里程,英文P/E/N/G代表XPILOT智能等级梯度。

小鹏P5提供六种配置

其中,小鹏P5的460E/550E车型配备XPILOT 3.0硬件,拥有5个毫米波雷达、12个超声波传感器、13个自动辅助驾驶摄像头、1套亚米级高精定位单元。而小鹏P5的550P/600P车型配备XPILOT 3.5硬件,在460E/550E车型的硬件配置的基础上还增加了2个激光雷达;460E/550E车型和550P/600P车型均标配XPILOT2.5软件,可以通过购买软件服务升级至对应硬件级别的XPILOT自动驾驶辅助系统。 

在激光雷达的帮助下,小鹏P5将成为全球首款具备城市NGP(Navigation Guided Pilot,自动导航辅助驾驶)功能的智能汽车,NGP的适用范围也将从高速/快速路扩展至城市道路,一步一步朝着更加智能的自动驾驶方向努力。 

5000元意向金立享预售权益

小鹏P5预计9月份正式上市,并在10月底开启交付。目前通过小鹏汽车APP、官网、微信小程序等渠道,用户能以5000元意向金抢先预订小鹏P5。 

支付5000元意向金的预订用户可享受意向金翻倍、终身用电无忧礼包、上市礼包预先锁定、优先提车权、万元专属福利等五大预售权益。 

typedef suct lnode{ /*通讯录结构中结点的定义*/

char name[10]/*姓名*/

char addr[20]/*地址*/

char phnum[10]/*电话*/

suct lnode *next

}listnode,*linklist

linklist head=NULL,r=NULL/*定义头指针和尾指针*/

listnode *s,*p0,*p1,*p2,*p3,*p4,*p5,*p6,*p7

int i

char name1[10],ch

char s1[20]

FILE *fp/*定义文件指针*/

void creat() /*将文件的信息读入结构体数组在转存入链表中*/

{ int j

long k

fp=fopen("people.txt","r t")/*打开文件*/

if(fp!=NULL)

{for(i=1i<maxleni )

{ j=fgetc(fp)

if(j==EOF)

return

k=i-1

fseek(fp,k*sizeof(suct persons),0)/*读取一个人的信息*/

fread(&persons[i],sizeof(suct persons),1,fp)

s=(linklist)malloc(sizeof(listnode))/*装存入链表中*/

scpy(s->name,persons[i].name)

scpy(s->addr,persons[i].addr)

scpy(s->phnum,persons[i].phnum)

if(head==NULL) /*用尾插法将其插入链表中*/

head=s

else

r->next=s

r=s}

}

else

{ fp=fopen("people.txt","w")/*不能打开另开辟一个文件*/

i=1

}

}

void Show() /*显示所有的信息*/

{ p1=head

while(p1!=NULL)

{ printf("\n\n\tname:%s\n",p1->name)

printf("\n\n\taddr:%s",p1->addr)

printf("\n\n\tphnum:%s",p1->phnum)

p1=p1->next

}

}

void Delete() /*定义一个删除的函数*/

{ printf("\n\n\tplease input the name:")

gets(name1)/*输入要删除人的姓名*/

p4=head

if(scmp(p4->name,name1)==0)

{ p4=p4->next/*根据各种情况判断可能性*/

head=p4

}

else

{ while(scmp(p4->next->name,name1)!=0)

p4=p4->next

p5=p4->next

p4->next=p5->next

free(p5)

}

}

void Find() /*查找的函数定义*/

{ printf("\n\n\tplease input the name:")

p0=head

gets(name1)/*查找人的姓名输入*/

while(scmp(name1,p0->name)!=0&&p0!=NULL)

p0=p0->next

if(p0==NULL)

printf("\n\n\tIt is not exit in the addr-book!")

else

{ printf("\n\n\tname:%s\n",p0->name)

printf("\n\n\taddr:%s",p0->addr)

printf("\n\n\tphnum:%s",p0->phnum)

}

}

void Input() /*向通讯录中输入一个人的信息*/

{ s=(linklist)malloc(sizeof(listnode))

printf("\n\n\tplease input the sb's meg:")

printf("\n\n\t\tname:")

scanf("%s",s->name)

printf("\n\n\t\tAddr:")

scanf("%s",s->addr)

printf("\n\n\t\tphnum:")

scanf("%s",s->phnum)

if(head==NULL)

head=s

else

r->next=s

r=s

}

void Alter() /*改变一个人的信息*/

{

int j

printf("\n\n\tPlease input the name:")

gets(name1)/*输入要人的姓名*/

p3=head

while(scmp(name1,p3->name)!=0&&p3!=NULL)

p3=p3->next

if(p3==NULL)

printf("\n\n\tIt is not exit in the addr-book!")

else

{ printf("\n\n\tplease input the new meg!")/*输入要改人的新信息*/

printf("\n\n\t\tname:")

scanf("%s",name1)

scpy(p3->name,name1)

printf("\n\n\t\tAddr:")

scanf("%s",name1)

scpy(p3->addr,name1)

printf("\n\n\t\tphnum:")

scanf("%s",name1)

scpy(p3->phnum,name1)

}

}

void Save() /*保存信息*/

{ int j

fp=fopen("people.txt","w")

for(p2=head,j=0p2!=NULLj ,p2=p2->next)/*将信息装出入结构体数组在出入链表中*/

{ /*避免地址的出入,造成乱码文件*/

scpy(persons[j].name,p2->name)

scpy(persons[j].addr,p2->addr)

scpy(persons[j].phnum,p2->phnum)

fwrite(&persons[j],sizeof(suct persons),1,fp)

}

}

void main()

{ creat()

do

{ printf("\n\n\n\n\tWELCOME TO USE Pan Weifeng's Address book")/*显示提示的信息*/

printf("\n\n\t\tPlease make a choice below:")

printf("\n\t\t1.Show all the meg")

printf("\n\t\t2.Delete a piece of meg")

printf("\n\t\t3.Find a piece of meg")

printf("\n\t\t4.Insert a piece of meg")

printf("\n\t\t5.Alter a piece of meg")

printf("\n\t\t6.Save and Exit")

printf("\n\n\n")

printf("\tInput Your Choice:")

ch=getche()

switch(ch)

{ case '1': Show()/*用单条件多选择语句实现调用与循环*/

break

case '2': Delete()

break

case '3': Find()

break

case '4': Input()

break

case '5': Alter()

break

case '6': Save()

fclose(fp)

exit(0)

break

default:

printf("\n\t*********************************\n")

printf("\n\t The num should 1-4!!! \n")

printf("\n\t**********************************")

break

}

}while(1)

}

/*我认为我说的比较详细了吧!如果好的话就拿去用吧!*/

import java.awt.BorderLayout

import java.awt.Container

import java.awt.GridLayout

import javax.swing.JButton

import javax.swing.JFrame

import javax.swing.JPanel

import javax.swing.JTextField

/**

* 计算器的界面

*/

public class JiSuan extends JFrame {

/** 版本信息ID */

private static final long serialVersionUID = 1L

/** 界面上按键的数字 */

private final String[] NUMBER = { "9", "8", "7", "6", "5", "4", "3", "2",

"1", "0", "+/-", "." }

/** 界面行的运算符号 */

private final String[] KEYS = { "/", "sqrt", "*", "%", "-", "1/x", "+", "=" }

/** 界面行的其他命令 */

private final String[] COMMAND = { "Backspace", "CE", "C" }

/** 界面行的存储命令名 */

private final String[] M = { " ", "MC", "MR", "MS", "M+" }

/** 数字按钮 */

private JButton number[] = new JButton[NUMBER.length]

/** 运算符按钮 */

private JButton keys[] = new JButton[KEYS.length]

/** 其他指令按钮 */

private JButton command[] = new JButton[COMMAND.length]

/** 存储功能按钮 */

private JButton m[] = new JButton[M.length]

/** 文本框,用于模拟计算器的显示屏 */

private JTextField jt = new JTextField("0")

/**

* 构造函数

*/

public JiSuan() {

Container container = getContentPane()// 获取显示容器

container.setLayout(new BorderLayout())// 设置容器的布局管理器

JPanel p1 = new JPanel()// 创建数字按钮面板

p1.setLayout(new GridLayout(4, 3))// 设置面板的布局管理器为GridLayout

// 循环添加数字按钮

for (int i = 0i <NUMBER.lengthi++) {

number[i] = new JButton(NUMBER[i])//创建一个按钮

p1.add(number[i])//将按钮添加到面板上

}

JPanel p2 = new JPanel(new BorderLayout())// 创建运算符按钮面板

p2.setLayout(new GridLayout(4, 2))// 设置面板的布局管理器为GridLayout

// 循环添加运算符按钮

for (int i = 0i <KEYS.lengthi++) {

keys[i] = new JButton(KEYS[i])//创建一个按钮

p2.add(keys[i])//将按钮添加到面板上

}

JPanel p3 = new JPanel(new BorderLayout())// 创建存储功能按钮面板

p3.setLayout(new GridLayout(4, 1))// 设置面板的布局管理器为GridLayout

// 循环添加存储功能按钮

for (int i = 0i <M.lengthi++) {

m[i] = new JButton(M[i])//创建一个按钮

p3.add(m[i])//将按钮添加到面板上

}

JPanel p4 = new JPanel(new BorderLayout())// 创建一个总的面板,将前面创建的3个面板加入到其中

p4.add(p3, BorderLayout.WEST)//加入存储功能按钮面板,在左边

p4.add(p1, BorderLayout.CENTER)//加入数字按钮面板,在中间

p4.add(p2, BorderLayout.EAST)//加入运算符按钮面板,在右边

JPanel p5 = new JPanel(new BorderLayout())// 创建其他功能按钮面板

p5.setLayout(new GridLayout(1, 3))// 设置面板的布局管理器为GridLayout

// 循环添加其他功能按钮

for (int i = 0i <COMMAND.lengthi++) {

command[i] = new JButton(COMMAND[i])//创建一个按钮

p5.add(command[i])//将按钮添加到面板上

}

JPanel p6 = new JPanel(new BorderLayout())// 创建一个总的面板,将前面创建的2个面板和用做屏幕的文本框加入到其中

p6.add(jt, BorderLayout.NORTH)// 加入文本框,在上面

p6.add(p5, BorderLayout.CENTER)//加入其他功能按钮面板,在中间

p6.add(p4, BorderLayout.SOUTH)// 加入上面创建的按钮总面板,在下面

container.add(p6, BorderLayout.EAST)//将完整的计算器界面加入显示容器中

container.add(new JButton("开发中..."), BorderLayout.CENTER)// 在显示容器中添加一个按钮,按钮文字为开发中...

}

/**

* 主函数入口

*

* @param args

*/

public static void main(String[] args) {

JiSuan ji = new JiSuan()// 创建一个计算器界面

ji.setTitle("窗口布局")// 设置TItle

ji.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)// 设置默认的关闭动作

ji.setSize(400, 200)// 设置计算器窗口的尺寸

ji.setVisible(true)// 将计算器界面显示出来

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7776583.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存