首页
网站开发
桌面应用
管理软件
微信开发
App开发
嵌入式软件
工具软件
数据采集与分析
其他
首页
>
> 详细
SEHS2042代做、代写C++设计编程
项目预算:
开发周期:
发布时间:
要求地区:
SEHH/SEHS2042 24-25 Semester One – Group Project 1
SEHH/SEHS2042 Computer Programming
Group Project – AI Service Token Management System
(Due: 23:59, 1 Dec 2024, Sunday)
Expected Learning Outcomes
develop computer programs in one or more high level language programming environment;
design and develop structured and documented computer programs;
explain the fundamentals of object-oriented programming and apply it in computer program
development;
integrate the computer programming techniques to solve practical problems.
Introduction
In this assignment, you are going to develop an “AI Service Token Management System” that runs
in the command line environment. The system maintains user records and manages the use of
tokens by a user which can be used to pay for various web-based AI services. The system allows
users to check their token balance and update their token balance upon purchasing new tokens or
using a particular AI service.
Tasks
Each group is required to write a Win32 Console Application program called TMS.cpp.
Each student is required to submit a video recording (at most 2-minute long) to demonstrate
his/her individual contribution in the group project.
Each student is required to submit a Peer-to-Peer evaluation form (through the given Word file)
via Blackboard.
Program Requirements
R0 When the program starts, the console should display a welcome message, followed by the
Main Menu of the program. Users can enter the options of the corresponding actions (see
R1 to R6 below).
Welcome Message designed by your group
*** Main Menu ***
[1] Load Starting Data
[2] Show User Records
[3] Edit Users
[4] Enter User View SEHH/SEHS2042 24-25 Semester One – Group Project 2
[5] Show System Usage Summary
[6] Credits and Exit
*****************
Option (1 - 6):
R1 [1] Load Starting Data
When the user inputs 1 in the Main Menu, the system is loaded with starting data. The
starting data includes user records as shown in R1.1 below. After the starting data is loaded,
the system returns to the Main Menu.
R1.1 The starting data to be loaded, together with the required data format of the data fields, are
described below.
User records
User ID Type Token Balance Auto Top-up
SkyWalker T 20 N
Ocean123 T 35 N
Forest99 T 6 Y
Valley777 F 10 Y
Desert2022 F 25 N
River456 F 20 Y
Blaze2023 F 100 N
Meadow888 S 40 Y
Galaxy S 15 Y
Storm2024 S 30 N
Data format of each field:
User ID: A string that uniquely identifies a user in the system (assume at most 50
characters long); it is case-sensitive. You can assume it does not contain white space.
Type: A character (T, F or S) that represents the account type. Different restrictions
about using the AI services, and different charging policies are used for different
account types. See requirement R7 for details.
Type (character) Rank (description)
T Trial Account
F Full Account
S Student Account
Token Balance: The token balance owned by the user. SEHH/SEHS2042 24-25 Semester One – Group Project 3
Auto Top-up: A character (Y or N) to indicate whether extra tokens would be
purchased automatically if the token balance is not enough for a particular AI service.
R1.2 Options 2 to 5 in the Main Menu are enabled only after the system is loaded with the
starting data. If the user enters options 2 to 5 before starting data is loaded, an error message
should be shown, and then the system returns to the Main Menu.
R2 [2] Show User Records
[After the starting data is loaded] When the user inputs 2 in the Main Menu, the system
displays all the fields of all user records. A tabular format should be displayed, and the
records are sorted in alphabetical order based on the ID values. Data shown should be
the latest set of data since the starting data is loaded (updates on the user records resulted
by the operations under options 3 or 4 in the Main Menu should be included). After
showing the records, the system returns to the Main Menu.
R3 [3] Edit Users
[After the starting data is loaded] When the user inputs 3 in the Main Menu, the system
prompts for the next user input of a User ID. If such User ID does not exist in the system,
it is an add user operation. Otherwise, it is a delete user operation.
You can assume the system will store at most 100 user records.
Add user
The system asks the user to input the information of the remaining three fields: (1) Type,
(2) Token Balance, and (3) Auto Top-up. After getting all user inputs, the new user should
be added into the system. For any invalid inputs (e.g., wrong field values, incorrect range
for token balance, etc.), the system allows TWO more retries. With more than THREE
times of invalid inputs, no user is added. The system prints an appropriate error message
and returns to the Main Menu.
Delete customer
The system displays the information of the user (including all the fields), and prompts for
user’s “Yes/No” confirmation on the delete operation. The user record is deleted from the
system if it is confirmed.
A message showing the summary of the above operation is then displayed, and the system
returns to the Main Menu.
SEHH/SEHS2042 24-25 Semester One – Group Project 4
R4 [4] Enter User View
[After the starting data is loaded] When the user inputs 4 in the Main Menu, the system
prompts for the next user input of a User ID. If such User ID does not exist in the system,
the system displays an error message and returns to the Main Menu. Otherwise, it displays
the User View Menu as shown below and allows further processing on the particular user
(e.g., River456) as follows (see R4.1 to R4.4 below).
Action for User ID: River456
***** User View Menu *****
[1] Select AI Service
[2] Purchase Tokens
[3] Edit Profile
[4] Show Transaction History
[5] Return to Main Menu
**************************
Option (1 - 5):
R4.1 [1] Select AI Service (Also refer to requirement R7 about the AI services)
When such option is chosen, the system shows the list of available AI services and asks
user for the choice. After the choice input, the system accepts subsequent user inputs
associated with the chosen AI service. If all user inputs are valid, the AI service is allowed
for that user, and the user’s token balance is enough for paying the AI service, the user’s
token balance will be updated accordingly.
The user can still use the AI service with “less-than-required” tokens in his balance if the
“Auto Top-up” option is enabled for the user account. If so, the system should additionally
display the extra money that has been paid for buying the extra tokens, and the user’s final
token balance. The auto top-up amount should be in a multiple of $20, which buys
minimum extra tokens that are enough for the AI service.
The AI service will not be paid if it is not allowed for that user, if there is any invalid user
input, or if the user’s token balance is insufficient with “Auto Top-up” option disabled. In
such siutation, no change in the token balance will be made.
For all the above cases, the system should print a meaningful message about the situation,
print the change in user’s token balance as a result, and return to the User View Menu.
SEHH/SEHS2042 24-25 Semester One – Group Project 5
R4.2 [2] Purchase Tokens
Each token costs $2. When such option is chosen, the system prompts for user input of an
even integer value, which is the amount of money to spend for purchasing tokens. The
system then calculates and adds the tokens into the token balance for the user. For any
invalid input, no tokens should be purchased.
R4.3 [3] Edit Profile
When such option is chosen, the system allows users to make changes to either the
“Account Type” or the “Auto Top-up” setting. User is allowed to choose which fields he
wants to update, and to input the new field value. The user’s profile should be updated
afterwards, if user inputs are valid.
For any invalid input, the system allows TWO more retries. With more than THREE
rounds of invalid inputs, the system prints an appropriate error message and returns to the
User View Menu.
R4.4 [4] Show Transaction History
When such option is chosen, the system displays all token transaction records history for
the particular user since the program starts running:
All kinds of tokens transactions under R4.1 and R4.2 should be considered and
displayed.
The transaction records should be displayed in the order that they were carried out.
For token transactions under R4.1 (paying for an AI service), both the number of tokens
spent and the name of the AI service being used should be displayed. If there is an “auto
top-up” action, the extra money paid for buying the extra tokens should be displayed
too.
For token transactions under R4.2 (purchasing tokens), both the number of tokens
purchased and the amount of money spent should be displayed.
At the end, a summary showing the original token balance, the final token balance, the
change in token balance, and the TOTAL amount of money paid for buying tokens
(including those used under “auto top-up”) should be displayed.
A meaningful message should be shown if there have been no transactions made so far
for the user.
After displaying the transaction history, the system returns to the User View Menu.
SEHH/SEHS2042 24-25 Semester One – Group Project 6
R4.5 [5] Return to Main Menu
When such option is chosen, the system returns to the Main Menu.
R4.6 Stay at the User View Menu
Following R4.1, R4.2 and R4.3, after an operation for a user, the system should display the
change (the original and the new values) in the token balance or the profile of the user by
that operation, and then stays at the User View Menu.
R5 [5] Show System Usage Summary
[After the starting data is loaded] When the user inputs 5 in the Main Menu, the system
displays the usage summary of the system since the program starts running. The summary
includes: (1) the number of tokens spent on each of the AI service by all users, (2) the total
number of tokens spent on all AI services by all users, and (3) the total amount of money
paid for buying tokens (including those used under “auto top-up”) by all users.
After displaying the system usage summary, the system returns to the Main Menu.
R6 [6] Credits and Exit
When the user inputs this option, the system prompts for user’s confirmation. If the user
inputs ‘n’ or ‘N’, the system returns to the Main Menu. If the user inputs ‘y’ or ‘Y’, the
system displays the personal particulars (student name, student ID, tutorial group) of the
group members and terminates. Other input is not acceptable and the system should ask
the user to confirm again.
R7 Description about AI services
A user can select an AI service and pay for it using tokens under R4. Each token costs $2.
There are four AI services. Charges of different AI services are put down below, which
also takes the user type into consideration:
(1) Image Recognition
Charging Model: Based on image size
Image Size Charges (per image)
Trial Account Full Account Student Account
Under 3 MB 5 tokens 5 tokens 4 tokens
Over 3 MB Not allowed 8 tokens 7 tokens
SEHH/SEHS2042 24-25 Semester One – Group Project 7
(2) Speech-to-text transcription
Charging Model: Based on the length of the speech audio file
(same charge for all user types)
Length of Audio Charges (per minute)
The first 3 minutes 2 tokens
After 3 minutes 3 tokens
(3) Predictive Analysis
Charging Model: 10 tokens per prediction task (same charge for all user types)
(4) Natural Language Processing (NLP)
Charging Model: Based on length of text for NLP, 1 token for every 500 characters
(e.g., a 900-character text needs 2 tokens)
Note: For trial account, the length of text should not exceed 2500 characters. If so, the
AI service should not be used.
As a result, for each AI service, the required user inputs for charge calculation are:
AI Service Required user inputs for charge
calculation
(1) Image Recognition Size of the image (in MB)
(2) Speech-to-text transcription Length of speech audio file (in minutes)
(3) Predictive Analysis Number of prediction tasks
(4) Natural Language Processing (NLP) Number of characters in the text
R8 Suitable checking on user’s input is expected, except in situations with assumptions stated
in the requirements above. Appropriate error messages should be printed whenever
unexpected situation happens, e.g., input value out of range, incorrect character input, etc.
R9 The use of functions (in addition to main function) and classes (i.e., OOP design) are
expected in your program. Appropriate comments should be added in your source code file.
R10 Creativity and Critical Thinking: Use suitable format to present all required information of
users and AI services clearly and neatly. Additional features can be added.
Tips
1. To handle unexpected input error (e.g. input a character to an integer variable), you may use
the following code appropriately in your program:
cin.ignore(); // Discard the content in the input sequence.
cin.clear(); // Reset the input error status to no error.
软件开发、广告设计客服
QQ:99515681
邮箱:99515681@qq.com
工作时间:8:00-23:00
微信:codinghelp
热点项目
更多
代做 program、代写 c++设计程...
2024-12-23
comp2012j 代写、代做 java 设...
2024-12-23
代做 data 编程、代写 python/...
2024-12-23
代做en.553.413-613 applied s...
2024-12-23
代做steady-state analvsis代做...
2024-12-23
代写photo essay of a deciduo...
2024-12-23
代写gpa analyzer调试c/c++语言
2024-12-23
代做comp 330 (fall 2024): as...
2024-12-23
代写pstat 160a fall 2024 - a...
2024-12-23
代做pstat 160a: stochastic p...
2024-12-23
代做7ssgn110 environmental d...
2024-12-23
代做compsci 4039 programming...
2024-12-23
代做lab exercise 8: dictiona...
2024-12-23
热点标签
mktg2509
csci 2600
38170
lng302
csse3010
phas3226
77938
arch1162
engn4536/engn6536
acx5903
comp151101
phl245
cse12
comp9312
stat3016/6016
phas0038
comp2140
6qqmb312
xjco3011
rest0005
ematm0051
5qqmn219
lubs5062m
eee8155
cege0100
eap033
artd1109
mat246
etc3430
ecmm462
mis102
inft6800
ddes9903
comp6521
comp9517
comp3331/9331
comp4337
comp6008
comp9414
bu.231.790.81
man00150m
csb352h
math1041
eengm4100
isys1002
08
6057cem
mktg3504
mthm036
mtrx1701
mth3241
eeee3086
cmp-7038b
cmp-7000a
ints4010
econ2151
infs5710
fins5516
fin3309
fins5510
gsoe9340
math2007
math2036
soee5010
mark3088
infs3605
elec9714
comp2271
ma214
comp2211
infs3604
600426
sit254
acct3091
bbt405
msin0116
com107/com113
mark5826
sit120
comp9021
eco2101
eeen40700
cs253
ece3114
ecmm447
chns3000
math377
itd102
comp9444
comp(2041|9044)
econ0060
econ7230
mgt001371
ecs-323
cs6250
mgdi60012
mdia2012
comm221001
comm5000
ma1008
engl642
econ241
com333
math367
mis201
nbs-7041x
meek16104
econ2003
comm1190
mbas902
comp-1027
dpst1091
comp7315
eppd1033
m06
ee3025
msci231
bb113/bbs1063
fc709
comp3425
comp9417
econ42915
cb9101
math1102e
chme0017
fc307
mkt60104
5522usst
litr1-uc6201.200
ee1102
cosc2803
math39512
omp9727
int2067/int5051
bsb151
mgt253
fc021
babs2202
mis2002s
phya21
18-213
cege0012
mdia1002
math38032
mech5125
07
cisc102
mgx3110
cs240
11175
fin3020s
eco3420
ictten622
comp9727
cpt111
de114102d
mgm320h5s
bafi1019
math21112
efim20036
mn-3503
fins5568
110.807
bcpm000028
info6030
bma0092
bcpm0054
math20212
ce335
cs365
cenv6141
ftec5580
math2010
ec3450
comm1170
ecmt1010
csci-ua.0480-003
econ12-200
ib3960
ectb60h3f
cs247—assignment
tk3163
ics3u
ib3j80
comp20008
comp9334
eppd1063
acct2343
cct109
isys1055/3412
math350-real
math2014
eec180
stat141b
econ2101
msinm014/msing014/msing014b
fit2004
comp643
bu1002
cm2030
联系我们
- QQ: 9951568
© 2021
www.rj363.com
软件定制开发网!