{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

spec - Project#4 Expel(Please direct all questions about...

Info icon This preview shows pages 1–5. Sign up to view the full content.

View Full Document Right Arrow Icon
Project #4: Expel (Please direct all questions about this project to Carey Nachenberg!)
Image of page 1

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Introduction .......................................................................................................................... 3 Spreadsheet Details .............................................................................................................. 4 Spreadsheet Size .............................................................................................................. 4 Spreadsheet Display and Input ......................................................................................... 5 Moving around the spreadsheet ................................................................................... 6 Jumping to a particular cell in the spreadsheet ............................................................ 8 Editing a cell in the spreadsheet ................................................................................. 10 Deleting the contents of a cell in your spreadsheet .................................................... 11 Saving your spreadsheet ............................................................................................. 11 Opening a saved spreadsheet ..................................................................................... 13 Quitting ...................................................................................................................... 13 Displaying each cell of the spreadsheet ..................................................................... 13 Displaying the original typed-in string (at x=0, y=23) .............................................. 15 Algorithm and Implementation Requirements ................................................................... 18 Deliverables ....................................................................................................................... 20 Source and Project File Deliverables ............................................................................. 20 Appendix A: Displaying text to the screen ........................................................................ 20 Appendix B: Library hashed containers ............................................................................ 21
Image of page 2
Introduction For your fourth and final project, you’ve been hired by the SmallbeNach software company to program a new spreadsheet program to compete with Microsoft’s ubiquitous Excel ™ program. The SmallbeNach Chief Mischief Officer (CMO), Carey Nachenberg, has decided that the new product will be named Expel, in order to trick unsuspecting customers that would otherwise purchase Excel into buying this blockbuster new product. An Expel spreadsheet is comprised of a set of cells. Every spreadsheet has exactly 17,576 columns labeled aaa (for column 0) all the way up to zzz (for column 17,575) and exactly 1,000,000 rows labeled 000000 to 999999. Thus, each Expel spreadsheet can have a total of 17,576,000,000 different cells. Each cell may either be empty (the default), or have a number, formula or text string inside of it. Here are some examples of numbers, formulas and text strings: Numbers : e.g., “-52.5”, “999.234”, or “0” Formulas : e.g., “=aaa0+aaa1/3” or “=zzy999999*(zza52+(aab9939/3))” Text : e.g., “Student”, “Midterm Grade”, or “Average rainfall” Spreadsheets are useful because they help you automatically perform complex computations. For instance, the spreadsheet shown below lists the grades of the six remaining CS32 students in cells aaa1 through aaa6. Then, cell aab8 contains a formula which computes the average of these six cells.
Image of page 3

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Furthermore, any time you make a change to any cell in the spreadsheet, it will automatically recompute the value of all the visible cells (and any cells depended on by these visible cells) so the user can see the updated results. For example, imagine if we found out that Jim had cheated on his exam, and changed his grade to 0. Once we type in the new score of zero in cell aab2, the spreadsheet’s values are automatically recomputed and displayed: Spreadsheet Details If you find that we have omitted any detail in this documentation, you should design your spreadsheet program such that it exactly replicates the behavior of the sample spreadsheet program which was posted on the class website. Spreadsheet Size While you might initially consider using a two-dimensional array to hold your spreadsheet’s cells, if you give this a little thought, you’ll realize that this is an unworkable solution. Given the 1 million row by 17+ thousand column requirement, a
Image of page 4
Image of page 5
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern