Completed

Write some Software

This project was successfully completed by wangbeizou for $40 USD in a day.

Get free quotes for a project like this
Employer working
Project Budget
$10 - $30 USD
Completed In
1 day
Total Bids
4
Project Description

Write [url removed, login to view] to track your own college course history and plans. Write it as a menu-driven console program that has these user options:

MENU

A Add a course

E rEmove a course

S Sort courses

L List courses

Q Quit

...your choice:

For each course, your program should track at least the name of the course (like Comsc-165), your grade received (or some other symbol for in-progress or planned), the year taken (or to be taken), and the number of units (whole number or floating point, your choice). You may add as many other attributes as you wish.

Requirements

Use a singly-linked list based "queue" of struct-based nodes with C++ string attribute(s).

Convert all input strings to uppercase.

Include one sorting option, first by year (hi-to-lo), then course (A-Z) as a "tie breaker".

Format and align your output as a nicely-spaced table of no more than 72 characters wide, with one course per line and no skipped lines between courses. Do include column headings.

Include serialization to a text file named [url removed, login to view]

Do not include editing options.

You decide whether to include sequence numbers for listing and removing courses, or to use matching of the course name by its name.

HINT: Here's the logic for "tie breaking" in nested for-loop sorting of nodes:

// without tie-breaking, lo-to-hi

if (q->firstAttribute < p->firstAttribute) swap

// with tie-breaking, lo-to-hi

if (q->firstAttribute < p->firstAttribute) swap

if (q->firstAttribute > p->firstAttribute) continue

if (q->secondAttribute < p->secondAttribute) swap

Of course, reverse p and q for hi-to-lo sorting.

Looking to make some money?

  • Set your budget and the timeframe
  • Outline your proposal
  • Get paid for your work

Hire Freelancers who also bid on this project

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online