C++代写:CSCI251WeatherInformationProcessingSystem


实现一个 Weather Information Processing System
,练习array, dynamic memory allocation的基本用法。
![Weather Information Processing System](http://www.weather.gov.sg/wp-
content/uploads/2015/05/wmo_obs.png)

Aim

The objectives of this assignment includes:

  • Learning about procedural programming, control structures, arrays, dynamic memory allocation and handling input/output
  • Apply the concepts learnt by developing a Weather Information Processing System

Background

Your software company, Vitual Solutions, has just won a $1m contract to design
a build a prototype Weather Information Processing System (WIPS).
For this assignment, you take on the role of a software architect. You are
supplied with sample input weather data (kindly provided by the meteorological
station), and you need to develop a program that does the following:

  1. read in and process a configuration file2
  2. display city map
  3. display cloud coverage map (cloudiness index)
  4. display cloud coverage map (LMH symbols)
  5. display atmospheric pressure map (pressure index)
  6. display atmospheric pressure map (LMH symbols)
  7. show weather forecast summary report
    The program should be compiled as ‘csci251_a1.app’ and run in Ubuntu 14.04
    (Linux OS)
    The next section describes the requirements for the program.

Task Requirements

A) Upon startup, the program should prompt user to enter a ‘configuration’
filename. The program then proceeds to read the contents (of the entered file
name) to further initialize its own program parameters / data structures.
Please refer to Appendix A, which provides details on the configuration file
and its usage.
B) The meteorological station has adopted a map-grid coordinate system upon
which it overlays all other weather data. With regards to display city map
option, please refer to Appendix B, which elaborates on this coordinate
system, the unit representation, the relative positioning of different cities
and its display requirements.
C) For the display requirements of cloud coverage (cloudiness index), AND
cloud coverage (LMH symbols) (i.e. options 3) & 4)), please refer to Appendix
C, which will discuss about the interpretation of cloud cover input data, its
subsequent processing algorithm and output format requirements.
D) For the display requirements of atmospheric pressure (pressure index) AND
atmospheric pressure (LMH symbols) (i.e. options 5) & 6)), please refer to
Appendix D, which will discuss about the interpretation of pressure input
data, its subsequent processing algorithm and output format requirements.
E) For the display requirements of weather forecast summary report, please
refer to Appendix E, which will provide details about the kind of summarized
weather data to be displayed, processing algorithm to compute the probability
of rain and its graphical display format.
F) Refer to Appendix F, for a description of the program’s main menu
requirements.
G) Once the program is completed and tested to be working successfully, you
are encouraged to add on “new features” to the program that you feel are
relevant to the problem. Additional marks maybe awarded subject to the
relevancy and correctness of the new functionalities. (Note: the additional
features will only be considered IF the program has correctly fulfilled all
the basic requirements elaborated in the earlier sections!)
H) You are not allowed to declare your own C++ classes for this program, as
this is a purely procedural (not Object Oriented) programming assignment!
I) You are to use only C++ language to develop your program. There is no
restriction on the IDE as long as your source files can be compiled by g++
compiler (that comes installed in Tutor’s Ubuntu Linux) and executed in the
Ubuntu terminal shell environment.

Deliverables

  1. The deliverables include the following:
    * a) The actual working C++ program (soft copy), with comments on each file, function or block of code to help the tutor understand its purpose
    * b) A softcopy word document that elaborates on:
    • (Interpreted) requirements of the program
    • Diagram / llustrations of program design
    • Summary of implementation of each module in your program
    • Reflections on program development (e.g. assumptions made, difficultiesl faced, what could have been done better, possible enhancements nl future, what have you learnt, etc)
      • c) A program demo/software testing during lab session. You must be prepared to perform certain tasks / answer any questions posed by the tutor.
  2. IMPT: Please follow closely, to the submission instructions in Appendix G, which contains details about what to submit, file naming conventions, when to submit, where to submit, etc.
  3. The software demo / testing will be held during lab sessior where you are supposed to submit your assignment. Some time will be allocated for you to present / demonstrate your program’s capabilities during the session.

Grading

Student’s deliverable will be graded according to the following criteria:

  • (i) Program fulfills all the basic requirements stipulated by the assignment
  • (ii) Successful demonstration of a working program, clarity of explanation / presentation and satisfactory answers provided during Q & A session.
  • (iii) Additional effort (e.g. enhancing the program with relevant features over and above task requirements, impressive, ‘killer’ presentation)
  • (iv) After the submission of deliverables, students will be required undergo a software testing process (to determine the correctness and fulfillment of software requirements.) Further instructions will be given by the Tutor during the subsequent respective labs. Please pay attention as failure to adhere to instructions will result in deduction of marks.

Tutor’s note

In the real working world, satisfactory completion of your tasks is no longer
enough. The capability, efficiency and robustness of your system to operate
under different testing conditions, and the ability to add value, communicate
and/or demonstrate your ideas with clarity is just as important as correct
functioning of your program. The grading criteria is set to imitate such
requirements on a ‘smaller scale’.


文章作者: SafePoker
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 SafePoker !
  目录