c++课程设计总结报告 通 讯 录管理系统.doc_第1页
c++课程设计总结报告 通 讯 录管理系统.doc_第2页
c++课程设计总结报告 通 讯 录管理系统.doc_第3页
c++课程设计总结报告 通 讯 录管理系统.doc_第4页
c++课程设计总结报告 通 讯 录管理系统.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

C+(或C)语言课程设计总结报告学 号:姓 名:专 业:计算机科学与技术班 级:所属学期一、项目介绍与设计目的1.项目介绍: 名称:通讯录管理系统 总体要求:有一存在的通讯录文件,数据内容为各联系人的信息。每个联系人信息的组成:姓名、电话号码、QQ、邮编和地址等个人基本信息。 用户界面:(1)输入:程序正常运行后,屏幕上显示一个文字菜单(根据序号选定相应的操作项目),当用户选定操作项目所对应的序号时,根据应用程序的提示信息,从键盘上输入相应的数据。(2)输出:1)应用程序正常运行后,在屏幕上显示一个文字菜单2)用户输入数据时,给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。功能:(1)添加联系人:输入新的联系人信息,并保存其内容。 (2)删除联系人:从文件中删除相应联系人的信息。 (3)显示联系人:从文件中输出所有联系人的信息。 (4)修改联系人:可以修改该联系人的任何一个信息,并保存修改后联系人的信息。 (5)查询联系人:输入联系人的姓名或电话号码,输出相应联系人的全部信息。 (6)关闭通讯录:操作结束后,退出操作。2.设计目的: (1)通过这次课程设计,巩固c+的知识,尤其对类和文件保存等重要内容进行深入的理解,做到温故而知新。 (2)运用新学的数据结构中链表的知识,加深对新内容的了解,努力做到学以致用。 (3)通过这次编程,增强动手能力,养成良好的编程习惯,做到理论和实践相结合。二、项目设计思路 首先,定义一个类book,类中包括成员函数,以及私有数据。成员函数有:默认的构造函数,用户界面函数,添加、删除、显示、修改、查询,以及关闭通讯录等函数。私有数据有:通讯录中联系人的姓名、电话号码、QQ、邮编,以及地址等基本信息。 其次,定义一个结构体record,结构体中的变量,一个指向前驱,一个指向后继。 然后,定义一个主函数main(),调用其他相应功能的函数,来完成通讯录的各个操作。 最后,分别定义添加、删除、显示、修改和查询等函数,完成相应的功能模块。三、项目环境要求 在VC的环境下即可运行。四、项目功能模块 本程序主要有以下七个函数: (1)char book:inter_face()/用户界面函数 程序正常运行后,在屏幕上显示菜单,用户根据需要,按相应的功能键,进行操作。 (2)void book:add_person()/添加联系人的函数 用户按数字键“1”,添加新的联系人,把新添加的内容保存到相应的文件中。 (3)void book:del_person()/删除联系人的函数 用户按数字键“2”,输入你要删除的联系人的姓名或电话号码,如果该联系人存在,则输出该联系人的信息,并删除此人。如果通讯录中没有此人,就输出 “对不起,联系人中没你要找的人”。 (4)void book:show_all()/输出所有联系人的函数 用户按数字键“3”,输出文件“pbook.txt”中全部联系人的信息,否则的话,输出“通讯录中没有联系人”。 (5)void book:alter()/修改联系人的函数 用户按数字键“4”,打开文件,输入你要修改的联系人的姓名或电话号码,找到该联系人后,从新输入要修改联系人新的信息,并保存到“pbook.txt”文件中;否则的话,输出“通讯录中无此人”。 (6)void book:select()/查找联系人的函数 用户按数字键“5”,打开文件,输入要查找的联系人的姓名或者电话号码,找到此人,输出该联系人的全部信息,否则的话输出“对不起,通讯录中没有此人”。 (7)void book:save_new()/关闭通讯录的函数 用户操作完成后,按数字键“6”,关闭通讯录的内容。 (8)int main()/主函数 运用switch()语句,选择相应的功能键,调用相应的函数,进行该功能的操作。五、程序关键源代码(注:关键或者比较有特色的代码段,无需完整的源代码) 1、struct recordbook object;record *prior; record *next;2、void book:save_new() ofstream outData(pbook.txt, ios:app); if (!outData) cout 对不起!打开文件失败! endl; system(pause); return; outData setiosflags(ios:left) setw(17) name setw(16) number setw(15) qq setw(10) post setw(20) address endl; outData.close();六、程序用户名及密码 本程序无用户名和密码。七、参考文献刘加海等,C+程序设计,清华大学出版社王红梅等,数据结构(C+版),清华大学出版社刘振安等,C+程序设计课程设计,机械工业出版社八、体会与感想(总结) 通过这次编程实践,巩固了c+的知识,对c+的内容有了深入的理解,尤其 对文件的知识加深理解。并运用数据结构中链表的知识,对新知识有进一步的理解。增强了动手能力,感受到了c+的奥妙,找到了学习编程的乐趣。同时在编程过程中,也发现了自身学习态度的问题。由于上课没认真听讲,课后又没及时花时间去复习,造成了许多知识的缺漏,很多知识不能很好的运用,编写过程面临困难,幸好通过这次编程及时把缺漏的知识补过来。事实告诫了我:今后上课一定要认真听讲,及时复习,多动手去编程,养成良好的编程习惯,增强实践能力。九、指导教师意见 指导教师(签名): 年 月 日源代码:#include #include #include #include #include#include using namespace std;class bookpublic: book(); char inter_face(); void add_person(); void del_person(); void show_all(); void alter(); void select(); void save_new();private: string name; string address; string number; string post; string qq;struct record book object; record *prior; record *next;book:book() name = 0; address = 0; number = 0; post = 0; qq = 0;char book:inter_face() system(cls); couttt endl tt endl tt 小 小 通 迅 录 endl tt endl tt 1. 添加新联系人. 4. 修改信息. endl tt endl tt 2. 删除联系人. 5. 查询联系人. endl tt endl tt 3. 显示所有联系人. 6. 关闭通迅录. endl tt endl tt endl endl choose; fflush(stdin);return choose;void book:add_person() cout 根据下面提示输入新联系人信息 endlname; fflush(stdin); cout number; fflush(stdin); cout qq; fflush(stdin); cout post; fflush(stdin); cout address; fflush(stdin); save_new(); cout 新联系人信息已经保存好! endl; system(pause);void book:del_person() ofstream outData(temp.txt, ios:out); ifstream inData(pbook.txt, ios:in); if (!outData | !inData) cout对不起!找不到文件! endl; system(pause); return; string sign; cout sign; string str1; bool flag = true; string str; while (inData name number) getline(inData, str); if (sign=name) | (sign=number) cout 你想删除的联系人: endl; cout str1 endl; cout setiosflags(ios:left) setw(17) name number str endl; flag = false; break; outData setiosflags(ios:left) setw(17) name number str endl; if (flag) cout 对不起!联系人中没你找的人! endl; else while (getline(inData, str) outData str endl; outData.close(); inData.close(); ofstream out(pbook.txt, ios:out); ifstream in(temp.txt, ios:in); if (!out | !in) cout 对不起不能打开文件! endl; system(pause); return; while (getline(in, str) out str endl; out.close(); in.close(); cout这个人的信息已经从你的通迅录中删除! endl; system(pause); void book:show_all() ifstream inData(pbook.txt,ios:in); if (!inData) cout 对不起!没有找到文件! endl; system(pause); return; bool flag = true; string recor; while (getline( inData,recor) if (flag) cout 所有联系人信息如下: endl; cout recor endl; flag = false; if (flag) cout 你的通迅录中没有联系人! endl; else cout 所有联系人已经全部显示出来! endl; system(pause);void book:alter() ifstream inData(pbook.txt, ios:in); if ( !inData) cout 对不起不能打开文件! endl; system(pause); return; string sign; cout sign; fflush(stdin); string str1; record *H = new record; record *p = H; record *q = H; bool flag = true; while (inData p-object.number p-object.qqp-object.post p-object.address) p-next = new record; p = p-next; p-prior = q; q-next = p; q = p; p-next = NULL; inData.close(); p =H; while (p) if (=sign) | (p-object.number=sign) if (flag) cout 你想修改你联系人的信息如下: endl; cout setiosflags(ios:left) setw(17) setw(16) object.number setw(15) object.qq setw(10) object.post setw(20) object.address endl; flag = false; cout 请根据下面提示修改信息 : endl; cout ; fflush(stdin); cout p-object.number; fflush(stdin); cout p-object.qq; fflush(stdin); cout p-object.post; fflush(stdin); cout p-object.address; fflush(stdin); break; p = p-next; if (flag) cout 你的通迅录中没有你找的联系人! endl; system(pause); return; else ofstream out(pbook.txt,ios:out); if (!out) cout 对不起!不能打开文件! endl; system(pause); return; p = H; while (p) out setiosflags(ios:left) setw(17) setw(16) object.number setw(15) object.qq setw(10) object.post setw(20) object.address next; out.close(); cout 信息已经修改完成! endl; system(pause); void book:select() ifstream inData(pbook.txt,ios:in); if (!inData) cout 对不起!文件找不到! endl; system(pause); return; string sign; cout 输入你想查找的联系人的姓名或电话号码: sign; fflush(stdin); string str1; bool flag = true; string str; while (inData name number) getline(inData, str); if (name=sign) | (number=sign) cout 你要查找的联系人是: endl; cout str1 endl; cout setiosflags(i

温馨提示

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

评论

0/150

提交评论