数据结构课程设计-活期储蓄账目管理系统(含有排序和文章编译功能)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

题目:活期储蓄帐目管理

活期储蓄处理中,储户开户、销户、存入、支出活动频繁,系统设计要求:能比较迅速地找到储户的帐户,以实现存款、取款记账;并能实现排序

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

一、主函数main

#include "文章编辑系统.h"

#include "排序子系统.h"

#include "活期帐目管理系统.h"

#include

#include

#include

using namespace std;

void main()

{

int choice;

char ch;

ch='y';

while (ch=='y'||ch=='Y')

{

printf("\n\n\n\n\t\t 数据结构实验演示系统\n\n\n");

printf("\t\t 主菜单");

printf("\n\t\t**************************************");

printf("\n\t\t* 1-------文章编辑系统*");

printf("\n\t\t* 2-------排序子系统*");

printf("\n\t\t* 3-------活期帐目管理系统*");

printf("\n\t\t* 0-------退出*");

printf("\n\t\t**************************************");

printf("\n\n\t\t请选择菜单号(0--3):");

scanf("%d",&choice);

getchar();

switch(choice)

{

case 1: Article(); break;

case 2: sort(); break;

case 3: Banksystem();break;

case 0: ch='n'; break;

default:printf("菜单选择错误!请重新输入!");

}

}

}

二、文章编译系统

#include

#include

#include

#include

using namespace std;

struct Node

{

char letter;

Node *next;

};

void InitList(Node *L)

{ //输入以"*"结束的文章

cout<<"\t\t\t输入一页文字(以*结束): "<

while((L->letter = getchar()) != '*')

{

L->next = new Node;

L = L->next;

}

L->next = NULL;

cout<<"输入成功!";

}

void CountStr(Node *L)

{ //统计某一字符串在文章中出现次数

int n = 0;

char s[80], *q;

Node *p;

cout<<"\t\t\t输入一字符串: ";

cin>>s;

while(L->next)

{

for (p = L, q = s; *q != '\0' && p->next; p = p->next, q++)

if (p->letter != *q) break;

if (*q == '\0') n++;

L = L->next;

}

cout<<"\t\t\t字符串"<

}

Node *DelStr(Node *L)

{//删除某一子串

Node *H = L;

char s[80], *q;

Node *p;

cout<<"\t输入该子串: ";

cin>>s;

if (H->letter == *s)

{

for (p = H->next, q = s+1; *q != '\0' && p->next; p = p->next, q++)

if (p->letter != *q) break;

if (*q == '\0') H = p;

}

while(L->next)

{

for (p = L->next, q = s; *q != '\0' && p->next; p = p->next, q++)

if (p->letter != *q) break;

if (*q == '\0') L->next = p;

else L = L->next;

}

return H;

}

void print1(Node *L)

{ //分行输出用户输入的各行字符

while(L->next)

{

cout<letter;

L = L->next;

}

cout<

}

void print2(Node *L, int &p1, int &p2, int &p3, int &n)

{ //统计中英文字母和空格数以及整篇文章总字数

n = p1 = p2 = p3 = 0;

for( ; L->next; L = L->next, n++)

if(isalpha(L->letter)) p1++;

else if(isdigit(L->letter)) p2++;

else if(L->letter == ' ') p3++;

else if(L->letter == '\n') n--;

cout<<"\n\t\t\t全部字母数: "<

cout<<"\n\t\t\t数字个数: "<

cout<<"\n\t\t\t空格个数: "<

cout<<"\n\t\t\t文章总字数: "<

相关文档
最新文档