程序员
阅读下列说明和C++代码,填写代码中的空缺,将解答写入答题纸的对应栏内。【说明】某系统需根据类别和内容对数据以文件夹的方式进行组织,数据自身以文件的形式存储,文件夹可以包含文件夹和文件。为该系统设计的相关类及其关系如图6-1所示。【C++代码】#include <list>#include <iostream>#include <string>using namespace std;class Node {protected :       string name ;         //文件或文件夹名称public :       void printName ( ) {cout <<name << endl; }  //打印文件或文件夹名称       virtual void add (Node *file)=0;         //为一个文件夹增加子文件夹或文件       virtual void remove (Node *file)=0;   //删除一个文件夹的子文件夹或文件       virtual list<Node*> *getChildren ( )=0;//获得一个文件夹的子文件夹或文件};class File(1)Node {public :        File(string name) {(2)= name; }        void add (Node *file) { return ; }        void remove (Node *file){ return ; }        list<Node*> *getChildren ( ) { return (3); }};class Folder(4)Node {private :        list <Node*> children;      //存储子文件夹或文件public :        Folder (string name) {            this->name = name;        }        void add (Node *file) { children.push_back (file);  }        void remove (Node *file) { children.remove (file) ; }        list<Node*> *getchildren (){ return(5); }};class Client  {   //  构造一个树形文件夹和文件结构public:       void creatTree ( ) {            Node *root = new Folder ( "D:/ " ) ;            Node *folder = new Folder ( "parent" ) ;            Node *child = new Folder ( "cxy" );            Node * file = new File ( "TestFile.cpp" ) ;            root->add ( folder) ;            folder->add ( child) ;            child->add (file) ;            traverse ( root) ;        }void traverse (Node *node)  {   //遍历树形结构        node->printName ( );        list<Node*>* children = (6);        if(children == NULL) return;        list<Node*> : :iterator it;        for (it=children->begin ( ) ; it !=children->end ( ) ; it++) {              traverse ( *it);        }    }};int main ( ) {    Client *client = new Client ( ) ;    client->creatTree ( ) ;
阅读以下说明和Java代码,填写代码中的空缺,将解答写入答题纸的对应栏内。【说明】某系统需根据类别和内容对数据以文件夹的方式进行组织,数据自身以文件的形式存储,文件夹可以包含文件夹和文件。为该系统设计的相关类及其关系如图5-1所示。【Java代码】import java.util.ArrayList;import java.util.List;abstract class Node {    protected string name; l/文件或文件夹名称    public void printName ( ) { System.out.println (name) ; }    public abstract boolean add (Node node);                    //为一个文件夹增加子文件夹或文件    public abstract boolean remove(Node node);              //删除一个文件夹的子文件夹或文件    public abstract List<Node> getchildren( );                   //获得一个文件夹的子文件夹或文件}class File(1)Node {    public File (string name) { (2) = name; }    public boolean add (Node node) { return false; }    public boolean remove (Node node){ return false; }    public List<Node> getChildren () { return(3); }}class Folder (4) Node {    private List <Node> children;    public Folder (string name) {        this.name = name;        this.children = new ArrayList<Node> ( ) ;}    public boolean add (Node node){ return children.add (node); }    public boolean remove (Node node) { return children.remove (node);}    public List<Node>getChildren () { return(5);}public class client {    private void traverse (Node node) {        node. printName ( );        List <Node> children =(6);        if(children == null) return ;        for (Node child : children) {            traverse (child) ;        }    }    public void createTree ( )  {          //构造一个树形文件夹和文件结构        Node root = new Folder ( "D:/ ") ;        Node folder = new Folder ( "parent" ) ;        Node child = new Folder ( "cxy" ) ;        Node file = new File ( "TestFile.java" ) ;        root.add ( folder) ;        folder.add ( child) ;        child.add (file) ;        traverse (root) ;                    //遍历目录文件树    }    public static void main (string [ ] args){        Client client = new Client () ;        client.createTree () ;    }}
阅读以下说明和C代码,填补C代码中的空缺,将解答写在答题纸的对应栏内。【说明】一元二次方程ax2+ bx+c=0 (a ≠0)的求根公式如下:设△=b2-4ac,若△大于0,则方程有两个不相等的实数根;若△等于0,则方程有两个相等的实根(即只有一个实根);若△小于0,则方程有两个不相等的复数根,为下面的C代码根据输入的系数a,b,c求解方程的根,结果保留两位小数,并按照以下要求输出结果:(1)若方程有两个不相等的实数根,则分两行输出这两个实数根;(2)若方程只有一个实数根,则输出此根;(3)若方程有两个不相等的复数根,则按照格式“实部+虚部i”每行输出一个复数根;(4)若系数都为0,则输出“Zero Equation.";(5)若系数a、b为0而c不为0,则输出“Not An Equation.”.。【C代码】#include <stdio.h>#include <math.h>#define eps 0.000006void solve (double a, double b,double c) ;int isZero (double x);int main () {            double a, b, c;            scanf("%lf%lf%lf", &a, &b, &c);            solve (a, b,c);            return 0;}int iszero (double x){   return ( (x==0)|| (fabs (x)<eps) ) ;void solve (double a, double b, double c) {             double delta = b*b-4*a*c ;   if(iszero(a) ) {      if(iszero(b)){          if (isZero(c)) { printf ( "Zero Equation.\n " ) ;return;   }             else{printf ( "Not An Equation. \n" ) ; return;  }   }   else{ printf("%.2f \n", (1)); return; }}  else{    double d = sqrt (fabs (delta) ) ;            if((2)){              double rl =(-b+d)/ ( 2*a), r2 =(-b-d)/ (2*a) ;              printf ("%.2f\n%.2f\n", r1, r2) ; return;        }        else {        if ((3)){               double real part =(4);               double img part =(5);               printf ("%.2f+%.2fi \n",real_part, img_part);               printf("%.2f-%.2fi", real_part, img_part); return;      }      else {              printf ( "%.2f",(6));      }    }  }}
2 / 484
本模块为学员专用
学员专享优势
老师批改作业 做题助教答疑
学员专用题库 高频考点梳理
成为学员