合肥生活安徽新聞合肥交通合肥房產生活服務合肥教育合肥招聘合肥旅游文化藝術合肥美食合肥地圖合肥社保合肥醫院企業服務合肥法律

        代寫CMPT 125、代做Computing Science

        時間:2023-12-02  來源:合肥網hfw.cc  作者:hfw.cc 我要糾錯



        Assignment 4 CMPT 125 Intro. To Computing Science & Programming II Spring 2023
        Page 1 of 6 © Victor Cheung, 2023
        Assignment 4 (10% of Course Total)
        Due date: 11:59pm, Dec 1 Dec 3, 2023
        At least part of the assignment will be graded automatically. Make sure that your code compiles without
        warnings/errors and produces the required output. Also use the file names and structures indicated as
        requested. Deviation from that might result in 0 mark.
        Your code MUST compile and run reasonably efficiently in the CSIL machines with the Makefile provided.
        It is possible that even with warnings your code would compile. But this still indicates there is something
        wrong with you code and you have to fix them, or marks will be deducted.
        Your code MUST be readable and have reasonable documentation (comments) explaining what it does.
        Use your own judgement, for example, no need to explain i += 2 is increasing i by 2, but explain how
        variables are used to achieve something, what a certain loop is doing, and the purpose of each #include.
        Description
        There is only 1 question in this assignment. However, there are several files you need to submit. Write
        your answer in the corresponding file as instructed along with your student information. While you still
        can include any libraries that are covered in class, read the sections below to see how C++-compatible or
        C++-specific versions should be used. You can also write your own helper functions. Only one of these files
        should contain the main function.
        Question 1 [16 marks]
        In this question you are going to extend the program you made in Assignment 2&3 by providing more
        functionalities. You are also again going to write your own main function so the program runs. In addition,
        you are going to implement everything in C++.
        Create a program that reads all the talk information from a file and provide an interface for the user to
        query talk entries. Your program must support the following functionalities as options:
        • Option 1: to load a talksfile – ask the user to input the name of the file containing talk information
        and load the entries from that file (report # of entries). Note that the file can be non-existent (if
        so the program should print the error and keep running with all subsequent choice of other option
        asking the user to load a talks file), but if it exists you can assume the format inside that file is
        consistent (duration, talk title, overview, ---), with each line having at most 300 characters. It is
        possible for the user to load a different file by choosing this option again, which will replace the
        previously loaded entries. You can assume the filename as at most 50 characters and has no space.
        • Option 2: to list talks sorted by duration – list the talk entries from shortest to longest. If with the
        same duration there are more than one talk entry, any order within that duration is acceptable.
        • Option 3: to list talks sorted by title – list the talk entries sorted by title (as determined by strcmp).
        If with the same title there are more than one talk entry, any order within that title is acceptable.
        • Option 4: to lookup a talk – ask the user for a talk title for at most 50 characters (space included),
        then report all entries containing the input as a substring. There can be more than one entry from
        the file. The lookup is case-sensitive (i.e., “computer” and “Computer” are not the same).
        o If one or more entries are found, print all the information. Any order is acceptable.
        o If no entry is found, print “No such talk on record.”
        Assignment 4 CMPT 125 Intro. To Computing Science & Programming II Spring 2023
        Page 2 of 6 © Victor Cheung, 2023
        You can assume the user will always enter at most 50 characters.
        • Option 5: to add a talk – ask the user for all the information for a talk (duration, talk, overview)
        and add it to the currently loaded entries. After adding, report and print “Entry added.”
        o There is no need to check for duplicates. You can assume the input format is correct.
        o Check for invalid duration: hours that are <0 and minutes/seconds that are <0 or >=60. If
        that happens, inform the user and keep asking for a valid hours and minutes/seconds.
        • Option 6: to save a talks file – ask the user to input the name of a file to which the current entries
        will be saved in the same format as the sample files. It is possible for the name to be the same as
        the file just being loaded. If so, it will be overwritten. Report # entries saved when done.
        • Option 7: to terminate the program – thank the user and end the program.
        Options **4&7 are basically the same as Assignment 3. Yet, there are also some differences. In particular,
        since a vector is now used to store the talk entries, some functions that were defined in talklib previously
        are now moved to better organize functions according to class definitions. Pay attention to the
        provided .hpp files for details.
        Your program must meet these requirements:
        • Include the provided header file (.hpp file) and use the functions defined in the corresponding
        implementation file (.cpp file) in your driver file (where main is), do not redefine those functions.
        • Use the vector template in C++ (see https://www.programiz.com/cpp-programming/vectors) in
        combination of the Talk struct defined in a4_talklib to store and handle the talk information. This
        allows different numbers of talk entries and lets you practice using templates.
        • Although C++ supports most of the operations in C, any operations we covered in the lecture
        replacing C must be used. This includes: console I/O must be done by cin/cout (see iostream),
        file I/O must be done by fin/fout (see fstream), text must be done by the string class, and
        memory management must be done by new/delete.
        • There must be no memory leaks (e.g., your program requests some memory but does not release
        them all before it terminates). In CSIL you can use the Valgrind tool as described to check for that.
        • Start with a fancy banner. There is no specific requirement besides it must include your name, 9-
        digit SFU ID, and your SFU email address. Let your creativity shine, just nothing offensive.
        • If a functionality (e.g., list, lookup) is requested by the user but no file has been loaded, the
        program should print an error message telling the user that no talks file have been loaded and
        prompt the user to do so.
        • The sorting for Options 2&3 in Assignment 3 is done using the built-in qsort. Instead, use the builtin sort from C++ (see https://cplusplus.com/reference/algorithm/sort/).
        *The entries are randomly generated using ChatGPT with a specific format and then lightly modified.
        Hence, the content might not make sense and have very similar wording patterns – no need to worry.
        And here are some hints for you to write your code:
        • The interface is essentially a do-while loop where in each iteration it asks for an option and
        determines what to do, with a repeating conditional of the terminating option has not been
        inputted. It is a common approach for menu-based interfaces.
        o Getting the user to input a valid input is exactly the same, with the repeating condition
        being the input invalid (e.g., 0>userInput || userInput >=60).
        Assignment 4 CMPT 125 Intro. To Computing Science & Programming II Spring 2023
        Page 3 of 6 © Victor Cheung, 2023
        • The built-in sort from C++ (defined in <algorithm>) can sort items in different kinds of container
        classes as long as they provide access to the items using an “iterator”, which is a common design
        pattern in Object-Oriented Programming. Refer to our lecture examples and the reference link
        above for details. Also pay attention to how the compare function pointer works.
        • The way things are being read from the console and file is simplified with cin and fin. Besides the
        >> operator, there is a getline function for strings. Use it like this: getline(cin, stringVariable), or
        this after an int is read: getline(cin >> ws, stringVariable). You are encouraged to explore why.
        Here are some sample input and output (you can assume user input is always valid):
        Figure 1. Choosing an option without opening any file then opening an existing file.
        Figure 2. Listing talks sorted by duration (only showing the first 2 here for space).
        Figure 3. Looking up a talk but no entries in the list.
        Assignment 4 CMPT 125 Intro. To Computing Science & Programming II Spring 2023
        Page 4 of 6 © Victor Cheung, 2023
        Figure 4. Adding a talk to the list (it’s the shortest so Option 2 shows it first).
        Figure 5. Saving the entries to a file (77 entries were loaded at start, adding 1 makes it 78).
        Include the function definitions corresponding to a4_talklib.hpp (and your helper functions, if any) in a
        source file named as a4_talklib.cpp. Do the same for a4_talkList. Both the .hpp files are provided to help
        you get started. They are adequate to complete this assignment, but if you want you can add/remove
        functions as appropriate – as long as they fulfill all the requirements stated above.
        Include your main function (and your helper functions, if any) in another source file named as
        a4_talkLookupSystem.cpp. We call this the driver file because this is where the program starts.
        To determine where to place a helper function, think about its purpose. If it provides functionality with
        the Talk structs (e.g., create/clear Talks, compare Talks), it is a library function; if it provides functionality
        of the program (e.g., print a fancy banner), it is a program function; and if it provides functionality that
        directly accesses private members of the talkList, it should be a member function of talkList. Incorrectly
        placing these functions will lead to mark deductions in the Coding Style category.
        Coding Style [4 marks]
        Your program should be properly indented, have clear and meaningful variable names (e.g., no singleletter variable names except loop iterators) and enough white space and comments to make it easy to
        read. Named constants should be used where appropriate. Each line of code should not exceed 80
        characters. White space should be used in a consistent manner.
        Assignment 4 CMPT 125 Intro. To Computing Science & Programming II Spring 2023
        Page 5 of 6 © Victor Cheung, 2023
        Keep your code concise and efficient. If your code is unnecessarily long or inefficient (e.g., hard-code for
        all possible cases, extraneous function calls), we might deduct marks. To help you to get into the habit of
        good coding style, we will read your code and marks will be deducted if your code is not styled properly.
        Using the Makefile and Other Supplied Files
        The Makefile provided in this assignment is used by a command in the CSIL machines called “make” to
        quickly compile your code. It is especially useful if you have multiple source files. To use it, type the
        following command in the prompt (make sure you are in the directory with all the files of Assignment 4):
        $ make test1
        The example above illustrates how Question 1 is compiled into an executable called “test1” when using
        the Makefile. Replace the “test1” with “test2”, “test3”, …etc. for other questions. You can then run the
        executable by typing “./test1” to test your code for Question 1. If you make changes to your code, use the
        make command again. You can also use “make all” if you want to compile all your code at once.
        The header files are there to make the compilation work. Take a look at them for information about how
        each function should work. You might have to modify them and you will have to submit them this time.
        Submission
        Submit only the 5 source files (a4_talklib.hpp, a4_talklib.cpp, a4_talkList.hpp a4_talkList.cpp,
        a4_talkLookupSystem.cpp) to CourSys. Refer to the corresponding Canvas assignment entry for details.
        Assignment late penalty: 10% per calendar day (each 0 to 24 hour period past due), max 2 days late.
        Academic Honesty
        It is expected that within this course, the highest standards of academic integrity will be maintained, in
        keeping with SFU’s Policy S10.01, “Code of Academic Integrity and Good Conduct.” In this class,
        collaboration is encouraged for in-class exercises and the team components of the assignments, as well
        as task preparation for group discussions. However, individual work should be completed by the person
        who submits it. Any work that is independent work of the submitter should be clearly cited to make its
        source clear. All referenced work in reports and presentations must be appropriately cited, to include
        websites, as well as figures and graphs in presentations. If there are any questions whatsoever, feel free
        to contact the course instructor about any possible grey areas.
        Some examples of unacceptable behavior:
        • Handing in assignments/exercises that are not 100% your own work (in design, implementation,
        wording, etc.), without a clear/visible citation of the source.
        • Using another student's work as a template or reference for completing your own work.
        • Using any unpermitted resources during an exam.
        • Looking at, or attempting to look at, another student's answer during an exam.
        • Submitting work that has been submitted before, for any course at any institution.
        All instances of academic dishonesty will be dealt with severely and according to SFU policy. This means
        that Student Services will be notified, and they will record the dishonesty in the student's file. Students
        Assignment 4 CMPT 125 Intro. To Computing Science & Programming II Spring 2023
        Page 6 of 6 © Victor Cheung, 2023
        are strongly encouraged to review SFU’s Code of Academic Integrity and Good Conduct (S10.01) available
        online at: http://www.sfu.ca/policies/gazette/student/s10-01.html.
        Use of ChatGPT or Other AI Tools
        As mentioned in the class, we are aware of them. I see them as helpers/tutors from which you can look
        for inspiration. However, these tools are not reliable and they tend to be overly confident about their
        answers, sometimes even incorrect. It is also very easy to grow a reliance to them and put yourself at risk
        of not actually learning anything and even committing academic dishonesty. Other issues include:
        • When it comes to uncertainty, you won’t know how to determine what is correct.
        • If you need to modify or fine tune your answer, you won’t know what to do.
        • You will not be able to learn the materials and thus will not ne able to apply what you learn in
        situations where no external help is available, for example, during exams and interviews.
        For introductory level courses and less sophisticated questions, it is likely that you’ll get an almost perfect
        answer from these tools. But keep in mind if you can get the answer, everyone can also get the answer.
        Bottomline is, if you ask these tools to give you an answer and you use the answer as yours, you are
        committing academic dishonesty by claiming work that is not done by you as yours.
        Note that different instructors might have different policies regarding the use of these tools. Check with
        them before you proceed with assignments from other courses.
        請加QQ:99515681 或郵箱:99515681@qq.com   WX:codehelp

        掃一掃在手機打開當前頁
      1. 上一篇:CS3214代做、代寫Java,C++程序語言
      2. 下一篇:代做 COMP33 Modern Technologies程序語言代做
      3. 無相關信息
        合肥生活資訊

        合肥圖文信息
        出評 開團工具
        出評 開團工具
        挖掘機濾芯提升發動機性能
        挖掘機濾芯提升發動機性能
        戴納斯帝壁掛爐全國售后服務電話24小時官網400(全國服務熱線)
        戴納斯帝壁掛爐全國售后服務電話24小時官網
        菲斯曼壁掛爐全國統一400售后維修服務電話24小時服務熱線
        菲斯曼壁掛爐全國統一400售后維修服務電話2
        美的熱水器售后服務技術咨詢電話全國24小時客服熱線
        美的熱水器售后服務技術咨詢電話全國24小時
        海信羅馬假日洗衣機亮相AWE  復古美學與現代科技完美結合
        海信羅馬假日洗衣機亮相AWE 復古美學與現代
        合肥機場巴士4號線
        合肥機場巴士4號線
        合肥機場巴士3號線
        合肥機場巴士3號線
      4. 上海廠房出租 短信驗證碼 酒店vi設計

        主站蜘蛛池模板: 精品无码人妻一区二区三区不卡| 精品一区二区三区无码免费视频| 99久久精品国产一区二区成人| 久久精品成人一区二区三区| 亚洲爆乳无码一区二区三区 | 日韩精品一区二区三区中文精品| 一区二区三区观看| 亚洲日韩国产欧美一区二区三区 | 国产精品分类视频分类一区| 熟女少妇精品一区二区| 国产一区风间由美在线观看| 天堂成人一区二区三区| 亚洲狠狠狠一区二区三区| 文中字幕一区二区三区视频播放 | 少妇人妻偷人精品一区二区| 福利电影一区二区| 无码国产精品一区二区高潮 | 日本一区二区在线播放| 亚洲色精品aⅴ一区区三区| 久久成人国产精品一区二区| 中文字幕一区二区区免| 国产精品被窝福利一区 | 精品久久国产一区二区三区香蕉 | 国产成人欧美一区二区三区| 国产福利一区二区三区在线视频| 日本高清不卡一区| 人妻av无码一区二区三区| 亚洲色偷偷偷网站色偷一区| 97精品国产一区二区三区| 亚洲av无码一区二区三区四区| 无码精品尤物一区二区三区| 一色一伦一区二区三区| 无码精品不卡一区二区三区 | 人妻无码一区二区三区免费| 蜜桃无码一区二区三区| 精品国产日韩一区三区| 香蕉久久AⅤ一区二区三区| 免费观看一区二区三区| 精品一区二区三区在线成人 | 日韩精品免费一区二区三区| 免费一区二区无码视频在线播放|