山东省第二届ACM大学生程序设计竞赛——Mathman Bank
来源:互联网 发布:mac系统怎么卸载flash 编辑:程序博客网 时间:2024/05/21 22:55
题目链接:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2167
Mathman Bank
简单模拟即可!!!#include<iostream>#include<cstdio>#include<string>#include<algorithm>using namespace std;struct node{ string name; string pass; int sum;}no[1010];int Find(string name,int k){ for(int i=0;i<k;i++) if(no[i].name==name) return i; return -1;}int main(){ int n; char op; string name,pass,name2,pass2; int sum; int k; while(cin>>n) { k=0; while(n--) { cin>>op; if(op=='O') { cin>>name>>pass>>sum; if(Find(name,k)!=-1) printf("Account exists.\n"); else { no[k].name=name; no[k].pass=pass; no[k].sum=sum; k++; printf("Successfully opened an account.\n"); } } else if(op=='D') { cin>>name>>sum; if(Find(name,k)!=-1) { no[Find(name,k)].sum+=sum; printf("Successfully deposited money.\n"); } else printf("Account does not exist.\n"); } else if(op=='W') { cin>>name>>pass>>sum; if(Find(name,k)!=-1) { if(no[Find(name,k)].pass==pass) if(no[Find(name,k)].sum>=sum) { no[Find(name,k)].sum-=sum; printf("Successfully withdrew money.\n"); } else printf("Money not enough.\n"); else printf("Wrong password.\n"); } else printf("Account does not exist.\n"); } else if(op=='T') { cin>>name>>pass>>name2>>sum; if(Find(name,k)!=-1&&Find(name2,k)!=-1) //这里应该先判断两个账号是否存在,再判断第一个账号的密码是否正确 { if(no[Find(name,k)].pass==pass) if(no[Find(name,k)].sum>=sum) { no[Find(name,k)].sum-=sum; no[Find(name2,k)].sum+=sum; printf("Successfully transfered money.\n"); } else printf("Money not enough.\n"); else printf("Wrong password.\n"); } else printf("Account does not exist.\n"); } else if(op=='C') { cin>>name>>pass; if(Find(name,k)!=-1) { if(no[Find(name,k)].pass==pass) printf("%d\n",no[Find(name,k)].sum); else printf("Wrong password.\n"); } else printf("Account does not exist.\n"); } else { cin>>name>>pass>>pass2; if(Find(name,k)!=-1) { if(no[Find(name,k)].pass==pass) { no[Find(name,k)].pass=pass2; printf("Successfully changed password.\n"); } else printf("Wrong password.\n"); } else printf("Account does not exist.\n"); } } } return 0;}
0 0
- [2011山东省第二届ACM大学生程序设计竞赛]——Mathman Bank
- 山东省第二届ACM大学生程序设计竞赛——Mathman Bank
- Mathman Bank(第二届ACM大学生程序设计竞赛 )
- 山东省第二届ACM大学生程序设计竞赛——Identifiers
- [2011山东省第二届ACM大学生程序设计竞赛]——Identifiers
- [2011山东省第二届ACM大学生程序设计竞赛]——Crack Mathmen
- [2011山东省第二届ACM大学生程序设计竞赛]——Mathmen
- 山东省第二届ACM大学生程序设计竞赛——Crack Mathmen
- Sequence(山东省第二届ACM大学生程序设计竞赛)
- 山东省第二届ACM大学生程序设计竞赛:Identifiers
- 山东省第二届ACM大学生程序设计竞赛:Binomial Coeffcients
- SDUT 2163 Identifiers 山东省第二届ACM大学生程序设计竞赛
- 山东省第二届ACM大学生程序设计竞赛 Identifiers
- 山东省第二届ACM大学生程序设计竞赛 Sequence
- [2011山东省第二届ACM大学生程序设计竞赛]——The Android University ACM Team Selection Contest
- 山东省第七届ACM大学生程序设计竞赛
- 第四届 山东省ACM大学生程序设计竞赛
- 第七届 山东省ACM大学生程序设计竞赛
- 黑马程序员——Socket编程学习笔记
- 三++30杨辉三角
- java第六天
- 吾不能为五斗米折腰
- C# 传统的委托、匿名方法、Lambda对比
- 山东省第二届ACM大学生程序设计竞赛——Mathman Bank
- 利用nf_conntrack机制存储路由,省去每包路由查找
- ios地图定位学习
- java 第三天
- 文件操作
- 北大ACM3641——Pseudoprime numbers~~快速求幂法
- TestFlight——完美的iOS App测试方案
- 第38题
- MySQL数据库表无法插入中文字符