字符串处理,C++课程设计_第1页
字符串处理,C++课程设计_第2页
字符串处理,C++课程设计_第3页
字符串处理,C++课程设计_第4页
字符串处理,C++课程设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、河北联合大学2011-2012第2学期 软件设计基础-C+课程设计报告设计名称: 字符串处理3 姓 名: 成绩:指导教师评语: 指导教师签字: 年 月 日软件设计基础-C+课程设计报告 第 17 页,共 17 页目 录1.课程设计目的2.课程设计任务与要求3.课程设计说明书4.课程设计成果5.程序调试过程6.设计问题的不足和改进方案7.课程设计心得8.参考文献1课程设计目的软件设计基础-C+课程设计是这门课程的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖C+的知识点,又接近工程实际需要。目的是通过课程设计的综合训练,培养学生实际分析问题、解决问题的能力,以及编程和动手能力,

2、最终目标是通过课程设计这种形式,帮助学生系统掌握C+这门课程的主要内容,养成良好的编程习惯,更好的完成教学任务。2课程设计任务与要求:要求:本次课程设计利用软件设计基础-C+课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务。要求:1、对系统进行功能需求分析2、设计合理的数据结构和系统框架3、编程简练,程序功能齐全,能正确运行4、说明书、流程图要清楚5、课题完成后必须按要求提交课程设计报告任务:1. 创建列表2. 读取姓名3. 写入姓名4. 排序5. 插入6. 删除7. 显示所有姓名3课程设计说明书概要设计模块说明:

3、 在我设计的程序中一共包括了六个模块,分别是:新增模块、查找模块、修改模块、完全打印模块、删除模块、退出系统模块。这六个模块中新增、查找和修改都是独立分开作为子函数的,另外三个则是作为switch语句中的一部分,通过switch语句,把六大模块联系了起来,同时,为了实现多次使用这六大模块,就在switch语句外加了while循环。 模块结构图:Main函数While控制循环语句退出程序创建列表模块输入模块读取模块排序模块插入模块删除模块输出模块详细设计 总体流程图:输入人数大于50字符数大于30创建列表输入数据重新输入重新输入排序输出结果插入数据输入删除数据保存数据,结束各功能模块流程图:删除

4、模块Output函数输出模块Strcmp函数输入模块Input函数Sort函数提示模块Print函数插入模块排序模块保存模块fprintf函数Insertin函数4课程设计成果源代码:#include <iostream>#include <fstream>#include <string.h>using namespace std;char *s50; /定义数组int n;int main() /定义函数返回值类型void write(); /定义write函数void read(); /定义read函数void insert(); /定义insert函

5、数void create(); /定义建立链表函数void rank(); /定义排序函数void del(); /定义删除函数void output(); /定义输出函数void menu();menu();return 0;void menu()void write();void read();void insert();void create();void rank();void del();void output();int cho; /整型变量cho赋值cout<<"1.创建列表n2.读取姓名n3.写入姓名n4.排序n5.插入n6.删除n7.显示所有姓名&quo

6、t;<<endl;cin>>cho;switch(cho) /处理cho值的多个分支case 1:create();break;case 2:read();break;case 3:write();break;case 4:rank();break;case 5:insert();break;case 6:del();break;case 7:output();break;default:cout<<"error!"<<endl;exit(0);break;void write() /创建write函数fstream file

7、;file.open("save.txt",ios:out);for(int i=0;i<n;i+)file<<si<<"n"file.close();void read() /创建read函数n=0;for(int i=0;i<50;i+)si=new char 30;fstream file;file.open("save.txt",ios:in); /保存文件while(!file.eof()file.getline(sn,30);if(file.fail()break;else n+;fil

8、e.close();void del() /创建删除函数read();char de30;cout<<"输入要删除人的姓名:"cin>>de;for(int i=0;i<n;i+)if(strcmp(de,si)=0)for(int j=i;j<n;j+)strcpy(sj,sj+1);n-;cout<<"删除成功!"<<endl;write();break;menu();void output() /输出read();for(int i=0;i<n;i+)cout<<si&l

9、t;<endl;menu();void rank()read();char *temp=new char 30;for(int i=0;i<n;i+)for(int j=0;j<n-i-1;j+)if(strcmp(sj,sj+1)>0)strcpy(temp,sj);strcpy(sj,sj+1);strcpy(sj+1,temp);write();menu();void insert() /插入read();cout<<"输入插入的姓名:"cin>>sn;n+;write();menu();void create()cou

10、t<<"输入创建名单数目(小于50):"cin>>n;if(n>=50)cout<<"超出"<<endl;exit(0);for(int i=0;i<n;i+)si=new char 30;cout<<"输入第"<<i+1<<"个姓名"<<endl;cin>>si;write();menu();演示:排序删除数据插入数据保存数据5.程序调试过程1. 编译,检查是否有语法错误,如果有,则点击错处,就

11、会在程序中指出,根据提示进行修改。没有的话进行链接,如此时出现错误很有可能是算法的错误,如若没有,则运行程序。2. 根据提示创建列表。3. 根据提示分别输入要排序的名字个数。4. 根据要求输入名字5. 根据要求排序6. 根据要求插入名字7. 根据要求删除名字8. 查看保存的结果遇到的问题1. 对于输入名字删除一时没搞清楚2. 对于排序函数不熟悉3. 对函数的运用不是很熟悉,已开始出现了很多错误。6.设计问题的不足和改进方案1. 程序的界面比较粗糙2. 使用过程比较繁琐3. 程序中提示信息循环出现有点繁琐。7.课程设计心得通过这次的设计实验,对VC+有了更深的认识。课本上学的东西得到了充分的运用,提高了自己的编程能力,对VC中常用的函数有了进一步的了解,对一些常用的排序函数等的熟练运用掌握了很多。此次程序的设计用到了许多的函数类型,对我掌握课本的知识有相当大的裨益。此外这个程序添加了保存,插入和删除等功能。总之通过这次的系统设计,对自己的思维,知识等方面都有了很大的补充,自己从中体会到了编程的乐趣。8.参考文献1.C+编程习题与答案 JchnR Hubbard编著 2002年出版 机械工业出版社2.C+程序设计与应用开发 王继民、柴春来编著 2008年出版

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论