




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计课程设计报告内容:一、设计任务与要求 1.设计任务 1)利用动态链表实现电话薄程序 2)了解mfc架构,利用visual c+实现一个简单计算器系统。2.实验要求 1)实现电话薄通讯录的建立,查询,删除,插入。 2)主要实现计算器数据的加、减、乘、除运算。二、需求分析1.功能需求1)通讯录:查询,删除,插入,显示。 2)计算器:基本运算功能:可以进行加、减、乘、除等基本运算。 删除功能:删除数值。 归零功能:可以在计算完成后清空编辑框中的已有数值。2.运行需求 vc+6.0 windows操作系统三、系统设计 1. 总体方案设计 电话薄建立通讯录查询通讯录删除通讯录插入通讯录退出菜单 清零等于除法乘法减法加法计算器加法除法乘法等于清零减法 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; notelist*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;coutp1-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(strcmp(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-next!=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-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建立通讯录请按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:/*coutendli;*/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;cout是否继续操作:(是请按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 cmydlg: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 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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 记账实操-货代公司账务处理
- 设备机械维修合同范本5篇范文
- 璀璨未来酒店设计方案:解析市场趋势与行业洞察
- 【高中语文】《客至》课件+统编版高二语文选择性必修下册
- 2024-2025学年下学期高一生物人教版期末必刷常考题之种群基因组成的变化与物种的形成
- 森林动物题目大全及答案
- 赛车比赛位置题目及答案
- 3 2 导数与函数的单调性 极值和最值-高考数学真题分类 十年高考
- 2023-2024学年江苏省盐城市高二下学期6月期末考试数学试题(解析版)
- 2023-2024学年河北省廊坊市六校高二下学期期末质量检测联考数学试卷(解析版)
- 2025至2030中国角鲨烯行业发展状况及前景方向研究报告
- 2025-2030中国骨移植和骨移植替代物行业市场发展趋势与前景展望战略研究报告
- 非甾体抗炎药围术期镇痛专家共识(2024版)解读 2
- 人工智能实验室的未来设计与创新
- 《民间借贷讲座》课件
- DB11-T 1445-2025 北京市民用建筑工程室内环境污染控制规程
- 地理撒哈拉以南非洲课件-2024-2025学年人教版(2024)初中地理七年级下册
- 四川省2024普通高校招生本科一批调档线(理科)
- 基于机器学习的精准灌溉效率提升方法-全面剖析
- 1策略导航智慧备考-2025年中考英语复习略谈 课件【2025年陕西省初中学业水平考试研讨会】2
- 新版2025心肺复苏术指南
评论
0/150
提交评论