《c++程序设计报告电话本链表》由会员分享,可在线阅读,更多相关《c++程序设计报告电话本链表(26页珍藏版)》请在金锄头文库上搜索。
1、C/C+程序课程设计题目一: 筒易工资管理系统题目二: 筒易的电话本班级姓名学号 2011326660117目录C/C+程序课程设计1题目一.简易工资管理系统3一. 设计系统的目的意义3二. 系统需求及功能分析3三、功能结构图3四、结构体描述,核心代码4题目二、简易的电话本9一、设计系统的目的意义9二、系统需求及功能分析9三、功能结构图10四、测试数据10五、源程序(带注释)116、心得与体会22三、课程答辩23题目一.简易工资管理系统设计系统的目的意义1、设计系统的A的:设计这个系统的目的是为丫设计一个能够便捷使用的工资管理系统,能够方便的输入个人工资信息,可以将 这个系统应用到手机或者其他
2、电子设备中。2、设计系统的意义工资单链表能够很好的管理单位员工工资信息。二.系统需求及功能分析1、系统需求1)、需要录入个人工资信息到工资管理系统中2)、能够对工资管理系统中各项信息进行杳找修改删除等一系列 操作3)、能够完成工资管理系统的基木功能4)、凡等候用户输入时,给出足够的提示信息2、功能分析1)、添加功能选择此功能可以用户手动输入各项信息2)、查找功能选择此功能时可以选择根据编号或姓名进行信息 查找3)、删除功能选择此功能可以按照编号来删除工资信息 4)、 打印功能选择此功能时能够在屏幕上输出所有的工资信息。三、功能结构主函数:void main()查找功能:void find(st
3、aff*head)删除功能:void del(staff*p)、结构体描述,核心代码1、工资管理系统中所定义的类struct staff int no;/编号 char name20/姓名; double salary;/工资 staff* next;2、苒中的函数void find(staff*head);/查找函数 void show(staff*p);/打印函数 void del(staff*p);/删除建立的链表 staff*judge(staff*head,int no);/判断是否重复输入 staff* move(staff*head);/删除记录的函数 staff* insert
4、(staff*head,int no);/寻找插入点函数3、添加功能coutnt(添加(编号输入0结束添加); while(true)if(head=NULL)p=new staff; head=p;coutnt请输入编号 cinp-no; if(p-no)=0) break; coutnt请输入姓名:; cinp-name; coutnt请输入年工资 cinp-salary; p-next =0; temp=p;if(head!=NULL)p=new staff;coutnt请输入编号:; cinp-no;repeat=judge(head,p-no); /判断是否重复输入 while(re
5、peat=NULL)coutnt请不要输入重复的编号。no;repeat=judge(head,p-no);if(p-no)=0) break; coutnt请输入姓名: cinp-name;coutnt请输入年工资:; cinp-salary; p-next=NULL;temp=insert(head,p-no;/起到排序功能,使输入的信息按编号插入链表中。if(temp=NULL)p-next=head;head=p;if(temp!=NULL)p-next =temp-next; temp-next=p;4、査找功能void find(staff*head)char name20; in
6、t a,no; if(head=NULL)coutnt你记录的记录为空,请先建立记录。name zname)!=O)head=head-next;if(head=NULL)coutnt找不到该人.; return;coutnt 编号:nhead-no; coutnt 姓名:name; coutnt 工资:.salary; return;else if(a=l)coutnt 清输入学号:no!=no)head=head-next;if(head=NULL)coutnt找不到该人.; return;coutnt 编号:nhead-no; coutnt 姓名:.head-name; coutnt 工
7、资:.salary; return;5、删除功能staff* move(staff*head)if(head=NULL)coutnt你记录的记录为空,请先建立记录。endl; return 0;int nol,panduan=l;staff*p,*former;while(panduan)p=head;cout-nt清输入你要删除的编号 coutntn;cinnol; if(head-no =nol)former=head-next; delete head; head=former;coutnt已经成功删除记录。no=nol)former-next =p-next; delete p;cou
8、tnt己经成功删除记录。endl;cout,nt是否还要继续删除?如果是请按1,否请按0。endl;coutnt;cinpanduan;break;former=p;p=p-next;if(p=NULL)endl;coutnt找不到该记录,删除失败。endl; C0Utnext; delete temp;题目二、简易的电话本一、设计系统的目的意义1、设计系统的目的设计这个系统的0的是为了设计一个能够 便捷使用的电子通讯录能够方便的存储信息可以将这个 系统应用到手机或者其他电子设备中方便的存储联系人 为方便查找联系人的各种信息提供方便。2、设计系统的意义电子通讯录系统没有使用纸张等做到了 环保符
9、合当今环保理念这个系统使用广能够方便快捷的使 用存储和查找等优势功能且具有较高的安全性能够有效 保护用户联系人资料。二、系统需求及功能分析1系统需求1)、需要荥入联系人到通讯荥中。2)、能够对通讯录中各项信息进行杳找修改删除排序等一系列操作3)、能够完成通讯录的基木功能。4)、凡等候用户输入时给出足够的提示信息。1)、新建电话记录功能 信息。2)、添加电话记录功能 信息。3)、删除电话记录功能 除联系人的全部信息。4)、查询电话记录功能2功能分析选择此功能可以用户手动输入联系人各项选择此功能可以用户手动添加联系人各项选择此功能吋能够通过输入联系人姓名删选择此功能时能够通过输入联系人姓名或者电话
10、查询联系人的全部信息。5)、打印电话记录功能选择此功能时能在电脑屏幕上显示联系 人的全信息。6)、保存电话记录功能选择此功能吋能将你输入的联系人信息 保存在一个你指定的文件中。7)、读取电话记录功能选择此功能时能从一个你指定的文件当 中读取出联系人的信息。测试数据姓名欧峥王刚王红程旭蔡猛河浜锗文虚竹工资188187186185184183182181五、源程序(带注释)#include#include#includeusing namespace std;struct Phoneltemstring name;string phone;struct Phoneltem*next;;void m
11、ain()void sprint(Phoneltem* head);/打印电话记录。 void add(Phoneltem*heacO;/添加电话记录。 void find(Phoneltem*head;/査找电话记录。Phoneltem* Craetlist(Phoneltem*head);/新建电话记录。 Phoneltem* move(Phoneltem*head);/删除电话记录。 void output(Phoneltem*head);/保存电话记录o Phoneltem* input(Phoneltem*head;/读取电话记录。 void del(Phoneltem*p);/删除建立的链表。struct Phoneltem*head=NULL,*p=NULL,*temp=NULL,*former=NULL; int action;cout1 -*-* endl;coutNt1 endl;coutt欢迎使用个人通讯录1 endl;coutHt1 endl;coutM,endl;coutHendl;coutnt诺您选择要执行的操作:endl;/nt用来控制输出位置。 coutntl.新建电话记录姓名输入jieshu吋结束)endl; coutnt2.添加电话记录endl;coutnt3.删除电话记录endl; co