字符串处理系统课程设计


    
    课程设计(文)务书
    软件  学  院  软件+交通运输  专  业   班 
    课程设计(文)题目 字符处理系统    
    二课程设计(文)工作 2012 年 6 月 4日起 2012 年 6 月 10日止
    三课程设计(文) 点 创新楼


    目录


    课题描述 1
    二 设计目求 1
    三 总体设计 2
    四 详细设计 3
    41字符串赋值函数3
    42求取字符串长度函数4
    43字符串复制函数5
    44字符串较6
    45字符串查找7
    46字符串插入7
    47字符串删10
    五 程序编码 12
    六 程序调试测试结果 17
    七 总结 19
    参考文献 19


    课题描述
    次课程设计采C++语言编写字符串处理函数系统该系统具出意两字符串求出字符串长度实现字符串拷贝连接较功时具实现定字符串1(串)字符串2(子串)查找子串串中位置定字符串输入插入字符串(字符)插入位置实现字符串(字符)插入功定字符串实现删特定某字符功


    二 设计目求
    1 设计目
    (1) 熟练掌握C++语言基知识技
    (2) 掌握面象程序设计基思路方法
    (3) 解指针类继承文件开保存链表应
    (4) 利学基知识技解决面象程序设计问题
    (5) 培养分析解决问题力提高学生科技文写作力



    2 设计求

    运C++语言描述数类字符串类类应包含数成员成员函数设计基类派生类运态性虚函数知识注重面象程序设计理知识理解实际动手编程力求设计继承派生态性类理解面象程序设计核心概念
    (1) 建立数类字符串类
    (2) 数字符串信息初始化
    (3) 字符串信息输出
    (4) 获字符串长度
    (5) 字符串中查找字符
    (6) 字符串中查找外字符串
    (7) 较字符串
    (8) 字符串插入删



    三总体设计
    定义String类实现字符串类赋值连接复制查找交换等操作先设计总类然写出子类实现务定功



    四详细设计


    41字符串赋值函数:
    1)字符串赋值函数输出算法:
    cout<<输入字符串1(长度200字符)< cin>>s1
    cout<<输入字符串2(长度200字符)< cin>>s2
    cout<<字符串1:< cout<<字符串2:<
    2) 字符串赋值函数流
    程图图41示:

























    图41 字符串初始化赋初值

    42求取字符串长度函数
    1)字符串长度函数算法示:
    int i0int j0char *p1s1char *p2s2
    cout<<字符串1长度< while(*p1++'\0')++i直碰\0时i+1
    cout< while(*p2++'\0')直碰\0时j+1
    ++j
    cout<<字符串2长度< cout<2)求字符串长度流程图图42示:


























    43字符串复制函数
    1)字符串复制函数算法:
    char *p1s1
    char *p2s2
    cout<<输出复制字符串< while(*p2'\0'){
    *p1*p2
    p1++
    p2++}
    *p1'\0'
    cout<2)字符串复制函数流程图图43示:






















    44字符串较:
    1) 字符串连接函数算法:
    char *p1s1char *p2s2
    cout<<输入字符串1(长度200字符)< cin>>s1
    cout<<输入字符串2(长度200字符)< cin>>s2
    cout<<输出两字符串较结果<for(*p1'\0'||*p2'\0'++p1++p2)
    第字母较指针断移直判断出止
    {if((*p1*p2)<0)
    {cout<<字符串1字符串2< else if((*p1*p2)>0)
    {cout<<字符串1字符串2< }
    if(*p1'\0'&&*p2'\0')
    cout<<两字符串相等<
    2)字符串较函数流程图图44示:





















    45字符串查找
    1) 字符串查找函数算法:

    char a1[512] {'\0'}char a2[512] {'\0'}
    int i0int j0
    cout << 请输入字符串 cin >>a1a1原字符串
    cout << 请输入查找字符串 cin >>a2a2查找
    for(i0i<(strlen(a1)strlen(a2)+1)i++)
    {
    for(j 0 j < strlen(a2) j++)
    {
    if(a2[j]a1[i+j])
    {
    break
    }
    }
    if(j strlen(a2))
    {
    cout << 位置:< return 0
    }
    }
    cout << 存 << endl
    return 0
    }






    46字符串插入
    1) 字符串插入函数算法:
    int ichar s3[100]char s4[100]
    char *p1s1char *p3s3char *p4s4
    s1原字符串s3插入字符串
    cout<<输入字符串(长度200字符)< cin>>s1
    cout<<输入插入字符串:< cin>>s3
    cout<<输入插入位置:< cin>>i
    for(p1&s1[i](*p1)'\0'++p1++p4){
    *p4*p1字符串1赋4
    }
    *p4'\0'
    for(p1&s1[i](*p3)'\0'++p1++p3){
    *p1*p3}
    *p1'\0'
    while(*p1'\0')
    ++p1
    for(p4s4(*p4)'\0'++p4++p1){
    *p1*p4}
    *p1'\0'
    cout<<输出插入字符串新字符串< cout<
    2) 字符串插入函数流程图图46示:
    开始
    int ichar s3[100]char s4[100]
    char *p3s3char *p4s4char *p1s1
    cout<<输入插入字符串<>s3
    cout<<输入插入位置:<>i
    p1&s1[i]
    (*p1)'\0'
    *p4*p1
    ++p1++p4
    *p4'\0'
    p1&s1[i]
    ((*p3)'\0'
    *p1*p3
    ++p1++p3
    *p1'\0'
    N
    N
    Y
    Y
    A








































    *p1'\0
    ++p1
    p4s4
    (*p4)'\0'
    *p1*p4
    ++p4++p1
    *p1'\0'
    cout<<输出插入字符串新字符串<结束
    N
    N
    Y
    Y
    B































    图46字符串插入
    47字符串删
    1) 字符串插入函数算法:
    char a[200] int i
    cout<<请输入字符字符串:
    cin>>a
    cout<<请输入删字符位置:
    cin>>ii超字符串长度
    if(i>200)
    cout<<输出错误< else
    {
    for(int jij<200++j)
    {
    a[j1]a[j]
    }
    cout<<删字符串< }
    2) 字符串删函数流程图图47示:


    图47字符串插入
    5 程序编码
    #include
    #include
    using namespace std
    int menu_select()
    class String
    {
    private
    char s1[200] 定义长度200维字符数组
    char s2[200]
    public
    void Enter() 输入输出字符串
    void GetLength()求取字符串长度
    void Strcpy() 复制字符串
    void Strcmp() 较字符串
    int Strfind() 查找字符串
    void Strinsert() 插入字符串
    void Strdel() 字符删
    }
    void StringEnter() 输入字符串
    {
    cout<<输入字符串1(长度200字符)< cin>>s1
    cout<<输入字符串2(长度200字符)< cin>>s2
    cout<<字符串1:< cout<<字符串2:<}
    void StringGetLength() 求取字符串长度
    {
    int i0
    int j0
    char *p1s1
    char *p2s2
    cout<<字符串1长度< while(*p1++'\0')直碰\0时i+1
    ++i
    cout< while(*p2++'\0')直碰\0时j+1
    ++j
    cout<<字符串2长度< cout<
    }
    void StringStrcpy() 字符串复制
    {

    char *p1s1
    char *p2s2
    cout<<输出复制字符串< while(*p2'\0'){
    *p1*p2
    p1++
    p2++
    }
    *p1'\0'
    cout<}
    void StringStrcmp() 较字符串
    {
    cout<<输入字符串1(长度200字符)< cin>>s1
    cout<<输入字符串2(长度200字符)< cin>>s2char *p1s1
    char *p2s2
    cout<<输出两字符串较结果<for(*p1'\0'||*p2'\0'++p1++p2)
    第字母较指针断移直判断出止
    {
    if((*p1*p2)<0){
    cout<<字符串1字符串2< break}
    else if((*p1*p2)>0){
    cout<<字符串1字符串2< break}
    }
    if(*p1'\0'&&*p2'\0')
    cout<<两字符串相等<
    }
    int StringStrfind() 字符串查找
    {
    char a1[512] {'\0'}
    char a2[512] {'\0'}
    int i0
    int j0
    cout << 请输入字符串
    cin >>a1a1原字符串
    cout << 请输入查找字符串
    cin >>a2a2查找字符串
    for(i0i<(strlen(a1)strlen(a2)+1)i++)
    {
    for(j 0 j < strlen(a2) j++)
    {
    if(a2[j]a1[i+j])
    {
    break
    }
    }
    if(j strlen(a2))
    {
    cout << 位置:< return 0
    }
    }
    cout << 存 << endl
    return 0
    }
    void StringStrinsert() 字符串插入
    {
    int i
    char s3[100]
    char s4[100]
    char *p3s3
    char *p4s4
    char *p1s1
    s1原字符串s3插入字符串
    cout<<输入字符串(长度200字符)< cin>>s1
    cout<<输入插入字符串:< cin>>s3
    cout<<输入插入位置:< cin>>i
    for(p1&s1[i](*p1)'\0'++p1++p4){
    *p4*p1
    }字符串1赋4
    *p4'\0'
    for(p1&s1[i](*p3)'\0'++p1++p3){
    *p1*p3
    }
    *p1'\0'
    while(*p1'\0')
    ++p1
    for(p4s4(*p4)'\0'++p4++p1){
    *p1*p4
    }
    *p1'\0'
    cout<<输出插入字符串新字符串< cout<}
    void StringStrdel() 字符串删
    {
    char a[200] int i
    cout<<请输入字符字符串:
    cin>>a
    cout<<请输入删字符位置:
    cin>>i
    if(i>200)
    cout<<输出错误< else
    {
    for(int jij<200++j)
    {
    a[j1]a[j]
    }
    cout<<删字符串< }
    }
    int main()
    {
    char choice
    String maillist
    for(){
    choicemenu_select()
    switch(choice)
    {
    case 1maillistEnter()break
    case 2maillistGetLength()break
    case 3maillistStrcpy()break
    case 4maillistStrcmp()break
    case 5maillistStrfind()break
    case 6maillistStrinsert()break
    case 7maillistStrdel()break
    case 8exit(0)
    }
    }
    return 0
    }

    int menu_select()
    {
    char c
    cout<<※※※※※※※※※※※※※※\n
    cout<<※ 字符串处理函数系统 ※\n
    cout<<※ ※\n
    cout<<※ 1输入字符串 ※\n
    cout<<※ 2求字符串长度 ※\n
    cout<<※ 3复制字符串 ※\n
    cout<<※ 4较字符串 ※\n
    cout<<※ 5查找字符串 ※\n
    cout<<※ 6插入字符串 ※\n
    cout<<※ 7删字符串 ※\n
    cout<<※ 8退出 ※\n
    cout<<※※※※※※※※※※※※※※\n
    cout<<※※※谢谢系统※※※※\n
    cout<<※※※※※※※※※※※※※※\n
    cout<<\n请输入(1~8)
    do{
    cinget(c)
    }while(c<'1'||c>'8')
    return c48
    }
    6 程序调试测试结

    vc++60运行界面图61示

    图61 字符串处理函数系统菜单界面

    选择1输入字符串1:c++kecheng字符串2:zifuchuan运行界面图62示:
    图62字符串赋初值输出
    选择2运行界面图63示:

    图63 字符串长度
    选择3运行界面图64示:

    图64 字符串复制

    选择4运行界面图65示:
    (1)

    (2)

    (3)

    图65 字符串较

    选择5输入字符串:kaoshichengji查找cheng运行界面图611示:

    存图示

    图66字符串查找

    选择6插入字符串 she插入c++kechengji中运行界面图612示:

    图67字符串插入
    选择7输入字符串huaadongjiaoda删a运行界面图612示:

    图68字符串删

    7 总结
    次课程设计中完成字符串处理函数系统实现字符串简单复制较删等功时实现字符串查找功中关字符串查找实现太果字符串中重复字符话查找第字符位置希学中解决问题完美实现次程序中虚函数掌握位程序设计时没虚函数处太完美字符串插入时没原数组基础建立新字符数组希学期学中改进问题
    通做C++程序设计课程设计复C++语言知识加深C++语言中种语句理解运收获然做字符串插入时遇困难网搜索资料根理解写出程序认识足明白编程道路远路走调试程序程中总结出规律懂样更快更发现错误收获学中会增加知识熟练度量简单明方法编写程序增加知识面解更编程语言编程道路走更加利


    参考文献
    [1] 钱C++程序设计教程[M]北京:清华学出版社2003
    [2] 谭浩强C++程序设计[M]北京:清华学出版社2004
    [3] 李春葆数结构(C语言版)题解析[M] 北京:清华学出版社2002

    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 2 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    污水处理系统应急预案

    为贯彻“安全第一,预防为主”的安全生产方针,确保单位、社会及人民生命财产的安全,预防重大环保事故发生,并能在事故发生后迅速有效控制处理,根据本厂污水处理工艺特点,本着“预防为主,自救为主,统...

    5年前   
    2408    0

    英驰代帐处理系统应用方案

    英驰代帐处理系统应用方案 一、系统的设计思想 2 二、系统的特点 2 三、系统的运行环境 4 1、软件环境 4 2、硬件环境: 4 3、网络环境 4 四、系统基本功能模块 4...

    7年前   
    4245    0

    原水预处理系统施工方案

    **东鑫垣煤化工脱盐水项目                                                       原水预处理系统施工方案     东鑫垣煤化工脱盐水...

    8年前   
    5836    0

    实验废水处理系统(标准版)

    实验室综合废水处理系统基于排放量较小、间隙性强的,成分非常复杂,污染性强的特点,在目前国家尚未针对实验检验废水出台专门相关监管标准,在研发和生产,本公司引用国家相关规范文件:

    4年前   
    1199    0

    循环冷却水处理系统年终个人工作总结

    循环冷却水处理系统年终个人工作总结 我公司负责对焦化厂化产车间四期工业循环冷却水处理系统进行水质稳定化学处理和现场技术服务。自投入运行以来循环水系统运行正常,各加药设备完好,可保证正常进行系...

    12年前   
    13962    0

    HOYU生产废水处理系统操作说明书

    HOYU生产废水处理系统操作说明书 水处理有限公司 第1章  前言 1、  有限公司位于**市国家高新技术产业开发区,在其产品生产和检测过程中产生有一定量的废水。为了使排放废水达到国家污...

    10年前   
    8659    0

    CPIII数据处理系统新产品开发课题书

                                                         课题编号:   新产品开发课题书  课题名称: CPIII数据处理系统软件 课...

    11年前   
    9628    0

    基于Android移动平台图像处理系统开发

    在今天的全球化世界里,科技不断的进步与创新更加促进了外语学习途径的多样化,随着人们学习方式的便捷并迅速的发展,特别是以电子词典为主工具的出现,用户对此类产品的便捷、功能的要求越来越高。目前,电子...

    3年前   
    3344    0

    办公室自动化和字处理——字处理系统

    字处理系统 □ 字处理系统就是计算机系统 不管什么原因,销货商和字处理专家都已选用“逻辑”和“智能”这样的词来描述字处理的能力。“计算机”在字处理的所有词汇中占很少的部分。或许,...

    12年前   
    430    0

    某居民小区生活污水处理系统

    某居民小区生活污水处理系统摘要: 本文是关于日处理1万吨的某生活小区污水处理厂的设计。该设计采用了传统的活性污泥法作为处理的主体工艺。但是我们综合考虑了该小区的污水的特点,结合个方面因素,设计...

    7个月前   
    158    0

    我国“城市危机处理系统”亟待建立

    我国“城市危机处理系统”亟待建立随着我国城市进入快速建设期和发展期,我国大中城市也同时迈入了“非稳定状态”的危机高发期。        专家认为,“城市危机处理系统”亟待建立。        ...

    8年前   
    472    0

    《数据课程设计》与《数电课程设计》与《vb课程设计》心得体会汇编

    《数据课程设计》与《数电课程设计》与《vb课程设计》心得体会汇编  数据课程设计心得体会(一)  在我看来,数据库课程设计主要的目标是利用课程中学到的数据库知识和技术较好的开发设计出数据库应用...

    2年前   
    579    0

    微课程设计

    重点: 认识细节描写的概念、作用难点: 掌握细节描写的写法要求学生认识细节描写的概念、作用并掌握掌握细节描写的写法。

    2年前   
    522    0

    物流课程设计

    中国现代物流业,是适应中国经济快速开展和对外开放、市场竞争日益加剧的形势而开展起来的新兴产业。随着经济全球化、信息化进程的加快,近几年中国现代物流业有了较快的开展。已成为我国现代化程度和经济开展...

    2年前   
    625    0

    课程设计自我总结

    课程设计自我总结  篇一  课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单...

    10年前   
    742    0

    小古文课程设计

     拓展性课程“智乐点课坊” 课程类型 菜单 课程名称: 智乐小古文 适用年级: 四、五年级 总 课 时: 30课 ...

    1年前   
    398    1

    课程设计小组总结

    课程设计小组总结 为期10天的课程设计终于结束了,这段时间是我们小组在大学期间不可多得的美好记忆。他给了我们很多的感受和经验,让我们在饱受酸甜苦辣的同时也体会到集体的力量和成功的喜悦。在我们...

    9年前   
    11035    0

    工程结构课程设计

    宝鸡文理学院地理与环境学院20XX级      系 别: 地理与环境学院 专业班级: 给水排水工程班 老师: 学生姓名: ...

    1年前   
    319    0

    软件课程设计心得

    软件课程设计心得第一篇:软件课程设计心得软件工程课程设计课程设想心得体味,这也激起了我尔后勤奋进修的乐趣,我想这将对我以后的进修发作主动的影响。其次,此次课程设想让我充实熟悉到团队协作的主要性...

    10年前   
    700    0

    软件课程设计心得

    软件课程设计心得  软件工程课程设计课程设想心得体味,这也激起了我尔后勤奋进修的乐趣,我想这将对我以后的进修发作主动的影响。其次,此次课程设想让我充实熟悉到团队协作的主要性,只要合作协作才干保...

    11年前   
    986    0

    文档贡献者

    文***品

    贡献于2021-04-28

    下载需要 2 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档