C++课程设计通讯录
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.
淮海工学院计算机工程学院
课程设计报告
设计名称: 姓 名: 专业班级: 系 (院): 设计时间: 设计地点:
C++程序设计课程设计 ______ 学 号:
计算机工程学院
计算机 203 机房
指导教师评语:
成绩:
签名:
年月日
C++程序设计课程设计报告
第 2 页,共 25 页
1、课程设计目的
C++程序设计课程设计是计算机科学与技术专业重要的实践性教学环节之一,本次设计结合实际应用的 要求,使课程设计既覆盖 C++的知识点,又接近工程实际需要。目的是通过课程设计的综合训练,培养学生 实际分析问题、解决问题的能力,以及编程和动手能力,最终目标是通过课程设计这种形式,帮助学生系统 掌握 C++程序设计这门课程的主要内容,养成良好的编程习惯,更好的完成教学任务。
2、课程设计任务与要求:
本次课程设计利用《C++程序设计》课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量 的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务。
要求: 1、对系统进行功能需求分析 2、设计合理的数据结构和系统框架 3、编程简练,程序功能齐全,能正确运行 4、说明书、流程图要清楚 5、课题完成后必须按要求提交课程设计报告
任务: 以本班同学的具体数据为背景,设计一个本班同学通讯录。
实现功能: 1) 通讯录编辑(添加、删除)。 2) 按不同的项进行查找。 3) 对已存在的通讯录按不同的项排序。 4) 将通讯录写入文件 5)从文件读入通讯录
备注:通讯录至少应该有以下数据项: 姓名,地址,电话,邮编,E-mail。
C++程序设计课程设计报告
第 3 页,共 25 页
概要设计 总体来说,我的程序设计有几个部分组成,主函数,编辑联系人,查找联系人,写入联系人, 显示所有联系人,文件读入程序,清空同学录等功能组成,各个函数之间虽然单独运行,但通 过 case 语句把各个函数紧密的结合在一起,使他们之间的联系更加紧密。 总流程图:
开始
主函数
Case 语句
编
查
写
显
文
清
辑
找
入
示
件
空
联 系 人
联 系 人
联 系 人
所 有 联
读 入 程
联 系 人
系
序
人
添
删
修
加
除
改
按
按
姓
学
名
号
查
查
找
找
按
按
姓
学
名
号
C++程序设计课程设计报告 详细设计
第 4 页,共 25 页
从整体上来看,我这次的程序设计流程和上面的流程图一样,先是建立类,定义数据成员和成员函数,然后
由主函数开始运行,主函数中运用了 case 语句,通过用户所需输入不同的选项来执行不同的函数,这些功能
都是由 case 语句来执行,另外,通过在网上查询信息,运用了一些书本上没有的函数,比如我觉得很有用的
一个就是清屏函数 system(“cls”),这个函数就是清理掉上次先是过的信息,使屏幕信息看起来清晰整洁,下
面逐个介绍各个函数的功能及使用。
1) case 语句:又叫 switch 开关语句,主要是通过输入不同的信息来执行不同的语句,在这个程序中就是通
过用户所需选择编辑,查找等功能,在这里它起到了一个桥梁的作用,这个函数的运用需要把各种情况
都考虑好,不要漏掉哪种情况。
cin>>select1;
switch(select1)
{
case '1':cout<<"
(1)添加:"<
删除、修改,这个功能是很常用的这里的输入还用到了一个语法,就是 for 循环,将输入的数据赋给对应
的数据成员,这个语法要注意括号里面是以分号相隔的,而不是逗号。
cout<<"
输入学号:"<
3)查找联系人:在通讯录中找到想要的联系人,这个查找分为 2 类来查找:按姓名查找和按学 号查找,在这里用到对字符进行操作的函数 strcmp 函数,比较两个字符串的大小,如果两个 字符串相等,就等于找到了这个联系人,输出此联系人即可。
4)写入联系人:用通俗的话讲,就是把联系人的信息保存到文件里面,方便以后进行查询,这 里使用的函数主要就是对文件的操作,这里要注意,文件的名字要写清楚,方便以后查找,
还有就是当文件打开后不用时一定要记得用 outfile.close()把文件关闭掉,否则会影响到后来 文件的操作
ofstream savefile(name); savefile << "学号:"<
C++程序设计课程设计报告 置,从而达到排序的功能。
第 5 页,共 25 页
if(strcmp(st[j].no,st[j+1].no)>0)
strcpy(no,st[j].no);
strcpy(st[j].no,st[j+1].no);
strcpy(st[j+1].no,no); 6)文件读入程序:它的功能和写入文件是相反的,把文件里面的内容输入到程序中,是能通过 函数先是在屏幕上,使使用者能够方便的了解到文件里面存储的联系人的信息,这里同样运用
的是文件的操作,可见这个知识点挺重要的,要好好掌握住。
ifstream file(name1);
file.getline(line,120);
file.close(); 7)清空联系人:这个功能类似于格式化,将信息全部清除掉,调用时,将所有信息进行初始化, 是一切信息的值变为空,即清除掉了联系人的信息
void inter::format()//清空联系人
{
for(int i=0;i<35;i++)
{
strcpy(st[i].address,"0");
strcpy(st[i].e_mail,"0");
strcpy(st[i].name,"0");
strcpy(st[i].no,"0");
strcpy(st[i].post_code,"0");
strcpy(st[i].tel_no,"0");
}
}