Reference no: EM133127030
ACS130 Introduction to Systems Engineering and Software C Programming Project
Assignment briefing: This assignment will assess your ability to solve a problem using C as a tool. Your program must be well laid out and commented, including a meaningful header comment. Your program must provide meaningful interactions with the user. You must also use all of the following C programming elements:
• selection (if or switch case),
• repetition (for or/and while or/and do while)
• at least one function with an array of struct in the input parameter list; the array of struct is declared in main (or another function) and this function must set values in the array of struct, and the calling function (main or other) must make use of the array of struct on return (you choose whether to pass by value or pass by address)
• at least one function with a pointer to a variable of type char, int, float or double in the parameter list; the function must set the contents of the variable, and the calling function (main or other) must make use of the variable on return
• your program needs several instances where the user must input commands from the keyboard in order to interact with the program
• your program must loop to the start allowing the user to run through the program time after time (this is an independent requirement from the second point to use repetition)
Optional:
o you can create other functions and/or structures so as to modularise your code (but you must have the 2 functions mentioned above).
o you can use anything else we have covered in this module, eg, arrays/strings, an input and/or output file
Component
Does the program use any global variables? Does the program use while(1) loop/s? Does the program use break (other than in switch case), go to, jump, continue etc
Program layout and commenting:
• Meaningful header comment (including a detailed description of code)
• sufficient comments interspersed within code
• Good indentation
• Meaningful variable names
Is there sufficient interaction between user and program? Yes/No Interaction with the user
The user needs to be able to interact several times with the program.
• Is the user given prompts to enter any information that is needed from the keyboard?
• Is the information displayed to the user easy to understand, including any required ranges?
• Does the program loop to start?
Use of function(s), with array of struct in parameter list:
Does the program use at least one function with an array of struct included in the parameter list? Eg struct Books B[3] Yes/no
• Declaring the array of struct in main or other calling function (not in the called function).
• Setting some values within the array of struct from inside the function.
• Using (on return from the function) values in the array of struct in main or other calling function.
-> notation as an alternative to dereference and dot notation is allowed.
Use of function(s), with pointer variable in parameter list:
Does the program use at least one function with a pointer to a variable (not an array) of type char, int, float, double, struct (not the same as previous function) in the parameter list? Yes/no
• Declaring the variable in main/calling function (not in the called fn)
• Setting the contents of the variable from inside the function.
• Using (on return from the function) the variable in main or other calling function.
Does the program work with a variety of disparate inputs, without malfunctioning? (i.e. is code debugged and tested thoroughly)
Please test the following:
• Inputting out of range numbers (including boundary values, massively too small/large, zero, negative/positive, entering a char instead of an int) at every instance
• Inputting the wrong thing, eg, it asks for a char and you supply an int
• If using an input file: Program must inform user and exit if file not found.
In each case, the program should allow re-input, or a message should be given to alert the user to problems such as missing files.
Complexity of code*
Efficiency of code**
Explanation of code
Is IDE Codeblocks, DevC++ or Xcode? If not, -5 marks.
Do we need to use an alternate file (ie, not the .c file submitted) for marking?
Attachment:- Introduction to Systems Engineering.rar