C++ The programme below is in C language. Please help me convert the whole programme into C++ language The code: #include #include #include struct node { char data[100]; struct node* next; }; int...



C++



The programme below is in C language. Please help me convert the whole programme into C++ language




The code:



#include


#include


#include



struct node


{


            char data[100];


            struct node* next;


};



int elements = 0;


// function for add values to stack


struct node* add(struct node* stack, char *str)


{


            struct node* tp = (struct node*)malloc(sizeof(struct node)) ;


            strcpy(tp->data,str);


            tp->next = stack;


            elements++;


            return tp;


}


//redo function


void redo(struct node* stack)


{


            if(stack == NULL)


                        return;


            elements++;


}


//undo function


void undo(struct node* stack)


{


            if(stack == NULL)


                        return;


            elements--;


}



//print function


int print(struct node* stack,int idx)


{


            if(stack == NULL)


                        return 0;


            idx = print(stack->next,idx);


            if(idx<>


            printf("%s\n",stack->data);


            return idx+1;


}




//function for save in file


int save_command(FILE* filePointer, struct node* stack,int idx)


{


            if(stack == NULL)


            {


                        return 0;


            }


            idx = save_command(filePointer, stack->next,idx);


            if(idx<>


                        fprintf(filePointer,"%s\n",stack->data);


            return idx+1;


}




//main function


int main()


{


            //stacks for undo and redo


            struct node *stack1 = NULL;


            char input[100];


            while(1==1)


            {


                        printf("MyCommand > ");


                        gets(input);


                        if(strcmp("undo",input)==0)


                        { //if input is undo


                                    undo(stack1);


                                    printf("result >\n");


                                    print(stack1,elements);


                        }



                        else if(strcmp("redo",input)==0)


                        { //if input is redo


                                    redo(stack1);


                                    printf("result >\n");


                                    print(stack1,elements);


                        }



                        else if(strcmp("print",input)==0)


                        { //if input is print


                                    printf("result >\n");


                                    print(stack1,elements);


                        }



                        else if(strcmp("save", input)==0)


                        { //if input is save


                                    FILE* filePointer;


                                    filePointer=fopen("output.txt","w");



                                    save_command(filePointer,stack1,elements);


                                    fclose(filePointer);


                        }



                        else if(strcmp("quit",input)==0) //if input is quit


                        {


                                    FILE* filePointer;


                                    filePointer=fopen("output.txt","w");


                                    save_command(filePointer,stack1,elements);


                                    fclose(filePointer);


                                    printf("result > Good Bye!\n");


                                    exit(0);


                        }


                        else //if input is any other string add to stack


                                    stack1 = add(stack1,input);


            }


            return 0;


}

Jun 03, 2022
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here