This is the web page for Operation Systems at the University of Oklahoma.
Due 2022/09/09 end of day
For this assignment you will implement the solution to a simple programming problem. This assignment is designed to give you an easy introduction to C as you prepare for larger projects in the semester. This project has four main tasks. After this assignment, it is our expectation that you will know how to complete each task.
Create a Google Cloud VM with the latest version of Ubuntu (22.04+). Follow the cloud-config directions to guide you through the process.
Create a private Github repository called cs3113fa22-assignment0
.
It is important that this repository remains private to avoid any inadvertent academic dishonesty violations.
For this assignment, you can use the files in this template repository to start off template repo.
You will need to add cegme
, jasdehart
, and farabee738
as collaborators; you can do this in on the GitHub website for your code going to Settings > Manage Access.
Create a Makefile that can properly run the targets make all
and make clean
.
The command make all
should compile your a0.c
program to create an executable called a0
.
The command make clean
should remove any executables (a0
) generated after running make all
.
Write a program in C with the main method in a0.c
that reads in integers from stdin until a non-integer or end of file character (EOF) is reached.
For lines that have a number that is a multiple of 3, print Boomer!
to stdout, for lines with a number that is a multiple of 5, print Sooner!
stdout, and for numbers that are multiples of 3 and 5, print Boomer Sooner!
to stdout.
For all other numbers, just print the number.
The program will exit when a non-integer is entered or end-of-file is reached.
Be sure to comment your code.
In addtion to the C file, you need to create a README.md file. It should contain
Note the last point is important for avoiding academic dishonesty violations.
The .md
format is a markdown text format.
Here is GitHub’s version of the markdown format.
Below is example input and example output. You will need to create your own examples to test your code.
1
2
3
4
5
7
9
11
15
1
2
Boomer!
4
Sooner!
7
Boomer!
11
Boomer Sooner!
You will submit a link to your GitHub repository to Gradescope.
When you have submitted, you can use the command line and GitHub to tag your submitted version as 1.0
git tag v1.0
git push origin v1.0
If you make changes after submitting, you can change the version tag to make sure we grade your most up-to-date version.
When you submit your code on Gradescope it will use the Makefile to clean and compile your code. We will then use a test file similar to the tests.bats file found in the template to test your code.
Item | Weight |
---|---|
Grade scope submission | 25% |
Readme.md with all components | 60% |
Private repository | 15% |
Total | 100% |
–