学生通讯录管理系统广东海洋大学

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《程序设计基础》课程设计

学生姓名张三

学生学号201311610000

所在专业电子信息工程

所在班级1132班

任课老师李四

实习时间2014年 6 月 7 日

一.功能需求分析

学生通讯录管理系统是对学生的基本信息(包括学号,姓名,年龄,性别,电话和地址)的管理。开发工具采用Visual C++ 6.0,主要实现对于学生的学号,姓名等自然信息进行增加、查询、修改、删除及保存到文件等操作。系统给用户提供了一个简单的人机界面,使用户可以根据提示输入操作项、调用系统提供的管理功能。主要功能需求描述如下。

1.系统主控平台允许用户选择想要的操作,包括添加联系人、显示联系人、

查询联系人、格式化通讯录、删除联系人以及推出通讯录管理系统等。通过

输入相应的序号选择相应的操作。

2.添加联系人用户根据提示输入学生的学号、姓名、年龄、性别、电话以及

地址等。用户可根据需要输入所需数量的学生信息,可根据提示输入学生数

量或者继续其他操作。输入完的学生信息会自动保存到相应的文本文件中,

然后等待下一步操作。

3.显示联系人在选择了显示联系人后,系统将将文本文件中的学生信息调出

显示,如果没有数据,系统则会提示“文件为空。”

4.查询联系人可以分别根据姓名、学号从文本文件中对学生的所有信息进行

查询,如果没有查询到任何信息,系统将会提示“没有找到符合您要求的联

系人,请核查您的信息!!”,反之将会输出查询的学生信息。

5.初始化通讯录选择该项操作将会初始化文本文件中的所有信息,请慎重操

作。选择该项操作时,系统将会提示“是否初始化通讯录(y或n)”,防止错

误操作产生不良后果。选择y时,将会初始化文本文件并提示“初始化成功”。

6.退出主菜单退出通讯录管理系统

二. 系统总体结构分析

根据实际情况,我们使用原型法,即以少量代价快速地构造一个可执行的软件系统模型,使用户和开发人员可以较快的确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐加上去,直到所有的性质全部满足。

以下为系统逻辑模型图:

1.数据类型的选择

struct student

char xh[20];

char xm[10];

char nl[5];

char xb[10];

char dh[20];

char dz[50];

2.主要函数原型

char caidan();//菜单

void add();//增加联系人函数

void print(struct student a[],int);//输入所有联系人

void dele(struct student a[],int);//删除联系人

void chazhao(struct lianxiren a[],int);//查找联系人

void chazhao_xm(struct lianxiren a[],int n);//用名字查找

void chazhao_xh(struct lianxiren a[],int n);//用年龄查找

void chazhao(struct student t[],int n)//格式化通讯录

3. 调用到的函数

通过

switch(表达式)

{

case 常量表达式1:语句1

case 常量表达式2:语句2

case 常量表达式n:语句n

}

调用六个函数。

void add();

void print(struct student a[],int);

void dele(struct student a[],int);

void chazhao(struct student a[],int);

void chazhao_xm(struct student a[],int n);

void chazhao_xh(struct student a[],int n);

void chazhao(struct student t[],int n);

4模块设计与介绍

对本系统的功能进行分析后可作如下的模块化设计:

输入模块实现功能:按顺序将有学号(xh)、姓名(xm)、年龄(nl)、性别(xb)、电话(dh)、地址(dz)依次输入,并建立链表将其连接。当输入数据完毕时Enter,输入结束。

删除模块实现功能:在已经存储的文件中删除指定的通信录信息,并释放内存空间。删除

所有相关通信录信息。

查找模块实现功能:在已经存储的文件中查找指定的通信录信息。可以按照查找姓名或方法进行。

输出模块实现功能:在输入特定的文件名之后,输出该文件中所包含的全部通信录信息。添加模块实现功能:添加相应信息保存操作,链表中的信息以文件形式被长期。保存。格式模块实现功能:在已经存储的文件中删除全部的通讯录信息,并释放内存空间。删除所有相关通讯录信息。

主序模块实现功能:完成系统的界面处理,包括开始界面和主菜单界面。

三.模块介绍和总体实现

1. Add( )增加模块

建立链表的具体操作就是逐一输入各结点数据,并建立其前后相链的关系。

void add()

{

int i;

FILE *fp;

if((fp=fopen("通讯录.txt","a"))==NULL)

{

printf("无法打开文件,按任意键退出!!\n");

char a;

scanf("%c",&a);

exit(0);

}

int num;

printf("您想要增加几个联系人:\n");

scanf("%d",&num);

struct student t[100];

printf("请输入联系人信息\n");

printf("学号名字年龄性别电话地址\n");

printf("--------------------------------------------------------\n");

for(i=0;i

{

scanf("%s %s %s %s %s %s",t[i].xh ,t[i].xm ,t[i].nl ,t[i].xb ,t[i].dh ,t

[i].dz );

printf("_________________________________________________\n");

相关文档
最新文档