程序设计第三次作业附加 代码规范
2016-03-19 14:01
471 查看
题目:第三次作业附加
myGithub
我的程序设计第三次作业
2016/3/23
myGithub
我的程序设计第三次作业
Calculator.h
//==============================// //文件名称:calculator.h //作者:031502209 //时间:2016/3/23 //博客:qq952693358 //==============================// #ifndef CALCULATOR_H #define CALCULATOR_H #include<string> #include<queue> #include<stdlib.h> #include<iostream> using namespace std; //==============================// //class:Input //包含:输入函数Get //函数类型:string //说明:输入函数单独放在这个类里 //==============================// class Input { public: string Get(); }; //===============================// //class:Print //包含:输出函数Get //函数类型:queue<string> //说明:输出函数单独放在这个类里 //===============================// class Print { public: void pout(queue<string> que); // type:queue<string> }; //===============================// //class:Scan //包含:函数ToStringQueue //函数类型:queue<string> //说明:输出函数单独放在这个类里 //===============================// class Scan { // private section public: queue<string>ToStringQueue(string input);//type:queue<string> }; #endif // CALCULATOR_H
Calculator.cpp
#include "calculator.h" // class's header file #include<string> #include<queue> #include<stdlib.h> #include<iostream> using namespace std; int t=0; // Using global variable "t"; string Input::Get() { string s; cin>>s; return s; } queue<string> Scan::ToStringQueue(string input) { // type:queue<string> int n=input.length(); int i,j; queue<string> que; string s; for(i=0 ; i<n ; i++) // Error: n has no define; { if(t>10) // such as "10,000,000,000" { cout<<"Error"<<endl; break; } if(input[i] == '-' || input[i] == '+' || input[i] == '(' || input[i] == ')' || input[i] == '/' || input[i] == '*') { t=0; //stop the count if(s!="") //avoid null string que.push(s); s=""; //s.clear(); s+=input[i]; que.push(s); s=""; } else { t++; s+=input[i]; continue; } } que.push(s); s.clear(); return que; } void Print::pout(queue<string> que) { if(t <= 10) // ifnormal { while(que.empty() == 0) // "que" is not empty { cout << que.front() << endl; que.pop(); } } } int main() { queue<string> que; // type:queue<string> Scan Sc; // Define a "Scan" object:"Sc". Print Put; // Define a "Print" object "Put". Input Ge; // Define a "Input" object "Ge". string input; input=Ge.Get(); // receieve input. que=Sc.ToStringQueue(input); // receieve que. Put.pout(que); // printf que. return 0; } // example: // -100+(98-97)*2
2016/3/23
相关文章推荐
- phpadmin增加使得项目能连接数据库
- C#中的try catch finally
- 程序设计第三次作业---C++计算器雏形
- 《C语言程序设计》指针篇<二>
- 《C语言程序设计》指针篇<一>
- 《算法竞赛入门经典》刘汝佳 C语言部分(前四章)“注解与习题” 之思索 <1>
- was(websphere) spring logging problem
- Java 静态代码块、代码块、构造函数、静态Field声明执行顺序
- C#中的string驻留池
- C#中的Attribute Property区别
- ASP.NET中的Webconfig 和 Global.asax区别
- 阻止PotPlayer播放器自动更新
- Python 学习笔记三
- C#中的全局程序集缓存定义
- [C++] Strategy Pattern 实作
- 我的Python成长之路---第七天---Python基础(21)---2016年2月27日(晴)
- 20145240《Java程序设计》第三周学习总结
- 胡谈编程语言:从C语言到Julia
- python中的静态方法和类方法
- python中的静态方法和类方法