活期储蓄账目管理—课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 需求分析
1)、本程序是一个面向储蓄用户的程序,它能够实现人机交流,比如创建账户、查询账户、修改密码以及存取款等操作。程序不但能够保存用户的账户信息,而且能够根据用户的要求,对用户账户进行修改。
2)、本程序为“活期储蓄账目管理”,也就是一个对活期储蓄账户进行操作的程序,它的使用者是广大用户。
2 概要设计
1)、数据结构:
typedef struct message{
char name[10];
char sex[3];
int old;
char no[20];
double base;
double ir;
int code;
int year;
int yday;
message *next;
}message,*Message;
2)、各种函数说明:
Message out();将txt文件中的信息读出
tm * date();调用系统时间
void make();对文件中已有账户进行处理
void it(Message );将信息写入txt文件
void create();创建新账户
void debit(Message);从账户中取款
void credit(Message);向账户中存款
int chaxun();查询账户信息
void rework(Message);修改账户密码
int main();主函数
3 运行环境
1)、操作系统: Windows 7 旗舰版( 32位/ DirectX 11 )
2)、电脑: X86 兼容台式电脑
处理器: 英特尔Pentium(奔腾) 双核E5300 @ 2.60GHz
主板: 梅捷SY-I5G41-L V2.0 ( 英特尔4 Series 芯片组- ICH7 Family )
内存: 2 GB ( 黑金刚DDR2 800MHz )
4 开发工具和编程语言
1)、VC6.0++ ,TC2.0
5 详细设计
1)、头文件headerfile.h 中,声明结构体和函数:
typedef struct message{
char name[10];
char sex[3];
int old;
char no[20];
double base;
double ir;
int code;
int year;
int yday; message *next;
}message,*Message;
Message out();
tm * date();
void make();
void it(Message );
void create();
void debit(Message);
void credit(Message);
int chaxun();
void rework(Message);
2)、int main()//主函数
{
int choice=0;
while(1)
{
cout<<"请选择操作:1、创建账户 2、查询账户 0、退出\n";
cin>>choice;
switch(choice)
{
case 1:create();break;
case 2:chaxun();break;
case 0:return 0;
default:cout<<"你敲错键了。\n";break;
}
} }
tm * date()//调用系统时间
{
time_t rawtime; struct tm * timeinfo;
time ( &rawtime );
timeinfo = localtime ( &rawtime );
return timeinfo;
}
void make()//预处理账目
{
Message p,q,head=out();
p=head->next;
while(p!=NULL)
{
for(int i=1;i<=d->tm_yday-p->yday+365*(d->tm_year-p->year);i++)
{
p->base=p->base+p->base*p->ir;
}
p=p->next;
}
q=head->next;
ofstream fout("Message.txt");
fout.close();
while(q!=NULL){it(q);q=q->next;}
}
Message out()//将txt文件中的信息读出
{
Message p,q,head;head=new message;p=head;
ifstream fin("Message.txt");
if(!fin) {cout<<"文件打开失败\n";return head;}
else
while(!fin.eof())
{
q=new message;
fin>>q->name>>q->sex>>q->old>>q->no>>q->base>>q->ir>>q->code>>q->year>>q->yda;
q->next=NULL;
p->next=q;
p=p->next;
}
fin.close();
return head;
}
void it(Message q)//将信息写入txt文件
{
ofstream fout("Message.txt",ios::app);
if(!fout) {cout<<"文件打开失败\n"; }
fout<