课程设计
来源:互联网 发布:windows永久免费vps 编辑:程序博客网 时间:2024/06/06 03:10
l 《数据结构》课程论文
l 专 业:物联网工程1132班
l 学 号:201311672231
l 姓 名:张小聪
l 指导老师:易学明
l 时 间: 2015.1.10
一、实验题目:
小明是一个计算机专业top student,祝贺他毕业了。并准备到银行参加工作。上班第一天,经理叫他编制一个实现一个活期储蓄处理程序,算作考查。上班第一天, 一定要给领导一个好印象,小明二话没说,就答应了。现要你是小明了,请完成如下题目功能。储户开户、销户、存入、支出活动频繁,系统设计要求:
(1)能比较迅速地找到储户的帐户,以实现存款、取款记账;
(2)能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。
二、实验目的:
通过课程设计,学会运用数据结构知识,针对具体应用,自己设计合理数据结构,确定存储结构,并能设计具体操作算法,选择使用具体语言进行实现。掌握C++较复杂程序的组织和设计过程,调试技巧。学习解决实际问题的能力。
三、实验内容:
储户开户、销户、存入、支出活动频繁,系统设计要求:
(1)能比较迅速地找到储户的帐户,以实现存款、取款记账;
(2)能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。
四、功能:
用以方便银行对客户进行开户、销户、存入、支出等情况进行操作以及记录。
要求:方便快捷,界面清晰,数据查找准确。
五、主要操作
1、主要思路:
登入系统 开户 个人界面(密码登陆) 查询、取款、存款、退出
2、主要流程:
开户流程:
进入系统界面 进入开户界面 填写资料 姓名、电话号码、地址、密码、身份证号码 确认开户 开户成功
存取款流程:
登入系统界面 输入账号与密码 登陆 选择存款、取款 退出六、
六、运行调试:
界面显示:
2、开户
3、 储户的账号存取款
4、销户
5、查询
七、源代码:
#include<iostream.h>#include<iomanip.h>#include <string>using namespace std;long num[100],time[100];float money[100];char*namek[100];char*idk[100];char*telk[100];char*wplacek[100],*homek[100];float interest=0;char yes;char name[100]; int get_num( long *num ) //获取账号{for(int j=1;j<=100;j++)if(num[j]<=0)return j;cout<<" 账户已满"<<endl;return 0;} void get_inform( int n,long* num,char**idk, char **namek,char**wplacek,char**telk,char**homek){ cout<<"请输入 姓 名:";cin>>*(namek+n);cout<<"请输入 电话号码:";cin>>*(telk+n);cout<<"请输入 单位名称:"; cin>>*(wplacek+n);cout<<"请输入 地 址:";cin>>*(homek+n); cout<<"请输入 密 码:";cin>>*(num+n);cout<<"请输入身份证号码:";cin>>*(idk+n); return;} //个人界面 void personal(int n,long* time,float *money,long *num,float interest) { long t; int mtemp,ntemp,loop=0; char temp;//loop=0必须放在这里面,否则只能打开一次子菜单 while(loop==0) //loop=0不能放到personal外! {cout<<"++++++++++++++++++++++++++++++++"<<endl; cout<<" 1-存 款"<<endl; cout<<" 2-取 款"<<endl; cout<<" 3-转 账"<<endl; cout<<" 4-销 户"<<endl; cout<<" 5-返回主菜单"<<endl; cout<<"当前的利率为:"<<ROI<<endl; scanf("%c",&temp); fflush(stdin); if(temp!='1'&&temp!='2'&&temp!='3'&&temp!='4'&&temp!='5') cout<<"输入错误,请重新输入\n"<<endl; switch(temp){ case '1': cout<<"请输入存款金额:"; cin>>mtemp; *(money+n)+=mtemp; cout<<" 交易成功!"<<endl; cout<<" 当前的余额为:"<<*(money+n)<<endl; break; case '2': cout<<"请输入存款时长:"; cin>>t; *(time+n)=t; interest+=(0.02*t*(*(money+n))); cout<<" 获得利息为:"<<interest<<endl; *(money+n)+=interest; cout<<"请输入取款金额(<="<<*(money+n)<<"):"; cin>>mtemp; if(mtemp>*(money+n)) { cout<<" 余额不足,交易失败!"; break; } *(money+n)-=mtemp; cout<<" 交易成功!"<<endl; cout<<" 当前的余额为:"<<*(money+n)<<endl; break; case '3': cout<<"请输入转入账号:"; cin>>ntemp; if(ntemp<1||ntemp>99) { cout<<" 该账号不存在!"<<endl; break; } if(*(num+ntemp)==0) { cout<<" 该账号未注册!"<<endl; break; } if(*(num+ntemp)==-1) { cout<<" 该账户已注销!"<<endl; break; } cout<<"请输入转出金额(<="<<*(money+n)<<"):"; cin>>mtemp; if(mtemp>*(money+n)) { cout<<" 余额不足,交易失败!"; break; } cout<<" 确认转账?[Y/N]:"; cin>>yes; if(yes=='Y') { *(money+n)-=mtemp; *(money+ntemp)+=mtemp; cout<<" 交易成功!"<<endl; } cout<<" 当前的余额为:"<<*(money+n)<<endl; break; case '4': cout<<" 确认注销?[Y/N]:"; cin>>yes; if(yes=='Y') { cout<<" 已注销!"<<endl; *(num+n)=-1; } loop=1; break ; case '5': loop=1; break; }}} void main(){cout<<" 欢迎进入活期储蓄账目管理 "<<endl;int r=0,i,m,n;char temp;for(i=1;i<=100;i++){num[i]=0;money[i]=0;time[i]=0;*(namek+i)=new char[100]; //必须先给指针数组分配内存,才可以出入值*(wplacek+i)=new char[100]; //*号不能省略*(homek+i)=new char[100];*(idk+i)=new char[100];*(telk+i)=new char[100];}while(r==0){cout<<"********************************"<<endl;cout<<" 1-进入帐户"<<endl;cout<<" 2-开 户"<<endl;cout<<" 3-查 询"<<endl;cout<<" 4-退 出"<<endl;cout<<"********************************\n请选择:"<<endl;scanf("%c",&temp);fflush(stdin); if(temp!='1'&&temp!='2'&&temp!='3'&&temp!='4') cout<<"输入错误,请重新输入\n"<<endl; switch(temp) { case '1': cout<<"请输入账号:"; cin>>n; if(n<1||n>99) { cout<<" 该账号不存在!"<<endl; break; } if(*(num+n)==0) { cout<<" 该账号未注册!"<<endl; break; } if(*(num+n)==-1) { cout<<" 该账户已注销!"<<endl; break; } cout<<"请输入密码:"; cin>>m; if(*(num+n)!=m) { cout<<" 密码错误!"; break; } else personal(n,time,money,num,interest); break; case '2': n=get_num( num ); if(n==0) break; get_inform(n,num, idk,namek,wplacek,telk,homek); cout<<" 确认开户?[Y/N]:"; cin>>yes; if(yes=='Y') cout<<" 开户成功!\n"<<" 您的账号为:" <<setw(6)<<setfill('0')<<n<<endl; else *(num+n)=-1;break; case '3': check( n,namek,wplacek,telk,homek,idk,money,time,interest); break; case '4': r=1; cout<<" 再见!"<<endl; break; } }for(i=1;i<100;i++){ delete []*(namek+i); delete []*(wplacek+i); delete []*(homek+i); delete []*(idk+i); delete []*(telk+i);}}
八、总结:
在学了一个学期的数据结构课中,学会了数据结构中的集合结构、线性结构、树结构、图结构的基本内容,能够让我初步的了解数据结构的知识,为后期的进一步深造打下了基础。但是,在初初接触这门课程时,对这门课程还不了解,再加上学习的不到位,导致自己在一开始是不知道怎样学习的,非常迷惘。后来,当学了一段时间后,慢慢的发现了学习的规律,开始对这门课程熟悉了,之后在熟悉的基础上补回之前的空白,使我慢慢的跟上节奏了。在学完这门课程后,觉得自己还有很多不足之处,还有些知识不够认识,今后我会继续学习它掌握它。
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 黑马程序员——C语言——预处理指令
- char * 类型的变量和 char 型数组重新赋值
- <Linux> grep文件搜索
- Android ActionBar 更改返回图标
- 用JAVA读取XML文件
- 课程设计
- 运营微信公众平台服务号的三点心得
- 利用现成工具,将MSSQL数据库备份到百度云
- Linux 内核学习笔记
- C++成员函数指针与其应用场景
- Android内核源码bionic目录下的子目录arch-arm源码分析笔记
- php代码审计相关的
- xargs
- Backbone中Collection的基础知识