文档库 最新最全的文档下载
当前位置:文档库 › 数据结构课程设计报告 学生通讯录管理系统 城市链表

数据结构课程设计报告 学生通讯录管理系统 城市链表

数据结构课程设计报告 学生通讯录管理系统 城市链表
数据结构课程设计报告 学生通讯录管理系统 城市链表

l井冈山大学

电子与信息工程学院数据结构课程设计报告

( 2012——2013年度第一学期)

课程名称:数据结构课程设计

题目一:2.2 学生通讯录管理系统

题目二: 2.4.3 城市链表

院系:计算机科学系

班级:10级软件本(一)

姓名:

学号:

指导教师:孙凌宇老师

成绩:

2012 年月日

成绩评定

一、指导教师评语

二、成绩

指导教师:

日期:年月日

设计题目<一>: 2.2 学生通讯录管理系统

一、设计要求

1.问题描述

纸质的通讯录系统已经不能满足大家的要求,容易丢失、查找困难等问题是纸质通讯录所不能克服的缺点。“学生通讯管理系统”是为了帮助老师、同学,或者其他一些需要使用通讯录的人员进行管理和分析的一种应用程序。

2.需求分析

(1) 输入数据建立通讯录

(2) 查询通讯录系统中满足要求的信息

(3) 插入新的通讯录信息

(4) 删除不需要的通讯录信息

(5) 查看所有通讯录信息

二、概要设计

为了实现需求分析的功能,可以从三个方面着手设计。

1.主界面设计

为了实现学生通讯录管理系统各功能的管理,设计一个含有多个菜单项的主控菜单子程序以链接系统的各项子功能,方便用户使用本系统。本系统主控菜单运行界面如图2-3所示。

图2-3 “学生通讯录管理系统”主菜单

2.存储结构设计

本系统主要采用链表结构类型来表示存储在“学生通讯录管理系统”中的信息。其中,链表结点由四个分量构成:通讯录成员学号、通讯录成员姓名、通讯录成员电话号码、指向该结构体的指针。此外,本系统还设置了一个全局变量seat,表示通讯录中成员的序号。

3.系统功能设计

本系统设置了5个子功能菜单,5个子功能的设计描述如下。

(1)建立通讯录系统 。可以一次输入多个成员通讯录的信息,建立通讯录。该功能由creatIncreLink( )函数实现。

(2)插入通讯记录。每次可以插入一个成员通讯录的信息。如果要连续插入多个成员通讯录信息必须多次选择该功能。该功能有insertYouXu( )函数实现。

(3)查询通讯记录。可以按两种方式查询所需要的通讯录成员记录,一是按学号查询,二是按姓名查询。分别由seartNum( )和seartName( )函数实现。

(4)删除通讯记录。可以对通讯录中不再需要的信息进行删除。有三种删除方式:按序号进行删除,按学号进行删除和按姓名进行删除。分别由deleteElem( )函数,delNum( )函数和delName( )函数实现。

(5)显示通讯录系统。可以查看通讯录中所有的通讯录成员记录。该功能由printList( )函数实现。

三、模块设计 1.模块设计

本程序包含两个模块:主程序模块和链表操作模块。其调用关系如图2-4所示。

图2-4 模块调用示意图 2.系统子程序及功能设计

本系统共设置10个子程序,各程序的函数名及功能说明如下,其中大部分函数都是链表的基本操作函数。

(1) LinkList creatIncreLink( ) //链表的创建

(2)deleteElem( LinkList L,int i) //从通讯录中按序号删除第i 个元素 (3)delName(LinkList L,char n[ ]) //按姓名删除通讯录记录 (4)delNum( LinkList L,int n) //按学号删除通讯录记录

(5)void insertYouXu(LinkList L ,LinkList Elem ) //插入一条通讯录 (6)printList( LinkList L) //打印指针地址为 L 的通讯录

(7)prior ( LinkList L ,LinkList p) // 查找位于当前地址元素的前一元素的地址

(8)searchName( LinkList L,int n) //按姓名查找通讯录记录

(9)int searchNum( LinkList L,int n) // 按学号查找查找通讯录记录

(10)void main( ) //主函数。设定界面的颜色和大小,调用链表操作模块

3.函数主要调用关系图

本系统10个子程序之间的主要调用关系如图2-5所示。图中数字是各函数的编号。

图2-5 系统函数调用关系图如下所示:

四、详细设计

1.数据类型定义

本系统采用链式结构存储通讯录结点。结点定义如下:

typedef struct LNode

{

int number;

double telenum;

char name[20];

struct LNode *next;

}LNode,*Linklist;

2.系统主要子程序详细设计

(1)建立链表的函数,主要用来建立通讯录。

Linklist createIncreLink()

{//创建一个存放通讯录成员的非递减有序表,返回头结点地址

Linklist L=(Linklist)malloc(LEN);

L->next=NULL;

Linklist p;

int num=1,number;

double telenum;

char name[20];

printf("请输入学生学号、姓名和电话号码,建立通讯录,以'-1'为输入结束标志\n");

printf("请输入学号%d: ",num);

scanf("%d",&number);

printf("请输入姓名%d: ",num);

char temp=getchar();

gets(name);

printf("请输入电话号码%d: ",num);

scanf("%1f",&telenum);

while(number>=0)

{

p=(Linklist)malloc(LEN);

p->number=number;

p->telenum=telenum;

strcpy(p->name,name);

insertYouXu(L,P);

num++;

printf("请输入学号%d: ",num);

scanf("%d",&number);

printf("请输入姓名%d: ",num);

temp=getchar();

gets(name);

printf("请输入电话号码%d: ",num);

scanf("%1f",&telenum);

}

return(L);

}

(2)显示链表中所有结点的信息,用查看通讯录所有的记录。

void printList(LinkList L)

{ //打印头结点地址为L的通讯录

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

printf(" 学号姓名电话号码\n");

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

LinkList p=L;

int n=1;

if(L==NULL || L->next==NULL) printf ("该通讯录中没有元素\n");

//判断通讯录是否为空

else

while(p->next !=NULL)

{

printf(" %2d %-9d",n,p->next->number);

printf(" %-5s %.0f\n",p->next->name,p->next->telenum);

p=p->next;

n++;

}

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

return ;

}

五、测试分析

系统运行主界面如图2-3所示。各子功能测试运行结果如下。

1.通讯录的建立

在主菜单下,用户输入1并回车,然后按照提示建立通讯录,分别输入通讯录成员的学号,姓名,电话号码,运行结果如图2-6所示。

图2-6通讯录的建立

2. 插入通讯录记录

在主菜单下,用户输入2并回车,可以插入一个新的通讯录成员的信息,依次输入学号,姓名和电话号码,运行结果如图2-7所示。

图2-7 插入通讯录

3 .查询通讯录记录

在主菜单下,用户输入3并回车,可以按照两种方式查询通讯录。一种是按学号查询,另一种方式是按姓名查询。可按照提示操作,运行结果如图2-8所示。

图2-8查询通讯记录

4.删除通讯录记录

在主菜单下,用户输入4并回车,进行通讯录记录的删除。可以按三种方式进行删除操作:按序号、按学号和按姓名。图2-9是按学号删除的运行结果。

图2-9删除通讯记录

5.显示通讯录信息

在主菜单下,用户输入5并回车,可以查看通讯录中的所有成员信息。运行结果如图2-10所示。

图2-10 显示通讯录信息

六、用户手册

(1)本程序执行文件为“学生通讯录管理系统.exe”。

(2)进入本系统之后,随即显示系统主菜单界面,用户可在该界面下输入各子菜单前对应的数字并按回车键,执行相应子菜单命令。

(3)本系统没有提供直接修改通讯录信息的功能,可通过删除和插入操作完成修改功能。

七、调试报告

调试过程中insertYouXu createIncreLink 未声明变量。后来把对函数定义提到程序初始定义。发现直接将数值在调用的函数里定义、输入、输出,避免在主函数里传输数据,其这样就不易出现错误。查找算法,运行结果由于字母出错出现死循环。通过这次课程设计使自己深刻认识到自身的不足。对线性表的插入、删除、查找等算法的实现有了更深一步的理解,受益多多。

八、程序清单

#include

#include

#include

#define NULL 0

#define LEN sizeof(LNode)

int seat; //通讯录成员的序号

typedef struct LNode

{//用于通讯录结点

int number;

double telenum;

char name[20];

struct LNode *next;

}LNode,*LinkList;

//1.创建链表

void insertYouXu(LNode*pn,LinkList p);

LinkList createIncreLink()

{//创建一个存放通讯录成员的非递减有序表,返回头结点地址

LinkList L=(LinkList)malloc(LEN); //头结点

L->next=NULL;

LinkList p;

int num=1,number;

double telenum;

char name[20];

printf("请输入学生学号、姓名和电话号码,建立通讯录,以'-1'为输入结束标志\n");

printf("请输入学号%d: ",num);

scanf("%d",&number);

printf("请输入姓名%d: ",num);

char temp=getchar();

gets(name);

printf("请输入电话号码%d: ",num);

scanf("%1f",&telenum);

while(number>=0)

{

p=(LinkList)malloc(LEN); //新结点

p->number=number;

p->telenum=telenum;

strcpy(p->name,name);

insertYouXu(L,p); //有序地插入新结点

num++;

printf("请输入学号%d: ",num);

scanf("%d",&number);

printf("请输入姓名%d: ",num);

temp=getchar();

gets(name);

printf("请输入电话号码%d: ",num);

scanf("%1f",&telenum);

}

return(L);

}

//2.从通讯录中删除第i个元素

void deleteElem(LinkList L,int i){

LinkList p=L;

int j=0;

while (p->next && j

{

p=p->next;j++;

}

if(!(p->next)) //判断i是否合法,i不能大于元素的个数,也不能小于等于0

{

printf("第%d个元素删除失败\n",i); return;

}

LinkList q=p->next;

p->next=q->next;

free(q); //释放删除的结点

}

//3. 按姓名删除通讯者

int delName(LinkList L,char n[])

{

int flag=0; //判断要删除的通讯者和通讯录中的姓名是否匹配

LinkList p=L->next;

seat=1;

if(L->next==NULL) printf("该链表中没有元素,查找失败\n");

else

{

while(p !=NULL)

{

if(!strcmp(p->name,n)) //比较输入的姓名和通讯录中的姓名

{

flag=1; //输入姓名匹配

printf("%s",p->name);

p=p->next;

deleteElem(L,seat);

}

else {p=p->next;seat++;} //输入姓名不匹配,指针移到下一个通讯者}

if (flag) printf("被删除\n");

}

return flag;

}

//4.按学号删除通讯录

int delNum(LinkList L,int n)

{

int flag=0; //判断要删除的通讯者

LinkList p=L->next;

seat=1;

if(L->next==NULL)

printf("该链表中没有元素,删除失败\n");

else

{

while(p !=NULL)

{

if(p->number<=n)

{

if(p->number==n)

{

flag=1; //输入学号匹配

printf("%d",p->number);

p=p->next;

deleteElem(L,seat);

}

}

else{p=p->next;seat++;}

}

printf("被删除\n");

}

return flag;

}

//6.打印头结点地址为L的通讯录

void printList(LinkList L)

{ //打印头结点地址为L的通讯录

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

printf(" 学号姓名电话号码\n");

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

LinkList p=L;

int n=1;

if(L==NULL || L->next==NULL) printf ("该通讯录中没有元素\n");

//判断通讯录是否为空else

while(p->next !=NULL)

{

printf(" %2d %-9d",n,p->next->number);

printf(" %-5s %.0f\n",p->next->name,p->next->telenum);

p=p->next;

n++;

}

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

return ;

}

//7.找到位于当前地址元素的前一个元素的地址

LinkList prior(LinkList L,LinkList p)

{

if(L->next==NULL) return(L);

LinkList p_prior=L;

while(p_prior->next !=p)

p_prior=p_prior->next;

return (p_prior);

}

//8.按姓名查找通讯者

int searchName(LinkList L,char n[])

{

int flag=0; //标志要查找的通讯者和通讯录中的姓名是否匹配

LinkList p=L->next;

seat=1;

if(L->next==NULL || L==NULL) printf("该通讯录中没有元素,查找失败\n");

else

{

while(p !=NULL)

{

if(!strcmp(p->name,n)) //比较要查找的姓名是否和当前通讯录所指姓名匹配

{

flag=1; //输入姓名匹配

printf("要查找的是第%d位通讯者:\n",seat);

printf("Number: %d Name: %s TeleNo.:%.of\n",p->number,

p->name,p->telenum);

}

p=p->next;seat++; //!!!!!

}

}

return flag;

}

//9.按学号查找通讯者

int searchNum(LinkList L,int n)

{

int flag=0; //标志要查找的通讯者和通讯录中的学号是否匹配LinkList p=L->next;

seat=1;

if(L->next==NULL) printf("该链表中没有元素,查找失败\n");

else

{

while(p !=NULL)

{

if(p->number<=n)

if(p->number==n)

{

flag=1; //输入学号匹配

printf("要查找的是第%d位通讯者:\n",seat);

printf("学号:%d 姓名:%s 电话号码.:%.of\n",p->number,

p->name,p->telenum);

}

p=p->next;seat++;

}

}

return flag;

}

//10.主函数。设定界面的颜色大小,调用工作区模块函数

void main()

{

system("color 1f"); //设置界面颜色

LinkList L=NULL;

printf("\n ***************** ^@^欢迎使用通讯录系统***********\n");

printf(" * 1 通讯录的建立*\n");

printf(" * 2 插入通讯记录*\n");

printf(" * 3 查询通讯记录*\n");

printf(" * 4 删除通讯记录*\n");

printf(" * 5 显示通讯记录信息*\n");

printf(" * 0 退出管理系统*\n");

printf("\n ***************** ^@^欢迎使用通讯录系统***********\n");

int flag=0; //通讯录是否建立

int menu; //菜单选项

printf("请选择0-5:");

printf("%d",&menu);

while(menu!=0)

{

switch(menu) //用于调用菜单的语句

{

case 1:

{

L=creatIncreLink(); //调用函数实现通讯录的建立

printf("建立通讯录:");

printList(L); flag=1;

break;

}

case 2:

{

if (flag==1)

{

int number,telenum;

char name[20];

printf("请输入通讯者的学号和姓名:\n");

printf("请输入学号:");

scanf("%d,&number");

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

char temp=getchar();

gets(name);

printf("请输入电话号码:");

scanf("%d",&telenum);

LinkList p=(LinkList)malloc(LEN); //新结点

p->number=number;

strcpy(p->name,name);

p->telenum=telenum;

insertYouXu(L,p); //有序的插入新结点

printf("插入后:");

printfList(L);

}

else printf("\nERROR:通讯录还没有建立,请先建立通讯录\n");

break;

}

case 3:

{

int way,n,s; //查找方式

char na[20];

if(L!=NULL)

{

if(flag) //通讯录已建立

{

printf("选择查找方式:\n");

printf(" 1.按学号 2.按姓名");

scanf("%d",&way);

if(way==1)

{

printf("\n请输入学号:");

scanf("%d",&n);

s=searchNum(L,n); //查找通讯录成员

if(s==0)printf("无此通讯者,查找失败!\n");

}

else if(way==2)

{

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

char temp=getchar();

gets(na);

s=searchName(L,na);

if(s==0)printf("无此通讯者,查找失败!\n");

}

else printf("通讯录中无记录!\n");

}

break;

}

else printf("通讯录中无记录!\n");

break;

}

case 4:

{

int way; //删除方式

printf("请选择删除方式:1.按序号 2.按学号 3.按姓名\n");

scanf("%d",&way);

if(way==1)

{

int n;

printf("请输入通讯录序号:"); scanf("%d",&n);

printf("删除后:\n"); deleteElem(L,n); //按序号删除

printfList(L);

}

else if(way==2)

{

int n,f;

printf("请输入学号:"); scanf("%d",&n);

f=delNum(L,n);

if(f!=0)

{

printf("删除后:\n"); printfList(L);

}

else printf("无该学号,删除失败!\n");

}

else if(way==3);

{

char na[20];

int f;

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

char temp=getchar();

f=delName(L,na);

if(f!=0)

{

printf("删除后:\n"); printfList(L);

}

else printf("无该学号,删除失败!\n");

}

else printf("ERROR!!\n");

break;

}

通讯录管理系统实验报告

通讯录管理系统实验报告 信息科学与技术学院《程序设计实习》实训报告书 目: 计算机科学与技术题 专业: 计算机科学与技术班级: 姓名: 学号: 同组人员: 指导老师: 设计时间: 目录 1.实训计 划 ..................................................................... ................................... 1 2.问题描 述 ..................................................................... ................................... 1 3.问题分 析 ..................................................................... ................................... 2 4.算法设 计 ..................................................................... ................................... 4 5.程序模块设 计 ..................................................................... ............................ 5 6.技术难点与分 析 ..................................................................... ........................ 8 7.系统测 试 ..................................................................... ................................... 9 8.心得体 会 .....................................................................

学生通讯录管理系统

学生通讯录管理系统

————————————————————————————————作者:————————————————————————————————日期:

“学生通讯信息记录系统”的设计与实现 一、设计要求 1.问题的描述 “学生通讯信息记录系统”是为了实现快速的对学生信息进行录入、删除、查找、显示。 各个功能靠函数实现。 2.需求分析 (1)应该包括以下功能:输入信息、显示信息、查找以姓名作为关键字、删除信息(2)作为一个完整的系统,应具有友好的界面和较强的容错能力 二、概要设计 1.主界面设计 2.储存结构设计 本系统主要采用链表类型来表示储存“学生信息记录系统”中的信息。程序中定义了address结构。其中,包括学生的姓名、宿舍信息和学号。 3.系统功能的设计 1) 输入信息——enter(); 2) 显示信息———display( ); 3) 查找以姓名作为关键字———search( ); 4) 删除信息———delete( ); 三、模块设计 1.模块设计 本成绩包含两个模块:主程序模块和链表操作模块。 2.系统的程序及功能设计

系统的功能主要靠函数的功能的实现的,以下是实现各功能的函数: void enter(); /*函数声明*/ void search(); void save(); void load(); void list(); void ddelete(struct address **start,struct address **last); void insert(struct address *i,struct address **start, struct address **last); void inputs(char *,char *,int); void display(struct address *); int menu_select(void); 四、详细设计 1.数据类型定义 2.struct address{ /*定义结构*/ 3. char name[10]; 4. char street[50]; 5. char city[10]; 6. char state[15]; 7. char eip[7]; 8. struct address *next; /*后继指针*/ 9. struct address *prior; /*前驱指针*/ 10.};系统主要子程序详细设计 (1)插入学生信息 void enter() /*输入函数,本函数循环输入资料,当输入姓名为空时退出*/ { struct address *info; /*定义当前结点*/ for(;;) { info=(struct address *)malloc(sizeof(struct address)); /*为当前结点分配空间*/ if(!info) { printf("\n Out of memory"); exit(0); /*如果分配空间失败,退出程序*/ } printf("输入空姓名结束:\n"); inputs("请输入姓名:",info->name,10); if(!info->name[0]) break; /*如果输入姓名为空,结束循环*/ inputs("请输入院系:",info->street,50);

最新-管理信息系统课程设计-学生信息管理系统 精品

《管理信息系统》课程设计 设计报告 设计名称:学生管理系统 班级:信管 181 学号: 姓名: 指导老师: 日期:2018年1月4日至 2018年 1月12日

摘要 随着计算机技术的飞速发展,计算机在学生管理中应用的普及,利用计算机实现管理势在必行。我作为一个信息管理专业的大学生,希望能有所贡献。用我三年的所学编制了一个实用的程序来帮助教师们进行更有效的学生信息管理。 本系统采用面向对象的程序设计思想进行编制,整个系统数据存在表格文件中,由数据库文件进行管理。并且运用信息系统分析与设计方法,应用Access数据库,Visual Basic发工具等开发出来的基于WINDOWS系列的学生管理系统。该系统面向学校和学生,实现对学生成绩管理、班级管理、奖惩管理、学籍管理。系统支持学生工作管理部门和各系工作人员、全校学生使用,支持按权限管理的查询和数十种统计报表的输出打印功能。减少了部门之间工作的中间环节,提高了跨部门管理的效率。 文章介绍了学生管理信息系统的系统分析部分,包括可行性分析、业务流程分析等;系统设计部分主要介绍了系统功能设计和数据库设计及代码设计;系统实现部分说明了几个主要模块的算法,本系统界面友好,操作简单,比较实用。 【关键字】:学生管理系统,学生管理,数据库,信息系统分析,Visual Basic应用。

目录 摘要... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...II 1.系统概述... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (4) 1.1系统及需求分析 (4) 1.1.1 系统需求 (4) 1.1.2 可行性分析 (4) 1.2系统设计的背景 (5) 1.3系统的功能简介 (6) 1.3.1用户管理模块(CTRL+A): (6) 1.3.2班级管理模块(CTRL+C): (6) 1.3.3学生档案管理模块(CTRL+D): (6) 1.3.4课程管理模块(CTRL+E): (6) 1.3.5成绩管理模块(CTRL+F): (7) 1.3.6奖惩管理模块(CTRL+G): (7) 1.3.7报表打印模块(CTRL+J): (7) 1.3.8帮助模块 (7) 1.4系统开发的目标 (7) 2. 系统分析... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (7) 2.1业务流程分析 (7) 2.2数据流程分析: (8) 2.3数据存储分析:实体联系图 (9) 2.4功能分析:功能层次图 (11) 3.系统设计... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (12) 3.1软件模块结构设计 (12) 3.1.1系统方案确定 (12) 3.1.2软件结构设计 (12) 3.2数据库设计 (13) 4.系统的功能... ... ... ... ... ... ... ... ... ... ... ... ... ... (16) 4.1系统登陆界面: (16) 4.2用户管理模块: (18) 4.3学藉管理模块: (24) 5. 运行及调试... ... ... ... ... ... ... ... ... ... ... ... ... ... (27) 6.全文总结... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (27) 致谢... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (28) 参考文献... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (28)

个人通讯录管理系统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) /*只写方式判断*/

C语言课程设计报告—手机通讯录管理系统

C程序课程设计报告 --手机通讯录管理系统 姓名:谢骏 学院:珠宝学院 学号:649 班级:141082

一课程设计目的和内容概述 1.目的:加深对《C语言》课程所学知识的理解,进一步巩固C语言编程方法。学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备解决综合性实际问题的能力,加强动手能力。 2.内容:设计一个简易的手机通讯录管理系统。该题目要求在熟练掌握C语言的基本知识:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等。进一步掌握各种函数的应用,包括时间函数、、绘图函数,以及文件的读写操作等。 其中结构体,函数的调用,算法的设计是尤为重要的。 二题目 手机通讯录管理系统。 [问题描述] 该系统模拟手机通讯录管理系统,实现对手机中的通讯录进行管理 [基本要求] 要能提供以下几种功能: (1)查看功能:选择此功能时,列出下列三类选择:

A:办公类B:个人类C:商务类 (2)当选中某类时,显示出此类所有数据中的姓名和电话号码 (3)添加数据功能:能录入新数据,每个结点包括:姓名,电话号码,分类(可能选项有:w为办公类p为个人类b为商务类),电子邮件。例如:杨春商务类 当录入重复的姓名和电话号码时,则提示数据录入重复并取消录入;当通讯录中超过15条信息时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号。(4)修改功能:选中某个人的姓名时,可对此人的相应数据进行修改。 (5)删除功能:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号。 三程序设计 1.总体设计 首先,因为每个个体有多种信息,所以要建立结构体来储存和整合各个信息。然后利用模块来分别实现程序的各个功能。各个模块用函数来实现。在通过通过主函数来判断输入字母,从而调动函数,实现所需功能。最后将输入的文件保存在文件里,以便重复使用。 2.详细设计

学生信息管理系统详细设计说明书

学生信息管理系统详细设计 1引言 1.1编写目的 为了彻底解决了长期困扰教学信息化工作当中安全性、可靠性的问题;为了使管理人员可以随时看到更新的数据,极大地提高信息传递的速度;为了管理者再也不必为聘用专门的操作人员来给众多教师编辑学生成绩资料而殚精竭虑,在此,设计了学生课程成绩查询管理信息系统,使得各个使用者在操作上,从此变得那么从容简单,省时又省心。 1.2系统模块的实现 在系统中包括以下功能:系统管理、学籍信息管理、课程信息管 理、成绩信息管理、帮助。分为以下几个模块 主窗体 1.3登录模块 为了系统的安全,在进入系统之前首先会出现一个登录模块,用户只有在输入正确的用户名和正确的密码之后,才能进入系统。

用户登录窗体中放置了两个文本框(Textbox),用来输入用户名和密码;两个按钮(CommandButton)用来确定或者取消登录。 设置一个SSTab控件,供不同用户登录时选择用户权限,超级用户拥有一切权限(包括添加删除和修改以及对用户的管理),普通用户拥有受限制的权限(查询及修改密码),提高了数据库的安全性。 1.4系统管理模块 1.4.1添加用户窗体的创建 进入系统后,将会出现一个主窗体,选择系统管理模块下的添加用户,就可以进入添加用户窗体,可以通过该窗体增加新的用户。 在这个窗体中放置了三个文本框,用来输入用户名和密码;两个按钮用来确定是否添加用户;三个标签用来标示文本框的提示。 1.4.2修改密码窗体的创建 在系统管理模块下,进入修改密码窗体,用户可根据需要修改自己的密码。 在这个窗体中放置了两个文本框,用来输入密码和确认密码;两个按钮用来确定是否修改密码;两个标签用来标示文本框的内容。 1.5学籍管理模块 1.5.1添加学籍信息功能 选择主窗体中学籍管理模块下的添加学籍信息,就可进入添加学籍信息的窗体,在该窗体中我们可以对学生的学号、姓名、性别、出生日期、班号等学生的信息进行添加。设计时我尽可能设想各种边界条件,如记录为空,输入为空,输入出错等,当输入的信息满足这些边界条件时,将会弹出一个提示框提醒用户,以便用户能及时地做出修改。添加的信息将全部存储到数据库中。 在窗体上放置多个文本框和下拉式文本框,用来输入学籍信息;两个按钮用来确定是否输入学籍信息;一个按钮用来退出窗体;多个标签用来提示文本框中需要输入的内容。 1.5.2修改学籍信息功能 点击学籍管理模块下的修改学籍信息,就进入修改学籍信息的窗体,在该窗体中我们可以对前面添加的学籍信息进行修改。由于用户的需求不同,有的是要对学生的信息做个

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

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

学生通讯录管理系统的设计与实现 问题描述: 纸质的通讯录已经不能满足实际需求,容易丢失,查找困难等问题是纸质通讯录所不能克服的缺点。“学生通讯录管理系统”是为了帮助老师、同学,或者其它一些需要使用的通讯录的人员进行管理和应用的一种应用程序。 需求分析: 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判断输入进行

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

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

三、详细设计 1、数据结构设计 #include /*标准输入输出函数库*/ #include /*标准函数库*/ #include /*字符串函数库*/ #define FILENAME "phone.dat" struct date //定义一个结构体类型数组 { char name[10]; /*姓名*/ char phone[12]; /*电话*/ char email[20]; /*邮箱*/ char QQ[20]; /*QQ*/ } per[10]; int menu() //主菜单选择函数 2.函数说明 (1) 主函数 main()允许用户通过菜单进行功能选择,使用相应的功能代码来调用对应的函数功能。 (2)

四、程序清单 1、头文件 #include /*标准输入输出函数库*/ #include /*标准函数库*/ #include /*字符串函数库*/ #define FILENAME "phone.dat" 2、主函数 void main() //主函数 { int n=0,i; while(1) { switch (menu()) { case 1: { printf("\n\t 通讯信息录入\n"); //信息录入 n=Input(per, n); } break; case 2: printf("\n\t\t\t 通讯录记录表\n"); //显示记录 Display(per,n); break; case 3: printf("\n\t保存功能\n"); WritetoText(per,n); //保存数据 printf("\t"); system("pause"); //操作完成后进行暂停 break; case 4: printf("\n\t从通讯录中删除记录\n"); n=Delete_a_record(per,n); //删除记录 printf("\t"); system("pause"); break;

班级通讯录管理系统课程设计分析报告

高级语言程序设计(1)课程设计 专业班级学号 姓名完成日期指导教师: 1.程序设计说明书 【设计题目】班级通讯录管理系统 【问题描述】 信息1002班上学生的通讯基本信息包含姓名、电话号码、QQ号和宿舍号。对信息1002班学生的基本通讯信息进行统一整理,并可以按电话号码或姓名等查到学生个人基本通讯信息。可以显示所有的通讯记录,并对现有的通讯记录进行修改和增删等处理。 【基本要求】 1.通过此软件可以直接录入各个学生的基本通讯信息,并且会将所有信息自动保存到磁盘 上。 2.通过此软件可以直接对已录入的各个学生的通讯基本信息进行修改,并且修改完成后会将 更改后的信息情况自动保存到原磁盘文件中。 3.通过此软件可以直接对信息1002班每个同学的基本信息情况进行查询。 【算法思想】 1.根据要求,通讯录数据以文本文件存放在文件中: 2.需要提供文件的输入输出的等操作: 3.还需要保存记录已进行修改,删除,查找的操作: 4.另外还需提供键盘式选择菜单实现功能的选择。 【总体设计】 图1系统功能模块图 【详细设计】 主函数 主函数设计要求简洁,只提供部分提示语和函数的调用 【程序】

图2.主函数流程图 Voidmenu()/*主界面*/ { intn,w1; voidenter();voidadd();voidmodify();voidbrowse();voiddelete();voidsearch(); do { puts("\t*******菜单**************\t\n\n"); puts("\t\t\t\t1.新建联系人"); puts("\t\t\t\t2.添加联系人"); puts("\t\t\t\t3.修改"); puts("\t\t\t\t4.删除"); puts("\t\t\t\t5.浏览"); puts("\t\t\t\t6.查找"); puts("\t\t\t\t7.退出"); puts("\n\n\t*****信息1002班通讯录*************\t\n"); printf("请选择服务种类(1-7):[]\b\b"); scanf("%d",&n); if(n<1||n>7) {w1=1;getchar();} elsew1=0; }while(w1==1); switch(n) { case1:enter();break;/*输入模块*/ case2:add();break;/*添加模块*/ 【模块流程图】 main函数

软工-学生信息管理系统设计与开发

武汉理工大学华夏学院课程设计报告书 课程名称:软件工程 题目:学生信息管理系统的设计与开发 系名:信息工程系 专业班级:计算机1111班 姓名: 学号: 指导教师:钱小红 2014 年 7 月 4 日

课程设计任务书 学生姓名:专业班级:计算机1111班 指导教师:钱小红工作单位:信息工程系 设计题目:学生信息管理系统的设计与开发 课程设计的目的与任务: 软件工程课程设计是《软件工程》课程的后续实践课程,本课程设计的目的是通过一周的实践训练,开发一个学生信息管理系统,使同学们经历一个软件从问题定义、分析、设计到开发的全过程和受到一次软件系统开发的综合训练,以便能熟练掌握软件开发的完整生命周期过程及较全面地理解、掌握和综合运用所学的软件工程的知识。结合具体的学生信息管理选题开发项目,理解并掌握系统分析、系统设计、系统实施的主要环节和步骤以及软件文档的制作能力,进一步提高学生分析问题、解决问题,进行一个完整系统开发的能力。 课程设计的内容与主要要求: 要求学生根据所学的软件工程的知识,利用所学的Java语言/Vb语言/C++语言+Mysql/SQL知识实现一个学生信息管理系统,并对实现后的软件进行测试。系统主要实现用户管理、班级管理、课程管理、成绩管理、学生管理、教师管理、用户登陆、修改密码等功能,详见下表。 表1.1 学生信息管理系统主要功能表 课程设计的步骤及时间进度、场地安排 本课程设计将安排在第20周, 教育技术中心211。具体安排如下: 6月27日下午:下发任务;

6月28日:查找资料,理清整理软件工程实验课所完成的学生信息管理系统需求分析、系统设计及相关模型的建立(通过visio/rational rose/powerdesigner建立系统的需求模型、数据模型及设计模型,具体包括数据流图、软件结构图、程序流程图、ER图、用例图、类图、时序图、活动图、状态图等); 6月29日-7月2日:完成学生信息管理系统的开发; 7月3 日~7月4日完成系统测试、报告的写作及答辩验收,并将以上工作整理成为课程设计报告,于7月4日下午前提交课程设计报告。 课程设计报告撰写格式要求: 1设计题目与要求 2 设计思想 3系统结构 4 数据结构的说明和模块的算法流程图 5 使用说明书(即用户手册)、运行结果、关键界面截图 6 测试计划说明书、测试用例规格说明、缺陷报告 7 自我评价与总结 8 附录:程序清单,注意加注释(包括关键字、方法、变量等),在每个模块前加 注释; 要求层次清楚、整洁规范、不得相互抄袭,凡正文内容有整段完全相同者一律以抄 袭论处。设计报告正文字数不少于0.2万字(不包括附录)。第1级(章)题序和题名用 黑体三号字;第2级(目)题序和题名用黑体小四号字;第3级(条)题序和题名用黑 体小四号字;正文内容用宋体五号字(英文用新罗马体),多倍行距1.25。报告内容一律 使用A4打印纸计算机打印,页码在页下居中标明。必须使用国家公布的规范字。页面 设置:上空2.5 cm,下空2.0 cm,左空2.5 cm,右空2.0cm(左装订)。插图图面要整齐、 美观,插图应与正文呼应,不能脱节。每幅插图应有图序与图题,图序编号要连续,图 序与图题间空一格且要放在插图下方居中处。 课程设计考核及评分标准 课程设计考核将综合考虑学生考勤和参与度,系统设计方案正确性,系统设计和开发效果以及课程设计报告书的质量。总分按五级记分法记载最后成绩:优秀(100~90分),良好(80~89分),中等(70~79分),及格(60~69分),不及格(0~59分) 指导教师签字:钱小红2014年6月27日 系主任签字:邱珊2014年6月27日

个人通讯录管理系统

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

通讯录管理系统课程设计报告书C语言

二〇〇八~ 二〇〇九学年第二学期 信息科学与工程学院 课程设计报告书 课程名称: C语言课程设计 班级:

学号: 姓名: 指导老师: 月九年二〇〇九 通讯录管理系统 一.需求分析 设计题目及要求: ◆建立通讯录信息,信息至少包含编号、姓名、年龄、电话、通讯地址、电子邮箱等; ◆能够提供添加、删除和修改通讯录信息的功能; ◆能够提供安不同方式查询的功能;如按姓名或年龄、电话等查询; ◆将通讯录保存在文件中; ◆能够按表格方式输出通讯录信息。 系统功能需求分析: 主要包含一下多种功能: 添加:添加通讯录记录 显示:显示通讯录记录 删除:删除通讯录记录 查询:查询通讯录记录 修改:修改通讯录记录 保存:将信息保存到文件 二.概要设计 系统功能模块图:

添加:可以添加通讯录记录,依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱后,会提示是否继续添加。. 显示:可以以表格形式输出所有通讯录里的记录 删除:输入欲删除的那个人的名字后,会自动删除他(她)的记录内容 查询:可以选择用姓名、电话、地址三种方式查询 修改:输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱即可完成修改 保存:,输入文件名(带后缀名)后,即可将通讯录信息保存到文件 三.详细设计 (1).通讯录: typedef struct { char score; /*编号*/ char name[10]; /*姓名*/ char num[15]; /*号码*/ char email[20]; /*邮箱*/ char age[8]; /*年龄*/ char adds[20]; /*住址*/ }Person; void main() /*主函数*/ { int n=0; for(;;) { switch(menu_select())

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

C课程设计通讯录管理 系统 文件排版存档编号:[UYTR-OUPT28-KBNTL98-UYNN208]

课程设计说明书(论文)课程名称 C++程序设计实践 题目通信录管理系统 专业软件工程班级 学号姓名 xx 起止日期 指导教师赵新慧成绩 辽宁石油化工大学计算机与通信工程学院

摘要 本次课程设计任务是通过编写一个通信录管理系统,学习用Visual?C++?开发简单的管理系统。采用Visual?C++?软件为主要开发工具。巩固和加深学生对C++课程的基本知识的理解和掌握,掌握C++编程和程序调试的基本技能,利用C++进行简单软件设计的基本思路和方法,提高运用C++解决实际问题的能力,掌握书写程序设计说明文档的能力使用计算机进行信息管理。实现通信录的管理功能(添加、删除、排序)、按姓名查询的功能,以及把联系人资料保存在文件中,将文件中内容读出来。使用计算机进行系统管理,不仅提高了工作效率,而且大大提高了其安全性,尤其对于复杂的信息管理,计算机能充分地发挥它的优越性,通信录管理系统是每个人不可缺少的部分,在课程设计中,系统开发平台为Windows XP,程序设计语言采用Visual C++,在程序设计中,运用了面向对象解决问题的方法。程序通过调试运行,初步实现了设计目标。 Abstract The curriculum design task is through the preparation of a student achievement ranking management system, learning management system with Visual C++ 6 to develop simple. Using Visual C++ 6 software as the main development tool. To consolidate and deepen the students the basic knowledge of C++

学生信息管理系统设计

管理信息系统(实践) 课 程 设 计 题目:学生信息系统开发 专业:建筑经济管理(独立本科段) 班级:1118Z121班 学号:101813111 姓名:吉宝花

可行性分析 对现有系统的分析 (一).技术可行性 要开发该系统必须具备一定的网络知识和数据库知识,最好能熟练掌握一门面向对象语言。到目前为止,我们已经学习了三门程序设计语言,其中java就是一种很好的面向对象开发语言,java 中的多线程和多媒体技术完全可以实现此功能。从理论上来说,技术上没问题。 (二).经济可行性 随着社会的发展及经济的繁荣,知识经济已成趋势并在某些方面尤其突出,各大高校都随之扩招。学生也日趋增多,这个给学籍管理带来了沉重的压力,使用人力来管理已经不可能了,一个好的有规模的学籍管理系统已经迫在眉睫了,所以在经济上是十分可行的。 (三).社会可行性 学生管理系统是学校管理非常实用的一款软件,对老师管理学生、学生选课、查询成绩都非常方便,简单可视化操作,易于管理。该项目为独立开发。在法律方面不会存在侵犯专利权、侵犯版权等问题,完全按照合同的规定履行。 综合评价和论证结论 学生管理系统是一款非常简洁实用的软件,通过分析认为值得去开发。 需求分析 (一)目的与任务: 学校学生管理信息系统是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统(Management Information System)。它是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。能有效的帮助学校和老师掌握学生的情况,为学生提供成绩跟课程方面的查询。 通过该系统,用户可以查看学生的基本资料、学习成绩等各方面的资料,能够方便的了解学生总体情况。该管理系统为用户提供了一些简单的数据查询、输出各种信息等。

个人通讯录管理(c语言课程设计)

安徽工业大学 《C语言课程设计》实习综合报告课题名称:个人通讯录管理系统 实习成员:王刚 学号: 109074372 专业班级: 网络工程103班 指导教师: 郑啸老师

目录 一.问题描述 (2) 二. 各功能流程图与设计思路 (3) 2.1显示模块 (3) 2.2查找模块……………………………………………4.. 2.3添加模块 (6) 2.4删除模块 (8) 2.5修改模块 (9) 三、文件的读取与保存 (11) 四、程序源代码 (12) 五、调试与运行结果 (18) 六、计算机学院课程设计评定意见 (24) 一.问题描述

设计通讯录包含以下功能: (1)通讯录的每一条信息包括姓名、单位、固定电话、移动手 机、分类(如同事、朋友、同学、家人等)、EMAIL、QQ 等。 (2)输入功能:可以一次完成若干条信息的输入。 (3)显示功能:完成全部通讯录信息的显示。 (4)查找功能:可以按姓名等多种方式查找通讯信息。 (5)增加、删除、修改功能:完成通讯录信息的多种更新。 二.各功能流程图与设计思路 Menu菜单:

运用switch()进行操作: case'1': 显示功能,list()函数 说明:利用for循环,逐个输出已保存的内容 代码如下: //*****************显示通讯录中的内容************* void list() { printf("编号姓名电话 \t手机 \t工作单位\tEMAIL \t\tQQ\n"); for(i=0;i

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

通讯录管理系统课程设 计报告 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

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

个人通讯录管理系统C语言源程序优秀版 Last revision date: 13 December 2020.

#i n c l u d e/*头文件*/ #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 通讯录文件不存在"); /*判断结论*/

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