当前位置:文档之家› 大一C语言电话簿管理系统

大一C语言电话簿管理系统

电话簿管理系统目录一、设计目的 (2)二、项目设计的内容 (2)三、项目设计的要求与数据 (2)四、项目设计应完成的工作 (3)五、总体设计(包含几大功能) (4)六、详细设计(各功能的具体实现算法) (4)七、测试分析(包含各功能的测试用例,及测试结果).. 5八、总结 (13)1、设计目的进一步加深理解《C语言程序设计》,通过此次作业,对本学期所学的内容有一个更深的理解,将所学知识融会贯通,进一步培养自己对综合问题的分析和解决实际问题的能力。

掌握利用所学知识编写简单程序的技巧,提升自己的实践能力,理论知识等。

2、项目设计的内容对用户的信息(包括姓名、电话)进行管理,包括对用户姓名电话的增加、查找、修改、删除、导出用户信息为txt文件、显示所有用户信息的操作。

假设,收集到若干人的姓名电话信息,要求编写一个可以实现上述操作的C语言程序。

学习相关开发软件,熟悉建设工程的过程。

3、项目设计的要求与数据1.用C语言实现程序。

2.对用户信息(姓名、电话号码)进行管理,包括用户信息的增加、查找、修改、删除、导出、显示操作。

3.各个功能的说明(1)增加用户信息功能:增加后保存至文件,可一次性增加若干条用户信息。

(2)查找用户信息功能:完成按姓名查找电话号码的操作并显示。

(3)修改用户信息功能:通过对姓名进行查找并修改的操作。

(4)删除用户信息功能:删除指定信息的功能。

(5)导出用户信息功能:保存当前所有用户信息为文本文件。

(6)显示用户信息功能:显示出当前所保存的所有用户信息。

4、项目设计应完成的工作(1)编写算法;(2)算法测试,并有具体的测试结果和结果分析;(3)撰写项目设计报告。

内容包括:1)封面扉页2)设计任务书3)目录4)总体设计方案5)使用说明及运行实例(包括界面)6)成员设计内容简介7)项目源程序代码(注意注释的使用)8)指导教师评语5、总体设计(包含几大功能)1.用户信息增加功能2.用户信息查找功能3.用户信息修改功能4.用户信息删除功能5.用户信息显示功能6.用户信息导出功能7.清屏6、详细设计(各功能的具体实现算法)1.输入用户信息功能:输入信息包括姓名、电话号码相关信息;可用函数void shuru()实现。

同时输入完成后实时保存至文件,使用函数void baocun(int n)实现。

2.查找功能:可用函数void chazhao()实现。

若找到就输出。

3.修改功能:可用函数void xiugai()实现。

4.删除功能:可用函数void shanchu()实现。

5.显示功能:可用函数void all()实现。

6.导出功能:可用函数void daochu()实现。

7.清屏功能:使用#include<conio.h>里的system("cls")实现。

七、测试分析(包含各功能的测试用例,及测试结果)7.1 源程序#include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>struct phone{char name[20];char number[20];}pho[100];//用户信息/*----------------保存信息子程序----------------*/void baocun(int n){int i;FILE *fp;if((fp=fopen("data.pho","a+"))==NULL){printf("data is error.\n");exit(0);}for(i=0;i<n;i++)fprintf(fp,"%s %s\n",pho[i].name,pho[i].number);fclose(fp);}void readwrite()//将文件里的数据写入结构体{FILE *fp;int i;if((fp=fopen("data.pho","a+"))==NULL){printf("data is error.\n");exit(0);}for(i=0;i<100;i++){fscanf(fp,"%s %s\n",pho[i].name,pho[i].number);}fclose(fp);}/*----------------增加信息子程序----------------*/void shuru(){printf("==================================增添成员======================================\n");int i,n,flag=0;printf("请输入成员个数:");scanf("%d",&n);for(i=0;i<n;i++){printf("请输入姓名、电话号码:");scanf("%s %s",pho[i].name,pho[i].number);flag++;}baocun(n);if(flag==n) printf("保存成功。

\n");else printf("保存失败。

\n");printf("====================================================== ==========================\n");}/*----------------查找信息子程序 ----------------*/void chazhao(){printf("==================================查找成员======================================\n");char ch[20];int i,flag=0;printf("请输入查找人的姓名:");scanf("%s",&ch);readwrite();for(i=0;i<100;i++){if(strcmp(pho[i].name,ch)==0)//利用字符串进行查找{printf("已查找到该成员:\n");printf("%s %s\n",pho[i].name,pho[i].number);flag=1;}}if(!flag) printf("该成员不存在.\n");printf("====================================================== ==========================\n");}/*----------------删除信息子程序------------------*/void shanchu(){printf("==================================删除成员======================================\n");char a[10];int i,j,flag=0;FILE *fp;fp=fopen("data.pho","w+");//此处文件打开方式为w+,不能调用readwrite()for(i=0;i<100;i++){fscanf(fp,"%s %s\n",pho[i].name,pho[i].number);}//将文件里的数据写入结构体fclose(fp);//在此必须关闭一次文件printf("请输入要删除人的姓名:");scanf("%s",&a);for(i=0;i<100;i++){if(strcmp(pho[i].name,a)==0)//利用字符串进行查找{flag=1;for(j=i;j<100-i;j++){pho[j]=pho[j+1];}}}baocun(i);if(flag==1) printf("操作成功。

\n");if(flag==0) printf("查无此人。

\n");printf("====================================================== ==========================\n");}/*----------------修改信息子程序 --------------------*/void xiugai(){printf("================================修改成员信息====================================\n");char ch[20];int i,flag=0,flag1=0;FILE *fp;printf("请输入修改人姓名:");scanf("%s",&ch);readwrite();for(i=0;i<100;i++)if(strcmp(pho[i].name,ch)==0){flag=1;break;}printf("请输入修改后的姓名、号码:");scanf("%s %s",&pho[i].name,&pho[i].number);fp=fopen("data.pho","w+");for(i=0;i<100;i++){fprintf(fp,"%s %s\n",pho[i].name,pho[i].number);flag1=1;}fclose(fp);if(flag==1&&flag1==1) printf("修改成功。

\n");if(flag==0) printf("查无此人。

\n");if(flag==1&&flag1==0) printf("修改失败。

相关主题