本文介绍了一个简易银行系统的C++实现,包括开户、存款、取款等功能。系统采用结构体存储账户信息,通过数组管理多个账户,并实现了基本的账户管理操作。

#include <iostream>
#include <string.h>
#include <stdio.h>
#include <iomanip>
using namespace std;

//银行中最大的账户数量
#define MAXACCOUNTNUMBER 20000
//银行卡的开号初始值
#define INITNUMBER 10001

struct Account
{
    long accNumber;   //卡号
    char accName[20]; //户主
    char accPwd[10];  //密码
    double balance;   //余额
    char flag[6];     //卡的状态
};
//银行中所有卡
Account array[MAXACCOUNTNUMBER];
//银行中银行卡数量
int size=0;

//欢迎界面
void welcome();
//主界面
void mainFrame();
//生成银行中自增卡号
long autoCreament();
//开户
void openAccount();
//存款
void deposit();
//取款
 void withdrawal();
 //
 //void gudgeon door();
//输出指定卡的信息
void printAccount(Account acc);
//根据卡号查找卡在数组中的下标
int searchAccount(long accNumber);

int main()
{
    char loginName[20];
    char loginPwd[20];
    int i;
    //欢迎界面
    welcome();
    //..
    for(i=0;i<3;i++)
    {
        cout<<"请输入用户名:";
        cin>>loginName;
        cout<<"请输入密码:";
        cin>>loginPwd;
        if(strcmp(loginName,"admin")==0&&strcmp(loginPwd,"admin")==0)
        {
            mainFrame();
            break;
        }else{
            cout<<"用户名或密码输入错误"<<endl;
        }
    }
    return 0;
}

void welcome()
{
    cout<<"+----------------------------------+"<<endl;
    cout<<"|         欢迎登陆银行系统         |"<<endl;
    cout<<"+----------------------------------+"<<endl;
}

void mainFrame()
{
   int order;
   cout<<"|----------------------------|"<<endl;
   cout<<"|         1.开户             |"<<endl;
   cout<<"|         2.存款             |"<<endl;
   cout<<"|         3.取款             |"<<endl;
   cout<<"|         4.销户             |"<<endl;
   cout<<"|         5.查询             |"<<endl;
   cout<<"|         6.退出             |"<<endl;
   cout<<"|----------------------------|"<<endl;
   cout<<"请输入操作指令"<<endl;
   cin>>order;
   switch(order){
       case 1:
            openAccount();
            break;
       case 2:
            deposit();
            break;
       case 3:
       withdrawal();
            break;
       default:
            break;
   }
}

void openAccount()
{
    cout<<"请输入户主:";
    cin>>array[size].accName;
    cout<<"请输入密码:";
    cin>>array[size].accPwd;
    cout<<"请输入金额:";
    cin>>array[size].balance;
    //..
    strcpy(array[size].flag,"正常");
    //写卡号
    array[size].accNumber=autoCreament();
    printAccount(array[size]);
    size++;
    cout<<"开户成功,按任意键返回"<<endl;
    fflush(stdin);
    getchar();
    mainFrame();
}

long autoCreament()
{
    if(size==0){
        return INITNUMBER;
    }else{
        return array[size-1].accNumber+1;
    }
}

//输出指定卡的信息
void printAccount(Account acc)
{
    cout<<"|----------------------------------------|"<<endl;
    cout<<setiosflags(ios::left)<<"|"<<setw(8)<<"卡号"<<setw(8)<<"户主"<<setw(8)<<"密码"<<setw(8)<<"金额"<<setw(8)<<"状态"<<"|"<<endl;
    cout<<setiosflags(ios::left)<<"+----------------------------------------+"<<endl;
    cout<<setiosflags(ios::left)<<"|"<<setw(8)<<acc.accNumber<<setw(8)<<acc.accName<<setw(8)<<acc.accPwd<<setw(8)<<acc.balance<<setw(8)<<acc.flag<<"|"<<endl;
    cout<<"|----------------------------------------|"<<endl;
}

/*根据卡号查找卡的下标
* 若返回值>=0,卡号是正确
* 若返回值=-1,卡号有误
*/
int searchAccount(long accNumber)
{
    int i,pos=-1;
    for(i=0;i<size;i++){
        if(array[i].accNumber==accNumber){
            //找到了这张卡
            pos=i;
            break;
        }
    }
    return pos;
}

void deposit()
{
    long accNum;//存款的账号
    double money;//存款的金额

    int pos;

    cout<<"请输入存款的账号:";
    cin>>accNum;
    cout<<"请输入存款金额:";
    cin>>money;

    pos=searchAccount(accNum);

    if(pos==-1){
        //卡号有误
        cout<<"卡号不存在,请重新输入卡号"<<endl;
        //...
        deposit();
    }else{

        //展示下存款前卡的信息
        cout<<"存款前卡的信息:"<<endl;
        printAccount(array[pos]);
        //找到了该卡号所对应的卡
        array[pos].balance+=money;
         //展示存款后卡的信息
        cout<<"存款后卡的信息:"<<endl;
        printAccount(array[pos]);
        cout<<"存款成功,按任意键返回"<<endl;
        fflush(stdin);
        getchar();
        mainFrame();

    }
}
void withdrawal()
{
    char accPwd[10];
    long accNum;//取款的账号
    double money;//取款的金额
    int pos;
    cout<<"请输入取款的账号:";
    cin>>accNum;
    cout<<"请输入取款金额:";
    cin>>money;
    if(array[size].balance>=money){
    cout<<"金额不足"<<endl;
    withdrawal();
    }else{
    pos=searchAccount(accNum);

    if(pos==-1){
        //卡号有误
        cout<<"卡号不存在,请重新输入卡号"<<endl;
        //...
        withdrawal();
    }else{
        cout<<"请输入账号密码:";
        cin>>accPwd;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        cin>>accPwd;
    if(strcmp(accPwd,"array[size].accPwd")==0)
        {
            //展示下取款前卡的信息
        cout<<"取款前卡的信息:"<<endl;
        printAccount(array[pos]);
        //找到了该卡号所对应的卡
        array[pos].balance-=money;
         //展示取款后卡的信息
        cout<<"取款后卡的信息:"<<endl;
        printAccount(array[pos]);
        cout<<"取款成功,按任意键返回"<<endl;
        fflush(stdin);
        getchar();
        mainFrame();
        }else{
            cout<<"密码输入错误"<<endl;
            withdrawal();
        }
    }

    }
}

03-27
### 阿里巴巴通义千模型介绍 阿里巴巴通义千是一系列由阿里云研发的大规模语言模型,旨在通过先进的自然语言处理技术实现高度智能化的人机交互体验。该模型不仅能够理解和生成高质量的文本内容,还支持多模态数据处理以及多种应用场景下的定制化开发。 #### 源码获取与资源文件 对于希望深入研究或实际部署通义千大模型的研究者和技术人员来说,可以通过公开链接访其源码及相关文档资料。具体而言,项目地址位于 `https://gitcode.com/open-source-toolkit/a7292`[^1],这里提供了完整的代码库和必要的说明文件以便于用户快速上手并开展进一步工作。 #### 技术特点分析 从技术角度来看,通义千7B版本展现了卓越的能力水平,在多个维度体现了强大的性能表现: - **大规模参数量**:具备高达数十亿级别的可训练参数数量,从而赋予模型更深层次的学习能力和表达潜力; - **高效预训练机制**:采用基于Transformer架构设计,并结合自监督学习方法完成海量无标注语料上的充分训练过程; - **广泛适用场景**:无论是日常对话交流还是复杂任务解决(如编程辅助、法律咨询等),均能展现出色效果; 此外,它强调开放合作精神,鼓励社区成员共同参与到改进和完善工作中来,推动整个人工智能领域向前发展 [^2]. ```python import torch from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("qwen/Qwen_7B") model = AutoModelForCausalLM.from_pretrained("qwen/Qwen_7B") def generate_text(prompt): inputs = tokenizer.encode_plus( prompt, return_tensors="pt", max_length=512, truncation=True ) with torch.no_grad(): outputs = model.generate(inputs['input_ids'], max_new_tokens=100) result = tokenizer.decode(outputs[0], skip_special_tokens=True) return result if __name__ == "__main__": test_prompt = "请解释一下什么是量子计算?" output = generate_text(test_prompt) print(output) ``` 上述代码片段展示了如何利用Hugging Face Transformers库加载Qwen-7B模型实例,并定义了一个简单函数用于根据给定提示生成相应回复。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值