




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、程序设计课程设计报告内容:一、设计任务与要求 1.设计任务 1)利用动态链表实现电话薄程序 2)了解mfc架构,利用visual c+实现一个简单计算器系统。2.实验要求 1)实现电话薄通讯录的建立,查询,删除,插入。 2)主要实现计算器数据的加、减、乘、除运算。二、需求分析1.功能需求1)通讯录:查询,删除,插入,显示。 2)计算器:基本运算功能:可以进行加、减、乘、除等基本运算。 删除功能:删除数值。 归零功能:可以在计算完成后清空编辑框中的已有数值。2.运行需求 vc+6.0 windows操作系统三、系统设计 1. 总体方案设计 电话薄建立通讯录查询通讯录删除通讯录插入通讯录退出菜单
2、清零等于除法乘法减法加法计算器加法除法乘法等于清零减法 2.详细设计1) 电话薄主要代码:#include using namespace std;#define null 0struct notelist char num5; / 编号 char name9; / 姓名 char sex3; / 性别 char phone13; / 电话 char addr31; / 地址 notelist *next;int n;bool find1(notelist *head,char num);notelist *creat()/通讯录的建立char i; notelist *head; notel
3、ist*p1,*p2; n=0; p1=p2=new notelist;p1-next=null; head=null;/*couti;*/*cin.clear(); /清空状态和缓冲区 ,判断输入正确与否cin.sync(); for(int j=1;j100000;j+) k=i-j;if(k=0)coutendl;elsecout输入错误i;*/ do cout请输入第n+1条通讯信息:endl;coutp1-num;while(find1(head,p1-num)cout-此编号已存在!请重新输入!-endl;coutp1-num;coutp1-name;coutp1-sex;cout
4、p1-phone;coutp1-addr;n=n+1; if(n=1)head=p1; else p2-next=p1; p2=p1; p1=new notelist;p1-next=null;couti; while(i=y|i=y); p2-next=null; return(head);bool find1(notelist *head,char num)/查询相同编号notelist *p1,*p2;if(head=null)return 0;p1=head;while(strcmp(num,p1-num)!=0)&p1-next!=null)p2=p1;p1=p1-next;if(s
5、trcmp(num,p1-num)=0)return 1;else return 0;void print(notelist*head)/通讯录信息的输出 notelist *p; coutendl通讯录里有n条记录如下:endl;cout编号 姓名 性别 电话 地址endl; p=head; if(head!=null) docoutnum name sex phone addrnext;while(p!=null);void find(notelist *head,char num)/查询notelist *p1,*p2;if(head=null)cout没记录num)!=0)&p1-ne
6、xt!=null)p2=p1;p1=p1-next;if(strcmp(num,p1-num)=0)cout编号 姓名 性别 电话 地址endl;coutnum name sex phone addrendl;else cout找不到该编号:;notelist *del(notelist *head,char num)/通讯录信息的删除notelist *p1,*p2;if(head=null)cout没记录num)!=0&p1-next!=null)p2=p1;p1=p1-next;if(strcmp(num,p1-num)=0)if(p1=head)head=p1-next;else p2
7、-next=p1-next;cout编号为num的记录已删除!endl;n=n-1;else coutnext=null;elsewhile(strcmp(p0-num,p1-num)0&(p1-next!=null) p2=p1; p1=p1-next;if(strcmp(p0-num,p1-num)next=p0;p0-next=p1;elsep1-next=p0;p0-next=null;n=n+1;return(head);int main()int s,d, a,j=0;notelist *head,*stu;char c, i,k5,del_num5;char y;docout建立
8、通讯录请按1-查询通讯录请按2endl;cout删除通讯录请按3-插入通讯录请按4endl;cout 退出菜单请按5c;switch(c)case 1:head=creat();print(head);break;case 2:coutendlk;dofind(head,k);coutendlk;while(strcmp(k,exit)!=0);break;case 3:coutendldel_num;while(strcmp(del_num,exit)!=0)head=del(head,del_num);print(head);coutdel_num;break;case 4:/*coute
9、ndli;*/do coutendl如下填写第j+1条插入通讯录的资料;stu=new notelist;coutstu-num;while(find1(head,stu-num)/判断编号是否存在cout-此编号已存在!请重新输入!-endl;coutstu-num;coutstu-name;coutstu-sex;coutstu-phone;coutstu-addr; head=insert(head,stu); print(head);j=j+1;couti;while(i=y|i=y);break;case 5:break;default: cout输入错误!endl;break;co
10、ut是否继续操作:(是请按y-退出请按其它任意键)y;while(y=y|y=y);return 0;2)计算器主要代码:void cmydlg:onnum1() / todo: add your control notification handler code hereif(panduan=true)donum=0;panduan=false;inputnum=1;if(dian=false)donum=donum*10+inputnum;elsedonum=donum+inputnum*pow(0.1,n);n+;m_num=donum;updatedata(false);void cm
11、ydlg:onadd() / todo: add your control notification handler code hereresult=donum;method=1;panduan=true;n=1;dian=false;void cmydlg:onmin() / todo: add your control notification handler code hereresult=donum;method=2;panduan=true;n=1;dian=false;void cmydlg:onmul() / todo: add your control notification
12、 handler code herepanduan=true;result=donum;method=3;n=1;dian=false;void cmydlg:ondiv() / todo: add your control notification handler code herepanduan=true;result=donum;method=4;n=1;dian=false;void cmydlg:onclear() / todo: add your control notification handler code heredonum=0;inputnum=0;panduan=true;result=0;m_num=0;n=1;dian=false;updatedata(false);四、运行结果及测试 1. 运行界面及其效果图电话薄 计算器2. 对在编程与调试中的问题 1)电话薄 对程序代码编写的不够规范化,而且操作不好会造成死循环。 2)计算器 功能还不够齐全,只能进行一些基本的加,减,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 油气回收系统管理制度样本
- 优化橡胶产品成型技术操作流程
- 企业培训员工的课件
- 沉井施工劳务合作及质量检测服务合同
- 智能化个人信用贷款服务合同样本
- 跨境电商采购合同风险分析与应对措施
- 年度销售计划方案
- 楼盘垃圾清理方案
- 餐饮业品牌授权入股合作框架协议
- 离婚协议书范本:财产分割与子女抚养协议细则
- 焊条烘烤操作规程
- 急性胰腺炎护理常规课件
- 2022海南省财金集团有限公司招聘试题及答案解析
- 读后续写美好品德类代表劳动价值的车篮子讲义-高三英语二轮复习
- 《三国的世界》解说词 第一集 01
- 《旅游学概论》第六章
- 生物化学(护理专业高职)PPT完整全套教学课件
- 黄石市阳新县法院系统书记员招聘考试真题
- 涉诈风险账户审查表
- 人教版高中英语必修第二册《Unit2Wildlifeprotection》教案及教学反思
- 2023年中考语文标点符号(分号)专题练习(含答案)
评论
0/150
提交评论