详细版C++MFC通讯录课程设计(4)

2018-12-27 18:50

{ memcpy(st.m_cwork,str2.GetBuffer(str2.GetLength()),str2.GetLength()); // 把类CString对象name的内容赋值到字符数组中 st.m_cwork[str2.GetLength()]='\\0'; } if(m_tellphone_01!=\ { memcpy(st.m_tellphone,m_tellphone_01.GetBuffer(m_tellphone_01.GetLength()),m_tellphone_01.GetLength()); // 把类CString对象name的内容赋值到字符数组中 st.m_tellphone[m_tellphone_01.GetLength()]='\\0'; } else { memcpy(st.m_tellphone,str3.GetBuffer(str3.GetLength()),str3.GetLength()); // 把类CString对象name的内容赋值到字符数组中 st.m_tellphone[str3.GetLength()]='\\0'; } if(m_address_01!=\ { memcpy(st.m_address,m_address_01.GetBuffer(m_address_01.GetLength()),m_address_01. GetLength()); // 把类CString对象name的内容赋值到字符数组中 st.m_address[m_address_01.GetLength()]='\\0'; } else { memcpy(st.m_address,str4.GetBuffer(str4.GetLength()),str4.GetLength()); // 把类CString对象name的内容赋值到字符数组中 st.m_address[str4.GetLength()]='\\0'; }

file.Seek(b*100+sizeof(n_p),ios::beg);

file.Write(&st.m_name,sizeof(st.m_name)); file.Write(&st.m_sex,sizeof(st.m_sex));

file.Write(&st.m_cwork,sizeof(st.m_cwork));

file.Write(&st.m_tellphone,sizeof(st.m_tellphone)); file.Write(&st.m_address,sizeof(st.m_address)); file.Close();

m_list.DeleteAllItems(); int i=0;

file.Open(\ //打开文件

size=GetFileSize((void*)file.m_hFile,NULL); //读取文件大小,size==0表示是空文件

if(size>0) { file.SeekToBegin(); file.Read(&n_p,sizeof(n_p)); }

if(n_p>0 && n_p<100) //实验中限定为0~100个联系人记录 { m_num_student=n_p; for( i=0;i

for(i=0;i<10 && i

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

6数据读取模块

/////////////////读取数据///////////////

void CResearch::readdata()// 读取数据 { m_list.DeleteAllItems(); int i; int n=0; int size; int n_st=0; //文件中联系人的个数 flag=1; ////////////////////////////////////////////////////////////////////////////////////////// //读取文件中的联系人记录,注意读取顺序与写入的顺序要一致,文件最开始的4个字节是表示记录个数。 //根据记录个数,依次读取联系人记录 放在成员变量m_st数组中(已在类体中声明了) CFile file; file.Open(\ size=GetFileSize((void*)file.m_hFile,NULL); //读取文件大小,size==0表示是空文件 if(size>0) { file.SeekToBegin(); file.Read(&n_st,sizeof(n_st)); } if(n_st>0 && n_st<=100) //实验中限定为0~100个联系人记录 { m_num_student=n_st;//文件中联系人的个数赋给m_num_student for( i=0;i

//InsertItem向CListCtr控件申请一行用来存放数据,同时写入一行的头名称(即编号为0列 //的数据) str=m_st[i].m_name; if(str!=\ m_list.SetItemText(n-1,0,str); //设置第i行第1列的的数据为联系人姓名 else { m_list.DeleteItem(i); n--; continue; } str=m_st[i].m_sex; m_list.SetItemText(n-1,1,str);//设置第i行第2列的的数据为职称 str=m_st[i].m_cwork; m_list.SetItemText(n-1,2,str);//设置第i行第3列的的数据为工作单位 str=m_st[i].m_tellphone; m_list.SetItemText(n-1,3,str);//设置第i行第4列的的数据为电话号码 str=m_st[i].m_address; m_list.SetItemText(n-1,4,str);//设置第i行第5列的的数据为通信地址地址 } }

/////////////////自己定义一个类////////////////////////// class CNewsletter//自己定义一个类 {

public: char m_name[20]; char m_tellphone[20]; char m_cwork[20]; char m_address[20]; char m_sex[20]; void changnumber(); void delnumber(); };

/////////////////////////////////////////////////////////////////////////////////

四、运行结果:

经过一周的努力,特别感谢百度这个搜索引擎。我成功地做出了这个强大而实用的通信录系统。各个运行指标符合正常:

五、设计心得体会

在此,我想说C++课程设计是十分必要的。 他可以帮助我深刻地了解C++的类等概念。通过几天的课程设计使我们懂得了理论与实际相结合是很重要的,在设计的过程中遇到问题,可以说得是困难重重,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,为此,我只能靠百度来解决我在课设遇到的问题了。

经过这几天的努力,程序运行成功的时候那种喜悦是无法言语的,那种成就感是无法比拟的。在课程设计过程中,收获知识,提高能力的同时,我也学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。因此在以后的生活和学习的过程中,我一定会把课程设计的精神带到生活中,不畏艰难,勇往直前!

六、 参考文献

C程序设计教程 谭浩强 著 清华大学出版社

C++面向对象程序设计 陈维兴 林小茶 编著 中国铁道出版社 C++深入详解 孙鑫


详细版C++MFC通讯录课程设计(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:议论文的叙例教师版

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: