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 0 struct notelist char num5; / 编号 char name9; / 姓名 char sex3; / 性别 char phone13; / 电话 char addr31; / 地址 notelist *next; ; int n; bool find1(notelist *head,char n
3、um); notelist *creat()/通讯录的建立 加加 法法 除除 法法 乘乘 法法 等等 于于 清清 零零 减减 法法 加加 法法 乘乘 法法 除除 法法 等等 于于 清清 零零 减减 法法 计算器计算器 char i; notelist *head; notelist*p1,*p2; n=0; p1=p2=new notelist; p1-next=null; head=null; /*couti;*/ do coutp1-num; while(find1(head,p1-num) coutp1-num; coutname; coutsex; coutphone; coutadd
4、r; n=n+1; if(n=1)head=p1; else p2-next=p1; p2=p1; p1=new notelist; p1-next=null; coutnext=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=p1-next; if(strcmp(num,p1-num)=0) return 1; else return 0; void print(notelist*head)/通讯录信息的输出 notelist *p; coutnext; if(strcmp(num,p1-num)=0) coutnext; if(strcmp(num,p1-num)=0) if(p1=head)head=p1-nex