文档库 最新最全的文档下载
当前位置:文档库 › 电话簿管理程序设计

电话簿管理程序设计

电话簿管理程序设计
电话簿管理程序设计

1.设计内容:电话薄管理程序

存储的数据包括:人名,工作单位,电话号码和E-mail地址

有如下功能:

1)加入一个新的电话号码

2)删除一个电话号码

3)显示保存的已有的电话号码

4)修改功能

5)排序功能(按电话号码,按姓名字母顺序)

6)查询功能(按人名查电话号码,按电话号码查人名)

要求:1)程序运行开始,首先显示一个命令菜单。用户选择那条命令,就调用那项功能。

2)显示数据时,一页显示不下,可以分页显示。

1、设计目的

通过本次课程设计了解指针、函数、文件、链表等在实际中的具体应用及他们各自特点,并通过这次实习能达到熟练应用c语言来编辑一些简单的可以在生活中使用的程序的目的,而且学会添加、删除、修改、排序、查找、显示等功能在c语言下的实现。

2、

3、程序代码

#include /*标准输入输出库*/

#include /*界面处理库*/

#include /*标准库*/

#include /*处理字符串函数库*/

char filename[20]="E:\\tx123.txt";

struct phone /*定义结构体变量*/

{

char name[10]; /*存放姓名*/

char mobile[15]; /*存放手机号码*/

char phone[15]; /*存放家庭电话*/

char company[20]; /*存放工作单位*/

char add_Email[20]; /*存放Email地址*/

struct phone *next; /*存放下一个节点的地址*/

};

typedef struct phone tel; /*重命名*/

tel *head=NULL;

int z=1,x=1; /*标记量x,z*/

void showmenu(); /*显示功能菜单*/

void add( ); /*控制添加记录*/

void creat(); /*添加记录并按姓名排序*/

void modify(); /*修改记录函数*/

void searchshow(); /*查找功能显示*/

tel *search(); /*查找菜单*/

tel *searchname(); /*按人名查找*/

tel *searchmob(); /*按手机号码查找*/

tel *searchph(); /*按家庭号码查找*/

void del(); /*删除记录函数*/

void show(); /*显示全部记录*/

void save(); /*保存函数*/

void openfile(); /*输出文件到链表*/

void fre(); /* 释放链表空间*/

void showmenu() /*显示功能菜单*/

{ int i;

clrscr();

for(i=0;i<80;i++)

printf("%c",14);

printf("\n\t\t********************************************\n"); printf("\t\t\t欢迎使用通讯录管理系统");

printf("\n\t\t********************************************\n"); printf("\n\n\t\t\t******请选择你的操作******\n");

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

printf("\t\t\t | 1 增加记录|\n");

printf("\t\t\t | 2 修改记录|\n");

printf("\t\t\t | 3 查找记录|\n");

printf("\t\t\t | 4 删除记录|\n");

printf("\t\t\t | 5 显示全部记录|\n");

printf("\t\t\t | 0 退出|\n");

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

printf("\n\n\t注意!!输入电话号码或Email要在英文状态下,中文状态无法输入!!\n\n"); printf("请在0--6选择:\n");

for(i=0;i<80;i++)

printf("%c",14);

}

void add( ) /*控制添加记录*/

{

int x=1;

printf("开始添加纪录,在添加记录过程中按0 停止添加\n");

while(x!=0)

{

do

{ creat();

printf("操作完成\n");

break;

}while(1);

printf("按0结束添加!!按其他数字键,继续添加!!!\n");

scanf("%d",&x);

if(x==0)

{ save();

system("cls");

}

}

}

void creat() /*添加记录并按姓名排序*/

{ int i;

tel *new,*p1,*p2;

new=(tel *)malloc(sizeof(tel));

aa: printf("\t\t\t请输入姓名:");

scanf("%s",new->name);

printf("\t\t\t请输入工作单位:");

scanf("%s",new->company);

printf("\t\t\t请输入手机号码:");

scanf("%s",new->mobile);

printf("\t\t\t请输入家庭电话:");

scanf("%s",new->phone);

printf("\t\t\t请输入Email地址:");

scanf("%s",new->add_Email);

p1=head; /*将头指针赋给变量p1*/

if(head!=NULL) /*先判断是否有记录*/

do

{

if((strcmp(p1->mobile,new->mobile))==0||

(strcmp(p1->phone,new->phone))==0)

{

printf("记录已经存在\n");

printf("\n%-10s%-20s%-15s%-15s%-20s\n",p1->name,p1->company,p1->mobile,p1->phone,p1->add_Email);

printf("是否继续添加?1 继续添加\t其他数字键重新输入\n");

scanf("%d",&i);

if(i==1)break;

else

goto aa;

}

p1=p1->next;

}while(p1!=NULL);

p1=head;

if(head==NULL) /*检测是否为空链表*/

{

head=new; /*链表为空,插入的结点作为第一个结点*/

new->next=NULL;

}

else

{

while((p1->next!=NULL)&&(strcmp(p1->name,new->name)<0))

{ p2=p1;

p1=p1->next;

}

if((strcmp(p1->name,new->name)>0))

{

if(head==p1)

{ new->next=head;

head=new;

}

else

{ p2->next=new;

new->next=p1;

}

}

else

{ p1->next=new;

new->next=NULL;

}

}

}

void modify() /*修改记录函数*/ { tel *new=search();

if(z==0);

else if(x==0);

else if(z==0&&x==0);

else

{ if(new==NULL)

{

printf("请输入新纪录:\n");

printf("\t\t\t请输入姓名:");

scanf("%s",head->name);

printf("\t\t\t请输入工作单位:"); scanf("%s",head->company);

printf("\t\t\t请输入手机号码:"); scanf("%s",head->mobile);

printf("\t\t\t请输入家庭电话:"); scanf("%s",head->phone);

printf("\t\t\t请输入Email地址:"); scanf("%s",head->add_Email); save();

}

else

{

printf("请输入新纪录:\n");

printf("\t\t\t请输入姓名:");

scanf("%s",new->name);

printf("\t\t\t请输入工作单位:"); scanf("%s",new->company);

printf("\t\t\t请输入手机号码:"); scanf("%s",new->mobile);

printf("\t\t\t请输入家庭电话:"); scanf("%s",new->phone);

printf("\t\t\t请输入Email地址:"); scanf("%s",new->add_Email);

save();

}

}

printf("\n\n");

printf("\t\t\t按任意键继续");

getch();

system("cls");

}

void searchshow() /*查找功能显示*/

{ int i;

clrscr();

for(i=0;i<80;i++)

printf("%c",16);

printf("\n\t\t********************************************\n"); printf("\n\n\t\t\t******请选择你的操作******\n");

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

printf("\t\t\t | 1 按人名查找|\n");

printf("\t\t\t | 2 按手机号码查找|\n");

printf("\t\t\t | 3 按家庭号码查找|\n");

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

printf("\n\t\t********************************************\n"); printf("请在1--3选择:\n");

for(i=0;i<80;i++)

printf("%c",17);

}

tel *search() /*查找菜单*/

{ int i;

tel *p1=NULL,*p2=NULL,*p=NULL;

searchshow();

loop:scanf("%d",&i);

if(i>=1&&i<=3)

switch(i)

{

case 1:p2=searchname();break;

case 2:p2=searchmob();break;

case 3:p2=searchph();break;

}

else

{

printf("选择错误,请重新选择\n\n");

goto loop;

}

p1=head;

while(p1!=NULL)

{

if((strcmp(p1->name,p2->name))==0||(strcmp(p1->mobile,p2->mobile))==0||

(strcmp(p1->phone,p2->phone))==0)

{

printf("找到记录:\n");

printf("%-10s%-20s%-15s%-15s%-20s\n","姓名","工作单位","手机号码","电话号码","家庭住址");

printf("\n%-10s%-20s%-15s%-15s%-20s",p1->name,p1->company,p1->mobile,p1->phone,p1->a dd_Email);

getch();break;

}

p=p1;

p1=p1->next;

}

if(p1==NULL)

{

printf("\t\t\t电话本中无此记录!!!!!\n\n");

printf("\t\t是否重新进行?按1 继续\t\n");

scanf("%d",&i);

if(i==1)

{

free(p2);

goto loop;

}

}

return p;

}

tel *searchname() /*按人名查找*/

{

tel *p2=NULL;

printf("\t\t请输入姓名:");

p2=(tel *)malloc(sizeof(tel));

scanf("%s",p2->name);

return p2;

}

tel *searchmob() /*按手机号码查找*/

{ tel *p2=NULL;

printf("\t\t请输入手机号码:");

p2=(tel *)malloc(sizeof(tel));

scanf("%s",p2->mobile);

return p2;

}

tel *searchph() /*按家庭号码查找*/

{ tel *p2=NULL;

printf("\t\t请输入家庭电话:");

p2=(tel *)malloc(sizeof(tel));

scanf("%s",p2->phone);

return p2;

}

void del() /*删除记录函数*/

{

tel *p2=search();

int i;

if(z==0);

else if(x==0);

else if(z==0&&x==0);

else if(p2==NULL)

{

printf("\n\n\n确实要删除吗?\t按1 删除!!!\t按其他数字保留!!\n"); scanf("%d",&i);

if(i==1)

head=head->next;

save();

printf("\t\t\t按任意键返回\n");

getch();

system("cls");

}

else

{

printf("\n\n\n确实要删除吗?\t按1 删除!!!\t按其他数字保留!!\n"); scanf("%d",&i);

if(i==1)

{

p2->next=p2->next->next;

save();

}

printf("\t\t\t按任意键返回\n");

getch();

system("cls");

}

}

void show() /*显示全部记录*/

{ tel *p1=NULL;

clrscr();

if(head==NULL) /*判断是否是空链表*/

{

printf("\n\t\t\t电话簿中没有记录,请输入纪录后,在使用本能!\n");

printf("\t\t\t按任意键返回\n");

getch();

return;

}

p1=head;

printf("\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~\n");

printf("%-10s%-20s%-15s%-15s%-20s\n","姓名","工作单位","手机号码","电话号码","E_mail 地址");

printf("\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~\n");

do

{printf("%-10s%-20s%-15s%-15s%-20s",p1->name,

p1->company,p1->mobile,p1->phone,p1->add_Email);

p1=p1->next;

}while(p1!=NULL);

printf("\t\t\t按任意键返回\n");

getch();

system("cls");

}

void save() /*保存函数*/

{

tel *p1=NULL;

FILE *fp;

if((fp=fopen(filename,"w"))==NULL)

{

printf("不能打开文件\n");

return ;

}

p1=head;

for(;p1!=NULL;p1=p1->next)

{

fprintf(fp,"%s\t\t%s\t\t%s\t\t%s\t\t%s\n",

p1->name,

p1->company,

p1->mobile,

p1->phone,

p1->add_Email);

}

printf("操作完毕\n");

fclose(fp);

}

void openfile() /*输出文件到链表*/

{

FILE *fp;

tel *p1=NULL,*p2=NULL;

head=NULL;

if((fp=fopen(filename,"r"))==NULL) /*打开文件*/

{ /*文件不存在,表明第一次使用本电话簿*/ printf("\n\t\t\t********这是一个新电话簿*********\n");

return ;

}

while(!feof(fp) ) /*循环读取文件数据*/

{

p1=(tel*)malloc (sizeof(tel));

fscanf(fp,"%s%s%s%s%s\n",p1->name,p1->company,p1->mobile,p1->phone,p1->add_Email); if(head==NULL)

{

head=p1;

p1->next=NULL;

p2=p1;

}

else

{

p2->next=p1;

p1->next=NULL;

p2=p1;

}

}

fclose(fp);

}

void fre() /* 释放链表空间*/

{

tel *p=head;

while(head!=NULL)

{

head=head->next;

free(p);

p=head;

}

free(head);

}

main()

{

int x;

openfile(); /*读取文件到链表*/

textbackground(4);/*设置背景颜色*/

textcolor(0); /*设置字体颜色*/

while(1) /*设置循环条件为真*/

{

showmenu(); /*显示各个功能*/

fflush(stdin); /*刷新缓存区,即清除上一次的存储数据*/

printf("请作出您的选择:");

scanf("%d",&x);

if(x>=0&&x<=5)

{

switch(x)

{ clrscr();

case 1:add();break; /*添加记录函数*/

case 2:modify();break; /*修改记录函数*/

case 3:search();break; /*查找记录函数*/

case 4:del();break; /*删除记录函数*/

case 5:show();break; /*显示全部记录*/

case 0:fre();

printf("\n\t\t欢迎再次使用通讯录管理系统,再见!\n\n");

exit(0); /*程序正常退出*/

}

}

else printf("\n\n选择错误,请再次选择!\n");

}

}

4、运行结果

具体运行结果见实际操作

5、分析与讨论

大体上设计的程序与要求符合,但在分页程序的设计上,虽然我们设计出了较简单的可行的分页程序,可是在糅合进主程序时我们遇到了问题,主要是添加记录后显示的结果中始终带有乱码,这里可能是因为主程序的复杂性使输入、输出的数据格式与分页程序中的无法相匹配。这可能是这次程序设计中唯一的美中不足。

附:1.设计的分页程序

#include

void fenye(int i);

struct p

{struct p *next;

};

struct p *k[30];

static int A=0,B=0;

void main()

{ int n,m;

printf("%4s\n","序号");

aa: k[++A]=(struct p*)malloc(sizeof(struct p)); printf("%4d",A);

scanf("%8s",k[A]);

printf("是否继续添加?(Y/N):\n");

m=getch();

if(m=='Y'||m=='y'){clrscr();goto aa;}

else if(m=='n'||m=='N')clrscr();

printf("现在有%d 个号码\n",A);

if(A>0&&A<=5)B=1;

else if(A>5&&A<=10)B=2;

else if(A>10&&A<=15)B=3;

bb: printf("请输入(1-%d)\n",B);

scanf("%d",&n);

switch(n)

{case 1:clrscr();fenye(n);break;

case 2:clrscr();fenye(n);break;

case 3:clrscr();fenye(n);break;

case 0:break;

}

printf("是否继续浏览?(Y/N):\n");

m=getch();

if(m=='Y'||m=='y'){clrscr();goto bb;}

else if(m=='n'||m=='N')clrscr();

}

void fenye(int n)

{int j;

printf("%4s\n","序号");

for(j=(n-1)*5+1;j<=n*5;j++)

{printf("%4d%8s\n",j,k[j]);

if(j>=A)break;

}

}

2.设置颜色的代码

BLACK 0 黑两者均可

BLUE 1 兰两者均可

GREEN 2 绿两者均可

CY AN 3 青两者均可

RED 4 红两者均可

MAGENTA 5 洋红两者均可

BROWN 6 棕两者均可

LIGHTGRAY 7 淡灰两者均可DARKGRAY 8 深灰只用于字符LIGHTBLUE 9 淡兰只用于字符LIGHTGREEN 10 淡绿只用于字符LIGHTCYAN 11 淡青只用于字符LIGHTRED 12 淡红只用于字符LIGHTMAGENTA 13 淡洋红只用于字符YELLOW 14 黄只用于字符

WHITE 15 白只用于字符

BLINK 128 闪烁只用于字符

通讯录管理系统

课程设计任务书 题目C语言课程设计 系(部) 信息科学与电气工程学院 专业计算机科学与技术 班级计职141 学生姓名王雪 学号140819139 06 月21 日至07 月04 日共 2 周 指导教师 院长 2015 年6月23日

一、课程设计目的 将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。通过课程设计,学生在下述各方面的能力应该得到锻炼: (1)进一步巩固、加深学生所学专业课程《C++程序设计语言》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。 (2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。 (3)利用所学知识,开发小型应用系统,掌握运用C++语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。 (4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。 (5)掌握结构化程序设计方法,熟悉面向对象程序设计方法。 (6)熟练掌握C++语言的基本语法,灵活运用各种数据类型。 (7)进一步掌握在集成环境下如何调试程序和修改程序。 设计功能 录入联系人信息(包括姓名、电话号码、地址等信息);通讯录管理系统要求实现以下功能: 1、输入每一位联系人记录,将其信息存入文件中。 2、查询所有联系人的信息,并按可选的自定义规则进行排序; 3、记录修改,将修改的记录信息保存于文件中。 设计要求 1、设一个通信录由以下几项数据信息构成: 数据项类型 姓名字符串 地址字符串 邮政编码字符串 电话号码字符串 试为通信录数据定义类型和定义通信录变量,实现功能:存取、显示、删除记录、查询记录等功能。 2、要求:界面友好,易于操作 总体设计 系统功能模块图:

C程序设计通讯录管理系统

目录1系统设计目标及意义、功能介绍 (3) 2系统的详细设计思路 (3) 3系统运行效果图 (11) 4系统设计、开发过程中的问题 (13) 5课程设计心得体会 (13) 6附录源代码及简要说明 (13) 一、系统设计目标及意义、功能介绍 (一)系统设计的目标及意义 通讯录管理系统的建立是为了有效节省同学,朋友,客户间日常交流的投资(指时间,精力),其设计理念很简单,变传统的纸张与笔录方式为计算机自动化进行通讯录信息管理系统,既省时间又提高效率。本通讯录管理系统是一个非常通用的管理系统,运用Visual C++,构建MFC平台,用户可以通过图像窗口菜单进行信息录入、删除、查找,直观方便。 (二)系统设计的功能介绍 1、录入成员信息。基本信息:姓名、性别、出生年月日、民族等。 2、删除一个成员信息。 3、修改成员信息并保存。 4、能够按姓名对成员信息进行检索并将检索结果显示在屏幕上。 5、能够按专业对成员信息进行检索并将检索结果显示在屏幕上。 6、显示所有成员信息。 7、能够利用图形菜单的形式进行管理。 二、系统的详细设计思路 (一)系统的总体框架 (二)通讯录对象的主要属性 (三)功能分析 1、联系人管理者 (1)增加联系人: 联系人信息包括姓名、就读学校、班级、专业、家庭地址、家庭联系电话、邮编、本人联系电话这些信息。添加时,内容不能为空。

(2)修改联系人资料: 对已存的联系人信息进行变更、修改。正常情况下,联系人的姓名是不会发生变化的,但考虑到更名的情况还是偶有发生,因此设计为联系人所有资料都允许更改,这样可以灵活应对这些不太常见的情况。 (3)删除联系人: 对选定联系人执行删除操作,为了防止误删除,给使用者一个反悔的机会,在执行删除前要询问使用者是否真的要删除,在得到确认后执行删除操作。 2、联系人信息查询与显示 通讯录使用频率最高的功能就是查询联系人的信息。查询可以查询某个学院、某个专业、某个班级下所有的联系人。并且提供了按姓名和按学号查询的功能,并且同名的人都可以显示。联系人显示窗口示姓名、就读学校、班级、专业、家庭地址、家庭联系电话、邮编、本人联系电话这些信息。

职工信息管理系统程序设计

.. 引言 通过大一下学期对C语言的学习,了解到了很多C语言的相关知识。学习的过程有很多困惑但是当自己能够独立的看懂,能够独立的完成一个简单的程序时,心中就会收获无限的喜悦和成就感。我可以看懂一些简单的程序,编写一些简单的程序,更多的是学会了一种思想——编程,它让我去思考很多日常生活中的事物是怎样通过一个个小小的函数实现其功能的,激发我探究的兴趣,更让我认真学习C语言的程序设计。 C语言是在国内外广泛使用的一种计算机语言。C语言简洁紧凑、使用灵活方便、运算符丰富、适用范围大、可移植性好。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。 在这次的课程设计中我将通过亲自设计程序,让自己熟悉C语言操作,更熟练的掌握C语句。初步体会编程的过程,在不断的调试中获得

最为完整的程序,为将来的程序深入学习打下基础和培养兴趣。 1 功能简介和设计要求 1.1 程序功能简介 可以向文件中录入、删除、添加、查询职工信息,也可以从文件中导出来浏览 1.2 程序设计要求 职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。试设计职工信息管理系统,使之能提供以下功能: 系统以菜单方式工作 职工信息录入功能(职工信息用文件保存)--输入 职工信息浏览功能--输出 查询信息功能:(至少一种查询方式) --算法 按职工号查询 按学历查询 按电话查询 职工信息删除、添加功能

2 程序总体设计框图 :用键盘输入职工信息 :将信息写入指定文本文件 :将信息导出放在结构数组em 中 :将所有信息显示在屏幕上 :输入职工号显示信息 :输入名字显示信息 :输入学历显示信息 :删除原有的职工信息 :添加新的职工信息 3 主要函数介绍 主函数:main() 显示系统工作菜单,罗列该系统所有功能。先声明所有将会调用到的函数名。再运用选择函数switch 即可根据使用者所输入的功能代号进入对应的功能程序。亮点:定义一个全局变量*p 和全局变量a。其中

个人通讯录管理系统c语言源程序优秀版)

#include /*头文件*/ #include //包含最常用的系统函数 #include //关于字符数组的函数定义的头文件#include //控制台输入输出 //定义结构体 struct tongxunlu /*定义通讯录结构体变量*/ { char xingming[20]; /*定义输入名字的数组*/ char dianhua[20]; /*定义输入电话号码的数组*/ char dizhi[40]; /*定义输入地址的数组*/ } txl[100]; //默认100个数据 int n=0;//记录数据联系人数量 FILE *fp; /*定义文件*/ //程序用到的所有函数 void zhucaidan(); /*主菜单函数*/ void zengjia(); /*增加联系人函数*/ void readfile(); /*文件中读入函数*/ void writefile(); /*文件中写入函数*/ void xiugai(); /*修改联系人函数*/ void xiugai_xingming(); /*姓名修改*/ void xiugai_dianhua(); /*电话号码修改*/ void chazhao(); /*查找联系人函数*/

void chazhao_xingming(); /*按姓名查找*/ void chazhao_dianhua(); /*按号码查找*/ void shanchu(); /*删除联系人函数*/ void shanchu_quanbu(); /*全部删除*/ void shanchu_dange(); /*单个删除*/ void xianshi(); /*号码显示*/ //程序主函数模块六 void main() /*主函数main*/ { readfile(); /*读入文件*/ while(1) /* 循环(永远进行)*/ { zhucaidan(); /*调用主菜单函数*/ } } //读取文件函数部分开始模块七 void readfile() { if((fp=fopen("c:\\通讯录.txt","r"))==NULL) /*以只读方式打开判定文件是否为空*/ { printf("\n\t\t\t 通讯录文件不存在"); /*判断结论*/ if ((fp=fopen("同通讯录.txt","w"))==NULL) /*只写方式判断*/

题目通讯录管理系统

题目 2 通讯录管理系统 一.设计要求 1、问题描述 设有一通讯录,记录联系人的联系信息,包括联系人姓名、联系人多个联系电话、邮箱、联系地址以及所属群组。联系人按姓氏序列升序排列并按顺序编号。使用者能根据姓名或编号对联系人信息进行增删改查。请编制一程序模拟该通讯录的管理。 2、设计要求 1)基本要求 (1) 新建联系人。输入联系人的姓名、电话、email、地址和分组等信息, 并插入通讯录的正确位置。 (2) 编辑联系人。可修改、新增或删除联系人的电话、设置首个默认电话号 码、修改或删除email、地址和分组等信息。 (3) 删除联系人。可按姓名或序号删除联系人的信息。 (4) 查询联系人。可按姓名或序号查询联系人的信息并输出。 (5) 群组管理。可根据实际情况删除或新增分组,可为联系人分配群组或移 除群组,并可按群组查询联系人信息。 (6) 输出通讯录。按顺序输出通讯录的全部信息。 2)以下为选做: (7) 按姓名查询联系人时可进行模糊查询。 (8) 通过文件读写实现通讯录信息的读取和记录。 二.概要设计 1.主界面设计 为了实现通讯录管理系统,设计一个含有多个菜单项的主控菜单子程序以链接系统的各项子功能,方便用户使用本系统。本系统主菜单运行界面如下图

所示。 2.存储结构设计 本系统主要采用链表结构类型存储联系人信息。 3.系统功能设计 本系统分为以下7个功能模块。 (1)添加联系人:添加联系人子模块可完成添加联系人姓名、电话、email、地址和分组等信息,并插入通讯录的正确位置。 (2) 编辑联系人。可修改、新增或删除联系人的电话、设置首个默认电话号码、修改或删除email、地址和分组等信息。 (3) 删除联系人。可按姓名或序号删除联系人的信息。 (4) 查询联系人。可按姓名或序号查询联系人的信息并输出。 (5) 群组管理。可根据实际情况删除或新增分组,可为联系人分配群组或移除群组,并可按群组查询联系人信息。 (6) 输出通讯录。按顺序输出通讯录的全部信息。 (7)可选择是否保存并退出系统。 三.模块设计

通讯录管理系统

通讯录管理系统说明书 一、使用的技术和开发平台: 基于https://www.wendangku.net/doc/4918754292.html,技术开发的数据库应用程序。开发平台为windows,使用的语言为C#2008,数据库为:MSSQL SERVER2008 二、系统功能模块 本系统是使用c#2008和MSSQL SERVER2008开发的一个数据库应用程序,其主要功能是实现对不同组别的联系人信息进行管理,具体来说分如下几个功能模块: 1、后台管理模块 对系统管理员账户的添加、删除、修改等操作 2、登录验证系统 系统启动时,将出现登录窗口,要求用户输入正确的用户名和密码,否则无法进入系统。 2、联系人管理系统 登录成功后将进入系统的主窗口(FormMain.cs),如下图所示: 其中组别是对联系人分的类,根据添加到数据库中的所有联系人的组别确定,是可以更改的。主窗口第一次显示时,默认显示第一个组别的所有联系人。可以在左边树形列表中选择不同的组别,同时右边的ListView自动显示不同组别的所有联系人。在联系人菜单下可以实现新增联系人、删除联系人、修改或查看联系人以及搜索,不论是新增、删除还是修改联系人完毕后,下面的ListView会同时更新显示联系人及组别。状态栏显示登录账户名和选中组别包含的联系人个数。 当用户单击新增联系人菜单项时,弹出如下窗体(FrmAdd.cs),以实现新增:

其中组别是根据数据库中已有的组别自动加载到组合框中的。当用户在ListView中选择某个联系人后再单击删除联系人菜单项,可将该联系人删除。当用户在ListView中双击某个联系人或单击修改或查看联系人菜单项,会弹出如下窗体(FrmMod.cs),以实现修改或查看联系人:不论是添加还是修改联系人时,组别都是可以修改的,注意姓名和组别不能为空。

通讯录管理系统课程设计报告完整版

通讯录管理系统课程设 计报告 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

设计课题题目 一、课程设计目的与要求 1.课程设计目的 (1)综合运用之前所学知识(选择控制,循环控制,数组,函数,指针,结构体和文件等)来完成一个简单的信息管理程序的设计。 (2)充分体现和体会函数在程序设计中的必要性和实用性,并反映主函数main ()在程序设计中的实现思路和方法。 2. 课程设计要求 制作一个通讯录系统。 (1)该程序具有查找、添加、修改、删除功能。 (2)通讯录包括:姓名、电话、街道、城市、省、邮编等。 二、总体设计 根据系统的要求,系统总体设计如图1所示。 1

printf("\t--------------------\n"); printf("\t请您选择(0-7):"); scanf("%d",&c); }while(c>7&&c<0); return(c); } int Input(struct date per[10],int n) { int i=0; char sign,x[10]; while(sign!='n'&&sign!='N') { printf("\t姓名:"); scanf("%s",per[n+i].name); printf("\t电话号码:"); scanf("%s",per[n+i].phone); printf("\t电子邮箱:"); scanf("%s",per[n+i].email); printf("\tQQ:"); scanf("%s",per[n+i].QQ); gets(x); printf("\n\t是否继续添加?(Y/N)"); fflush(stdin); ame,per[i-1].phone,per[i-1].QQ,per[i-1].email); if(i>1&&i%10==0) { printf("\t-----------------------------------\n"); printf("\t"); system("pause"); printf("\t-----------------------------------\n"); } } printf("----------------------------------------------------------------------\n"); system("pause"); } int Delete_a_record(struct date per[10],int n) { char s[20]; int i=0,j; printf("\t请输入想删除记录中的名字:"); scanf("%s",s); while(strcmp(per[i].name,s)!=0&&i

学生信息管理系统程序设计

学生信息管理系统程序设计-标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

学生信息管理系统程序设计 1、软件开发目的 该软件主要是实现对学生基本信息进行系统化的管理,首先可以对学生基本信息进行录入和存取,其次可以浏览学生的相关信息,然后可以删除和插入学生的相关信息,还有就是可按学号或按学生姓名查询此学生的相关信息。由此来系统化管理学生基本信息,并达到简易操作的目的。 2、功能分析说明图 3、各项功能说明 (1)学生基本信息的录入和保存: 在链表中的适当位置插入一个学生信息节点,一次添加一条学生信息(添加内容包含学号、姓名、年龄),如果添加的学号已经在文件中存在,则不能添加到文件中去,应显示错误提示语;如果添加成功,则显示成功提示语。添加操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。 (2)显示学生信息: 此功能是显示一个学生信息节点中的信息,并在屏幕上显示出来。 (3)删除学生信息: 进入该项功能界面后,删除学生信息,一次删除一条学生信息。 (4)按学号查找学生信息: 按学号查询学生信息,要求显示文件中与用户输入的学号相匹配的学生信息,要求显示学号、姓名、年龄等字段,如果文件中没有学生信息,则显示提示语。查询操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。 (5)按姓名查找学生信息: 按姓名查询学生信息,要求显示文件中与用户输入的学号相匹配的学生信息,要求显示学号、姓名、年龄等字段,如果文件中没有学生信息,则显示提示语。查询操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。 (6)修改学生信息 修改学生信息中的某一项信息,一次更新一条学生信息(更新内容包含学号、姓名、年龄等字段值),如果更新的学号在文件中不存在,则不能更新,应该显示错误提示语;如果更新成功,则显示成功提示语。更新操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。

学生通讯录管理系统的设计与实现

学生通讯录管理系统的设计与实现

学生通讯录管理系统的设计与实现 问题描述: 纸质的通讯录已经不能满足实际需求,容易丢失,查找困难等问题是纸质通讯录所不能克服的缺点。“学生通讯录管理系统”是为了帮助老师、同学,或者其它一些需要使用的通讯录的人员进行管理和应用的一种应用程序。 需求分析: 1)输入数据建立通讯录。 2)查询通讯录中满足要求的信息。 3)插入新的通讯录信息。 4)删除不需要的通讯录信息。 5)查看所有的通讯录信息。 主界面设计要求: 1)通讯录的建立 2)插入通讯录记录 3)查询通讯录记录 4)删除通讯录记录 5)显示通讯录记录 6)退出系统 设计要求: A.建立通讯录时,每个学生的信息包括:学号,姓名,电话。

B.查找时,学号、姓名、电话均能够作为查询字段。 C.查看所有的通讯录信息时,所有记录需要时有序的(按学号排序,按姓名排序(字典序),按电话号码排序)。 D.存储结构:要求使用顺序存储结构。 E.数据使用:使用本班级的具体信息。 需求分析: 本次设计目的是学生信息管理系统,可存入每个学生的基本信息,所有学生信息都可根据名字、学号、电话、邮箱进行查询,也都能够根据这四个基本信息检索到一个学生并删除其数据。输入形式:student.txt,以文件形式进行输入。 输出形式:根据不同的输入进行不同的操作。 达到功能:能插入一个学生的信息,能删除一个学生的信息,能查询一个学生的信息。 测试数据:班上70个同学的基本数据。 概要设计: 数据类型:顺序链表 ArrayList类 学生数据结构:StuData类包含name、id、phone、email四个String基本类型。 所有操作写在Structure中,包含insert、remove、query、printAll。 Main函数用Java标准输入,循环输入,用switch判断输入进行

通讯录管理系统需求分析

通讯录管理系统需求分析 项目编号:S1-BS-HTML-001 l项目概述 1.引言 1.1编写目的 在完成了针对通讯录管理系统的前期调查,同时与多位软件使用者进行了全面深入地探讨和分析的基础上,提出了这份软件需求规格说明书。 此需求规格说明书对《通讯录管理系统》软件做了通讯录管理系统的用户需求分析,明确所要开发的软件应具有的功能、性能与界面,使系统分析人员及软件开发人员能清楚地了解用户的需求,并在此基础上进一步提出概要设计说明书和完成后续设计与开发工作。本说明书的预期读者为客户、业务或需求分析人员、测试人员、用户文档编写者、项目管理人员。 本说明书是整个软件开发的依据,它对以后阶段的工作起指导作用。本文也是项目完成后系统验收的依据。

1.2项目背景 本通讯录信息管理系统用计算机管理电子通讯录的一种计算机应用技术的创新,在计算机还未普及之前通讯管理都是由联系人采用名片,笔录手工记帐的方式来操作的.现在一般的通讯录管理都是采用计算机作为工具的实用的计算机通讯录管理程序来帮助人们进行更有效的通讯录信息管理。通讯录管理系统是典型的信息管理系统(mis),要求应用程序功能完备,易使用等特点。 1.3定义 需求:用户解决问题或达到目标所需的条件或功能;系统或系统部件要满足合同、标准,规范或其它正式规定文档所需具有的条件或权能。 2.任务概述 2.1目标 实现通讯录管理系统的基本功能,可以实现电话用户的查询、电话号码的查询、电话号码所在地的查询、电话号码的添加及删除等功能,以方便人们的记录和通讯。 2.2运行环境 2.2.2.1服务端 A. 操作系统:Windows 2003 Server 2.2.2.2客户端 A. Windows 95/98/me/Xp/2000/2003, Unix, Linux,Vista,Mac OS各版 2.3条件与限制 本通讯录信息管理系统用计算机管理电子通讯录的一种计算机应用技术的创新,在计算机还未普及之前通讯管理都是由联系人采用名片,笔录手工记帐的方式来操作的.现在一般的通讯录管理都是采用计算机作为工具的实用的计算机通讯录管理程序来帮助人们进行更有效的通讯录信息管理。通讯录管理系统是典型的信息管理系统(mis),要求应用程序功能完备,易使用等特点。 3.数据描述 开始 3.1数据流图 以可读写的方式打开一个数据文件 将此文件的内容读出,并存入一个新的结构体类型的数组中。 调用menu()菜单函数

C语言通讯录管理系统程序设计

广西科技大学鹿山学院 课程设计报告 课程名称:c语言程序设计 课题名称:通讯录管理系统设计 指导教师:倪志平 班级:物联网152 姓名:吴肖军 学号:20153076 成绩评定: 指导教师签字: 二〇一六年七月六日 目录 1 需求分析 (3)

2 总体分析与设计 (3) 2.1总体设计方案 (3) 2.2功能描述 (3) 2.2.1 新增联系人模块 (4) 2.2.2 保存联系人模块 (4) 2.2.3 查询联系人模块 (4) 2.2.4 显示联系人模块 (4) 2.2.5 修改联系人模块 (4) 2.2.6 删除联系人模块 (4) 2.2.7读取联系人模块 (5) 2.2.8退出系统模块 (4) 2.3系统流程图 (5) 3系统实现 (6) 4功能测试 (11) 4.1.1 新增联系人 (11) 4.1.2 查询联系人 (13) 4.1.3显示联系人 (14) 4.1.4修改联系人 (15) 4.1.5删除联系人 (16) 4.1.6退出系统 (17) 总结 (18) 参考文献 (18) 课程设计目的 1 需求分析 通讯录档案信息采用文件存储,因而要提供文件的输入输出操作;根据联系人信息的变动情况,添加删除记录,因而要提供文件的添加删除操作;根据编号进项查询,所以要提供

文件的查找操作;高级编辑功能,就是提供文件的修改操作;显示功能就是显示出通讯录中所有联系人的功能;另外还要提供键盘式选择菜单以实现功能选择。 2 总体分析与设计 1.总体设计 总体设计目标:使用者可以利用本系统对通讯录的各项管理进行操作,根据用户要求自动进行新增联系人,保存联系人,删除联系人,查找所要的联系人,修改所要的联系人,最后将他们清楚地显示在屏幕中。 结合上述分析,该系统应包括一下模块:新增联系人,保存联系人,查询联系人,修改联系人,显示联系人,删除联系人,退出系统。结构图如下。 2.1 总体设计方案 根据以上需求分析,通讯录管理系统划分为七个功能模块,分别是新增联系人模块,保存联系人模块,查找联系人模块,修改联系人模块,显示联系人模块,删除联系人模块,读取联系人模块。其中各功能模块的具体说明如下。

学生信息管理系统c语言程序设计报告(完美)

HUNAN UNIVERSITY 程序设计训练 报告 学生姓名 学生学号 专业班级 指导老师 院长 (系主任) 2013 年 5 月25 日

目录 一系统功能简介 (3) 二本人完成的主要工作 (3) 三实训分析 ............................... ..4 四实训设计 ........... .. (5) 五实训源程序代码和调试过程 (7) 六实训总结 (11) 附录1 (12) 附录2 .................................12-22

一系统功能简介 .学生信息管理系统 1, 进入主界面:要求输入密码,输入三次错误系统锁定。 2,输入记录:将学生的基本信息包括学号,姓名,性别,地区,分数等数据作为一个记录写入文件。 3,显示记录:显示学生的各项信息。 4,增加记录: 增加多个学生的基本信息,位于之前的学生后面。 5,删除记录: 删除学生信息。 6,修改记录:可以修改学生的任何一项基本信息。 7,查找记录:可以根据学生的学号查找并显示出学生的信息。 8,统计记录: 统计全班通过情况和不及格情况。 9,退出系统 经过逐层逐块、不断细化、求精过程,编写程序并进行测试、验证,可以逐个模块地分开调试,并通过文件包含或用工程文件的形式进行逐步联合调试。二本人完成的主要工作 学生信息管理系统由我和龚晨同学共同完成。主程序的编写由我们两个共同完成。 我负责的是: 1、修改记录:可以修改学生的任何一项基本信息。 2、查找记录:可以根据学生的学号查找并显示出学生的信息。

3、统计记录: 统计全班通过情况和不及格情况。 4、退出系统 三实训分析 1、用结构化程序设计思想进行C环境下程序设计。 2、设计一个管理系统,上机编程、调试并通过该管理系统中的各功能模块。 3、设计完成后,每人必须提交程序清单及关于程序设计、维护和使用方面的图文材料即程序设计说明书各一份。 4、基于结构化程序设计思想和所使用的C语言开发环境与开发工具,并运用“软件工程”和“数据结构”中的有关概念和方法,针对具体设计题目和要求,分析功能要求,划分功能模块,用链表结构设计功能模块函数,以菜单方式调用相应功能模块来实现信息和数据处理 四实训设计 1、系统功能模块结构图 本图书管理系统理由输入记录,显示记录,增加记录,删除记录,修改记录,统计数据,查找记录,七个大模块组成,其总体结构图如下:

个人通讯录管理系统

C语言程序设计 课程设计报告 个人通讯录管理系统设计 专业__网络工程___ _____ 班级___(3)班___________ 学号__3148119322 姓名__吴道金 _ 学号_ 3148119319 _姓名_ 林东垚 ___ 学号_ 3148119359 _姓名__ 林家勇 __ 学号__3149119349__________姓名___上官景铨_____ ______ 福建工程学院软件学院 2015年月日 (正文部分)

一、需求分析 建立一通讯录,输入姓名、电话号码、住址等信息,然后对通信簿进行显示、查找、添加、修改及删除。功能要求(1) 通讯录的每一条信息包括姓名、单位、固定电话、移动手机、分类(如同事、朋友、同学、家人等)、EMAIL、QQ等。 (2) 输入功能:可以一次完成若干条信息的输入。 (3) 显示功能:完成全部通讯录信息的显示(一屏最多显示10条,超过十条应能够自动分屏显示) (4) 查找功能:可以按姓名等多种方式查找通讯信息 (5) 增加、删除、修改功能:完成通讯录信息的多种更新 二、总体设计

三、详细设计 void menu(); /*菜单*/ void Add(); /*添加记录*/ void print(); /*输出记录*/ void Find(); /*查找记录(按姓名)*/

void Delete(); /*删除记录*/ void SaveFree(); /*保存到文件*/ void Creat(); /*打开文件*/

四、程序源代码 #include #include #include

管理信息系统-通讯录管理系统

昆明理工大学管理信息系统课程设计通讯录管理系统 学院计算机科学与技术学院 姓名黄亚军 学号200910405229 指导教师姓名王剑 2012年05月27日

昆明理工大学管理信息系统课程设计 (1) 摘要 参考文献 (25)

摘要: 通讯录管理系统是每一个用户管理通讯录的不可缺少的一个管理信息系统,它的内容对于用户的管理者来说是至关重要的,所以通讯录管理系统应该能够为每一个用户的管理者提供充足的信息和快捷的查询手段,大大的方便用户合理的管理通讯录。 随着科学技术的不断提高,计算机科学日渐成熟,网上通讯工具的迅速发展,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对通讯录进行管理,具有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高通讯录管理的效率,也是用户理财的科学化、正规化管理,与先进科学技术接轨的重要条件。 因此,开发这样一套管理软件成为很有必要的事情,对于我们即将计算机专业毕业的学员来说,也是一次将计算机应用于现实管理的一次很有意义的实践活动。 关键词:通讯录管理信息系统计算机科学用户 一、前瞻 1.开发背景简介 随着信息活动在国民经济中主导地位的确立和信息产业的崛起信息资源管 理(Informetion Resouces Management,简称IRM)作为一个专有名词和独立的学科逐渐发展起来。如何积极开发、合理配置和有效利用信息资源,日益成为社会生活中亟待解决的问题。由于计算机和通信技术的高速发展,推广应用计算

面向对象程序设计课程设计报告同学通讯录管理程序

目录 1.设计题目 (1) 2.设计目的和内容 (1) 2.1设计目的 (1) 2.2设计内容 (1) 3.基本功能描述 (1) 4.设计思路 (1) 5.软件设计 (2) 5.1设计步骤 (2) 5.2界面设计 (3) 5.3关键功能的实现 (3) 5.3.1添加记录 (3) 5.3.2删除记录 (4) 5.3.3选中记录 (4) 5.3.4确认修改 (4) 5.3.5保存记录 (4) 5.3.6退出 (4) 6.结论与心得体会 (4) 7.参考文献 (4) 8.附录 (5) 8.1调试报告及测试结果 (5)

8.2关键源代码 (10) 8.2.1 Student类 (10) 8.2.2全局 (10) 8.2.3List Control初始化 (10) 8.2.4添加记录 (11) 8.2.5删除记录 (11) 8.2.6选中记录 (12) 8.2.7修改记录 (12) 8.2.8保存记录 (13) 8.2.9退出程序 (13)

1.设计题目 同学通讯录管理程序 2.设计目的和内容 2.1设计目的 1)学习Visual C++的MFC开发程序的步骤。. 2)综合运用所学的类、继承和多态的知识。 3)进一步掌握程序的调试方法。 2.2设计内容 1)利用MFC的向导,创建基于对话框的应用程序,添加按钮、编辑框等控件; 2)设计通讯录的数据结构(如:以数组或者动态链表)和相应的类; 3)完成对通讯录中记录的增加、修改、删除和显示; 4)将通讯录存入文本文件。 3.基本功能描述 可以实现学生信息(姓名、学号、系别、邮箱、电话)的添加、显示、选中修改、删除选中和保存并退出程序的功能。 4.设计思路 1)创建基于对话框的MFC应用程序,添加控件:5个Edit Control、6个Button、1 个List Control; 2)在5个Edit Control分别输入相应信息,点击“添加记录”Button可在List Control 中显示相应信息,同时清空五个Edit Control以便下一个学生信息的输入; 3)点中List Control选中已有一组学生信息,点击“删除记录”Button可删除该组 信息; 4)点中List Control选中已有一组学生信息,点击“选择该列”Button将该列信息 返回到5个Edit Control。修改完成后点击“确认修改”Button,对List Control 中选中列完成修改; 5)点击“确认保存”将信息保存到文本文档; 6)点击“退出”退出程序。 7)可在D盘查看保存的信息。

管理信息系统课程设计程序代码附录

附录C Program程序代码 using System; using System.Collections.Generic; using System.Windows.Forms; using xyq20091204; using System.Data.SqlClient; static class Program { ///

///应用程序的主入口点。 /// [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new用户登录()); if (SQL_Class.LoginState == 1) data.data.ConnStr = "Data Source=CAE47;Initial Catalog=xyq20091204;Integrated Security=True"; Application.Run(new供应商管理信息系统()); } }

附录D Property_Class代码 using System; using System.Collections.Generic; using System.Text; using https://www.wendangku.net/doc/4918754292.html,ponentModel; namespace xyq20091204 { class Property_Class { private string Id; private string Manager; private string Tel; private string Email; private string Addr; [CategoryAttribute("供应商基本信息"), DescriptionAttribute("显示供应商编号")] public string供应商编号 { get { return Id; } set { Id = value; } } [CategoryAttribute("供应商基本信息"), DescriptionAttribute("显示负责人")] public string负责人 { get { return Manager; } set { Manager = value; } } [CategoryAttribute("供应商基本信息"), DescriptionAttribute("显示联系电话")] public string联系电话 { get { return Tel; } set { Tel = value; } } [CategoryAttribute("供应商基本信息"), DescriptionAttribute("显示电子邮箱")] public string电子邮箱 { get { return Email; } set { Email = value; } } [CategoryAttribute("供应商基本信息"), DescriptionAttribute("显示通讯地址")] public string通讯地址 { get { return Addr; } set { Addr = value; } } } }

C语言通讯录管理系统程序代码

一、课程设计题目及要求 题目通讯录管理系统 任务:自学C语言中相关知识,设计出通讯录管理系统。要求如下所述: ◆建立通讯录信息,信息至少包含编号、姓名、年龄、电话、通讯地址、电子 邮箱等;; ◆能够提供添加、删除和修改通讯录信息的功能; ◆能够提供按姓名或电话等查询; ◆将通讯录保存在文件中; ◆能够按表格方式输出通讯录信息。 二、系统设计方案 (一)总体框架图: 通讯录管理系统:1、录入通讯录信息 2、修改通讯录信息 3、查询通讯录信息 4、浏览通讯录信息 5、增加通讯录信息 6、推出系通讯录统 (二)模块设计 模块一:头文件,变量定义,函数的声明 对系统所使用的变量进行定义,对函数进行声明 模块二:录入通讯录信息 声明函数void readfile(),说明一个文件指针FILE *fp 打开文件"student.txt" 模块三:通讯录信息的查找 声明void seek()为查找函数,通过switch(item)设定用学号查找,用姓名查找两个分支 模块四:通讯录信息的修改

声明void modify()为学生信息修改函数,通过switch(item)设定所要修改的项目模块五:通讯录信息按学号排序 声明void sort()将录入通讯录信息系按升序排列,用的是“冒泡排序法”实现排序模块六:加通讯录信息 声明void insert()插入通讯录信息,先通过判断通讯录是否存在,若否则继续输入,若是跳出,重新循环 模块七:通讯录信息 声明void del()实现通讯录信息删除,通过学号对比确定要删除的信息,然后用后一个替换掉。 模块八:示学生信息 通过display()函数输出通讯录信息 模块九;存信息 通过fp=fopen("student.txt","w");写入信息 模块十:界面菜单 通过switch(num)调用,以上各函数,实现功能 三、设计详情 1.主函数 主函数设计要求简洁,只提供部分提示语和函数的调用 【程序】

职工信息管理系统程序设计

引言 通过大一下学期对C语言的学习,了解到了很多C语言的相关知识。学习的过程有很多困惑但是当自己能够独立的看懂,能够独立的完成一个简单的程序时,心中就会收获无限的喜悦和成就感。我可以看懂一些简单的程序,编写一些简单的程序,更多的是学会了一种思想——编程,它让我去思考很多日常生活中的事物是怎样通过一个个小小的函数实现其功能的,激发我探究的兴趣,更让我认真学习C语言的程序设计。 C语言是在国内外广泛使用的一种计算机语言。C语言简洁紧凑、使用灵活方便、运算符丰富、适用范围大、可移植性好。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。 在这次的课程设计中我将通过亲自设计程序,让自己熟悉C语言操作,更熟练的掌握C语句。初步体会编程的过程,在不断的调试中获得

最为完整的程序,为将来的程序深入学习打下基础和培养兴趣。 1 功能简介和设计要求 1.1程序功能简介 可以向文件中录入、删除、添加、查询职工信息,也可以从文件中导出来浏览 1.2程序设计要求 职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。试设计职工信息管理系统,使之能提供以下功能: 系统以菜单方式工作 职工信息录入功能(职工信息用文件保存)--输入 职工信息浏览功能--输出 查询信息功能:(至少一种查询方式) --算法 按职工号查询 按学历查询 按电话查询 职工信息删除、添加功能

2 程序总体设计框图 :用键盘输入职工信息 :将信息写入指定文本文件 :将信息导出放在结构数组em 中 :将所有信息显示在屏幕上 :输入职工号显示信息 :输入名字显示信息 :输入学历显示信息 :删除原有的职工信息 :添加新的职工信息 3 主要函数介绍 主函数:main() 显示系统工作菜单,罗列该系统所有功能。先声明所有将会调用 到的函数名。再运用选择函数switch 即可根据使用者所输入的功能代号进入对应的功能程序。亮点:定义一个全局变量*p 和全局变量a。其中a表示当前系统中职工人数,p指向a的地址,追踪人数变化,这样在

联系人管理系统

联系人管理系统设计报告 程珠 200907260203 信管0901 一、实验目地 通过本课程设计,要求熟悉管理信息系统开发的原理,掌握系统分析、系统设计、系统编程与调试等方法。能够完成一个中小型信息系统的规划与分析设计工作,或者能够开发一个小型的管理信息系统,提高分析问题与解决问题的能力。 二、实验内容 1.业务简介 (1)公司联系人 A.公司联系人类型构成:公司联系人类型标识,公司联系人类型 B.公司联系人构成:公司联系人标识,公司联系人名称,地址,出生日期,公司联系 人类型标识 C.查询构成:公司联系人标识,公司联系人类型标识 (2)客户 A 客户构成:客户标识,客户名称,客户地址,客户电话 (3)客户联系人 客户联系人构成:客户联系人标识,客户联系人姓名,客户联系人地址,客户联系人电话 2.系统功能 A 查看和修改公司联系人、客户、客户联系人 B添加和删除公司联系 人、客户、客户联系人 C退出系统 通过联系人管理系统,可以查询和修改公司联系人、客户、客户联系人。添加和删除公司联系人、客户、客户联系人,给企业或学校提供一个良好的人力资源管理环境。 也可以清晰地了解到三者的关系。除了可以查看公司联系人名称,地址,出生日期,公

司联系人类型还可以查看联系人的公司信息和家庭信息,如联系人的上级和下级信息,父母信息等等。以及联系人的毕业信息和在学校、公司的突出表现。方便企业对公司联系人更好的了解和统计。通过客户信息可以查找与公司有业务来往的客户信息。 三、实验过程 1. 系统分析(以公司联系人为例)

ER图 2.系统设计(以公司联系人为例) 模块结构设计 数据库设计

学校通讯录管理系统数据库设计

数据库设计 在本实例中使用的是SQLServer 2000数据库管理系统。数据库服务器安装的位置为本机,数据库名称为commu ni catio nserver 。下面将介绍数据库分析和设计、数据表的创建、数据表关系图和创建存储过程的内容。 4.2.1 数据库分析和设计 在本节中,将根据上一节系统功能的设计分析创建各数据表的实体E-R关系图,它是数 据库设计非常重要的一步,下面用E-R图的形式表示出各实体的属性。 1. 用户E-R实体图 用户的实体具有用户ID、密码、姓名、性别、电话、E-mail、用户权限7个属性,ER图如图4-5所示。 图4-5 用户E-R实体图 2. 地区E-R实体图 地区的实体具有地区编号、地区名称2个属性,E-R图如图4-6所示。 图4-6 地区E-R实体图 3. 职务E-R实体图 职务的实体具有职务编号、职务名称2个属性,E-R图如图4-7所示。 图4-7 职务E-R实体图 姓名用户权限性别 1 用户E-mail 地区 职务职务名称

4. 学校E-R 实体图 学校的实体具有学校名称、学校所在地区、在校学生人数3个属性,可用 E-R 图表示, 如图4-8所示。 (学校名称X 学校一(在校学生人数 图4-8 学校E-R 实体图 5. 通讯录E-R 实体图 通讯录的实体具有联系人姓名、地址、联系电话、所属职务、所在学校、所在单位、所 属地区7个属性,E-R 图如图4-9所示。 图4-9 通讯录E-R 实体图 4.2.2 数据表的创建 在上面一节中讲解了实体的 E-R 图,本节中将根据E-R 图的内容,创建企业信息管理系 统中的各数据表,在此系统中共涉及到 5个数据表的应用,分别为如下。 1、 字段采用camel 风格定义 2、 用不同颜色区分字段 主键:蓝色 外键:白色 既是主键又是外键:淡蓝色 普通字段:青绿 学校编号 学校所在地区 联系电话 通讯录 所在单位 * 所在学校 彳所属职务

相关文档
相关文档 最新文档