软件工程作业 详细设计

发布 2021-05-05 20:07:28 阅读 4880

1、 数据结构的定义:

#define maxsize 100

typedef struct{

string firstname姓。

string familyname; /名字。

int id联系人编号。

string number[maxsize]//号码。

char sex性别。

string address家庭地址。

long qqqq号码。

string emailemail邮箱。

string birthday //生日。

string class分类。

person;

2、 函数声明:

list search(string information );查找联系人。

int add(listpersons, person contact); 增加联系人。

int delete(listpersons, person contact)删除联系人。

int together(person contact)合并联系人。

void show(listpersons浏览联系人。

void change(listpersons, person contact修改联系人。

void s**e (listpersons保存联系人。

list in(listpersons导入联系人。

list out(listpersons导出联系人。

3、详细设计:

合并模块:在合并联系人功能实现的时候,首先要将各个联系人的firstname和familyname连接起来,用trim()去除空格,然后进行联系人姓名的比较。若strcmp(s1,s2)= 0则说明两个联系人姓名相同,继续比较这两个联系人的其他信息。

若两个联系人姓名相同,其他信息全部相同,则直接删除其中一个联系人信息。

若两个联系人姓名相同,其他信息中有不相同的部分,则弹出对话框,询问用户两个联系人信息有交集,是否继续执行合并操作?用户若点击“否”,则返回到浏览联系人界面。用户点击“是”,则任选一个联系人的信息保存,另外一个联系人信息删除。

若两个联系人a,b姓名相同,其他信息a包含于b,则直接删除联系人a,保留联系人b。

若strcmp(s1,s2)!=0则说明两个联系人姓名不同,继续比较这两个联系人的其他信息。

若其他信息都完全相同,就直接合并,保留姓名字符串较大的那组信息,删除另外一个。

若两个联系人a,b的其他信息处于包含状态,即a包含于b,就删除a保存b。

若两个联系人的其他信息都不相同,就弹出提示框:您要合并的为信息完全不同的联系人,不能执行合并,则系统不进行合并操作,返回原来的状态。

若两个联系人的其他信息有交集即有部分信息是相同的,则弹出对话框,询问用户两个联系人信息有交集,是否继续执行合并操作?用户若点击“否”,则返回到浏览联系人界面。用户点击“是”,则任选一个联系人的信息保存,另外一个联系人信息删除。

导入模块: 在将计算机内存储的联系人信息导入到手机中的时候。

1.根据联系人文件后缀,判断一下需要用哪种文件格式解析器读取文件。

2.选择了对应的文件格式解析器之后,读取文件中的每个联系人及其信息,将读取的联系人插入到联系人链表,每次插入联系人之前先检查此联系人与已经插入的联系人是否相同,若相同,则不再处理此联系人,若不同,则插入联系人链表。

3.此模块也分别实现了csv解析器和vcard解析器例如 csvreader(string filename,int begin,int end)其中filename指出的是联系人文件,begin、end分别是指导入的联系人的编号。

导出模块: 1.在手机上选择待导出的联系人和导出生成的联系人文件格式。

2.按照用户选择的格式,选用vcard生成器或者csv生成器导出联系人文件。

3.在此实现了vcard生成器和csv生成器。

例如 int csvgenerator(list contacts,string filename)

外部调用:增加联系人:add(persons, contact )

删除联系人:delete( persons, contact)

查找联系人:search (information)

浏览联系人:show(persons)

修改联系人:change(persons, contact)

合并联系人:together(person)

保存联系人到文件:s**e(persons)

导入联系人:in(persons )

导出联系人:out( persons)

软件工程大作业 暑期软件工程课程设计

软件工程 课程大作业。题目 线性表的设计和实现 学生姓名张三。学号201107011153 院系 基础科学学院信息技术系 专业年级 2014级计算科学与技术专业 指导教师李四。年月日。摘要。数据结构算法设计和演示 c 树和查找是在面向对象思想和技术的指导下,采用面向对象的编程语言 c 和面向对象的编...

软件工程作业

题目4 operating systems 操作系统 我们通过移动时代最流行的两大操作系统来分析他们的特点。谷歌 andriod 苹果 ios 日前,市场调研机构发布了 2017 年第一季度智能 踪报告,通过该报告我们了解到,苹果依然是目前全球第二大智能手机厂商,具备ios的iphone 所占的市场...

软件工程作业

计算机与信息技术学院软件工程。专业 计算机科学与技术年级 班级 09级计科一班 2011 2012学年第二学期。一 设计背景 工资管理工作在高校日常管理中占据及其重要的地位,是真正涉及到千家万户的一件大事。高校工资管理事务政策性强,数据量大,而且报表多 条目细,要求高度精确和高度安全,还要求报表标准...