



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#include#include#include#includeusing namespace std;int w=0; /尾数累加器 int p=0; /指数累加器 int j=0; /十进制小数位数计数器 int e=1; /用来记录十进制数的符号,当指数为正时为1,为负时为-1 int i=0; /用来标志元素位置 int d=0; /用来表示每个数值型元素对应的数值 const int N=40;/用来确定输入识别符的最大长度char dataN;/存放输入的识别符 bool is_digit; /标志是否是数字 string CJ1;/确定是整形还是实型 double CJ2;/记数值 /函数声明 void check(char c);/检查首字母是否是数字的函数 void deal_integer(char c);/处理识别符的整数部分 void deal_point(char c);/用来处理小数部分 void deal_index(char c);/用来处理指数部分void s_next();/ 确定实型 void z_next();/确定整型 void last();/ 计算 CJ2void error();/程序中错误处理程序 void deal();/处理函数主体 int main() /主函数 coutplease input your data,and its maximum length is N:data; deal();/处理函数主体 last();/ 计算 CJ2 system(pause); return 0; void check(char c) /判断输入的首字母是否是数字 is_digit=isdigit(c); while(is_digit!=true)/输入的首字母不是数字时 coutnError! Try again.data; check(data0); void deal_integer(char c)/处理识别符的整数部分 d=(int)c-48; w=w*10+d; i+; if(isdigit(datai)!=0)/下一个仍是数值时,调用程序本身 deal_integer(datai); void deal_point(char c)/用来处理小数部分 int temp=i; if(isdigit(c)!=0)/是数值字符时 deal_integer(c); else error(); /错误处理程序 deal();/处理函数主体 j=i-temp;/记录十进制小数位数 void deal_index(char c)/用来处理指数部分 if(c=-) e=-1;i+;/是-号时 else if(c=+) i+;/是+ 号时 else if(isdigit(c)=false) /非数值字符时 error();/错误处理程序 deal();/处理函数主体 else d=(int)c-48;/把输入字符转换为整型 goto pro2; if(isdigit(datai)!=0)pro1: d=(int)(datai)-48;pro2: p=p*10+d; i+; if(isdigit(datai)!=0)/是数值字符时 goto pro1; else if(datai!=0)/非结束标志 error();/错误处理程序 deal();/处理函数主体 else s_next(); / 确定实型 void s_next()/ 确定实型 i-;/退一个字符 CJ1=实型; void z_next()/确定整型 i-;/退一个字符 CJ1=整型; void last()/ 计算 CJ2 CJ2=w*pow(double)10,e*p-j); coutCJ1: CJ2endl;/输出 void error()/程序中错误处理程序 coutnError! Try again.data; p=0;w=0;j=0; /所有全局变量重新初始化 e=1;i=0;d=0; /exit(0); void deal() check(data0);/判断输入的首字母是否是数字 deal_integer(datai);/处理识别符的整数部分 if(datai=.) deal_point(data+i);/用来处理小数部分 if(datai=e|datai=E)/如果是e或E时 deal_index(data+i);/用来处理指数部分 else if(datai!=0) error();/错误处理程序 deal();/处理函数主体 else s_next();/ 确定实型 else if(datai=e|datai=E)/如果是e或E时 deal_index(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学生烹饪入门知识培训课件
- 学员培训基础知识课件
- 学前卫生学维生素课件
- 二零二五年度跨境电商商品批发合同
- 二零二五年度大型水利工程爆破施工技术服务合同
- 二零二五年度廉洁科技创新合作合同
- 二零二五年度矿山安全生产技术服务承包合同范本
- 2025版房地产物业管理中介服务合同范本
- 二零二五年度地暖工程劳务分包合同(含质量保证)
- 二零二五年度仓储物流租赁服务合同
- 摄像基础知识入门
- 2025-2030全球PCBA纳米涂层行业调研及趋势分析报告
- 2024年老年脆性骨折护理(最终版本)
- GB/T 45098-2024营运纯电动汽车换电服务技术要求
- 《工程勘察资质标准(征求意见稿)》
- 体检中心沟通技巧课件
- 工作交接表模板
- 佛吉亚卓越体系知识手册
- 3.2 歌曲《牧童之歌》课件(9张)
- 可穿戴设备可靠性优化技术
- 小升初分班考必刷题(试题)-2023-2024学年六年级下册数学人教版
评论
0/150
提交评论