课程设计报告

一、问题描述

小明是一个计算机专业top student,祝贺他毕业了。并准备到银行参加工作。上班第一天,经理叫他编制一个实现活期储蓄处理程序,算作考查。上班第一天,一定要给领导一个好印象,小明二话没说,就答应了。现要你是小明了,请完成如下题目功能。储户开户、销户、存入、支出活动频繁,系统设计要求:

(1)能比较迅速地找到储户的帐户,以实现存款、取款记账;

(2)能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。

 

二、问题分析

 

 

 


本系统需要实现以下一些基本功能:

1.      能够输入用户的信息而创建银行账户,也能输入用户的信息而删除用户在银行创建的账户。

2.      能比较迅速地找到储户的帐户,以实现存款、取款记账。

3.      能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。

 

三、算法设计

1.      系统功能分析

执行程序后,按界面的显示,选择0-5种操作。选1,储蓄户开户,资料包括名字、性别、身份证号码。选2,储蓄户销户。选3,储蓄户存钱,存入一定金额。选4,储蓄户取钱,取出一定金额(不允许超过账户中的金额)。选5,显示储蓄户账户余额。选0,退出该系统。

2.      系统功能模块划分与设

                                                                                                                                                                                                  


四、源代码

#include<iostream>

#include<string>

using namespace std;

 const int M=10000;

  static int n=0,count=1;

 struct zhanghao    

{

       intnum;           

       charname[30];     

       charsex[4];      

       chariden[30];     

       intmoney;        

};

struct zhanghao a[M];

void open();

void close();

void save();

void draw();

void balance();

 voidmain(){

  inti;

 for(i=0;i<10000;i++)

         a[i].money=0;

 while(1){

 cout<<"**------------欢迎使用------------**"<<endl;

 cout<<"**---------1.储蓄户开户-----------**"<<endl;

 cout<<"**---------2.储蓄户销户-----------**"<<endl;

 cout<<"**---------3.储蓄户存钱-----------**"<<endl;

 cout<<"**---------4.储蓄户取钱-----------**"<<endl;

 cout<<"**---------5.储蓄户余额-----------**"<<endl;

 cout<<"**---------0.退出系统-------------**"<<endl;

 cout<<"**--说明:若金额为-1则没有该用户--**"<<endl;

 cout<<"**--------------------------------**"<<endl;

 cout<<"输入数字选择你要执行的功能(0-5:";

 cin>>i;

 if(i==0) break;

 cout<<endl;

 switch(i){

  case1:open(); break;

 case 2:close(); break;

 case 3:save(); break;

 case 4:draw(); break;

 case 5:balance(); break;

 default: cout<<"输入错误"<<endl;

 }}}

void open()

 {     

  cout<<"该储蓄户的帐号为:"<<count<<endl;

  a[n].num=count;

  count++;

  cout<<"请输入储蓄户的名字:";

   cin>>a[n].name;

  cout<<"请输入储蓄户的性别:";

   cin>>a[n].sex;

  cout<<"请输入该用户的身份证号码:";

   cin>>a[n].iden;

   a[n].money=0;

  cout<<"该储蓄户帐号金额为:"<<a[n].money<<endl;

  n++;

 }

 voidclose()

 {

        char names[]="sorry,Without thisuser";

       charsexs[]="sorry";

       charidens[]="sorry";

        int j;

 cout<<"输入储蓄户删除的帐号:";

 cin>>j;

 a[j].num=0;

 strcpy(a[j].name,names);

 strcpy(a[j].sex,sexs);

 strcpy(a[j].iden,idens);

  a[j].money=-1;

 }

 voidsave()

 {

        int l,k;

 cout<<"输入该用户的储蓄帐号:";

 cin>>l;

  if(l>n||a[l].name==NULL) throw "异常";

 cout<<"存入的金额为:";

 cin>>k;

 a[l].money=a[l].money+k;

 }

 voiddraw()

 {

        int l,k;

       cout<<"输入该用户的储蓄帐号:";

 cin>>l;

       cout<<"取出的金额为:";

 cin>>k;

 if(k>a[l].money||l>n||a[l].name==NULL) throw"异常";

 else a[l].money=a[l].money-k;

 }

 voidbalance()

 {

        int l;

 cout<<"输入查询的帐号:";

 cin>>l;

 cout<<endl;

 cout<<"储蓄户的帐号为:"<<l<<endl;

 cout<<"储蓄户帐号金额为:"<<a[l].money<<endl;

 }

 

 

五、程序运行结果

 

 

 

六、心得

  对于该课程设计过程中提出的任务,该程序已基本完成,可是过于简便,不够严密,还需要好好增长自己的知识使程序更加完美。这个课程设计使我明白一个程序的完成需要提前有所规划,这样才能将问题考虑全面,不至于在设计中出现过大的问题。在此课程设计中也让我明白理论与实际应用相结合的重要性,并提高了自己组织数据以及编写程序的能力,培养了基本的、良好的程序设计技能和提高独立编程的能力,也提高了我的综合运用所学知识的能力,同时各科相关的课程都有了全面的复习,独立思考的能力也有了提高,也让我对C++有了更深的了解。不过我还是需要多多锻炼,努力学习!

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值