当前位置:
文档之家› C语言程序设计_通讯录管理系统
C语言程序设计_通讯录管理系统
三、系统的详细设计
系统实现的基本功能是通讯录数据管理,包括:添加数据记录、显示数据 记录、删除数据记录、查找数据记录,修改数据记录以及保存数据记录。(分 别使用了 insert ( ) 、seek ( )、delete ( )、show ( )、sort ( ) 等函数) 。 其中数据的查找、数据的删除又可通过不同的方式如按学号或姓名等进行操作。 主要函数实现说明: 1、insert() 该函数可对文件的数据进行添加。在进行添加的时候需要首先打开数据文 件,在该函数中调用了 file1()函数将数据文件打开。之后同 creatfile() 中一样的形式输入数据,输入完之后进行保存,对插入的数据进行保存前要先 确定插入点,该函数在设计时将插入点放在了文件末尾,即将添加的数据加到 文件的最后。同样以上操作为一循环过程,最后根据用户的选择决定循环操作
二、系统概要设计
1、系统的主要功能 系统的主要功能是实现基本的通讯录的数据管理和维护。主要包括: (1)增加数据记录:可以添加通讯录记录,依次输入编号、姓名、年龄、电话 号码、通讯地址后,会提示是否继续添加。 (2)显示数据记录:可以以表格形式输出所有通讯录里的记录。 (3)删除数据记录:输入欲删除的那个人的姓名后,会自动删除他(她)的记 录内容。 (4)查找数据记录:可以选择用姓名,电话,地址三种方式查询。 (5)修改数据记录:输入欲修改的那个人的名字后,再依次输入编号、姓名、 年龄、电话号码、通讯地址。 (6)保存数据记录:输入文件明(带后缀名)后,即可将通讯录信息保存到文 件。 2、系统的总体结构
四、系统的主要源程序
#include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct { char score; char name[10]; char num[15]; char age[8]; char adds[20]; } Person; Person per[80]; int menu_select() { char c; do{ system("cls"); printf("\t\t*****通讯录***** \n"); printf("\t\t┍ -------------- ┒\n");
printf("\t 请输入想删除记录中的名字:"); scanf("%s",s); while(strcmp(per[i].name,s)!=0&&i<n) i++; if(i==n) { printf("\t 通讯录中没有此人!\n"); return(n); } for(j=i;j<n-1;j++) { strcpy(per[j].num,per[j+1].num); strcpy(per[j].name,per[j+1].name); strcpy(per[j].age,per[j+1].age); strcpy(per[j].adds,per[j+1].adds); per[j].score=per[j+1].score; } printf("\t\t\t 已经成功删除!\n"); return(n-1); } void Query_a_record(Person per[],int n) { int m; printf("\\n 请选择查询方式:\n"); printf("\t┍ -------------- ┒\n"); printf("\t| 1-----printf("\t| 2-----printf("\t| 3-----printf("\t| 4-----姓名 |\n"); 电话 |\n"); 地址 |\n"); 返回 |\n");
//
printf("\t\t| printf("\t\t| printf("\t\t| printf("\t\t| printf("\t\t| printf("\t\t| printf("\t\t|
1.添加记录 2.显示记录 3.删除记录 4.查询记录 5.修改记录 6.保存记录 0.退出程序
|\n"); |\n"); |\n"); |\n"); |\n"); |\n"); |\n");
printf("\n\t 是否继续添加?(Y/N)"); scanf("\t%c",&sign); i++; } return(n+i); } void Display(Person per[],int n) { int i; printf("----------------------------------------\n"); printf("编号 姓名 年龄 电话号码 通讯地址 \n");
C 语言课程设计
题
目
通讯录管理系统
指导教师 学生姓名 程晓华 学 专 刘志刚 王建民
号 201380802015 201380802012 201380802010 业 电子信息工程(本科) 物理系 (盖章)
教学单位
课程设计题目:通讯录管理系统
一、系统需求分析
1、建立通讯录新年系,信息至少包含编号、姓名、年龄、电话号码、通讯地址 等; 2、能够提供添加、删除、查找、修改和显示通讯录信息等功能; 3、能够提供按不同方式查询的功能,如按姓名或年龄等查询; 4、将通讯录保存到文件中; 5、能够按表格方式输出通讯录信息。
辅助函数: 以上介绍的是完成班级通讯录管理这个功能,程序主要包含的函数,为了 使程序更有条理性或者更加完整形象,可以将主要函数经常使用的一些功能编 成一个函数,这样便可在多处很方便调用,如此程序中的 file1()(用来打开 数据文件的操作)、file2()(用来保存数据)、prt()函数等便起到这个 作用。另外还加了 jm1()、jm2()进入界面、退出界面这两个函数,使本程 序显得更加完整。
通讯录管理系统
增 加 数 据 记 录
显 示 数 据 记 录
删 除 数 据 记 录
查 找 数 据 记 录
ห้องสมุดไป่ตู้
修 改 数 据 记 录
保 存 数 据 记 录
3、系统软件环境 本程序所适用的计算机系统软硬件环境要求为: 硬件环境: <1> 486,586 及兼容机,640K 基本内存; <2> 1M 以上扩充内存,10M 以上的显示内存. 软件环境: 内置 MS-DOS 5.0 或者 Windows 98 ,且有中文平台.如:UCDOS 等。 4、数据结构设计 (1)通讯录: typedef struct { Char score; Char name[10]; Char num[15]; Char age[8]; Char adds[20]; } Person; Void main(0 { int n=0; for(;;) //编号,姓名,号码,年龄,住址
printf("----------------------------------------\n"); for(i=1;i<n+1;i++) {
printf("%-5d%-8s%-6s%-13s%-15s\n",per[i-1].score,per[i-1]. name,per[i-1].age,per[i-1].num,per[i-1].adds); if(i>1&&i%10==0) { printf("\t----------------------------------\n"); printf("\t");system("pause"); printf("\t----------------------------------\n"); } } printf("------------------------------------\n");system("pause"); } int Delete_a_record(Person per[],int n) { char s[20]; int i=0,j;
printf("\t\t┕ -------------- ┙\n"); printf("\t\t 请您选择(0-6):"); c=getchar(); }while(c<'0'||c>'6'); return(c-'0');} int Input(Person per[],int n) { int i=0; char sign,x[10]; while(sign!='n'&&sign!='N') { printf("\t 编号:"); scanf("\t%d",&per[n+1].score); printf("\t 姓名:"); scanf("\t%s",per[n+1].name); printf("\t 年龄:"); scanf("\t%s",per[n+1].age); printf("\t 电话号码:"); scanf("\t%s",per[n+1].num); printf("\t 通讯地址:"); scanf("\t%s",per[n+1].adds); gets(x);