数据结构课程设计
2015-01-12 19:26
232 查看
一、实训目的
通过课程设计,学会运用数据结构知识,针对具体应用,自己设计合理数据结构,确定存储结构,并能设计具体操作算法,选择使用具体语言进行实现。掌握C++较复杂程序的组织和设计过程,调试技巧。学习解决实际问题的能力。
题目 1.小明是一个计算机专业top
student,祝贺他毕业了。并准备到银行参加工作。上班第一天,经理叫他编制一个实现一个活期储蓄处理程序,算作考查。上班第一天, 一定要给领导一个好印象,小明二话没说,就答应了。现要你是小明了,请完成如下题目功能。储户开户、销户、存入、支出活动频繁,系统设计要求:(1)能比较迅速地找到储户的帐户,以实现存款、取款记账;(2)能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。
源代码:
![](https://img-blog.csdn.net/20150112193520147)
![](https://img-blog.csdn.net/20150112193846442)
通过课程设计,学会运用数据结构知识,针对具体应用,自己设计合理数据结构,确定存储结构,并能设计具体操作算法,选择使用具体语言进行实现。掌握C++较复杂程序的组织和设计过程,调试技巧。学习解决实际问题的能力。
题目 1.小明是一个计算机专业top
student,祝贺他毕业了。并准备到银行参加工作。上班第一天,经理叫他编制一个实现一个活期储蓄处理程序,算作考查。上班第一天, 一定要给领导一个好印象,小明二话没说,就答应了。现要你是小明了,请完成如下题目功能。储户开户、销户、存入、支出活动频繁,系统设计要求:(1)能比较迅速地找到储户的帐户,以实现存款、取款记账;(2)能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。
源代码:
</pre><pre name="code" class="cpp"><span style="font-size:14px;">#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<<"当前的利率为:"<<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 print(int n,char**namek,char**wplacek,char**telk, char**homek,char**idk,float *money,long*time,float interest) //不能是char*namek,char*wplacek(二级指针) { cout<<"=================================="<<endl; cout<<"账 号:"<<setw(6)<<setfill('0')<<n<<endl; cout<<"姓 名:"<<*(namek+n)<<endl; cout<<"单 位:"<<*(wplacek+n)<<endl; cout<<"电 话:"<<*(telk+n)<<endl; cout<<"地 址:"<<*(homek+n)<<endl; cout<<"余 额:"<<*(money+n)<<endl; cout<<"时 长:"<<*(time+n)<<endl; cout<<"利 息:"<<interest<<endl; cout<<"身份证号码:"<<*(idk+n)<<endl; cout<<"=================================="<<endl; } //查询 void check(int n,char**namek,char**wplacek,char**telk, char**homek,char**idk,float *money,long*time,float interest) { int i=0,k=0; char j; //k=0 while(k==0) {cout<<"++++++++++++++++++++++++++++++++"<<endl; cout<<" 1-按账号查询"<<endl; cout<<" 2-按姓名查询"<<endl; cout<<" 3-返回上一层"<<endl; scanf("%c",&j); fflush(stdin); if(j!='1'&&j!='2'&&j!='3') cout<<"输入错误,请重新输入\n"<<endl; switch(j) { 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; } print( n,namek,wplacek,telk, homek,idk,money,time,interest); break; case '2': cout<<"请输入姓名:"; cin>>name; for(j=1;j<=99;j++) { if(string(*(namek+j))==string(name)) { if(*(num+j)!=-1) { print( j,namek,wplacek,telk, homek,idk,money,time,interest); i++; } } } if(i==0) cout<<" 该户主不存在!"<<endl; break; case '3': k=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<<" welcome!"<<endl; break; } } for(i=1;i<100;i++) { delete []*(namek+i); delete []*(wplacek+i); delete []*(homek+i); delete []*(idk+i); delete []*(telk+i); } }</span>程序实现:
相关文章推荐
- 四则运算实现(c 语言 数据结构课程设计题)
- 浅说代码风格 - 数据结构课程设计
- 数据结构课程设计---最长公共子串
- 数据结构课程设计---学生信息管理系统
- 数据结构课程设计(C++语言)
- 数组应用[数据结构课程设计]
- 数据结构课程设计---最长公共子串
- 重言式判别 (数据结构课程设计)
- 数据结构课程设计:括号匹配问题(实现检验匹配并输出不匹配的位置)
- 数据结构课程设计
- 数据结构课程设计题目
- 数据结构课程设计-校园导游系统-带注释
- 数据结构课程设计---学生信息管理系统
- 校园导航-_数据结构课程设计
- 数据结构课程设计(2)
- 数据结构课程设计-----用C#实现双向链表
- 数据结构课程设计--航空客运订票系统
- 数据结构课程设计---教学任务安排系统
- 个人帐簿管理系统设计[数据结构课程设计]
- 数据结构课程设计----基数排序