数据结构课程设计报告(信管1134班26 )

来源:互联网 发布:程序员被骗婚女方 编辑:程序博客网 时间:2024/05/01 08:25

 

 

 

 

 

《数据结构课程设计》

 

 

 

 

 

 

课程题目

         活期存款处理程序

课程编号

              j1620102

学生姓名

              尤逊

所在专业

信息管理与信息系统

所在班级

            信管1134

任课老师

易学明

实习时间

1月11日   

设计成绩

 

老师评语

 

 

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

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

 

二:系统功能分析:

1:开户:能够新建一个新的客户的账户。

2:查询:能够查询已有的客户账号和新开户的客户的信息和账号所剩的余额。

3:销户:删除客户的账号信息。

4:存取:能记录并保存某个客户的账号所进行的存取款的记录。

三:总结:

1.关于文件的知识学的不够好,很多函数功能不了解,通过上学期学习的《C++语言》教材,及图书馆中数据结构系列书籍中关于文件的介绍,我终于学会了文件的一些操作。例如指针的访问。

2.字符串和字符常量的混淆让我在运用他们时很吃力,于是我重新复习了一下《C++语言程序设计》中相关知识,解决了与他们有关的相关问题。

3.由于对文件的学习不够深入,加上学习的时间很久了,所以感觉文件部分很生疏。于是我重新看了一遍《C++语言程序设计》中有关文件部分的内容,并从图书馆查阅了相关知识,学会了文件的打开、关闭和读写。这才使得我写的程序中读写文件部分能够顺利运行。

4.在插入元素时,由于我有时插入的位置在有指针节点的后面,而书上讲的都是插入的位置在有指针节点的前面,所以总有错误。于是我在纸上一步步画出其插入的运行过程。在纸上手工操作之后我终于找到了错误的关键,及时调整语句顺序,解决了问题。这使得我明白了不能总是照抄照搬书本上的知识,而是应该随机应变,这样才能真正提高自己的能力。

5.有时候,语句都没错的情况下,输出依旧有错误。而在对输出函数仔 细检查之后发现输出函数并没有错误。在尝试中我发现了是释放节点上出了问题。原来,释放节点是可以节省空间,但不恰当的释放却会使数据丢失。

四:收获与不足:

第一次做课程设计,开始自己读题时,思路不是很清晰,经老师把每个题目提示看一下后,明白这个程序就是要结合所学数据结构的思想,首先定义了一个结构体,包含了储户的各类信息,如姓名,账号,金额等等,并利用文件将用户信息加以存储。开户时将输入的信息写入文件,存款和取款时对用户的存款加以处理并更新到文件中。在分析好活期储蓄帐目管理的功能模块后,开始编写代码,在代码调试的过成中,并不是一帆风顺的,这也是平常练的不够吧,经过几轮删删改改,终于做的差不多了,基本达到了老师的要求,但是还是有很多不足的地方。通过这次对银行管理系统的编写与调试,巩固了有关结构体的知识及其操作,锻炼了实际应用能力,同时对文件有了更进一步的了解及应用,明白文件的读写等相关知识。在不断地进行书面设计和上机调试的过程中,认识到掌握设计程序的思路非常重要,要正确处理算法与语法的关系,算法是程序的核心,是灵魂,语法是外壳是工具。但是光掌握语法也是不够的,应该还要把重点放在解题思路上。这个实验也让我认识到自己知识的有限,与同学讨论的益处,培养了我的团队意识。我今后在编程时还需要多练习多思考,继续加油。

#ifndef huoqi_H#define huoqi_Hconst int Maxsize=9999; struct client{   int number;   int total;};class huoqi{public:   huoqi(client a[],int n);   ~huoqi(){};   void insert(int x,int y);   void delet(int x);   void dw(int x,int y);   void print(int x); private:   client data[Maxsize];   int sum;};#endif#include<iostream>using namespace std;#include"huoqi.h"huoqi::huoqi(client a[],int n){   for(int i=0;i<n;i++)   {   int j=a[i].number-1;   data[j].number=a[i].number;   data[j].total=a[i].total;   }   sum=n;}void huoqi::insert(int x,int y){   int j=x-1;   data[j].number=x;   data[j].total=y;   sum++;   cout<<endl;}void huoqi::delet(int x){if(x<=sum&&x>0){int j=x-1;data[j].number=NULL;data[j].total=NULL;sum--;}else{cout<<"该客户账号不存在";    cout<<endl;}cout<<endl;}void huoqi::dw(int x,int y){   int money,j;   j=x-1;   if(x<=sum&&x>0)   {   money=y;   data[j].total+=money;   }   else   {   cout<<"该客户账号不存在";       cout<<endl;   }   cout<<endl;}void huoqi::print(int x){   int j;   j=x-1;   if(x<=sum&&x>0)   {   cout<<"该客户的账户为:";       cout<<data[j].number;       cout<<endl;       cout<<"该客户的当前账户资金总额为:";       cout<<data[j].total;       cout<<endl;   }   else   {   cout<<"该客户账号不存在";       cout<<endl;   }   cout<<endl;}#include<iostream>#include <time.h>#include <stdio.h>using namespace std;#include"huoqi.h"void time(){time_t t = time(0);    char tmp[64];    strftime( tmp, sizeof(tmp), "%Y/%m/%d %X %A  %z",localtime(&t));    puts( tmp );}int main(){client a[10];    for(int i=0;i<10;i++)    {a[i].number=i+1;        a[i].total=1000;    }    huoqi L(a,10);    int code;    int num;     int mon;    int to;    cout<<"============================个人服务===========================";    cout<<endl;    cout<<"查询余额请按1";    cout<<endl;    cout<<"存取款请按2";    cout<<endl;    cout<<"开户请按3";    cout<<endl;    cout<<"销户请按4";    cout<<endl;    cout<<"退出请按0";    cout<<endl;    cout<<"================================================================";    cout<<endl;    cout<<"请输入号码:";    cin>>code;    for(;code<=4&&code>=0;)    {if(code==1){            cout<<"当前交易时间:";            time();cout<<"请输入要查询的客户的账号:";            cin>>num;            L.print(num);}        if(code==2){            cout<<"当前交易时间:";            time();            cout<<"请输入要存取款的客户账号:";            cin>>num;            cout<<"请输入存取款金额:";            cin>>mon;            L.dw(num,mon);}        if(code==3){            cout<<"当前交易时间:";            time();        cout<<"请输入要新增的客户账号:";            cin>>num;            cout<<"请输入存取款金额:";            cin>>to;            L.insert(num,to);}        if(code==4){            cout<<"当前交易时间:";            time();            cout<<"请输入要删除的客户账号:";            cin>>num;            L.delet(num);}        if(code==0){        return 0;}        cout<<"请输入号码:";        cin>>code;}    cout<<"不存在该操作";    cout<<endl;    return 0;}

截图:

一:主界面:

 

二:余额查询:

 

三:存取款操作:

 

四:开户:

 

  

五:销户:

 


0 0
原创粉丝点击