Data Structures Using C Language Design an algorithm that samples the directory structure of an operating system using the tree data structure and write the program in C language. The starting location is the root directory. The commands valid in this system and the functions of these commands are as follows:     mkdir name: Creates a new directory with the given name under the current directory. Error condition: If there is a directory with the same name, the operation cant be performed.  chdir name: It allows passing from the current directory to a subdirectory with the given name. If there is no subdirectory with that name, it will give an error message. “chdir ..” should be written when trying to exit to the parent directory. Error condition: If there is no directory in the specified name, if it wants to go higher while in root, no action can be made. rmdir name: Deletes a subdirectory with the given name from the current directory. Error Condition: If there is no subdirectory with that name or if there are other directories under the directory to be deleted, that is, if it is full, an error message will be given. If there is no directory in the specified name, if it wants to go higher while in root, no action can be made. dir: Displays all directories under the current directory on the screen with a tree structure. count: Shows the number of directories at the level under the current directory. No action is taken for lower levels.   Example: The starting location is the root directory. Below are examples of using commands. > mkdir courses  > chdir courses  > mkdir dataStruct  > chdir dataStruct > mkdir Queues  > mkdir Stacks  > mkdir Trees > chdir Trees  > mkdir bTrees  > mkdir heapTrees > chdir .. > dir  > Queues  Stacks  Trees > count > 3           (the number of directories at that level is 3.) > chdir ..     (goes to a parent directory root / courses /) > rmdir Stacks > The directory does not exist          (Since the Stacks directory is not under courses, it gives an error message) > rmdir dataStruct > Cannot delete folder. The directory is not empty. (Gives an error because the data Struct directory is under full) > chdir Stac > can’t change directory. The directory does not exist. (Gives an error because it doesn't have a directory named Stac)

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

 Data Structures Using C Language

Design an algorithm that samples the directory structure of an operating system using the tree data structure and write the program in C language. The starting location is the root directory. The commands valid in this system and the functions of these commands are as follows:

 

 

  1. mkdir name: Creates a new directory with the given name under the current directory.

Error condition: If there is a directory with the same name, the operation cant be performed. 

  1. chdir name: It allows passing from the current directory to a subdirectory with the given name. If there is no subdirectory with that name, it will give an error message. “chdir ..” should be written when trying to exit to the parent directory.

Error condition: If there is no directory in the specified name, if it wants to go higher while in root, no action can be made.

  1. rmdir name: Deletes a subdirectory with the given name from the current directory.

Error Condition: If there is no subdirectory with that name or if there are other directories under the directory to be deleted, that is, if it is full, an error message will be given. If there is no directory in the specified name, if it wants to go higher while in root, no action can be made.

  1. dir: Displays all directories under the current directory on the screen with a tree structure.
  2. count: Shows the number of directories at the level under the current directory. No action is taken for lower levels.

 

Example: The starting location is the root directory. Below are examples of using commands.

> mkdir courses

 > chdir courses

 > mkdir dataStruct

 > chdir dataStruct

> mkdir Queues

 > mkdir Stacks

 > mkdir Trees

> chdir Trees

 > mkdir bTrees

 > mkdir heapTrees

> chdir ..

> dir

 > Queues

 Stacks

 Trees

> count

> 3           (the number of directories at that level is 3.)

> chdir ..     (goes to a parent directory root / courses /)

> rmdir Stacks

> The directory does not exist          (Since the Stacks directory is not under courses, it gives an error message)

> rmdir dataStruct

> Cannot delete folder. The directory is not empty. (Gives an error because the data Struct directory is under full)

> chdir Stac

> can’t change directory. The directory does not exist. (Gives an error because it doesn't have a directory named Stac)

    

Expert Solution
steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Time complexity
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education