logo

Crowdly

Browser

Add to Chrome

ECE2071 - Systems programming - S1 2025

Looking for ECE2071 - Systems programming - S1 2025 test answers and solutions? Browse our comprehensive collection of verified answers for ECE2071 - Systems programming - S1 2025 at learning.monash.edu.

Get instant access to accurate answers and detailed explanations for your course questions. Our community-driven platform helps students succeed!

Given the following struct definitions of a linked-list based queue:

 

struct QueueNode

{

struct QueueNode

*next;

unsigned int

value;

};

struct Queue

{

struct QueueNode

*front;

struct QueueNode

*rear;

};

// <![CDATA[

hljs.highlightAll();

// ]]>

 

Task 1: Write an insert function to insert an item at the end of the queue. The function prototype has been provided for you below.

void insert(struct Queue* queue, unsigned int value);

 

Task 2: Write a serve function to serve (remove) an item (from the front) of the queue. The function prototype has been provided for you below.

int serve(struct Queue* queue);

 

Task 3: In the main function, write code that does the following:

  • Reads in a single string of letters and numbers (you can assume that the only letter will be an 's' character)
  • For each single

    character in the string:

    • If it is a numerical character, convert that character to an integer and insert it into the queue
    • If it is an 's', serve the next item in the queue and print that integer to the console, followed by a single space character

 

 

Notes:

  • You may also use whatever editor/test environment you like to write your solution.
  • Your code MUST be submitted as a .txt file below BEFORE the end of the test
  • Your code will be run against test cases and manually reviewed
  • You may wish to define additional functions as needed
  • You should use good programming practices

Your code MUST be submitted as a .txt file BEFORE the end of the test (copy and paste into a .txt file).

View this question

Suppose we have the following program, running on a 64-bit computer:

#include<stdio.h>

#include<string.h>

typedef struct {

int id;

char name[52];

float salary;

} Employee;

void printEmployee(Employee e) {

printf("ID: %d\n", e.id);

printf("Name: %s\n", e.name);

printf("Salary: %.2f\n", e.salary);

}

int main() {

Employee e1;

int e1ID = 1;

e1.id = e1ID;

strcpy(e1.name, "John Doe");

float e1Sal = 50000.00;

e1.salary = 50000.00;

printEmployee(e1);

Employee* e1Ptr = &e1;

return 0;

}

 

Select the correct statement about the size of variables in the main function from the options below:

0%
0%
0%
0%
View this question

Select the false statements from the selection below:

0%
0%
0%
100%
0%
0%
View this question

Consider the following C program, which writes a sequence of numbers to a file named “output.txt”. In the answer box below, carefully write the exact contents of “output.txt” after executing the program.

#include <stdio.h>

int main() {

FILE *file = fopen("output.txt", "w");

if (file != NULL) {

for (int i = 1; i/2 <= 2; i++) {

fprintf(file, "%d,", i);

}

fclose(file);

}

return 0;

}

View this question

Which of the following are valid methods to check if the end of the file has been reached in C?

View this question

Which of the following options are not valid modes to open a file with in C? Assume that the file will be opened using the following:

FILE *myFile = fopen("filename.txt", mode);

0%
0%
0%
0%
0%
View this question

While you are still in the src directory, type the command that will open myFolder in VS code. You should not change the current working directory, and you should not use the full raw path.

Note: we wish to open the myFolder directory in VS code, not the src folder, so think carefully!

View this question

Now that you are in the src directory, type the command that will display the content of the program2.c source code.

View this question

Suppose you have a terminal that is currently in the home directory. In the box below, type the command that will navigate to the src folder that lies within the myFolder directory.

View this question

Which of the following root-finding methods repeatedly splits the search interval into two even parts?

View this question

Want instant access to all verified answers on learning.monash.edu?

Get Unlimited Answers To Exam Questions - Install Crowdly Extension Now!

Browser

Add to Chrome