zoukankan      html  css  js  c++  java
  • 转型第一步

    题目连接

    分析:

    根据对于自我代码的分析,我总体上归纳出三类,一类是关于表达式的生成,一类是关于文件的读写,一类是关于语言的选择。

    以下为我的分类:

    • 表达式类:随机数字,随机运算符,随机数计算,生成表达式,结果计算。
    • 读取类:题数,输出流文件,输入流文件,答案判断错误。
    • 语言类:语言类型输入,初始化语言选择,界面输出。

    协作关系:

    主函数主要代码(具体没有实现)

    #include "allclass.h"
    #include<iostream>
    using namespace std;
    int main()
    {
    	//创建对象
    	expresses ex;
    	Language lan;
    	R_and_W file;
    	int n, i, j, k;//一些传入变量
    	double ans;//答案
    	char c;//一些传入变量
    	char * express = new char[20];//一些传入变量
    	/*
    	主要使用通过信息传递:
    
    	lan.scanf();//开始界面
    
    	file.readFile(char * s);//读取题数
    
    	express=ex.generateExpression();//得到表达式
    
    	an=ex.calculateResult();//得到答案
    
    	sum+=file.Coutright(double answers, double inputerswner);//判断错误
    
    	lan.Choose();//选择语言输出
    
    	file.writeFile();//写入文件中
    
    	*/
    	return 0;
    }
    

    类的主要内容:

    
    class expresses {//表达式类
    private:
    	char a[4];//个位数整数
    	char oper[3];//运算符
    	char change(int x);//随机数转变成运算符 
    	char randomNumber();//用于随机生成数字
    	char randomOperation();//用于随机生成运算符
    	int IsOperator(char c);// 判断是否为运算符 
    	int Priority(char oper1, char oper2);//运算符比较 
    	double calculate(double a, int oper, double b);//两个数的计算 
    public:
    	double calculateResult(char *express);//用于计算结果
    	char * generateExpression(/*char num[], char o[]*/);//用于生成运算式-里面可以改成无参数-因为是private
    };
    
    class Language//语言类
    {
    private:
    	char language;
    	ifstream inf;//读取语言文件
    public:
    	void set(char c);//外界传入
    	void scanf();//初始界面选择语言
    	void Choose(char c, int a);//语言选择,以及选择输出 错误 或 正确
    };
    
    
    class R_and_W//读取类
    {
    private:
    	int n;//题数
    	ifstream fin;//读取题数文件
    	ofstream fout;//结果写入文件
    	double inputanswer;//输入的答案
    public:
    	void set();//外界数据存入
    	int readFile(/*char * s*/);//读取题数 
    	void writeFile2(/*char *s, double n, double right*/);//每次运行的结果总结
    	void writeFile(/*char *s, char * p, double rans, double inans*/);//每题内容的写入 
    	int Coutright(double answers, double inputerswner);
    };
    
    

    具体编码没有实现,以上是目前自我的设想。

    不足之处:

    1. 有部分功能有交叉现象
    2. 没有具体写出类与类之间的消息协作
    3. 没有运用继承,与派生的知识
    4. 以上代码还没有修改其一些参数形式
  • 相关阅读:
    手工创建数据库的全部脚本及说明(转)
    HNOI 2009 梦幻布丁 链表 启发式合并
    【除草】【hnoi】精简题解
    矩阵乘法
    忧桑啊。。。
    【水】【SCOI】 精简题解
    [数论][SDOI2012]Longge的问题
    【2013】省选
    【集训队互测】ayq 三道题
    【水】 【SDOI】 极精简题解
  • 原文地址:https://www.cnblogs.com/q1076452761/p/6851428.html
Copyright © 2011-2022 走看看