当前位置: 首页 > 知识库问答 >
问题:

c开发银行账户结构,创建客户、交易、账户(uni分配帮助)

韶英达
2023-03-14

孩子们,我提前感谢你们的帮助。又是C问题。我有大学作业的挣扎,我是基于几天前在堆栈上发布的一个问题,由于堆栈政策。

我的问题:下面是我的代码,它不工作。有人能帮我让它工作吗?我错过了什么?(我觉得我错过了很多)。

我把函数和结构放在单独的头文件中,把“int main”放在。CCP我正在使用vis studio来实现这一点。请不要以为我在试图让别人做我的任务。下面是我的代码,后面是作业任务表(仅供参考)。

>     CODE
>     
>     // the int main must be my output to screen
>     int main()
>     {
>     Customer* Mary = CreateCustomer("Mary Jones", "235718", "5074");
>     Customer* John = CreateCustomer("John Smith", "375864", "3251");
>     Account* MaryAccount = CreateAccount(*Mary, "06-3121-10212357", "01/03/2014", 100);
>     Account* JohnAccount = CreateAccount(*John, "06-3121-10213758", "10/03/2014");
>     RecordWithdraw(MaryAccount, CreateTransaction("01/03/2014", "ATM Withdrawal", 50) );
>     RecordDeposit(MaryAccount, CreateTransaction("02/03/2014", "Deposit", 90) );
>     RecordWithdraw(MaryAccount, CreateTransaction("04/03/2014", "ATM Withdrawal", 150) );
>     RecordDeposit(MaryAccount, CreateTransaction("05/03/2014", "Deposit", 20) );
>     RecordWithdraw(MaryAccount, CreateTransaction("05/03/2014", "Withdraw", 100) );
>     RecordWithdraw(MaryAccount, CreateTransaction("05/03/2014", "Withdraw", 50) );
>     RecordDeposit(JohnAccount, CreateTransaction("11/03/2014", "Deposit", 20) );
>     RecordDeposit(JohnAccount, CreateTransaction("12/03/2014", "Deposit", 80) );
>     RecordWithdraw(JohnAccount, CreateTransaction("12/03/2014", "Withdraw", 50) );
>     PrintReport(MaryAccount);
>     PrintReport(JohnAccount);
>     return 0;
>     }
>     
>     // the .h file as a struct ass1 section CUSTOMER
>     
>     #ifndef CUSTOMER_H
>     #define CUSTOMER_H
>     
>     using namespace std;
>     
>     struct customer
>     {
>         std::string name;
>         std::string pin;
>         std::string user_id
>     };
>     
>     
>     // function for the above CUSTOMER
>     
>     Customer* CreateCustomer(const string& name, const string& id, const string& pin) {
>         return new Customer { name, id, pin };
>     
>     }
>     
>     
>     // the .h file as a struct ass1 section transaction
>     
>     struct Transaction 
>     
>     {
>         std::string date;
>         std::string description;
>         double amount;
>     };
>     
>     
>     
>     // function for the above transaction
>     
>     
>     transaction* CreateTransaction(const string& date, const string& description, const double& amount) {
>     
>         return new transaction { date, description, amount };
>     
>     }
>     
>     
>     // the .h file as a struct ass1 section account
>     
>     
>         struct Account {
>         Customer customer;
>         int number;
>         double balance, total_deposit, total_withdrawal;
>     
>     // function for the above account 
>     
>     //CreateAccount prototype:
>     
>     
>     Account* CreateAccount(const Customer& customer, const std::string& openingDate = "01/01/2014", const double& openingBalance
> = 0, const double& deposit = 0, const double& withdraw = 0);

对于这个任务,客户结构必须是:

CustomerName:string用户ID:string Pin:string

交易结构必须是:

TransactionDate:string TransactionDescription:string TransactionMount:double

账户结构必须是:

持有人:客户账户编号:字符串余额:双重总计存款:双重总计取款:双重交易列表:交易[]交易计数:整数

Customer结构(在头文件Customer.h中定义)包含三个成员:Customer Name、User ID和Pin。

  • 创建客户的函数CreateCustomer()。它有三个参数来初始化结构的每个成员(客户名称、用户ID和PinNumber)。所有参数都应具有默认的参数空白值,以便指定。原型:

客户*CreateCustomer(常量字符串

>

创建事务的函数CreateTransaction()。它有三个参数来初始化结构的每个成员(交易日期、描述和金额)。所有参数都应该有默认的参数值。日期设置为“2014年1月1日”,说明为空,金额为零。原型:

事务*创建事务(常量字符串

>

  • 帐户结构(定义在头文件中的帐户. h)包含七个成员:帐户持有人、号码、余额、存款总额、提款总额、最大100条记录的交易列表数组和现有交易记录的交易计数。

    创建帐户的函数CreateAccount()。它有六个参数来初始化结构的每个适当成员。日期参数用于为交易列表数组创建第一笔交易,描述为余额参数中的期初余额。因此,在创建帐户后,事务计数应设置为1。第三个参数中的所有参数都应具有默认参数值。日期设置为“2014年1月1日”,余额、存款和取款设置为零值。原型:

    账户*CreateAccount(const客户)

    >

  • 一个函数Record存款(),该函数将交易参数存储到参数帐户的交易列表数组中,并将交易计数增加一个。请确保检查交易参数必须具有高于零的金额。否则,显示错误消息。没有要求默认参数值。无效记录存款(帐户*帐户,交易*交易)

    函数recorddraw()将事务参数存储到参数帐户的事务列表数组中,并将事务计数增加一。确保检查交易参数的金额必须大于零且小于或等于参数account balance。否则,显示错误html" target="_blank">消息。不需要默认参数值。

    作废记录收回(账户*账户,交易*交易)

    • 一个函数PrintReport(),它接受一个帐户指针参数,在数组上显示汇总余额帐户和交易记录列表,以显示为提供的输出格式。原型:

    作废打印报告(科目*科目)

  • 共有1个答案

    周和歌
    2023-03-14

    为了清楚起见,我将尝试给出一个一般的结构,而不是确切的代码。您的帐户结构需要一个事务数组来存储最后100个事务。添加一个新字段来存储这些事务(事务[]或事务*)。在Create帐户()中,将其设置为100长的数组(初始化它)。在Create帐户()中,您还需要用参数中给出的信息设置所有字段。在RecordExure()和Record存款()中,检查交易是否合法(由提供的限制允许),然后将新交易添加到交易数组中的下一个空闲插槽(由交易#确定),然后更新账户的余额、总取款/存款和交易号。希望这有所帮助。

     类似资料:
    • 创建一个新帐户 geth account new 创建一个新帐户并打印地址。 在Console上,使用: > personal.newAccount("passphrase") 该帐户以加密格式保存。您必须记住这个密码以将来解锁您的帐户。 对于非交互式使用,可以使用--password标志指定密码: geth --password <passwordfile> account new 请注意,这仅

    • 我在项目中有以下课程: 账户 客户 名称:fName和lName(都是字符串字段) 日期:年、月、日(均为整数字段) 银行:包含账户收款 InputReader:从键盘读取输入 账户对象需要客户对象和期初余额。客户对象需要名称对象和日期对象。Name对象需要名字和姓氏的字符串我需要向用户询问创建Name和Date对象的详细信息,以及期初余额。 我必须通过从用户那里获取相关信息来创建一个新帐户,即它

    • 你所需要做的第一件事是创建一个免费账户。 直接访问 https://github.com,选择一个未被占用的用户名,提供一个电子邮件地址和密码,点击写着`‘Sign up for GitHub’'的绿色大按钮即可。 Figure 82. GitHub 注册表单。 你将看到的下一个页面是升级计划的价格页面,目前我们可以直接忽略这个页面。 GitHub 会给你提供的邮件地址发送一封验证邮件。 尽快到你

    • 帐户类型和交易 Ethereum有两种类型的帐户: 正常或外部控制的帐户 合同,即代码片段,可以看成一个类。 这两种类型的帐户都具有ether余额。 两种类型的帐户都可以触发交易,尽管合约仅针对其收到的其他交易触发交易。因此,通过外部控制账户发起的交易,所有ethereum 区块链上的行为都被唤起。 最简单的交易是ether传输交易。但在我们进入之前,你应该阅读帐目,也可以在采矿时阅读。

    • 新建账号(账户)     若想跟其他 Skype 用户免费通话、利用 Skype 提供的各种需付费服务,首先必须新建账号(Skype 昵称)。若已透过个人计算机等使用 Skype 并已取得账号,则可在PSP™版的 Skype 使用相同账号享受同等服务。 1. 开启PSP™的电源,选择(网络) > (Skype™)。 2. 选择[建立一个新的 Skype 账号]。 与网络联机,并新建账号(账户)。

    • 创建一个账户对象。 调用: web3.eth.accounts.create([entropy]); 参数: entropy - String : 可选,用于增加混乱度的随机字符串,至少32字符长。如果未设定将使用randomhex生成一个随机字符串 返回值: Object - 账户对象,结构如下: address - string: 账户地址 privateKey - string: 账户私钥