数据结构课程设计
2015-01-14 11:06
162 查看
《数据结构课程设计》
课程题目 | 银行活期储蓄管理系统 |
课程编号 | j1620102 |
学生姓名 | 彭志广 |
所在专业 | 信息管理与信息系统 |
所在班级 | 信管1133 |
任课老师 | 易学明 |
实习时间 | 2015/1/10 |
设计成绩 | |
老师评语 | |
一:题目:小明是一个计算机专业top student,祝贺他毕业了。并准备到银行参加工作。上班第一天,经理叫他编制一个实现一个活期储蓄处理程序,算作考查。上班第一天, 一定要给领导一个好印象,小明二话没说,就答应了。现要你是小明了,请完成如下题目功能。储户开户、销户、存入、支出活动频繁,系统设计要求:(1)能比较迅速地找到储户的帐户,以实现存款、取款记账;
(2)能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。
二:系统功能分析:
1:开户:能够新建一个新的客户的账户。
2:查询:能够查询已有的客户账号和新开户的客户的信息和账号所剩的余额。
3:销户:删除客户的账号信息。
4:存取:能记录并保存某个客户的账号所进行的存取款的记录。
三.运行与调试
四:总结:
1.关于文件的知识学的不够好,很多函数功能不了解,通过上学期学习的《C++语言》教材,及图书馆中数据结构系列书籍中关于文件的介绍,我终于学会了文件的一些操作。例如指针的访问。
2.字符串和字符常量的混淆让我在运用他们时很吃力,于是我重新复习了一下《C++语言程序设计》中相关知识,解决了与他们有关的相关问题。
3.由于对文件的学习不够深入,加上学习的时间很久了,所以感觉文件部分很生疏。于是我重新看了一遍《C++语言程序设计》中有关文件部分的内容,并从图书馆查阅了相关知识,学会了文件的打开、关闭和读写。这才使得我写的程序中读写文件部分能够顺利运行。
4.在插入元素时,由于我有时插入的位置在有指针节点的后面,而书上讲的都是插入的位置在有指针节点的前面,所以总有错误。于是我在纸上一步步画出其插入的运行过程。在纸上手工操作之后我终于找到了错误的关键,及时调整语句顺序,解决了问题。这使得我明白了不能总是照抄照搬书本上的知识,而是应该随机应变,这样才能真正提高自己的能力。
5.有时候,语句都没错的情况下,输出依旧有错误。而在对输出函数仔 细检查之后发现输出函数并没有错误。在尝试中我发现了是释放节点上出了问题。原来,释放节点是可以节省空间,但不恰当的释放却会使数据丢失。
五.:收获与不足:
第一次做课程设计,开始自己读题时,思路不是很清晰,经老师把每个题目提示看一下后,明白这个程序就是要结合所学数据结构的思想,首先定义了一个结构体,包含了储户的各类信息,如姓名,账号,金额等等,并利用文件将用户信息加以存储。开户时将输入的信息写入文件,存款和取款时对用户的存款加以处理并更新到文件中。在分析好活期储蓄帐目管理的功能模块后,开始编写代码,在代码调试的过成中,并不是一帆风顺的,这也是平常练的不够吧,经过几轮删删改改,终于做的差不多了,基本达到了老师的要求,但是还是有很多不足的地方。通过这次对银行管理系统的编写与调试,巩固了有关结构体的知识及其操作,锻炼了实际应用能力,同时对文件有了更进一步的了解及应用,明白文件的读写等相关知识。在不断地进行书面设计和上机调试的过程中,认识到掌握设计程序的思路非常重要,要正确处理算法与语法的关系,算法是程序的核心,是灵魂,语法是外壳是工具。但是光掌握语法也是不够的,应该还要把重点放在解题思路上。这个实验也让我认识到自己知识的有限,与同学讨论的益处,培养了我的团队意识。我今后在编程时还需要多练习多思考,继续加油。
六.代码:
建一个空的工程
建一个头文件:
#ifndef seq_H
#define seq_H
const int Maxsize=100;
struct client
{
int number;
int total;
};
class seq
{
public:
seq(client a[],int n);
~seq(){};
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
建一个cpp文件:
#include<iostream>
using namespace std;
#include"seq.h"
seq::seq(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 seq::insert(int x,int y)
{
int j=x-1;
data[j].number=x;
data[j].total=y;
sum++;
cout<<endl;
}
void seq::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 seq::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 seq::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<<"该客户不存在";
aa76
cout<<endl;
}
cout<<endl;
}
建一个cpp文件:
#include<iostream>
#include <time.h>
#include <stdio.h>
using namespace std;
#include"seq.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=10000;
}
seq 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;
}
相关文章推荐
- 四则运算实现(c 语言 数据结构课程设计题)
- 浅说代码风格 - 数据结构课程设计
- 数据结构课程设计---最长公共子串
- 数据结构课程设计---学生信息管理系统
- 数据结构课程设计(C++语言)
- 数组应用[数据结构课程设计]
- 数据结构课程设计---最长公共子串
- 重言式判别 (数据结构课程设计)
- 数据结构课程设计:括号匹配问题(实现检验匹配并输出不匹配的位置)
- 数据结构课程设计
- 数据结构课程设计题目
- 数据结构课程设计-校园导游系统-带注释
- 数据结构课程设计---学生信息管理系统
- 校园导航-_数据结构课程设计
- 数据结构课程设计(2)
- 数据结构课程设计-----用C#实现双向链表
- 数据结构课程设计--航空客运订票系统
- 数据结构课程设计---教学任务安排系统
- 个人帐簿管理系统设计[数据结构课程设计]
- 数据结构课程设计----基数排序