C语言-通讯录管理系统4篇(2023年)

时间:2023-09-01 10:25:02 公文范文 来源:网友投稿

C语言-通讯录管理系统#include#include//#defineNULL0#defineLENsizeof(structmessage)struct下面是小编为大家整理的C语言-通讯录管理系统4篇,供大家参考。

C语言-通讯录管理系统4篇

C语言-通讯录管理系统篇1

#include#include //#define NULL 0 #define LEN sizeof(struct message)

struct message

//定义结构体

{

char name[15];

char number[15];

char phone[15];

char qq[13];

char addr[25];

struct message *next;

//指向下一数据

};

int n;

void creat()

//建立电话簿

{

int num;char choice[5]={"2"};

FILE *fp;

struct message *head;

struct message *p,*q;

n = 0;

p = q =(struct message *)malloc(LEN);

fp=fopen(“通讯录1.txt”,“wb”);

system(“cls”);

printf(“n请输入姓名:”);

scanf(“%s”,p->name);

printf(“n请输入电话号码:”);

scanf(“%s”,p->phone);

printf(“n请输入学号:”);

scanf(“%s”,p->number);

printf(“n请输入QQ:”);

scanf(“%s”,p->qq);

printf(“n请输入住址:”);

scanf(“%s”,p->addr);

fwrite(p,LEN,1,fp);

fclose(fp);

head = 0;

num = 1;

while(num!=0)

{

n = n+1;

if(n==1)head = p;

else q->next = p;

q = p;

p =(struct message *)malloc(LEN);

//分配存储区

while(choice[0]!="1" && choice[0]!="0")

//判断是否继续

{

printf(“n1 继续输入n 0 返回n”);

printf(“请选择操作:”);

scanf(“%s”,choice);

}

switch(choice[0])

{

case "1":

{

fp=fopen(“通讯录1.txt”,“rb”);

system(“cls”);

printf(“n请输入姓名:”);

scanf(“%s”,p->name);

printf(“n请输入电话号码:”);

scanf(“%s”,p->phone);

printf(“n请输入学号:”);

scanf(“%s”,p->number);

printf(“n请输入QQ:”);

scanf(“%s”,p->qq);

printf(“n请输入住址:”);

scanf(“%s”,p->addr);

fwrite(p,LEN,1,fp);

fclose(fp);

choice[0] = "2";

}

continue;

case "0": num = 0;

system(“cls”);

}

}

q->next = 0;}

void add()

//添加通讯录 {

int num;char choice[5]={"2"};

FILE *fp;

struct message *head;

struct message *p,*q;

n = 0;

p = q =(struct message *)malloc(LEN);

fp=fopen(“通讯录1.txt”,“ab”);

system(“cls”);

printf(“n请输入姓名:”);

scanf(“%s”,p->name);

printf(“n请输入电话号码:”);

scanf(“%s”,p->phone);

printf(“n请输入学号:”);

scanf(“%s”,p->number);

printf(“n请输入QQ:”);

scanf(“%s”,p->qq);

printf(“n请输入住址:”);

scanf(“%s”,p->addr);

fwrite(p,LEN,1,fp);

fclose(fp);

head = 0;

num = 1;

while(num!=0)

{

n = n+1;

if(n==1)head = p;

else q->next = p;

q = p;

p =(struct message *)malloc(LEN);

while(choice[0]!="1" && choice[0]!="0")

否继续

{

printf(“n1 继续输入n 0 返回n”);

printf(“请选择操作:”);

scanf(“%s”,choice);

}

//分配空间 //输入内容

//分配空间

//判断是

switch(choice[0])

{

case "1":

{

fp=fopen(“通讯录1.txt”,“rb”);

system(“cls”);

printf(“n请输入姓名:”);

scanf(“%s”,p->name);

printf(“n请输入电话号码:”);

scanf(“%s”,p->phone);

printf(“n请输入学号:”);

scanf(“%s”,p->number);

printf(“n请输入QQ:”);

scanf(“%s”,p->qq);

printf(“n请输入住址:”);

scanf(“%s”,p->addr);

fwrite(p,LEN,1,fp);

fclose(fp);

choice[0] = "2";

}

continue;

case "0": num = 0;

system(“cls”);

}

}

q->next = 0;}

void findname(struct message * fphead)

{

struct message *p;

int a = 0;

char findname[20];

system(“cls”);

printf(“请输入要查找的姓名:n”);

scanf(“%s”,findname);

for(p=fphead->next;p!=NULL;p=p->next)

{

if(strcmp(p->name,findname)==0)

{

//按姓名查找

printf(“姓名

电话号码

学号

QQ

住址n”);

printf(“%-15s %-15s %-15s %-13s %-25sn”,p->name,p->phone,p->number,p->qq,p->addr);

a = 1;

}

}

if(a!= 1)

printf(“无此通讯录!n”);

} void findphone(struct message * fphead)

//按电话查找

{

struct message *p;

int a = 0;

char findphone[15];

system(“cls”);

printf(“请输入要查找的电话:n”);

scanf(“%s”,findphone);

for(p=fphead->next;p!=NULL;p=p->next)

{

if(strcmp(p->phone,findphone)==0)

{

printf(“姓名

电话号码

学号

住址n”);

printf(“%-15s %-15s %-15s %-13s %-25sn”,p->name,p->phone,p->number,p->qq,p->addr);

a = 1;

}

}

if(a!= 1)

printf(“无此通讯录!n”);

}

void findnumber(struct message * fphead)

//按学号查找

{

struct message *p;

int a = 0;

char findnumber[15];

system(“cls”);

QQ

printf(“请键入要查找的学生学号:n”);

scanf(“%s”,findnumber);

for(p=fphead->next;p!=NULL;p=p->next)

{

if(strcmp(p->number,findnumber)==0)

{

printf(“姓名

电话号码

学号

QQ

住址n”);

printf(“%-15s %-15s %-15s %-13s %-25sn”,p->name,p->phone,p->number,p->qq,p->addr);

a = 1;

}

}

if(a!= 1)

printf(“无此通讯录!n”);

}

void modify(struct message * fphead)

//修改记录

{

FILE *fp;

struct message *p,*q;

int a = 0;

char findname[15];

system(“cls”);

printf(“请键入要查找的姓名:n”);

scanf(“%s”,findname);

for(p=fphead->next;p!=NULL;p=p->next)

{

if(strcmp(p->name,findname)==0)

{

printf(“姓名

电话号码

学号

QQ

住址n”);

printf(“%-15s %-15s %-15s %-13s %-25snnnn”,p->name,p->phone,p->number,p->qq,p->addr);

printf(“n请键入新姓名:”);

scanf(“%s”,p->name);

printf(“n请键入新电话号码:”);

scanf(“%s”,p->phone);

printf(“n请键入新学号:”);

scanf(“%s”,p->number);

printf(“n请键入新QQ:”);

scanf(“%s”,p->qq);

printf(“n请键入新住址:”);

scanf(“%s”,p->addr);

fp = fopen(“通讯录2.txt”,“wb”);

q = fphead->next;

//P为链表头指针

while(q!=0)

{

fwrite(q,LEN,1,fp);

if(q->next!=0)

q = q->next;

else

q = 0;

}

fclose(fp);

unlink(“通讯录1.txt”);

//用新文件覆盖原文件

rename(“通讯录2.txt”, “通讯录1.txt”);

printf(“修改成功!”);

a = 1;

}

}

if(a!= 1)

printf(“无此通讯录!n”);

}

void del(struct message * fphead)

//删除记录

{

FILE *fp,*fq;

struct message *p,*q,*r;

char sname[15];

p = q =(struct message *)malloc(LEN);

p = fphead;

system(“cls”);

fp = fopen(“通讯录1.txt”,“rb”);

fq = fopen(“通讯录2.txt”,“wb”);

printf(“请输入欲删除记录的姓名:”);

scanf(“%s”,sname);

while(strcmp(p->name,sname)!=0 && p->next!=0)//查找节点并删除该节点

{

q = p;

p = p->next;

}

if(strcmp(p->name,sname)==0)

{

if(p==fphead)

fphead = p->next;

else

{

q->next = p->next;

}

r = fphead->next;

//r为链表头指针

while(r!=0)

{

fwrite(r,LEN,1,fq);

if(r->next!=0)

r = r->next;

else

r = 0;

}

printf(“删除成功!”);

}

else

{

printf(“无此通讯录!”);

}

fclose(fp);

fclose(fq);

unlink(“通讯录1.txt”);

//用新文件覆盖原文件

rename(“通讯录2.txt”, “通讯录1.txt”);

}

struct message * open(void)

//打开文件,载入链表

{

FILE *fp;

struct message *p=NULL,*q=NULL,*temp=NULL,*fphead=NULL;

fp=fopen(“通讯录1.txt”,“rb”);

fphead=(struct message *)malloc(LEN);

//分配空间

temp = q = fphead;

while(!feof(fp))

//循环读取,载入链表

{

p=(struct message *)malloc(LEN);

temp=q;

q->next=p;

q=p;

fread(p,LEN,1,fp);

}

temp->next=NULL;

fclose(fp);

return(fphead);

//返回链表头指针

}

void print()

//显示通讯录

{

struct message *p;

FILE *fp;

system(“cls”);

if((fp=fopen(“通讯录1.txt”,“rb”))!=NULL)

{

printf(“姓名

电话号码

学号

住址n”);

p =(struct message *)malloc(LEN);

//分配空间

while(!feof(fp))

{

fread(p,LEN,1,fp);

printf(“%-15s %-15s %-15s %-13s %-25sn”,p->name,p->phone,p->number,p->qq,p->addr);

}

fclose(fp);

}

else

{

printf(“未建立通讯录!”);

} }

void main()

//主函数 {

FILE * fp;

struct message * fphead;

int begin = 1,f;

char choice[5];

QQ

while(begin == 1)

{

printf(“tt>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>n”);

printf(“tttt欢迎使用学生通讯录n”);

printf(“tt

C语言-通讯录管理系统篇2

摘 要

为了人们对他人信息的记忆方便而设计,开发的一套“通讯录管理系统“软件。通过该题目的设计过程,可以培养学生结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解,针对c语言中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。得到软件工程的综合训练,提高解决实际问题的能力。

关键字:信息;管理;实用

Abstract

Designed for people to others the memory of information convenient, developed a set of “mail list management system” software.Through the design process of this subject, students can be structured programming ideas, deepen our understanding of the advanced language basic language elements and control the understanding of the structure, conduct training for emphasis and difficulty in C language, independently complete the program design has a certain work tasks, while emphasizing the good programming training in software engineering, improving the ability to solve practical problems.Keywords: Information;management;practical

目 录 概述。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。1 1.1设计目的。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.1 1.2设计要求。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.1 1.3系统功能需求分析。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.2 2 总体设计。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。3 2.1总体功能模块图。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.3 2.2程序的数据设计。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.4 3详细设计。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。5 3.1功能及工作流程图。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.5 3.2源程序代码。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.8 4调试分析。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.19 4.1测试。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。19 4.2问题思考与调试:。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。27 5总结。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.28 参考文献。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.29 致 谢。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.27

概述

1.1设计目的

随着信息社会的高速发展,人与人之间的联系越来越频繁,通讯方式越来越多样化,如何保证与朋友、同学、同事、领导、亲戚等之间的联系,并能方便快捷的查找、记录、修改其相关通讯信息。仅靠以前单独的手工记录已远远不能满足当前的需要。

开发一个通讯录管理系统,借助计算机可以方便、快捷、灵活的管理个人的朋友及相关人员的通讯信息,了解友人相关信息,帮助与友人保持联络。

所以设计一个通讯录管理系统管理各人的通讯信息是是非必要的。

设计“通讯录管理系统”使其具有数据插入、修改、删除、显示和查询等功能。(1)数据包括:人名、工作单位、电话号码和E-mail地址。(2)可对记录中的姓名和电话号码进行修改。(3)可增加或删除记录。(4)可显示所有保存的记录。(5)可按人名或电话号码进行查询。

1.2设计要求

建立通讯录信息,信息至少包含姓名、住址、单位、固定电话、移动手机、分类(如同事、朋友、同学、家人等)、E-mail、QQ等。

该系统提供添加、删除、修改和查找功能,其中按姓名方式删除、修改,按姓名、单位、分类方式查找。

将通讯录保存在文件中。能够输出通讯录中的信息。

1.3系统功能需求分析

主要包含一下多种功能:

添加:添加通讯录记录 显示:显示通讯录记录 删除:删除通讯录记录 查询:查询通讯录记录 修改:修改通讯录记录 保存:将信息保存到文件

本系统为通讯录管理系统,可由用户自由添加,删除和修改信息,还可以将通讯录信息导出到文本文档,极大的方便了用户的使用。

总体设计

思路:我们首先设计出了主函数,然后根据去要实现的功能分别设计录入联系人信息、浏览、查询、修改、删除功能的子函数。删除函数的设计是首先从文件内找到要删除的人,然后通过写一个实现删除目的的FOR循环实现删除。修改也大体和删除相同,添加函数在设计时通过申请一片空间,然后通过指针将需要添加的信息添加进去,从而实现添加功能。

2.1总体功能模块图

图2.1 总体功能模块图

添加:可以添加通讯录记录,依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱后,会提示是否继续添加。

显示:可以以表格形式输出所有通讯录里的记录。

删除:输入欲删除的那个人的名字后,会自动删除他(她)的记录内容。查询:可以选择用姓名、电话、地址三种方式查询。

修改:输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱即可完成修改。

保存:输入文件名(带后缀名)后,即可将通讯录信息保存到文件。运行所需环境:win7及以下各版本windows,visual C++6.0。2.2程序的数据设计

该系统用下面六个功能模块编写,每个模块执行不同的功能,体现了模块化设计的思想。下面六个模块都是利用C语言文件,向文件中追加数据、修改数据、查询数据和除数据。

创建:用fopen()建立一个文本文件,然后用fprintf()向其中输入数据(例如,向文件中输入“姓名”,“地址”等),并对文件进行命名。

添加:可以添加通讯录记录,利用C语言文件,向文件中按顺序输入姓名、住址、单位、固定电话、手机号码、分类(如同事、朋友、同学、家人等)、E-mail、QQ,再用fclose()函数关闭并保存文件。

输出:也是用通过循环依次输出文件中的数据,即输出所有通讯录里的记录。删除:输入你要删除的人的姓名后,系统会自动删除他(她)的记录,在删除通过switch语句满足提示你确认删除的功能,只有等你确认删除后才会删除。查找:为了满足用户的实际需求,设计了三种查询方式,可以用姓名、单位、分类三种方式查找通讯录记录。这里用到strcmp()函数,通过比较字符串是否相同来判别是否找到相关信息,找到后,就把文件中的数据赋给对应的变量,再把变量所带的值输出到屏幕上。

修改:输入你要修改的那个人的姓名后,系统会查找该通讯录文件(此时用发ftell()函数来跟踪文件指针的指向地址,找到个人的记录后,会显示他(她)的记录,然后通过fseek()函数来找到修改处的地址,然后用户再依次输入他(她)的相关信息来替代以前的记录。

保存:用到fclose()函数,每次操作成功后会自动保存到指定的文件中。

3详细设计

3.1功能及工作流程图

①添加:添加通讯录记录,依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱后,会提示是否继续添加。

图3.1(1)添加流程图

②显示:以表格形式输出所有通讯录里的

图3.1(2)显示流程图

③删除::输入欲删除的那个人的名字后,会自动删除他(她)的记录内容。

图3.1(3)删除流程图

④查询:可以选择用姓名、电话、地址三种方式查询。

图3.1(4)查询流程图

⑤修改:输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱即可完成修改。

图3.1(5)修改流程图 3.2源程序代码

#include#include#include

typedef struct

Person pe[80];

int menu_select()

{

char c;do{

system(“cls”);

printf(“tt *****通讯录***** n”);

printf(“tt┌───────┐n”);

printf(“tt│ 1.添加记录

│n”);printf(“tt│ 2.显示记录

│n”);printf(“tt│ 3.删除记录

│n”);printf(“tt│ 4.查询记录

│n”);printf(“tt│ 5.修改记录

│n”);{

char score;

/*编号*/ char name[10];

/*姓名*/ char num[15];

/*号码*/ char email[20];char age[8];char adds[20];

/*邮箱*/ /*年龄*/

/*住址*/ }Person;

} printf(“tt│ 6.保存记录

│n”);printf(“tt│ 0.退出程序

│n”);printf(“tt└───────┘n”);printf(“tt请您选择(0-6):”);c=getchar();

}while(c"6");return(c-"0");

int Input(Person per[],int n){

gets(x);

int i=0;

char sign,x[10];

while(sign!="n"&&sign!="N"){

printf(“t编号:”);

scanf(“t%d”,&per[n+i]。score);printf(“t姓名:”);

scanf(“t%s”,per[n+i]。name);printf(“t年龄:”);scanf(“t%s”,per[n+i]。age);printf(“t电话号码:”);scanf(“t%s”,per[n+i]。num);printf(“t通讯住址:”);scanf(“t%s”,per[n+i]。adds);printf(“t电子邮箱:”);scanf(“t%s”,per[n+i]。email);

}

} printf(“nt是否继续添加?(Y/N)”);scanf(“t%c”,&sign);i++;

return(n+i);

void Display(Person per[],int n)

{

int i;

printf(“--------n”);

/*格式*/

printf(“%-5d%-8s%-6s%-13s%-15s%-15sn”,per[i-1]。score,per[i-1]。name,per[i-1]。age,perprintf(“编号

姓名

年龄

电话号码

通讯地址

电子邮箱n”);printf(“--------n”);

for(i=1;i1&&i%10==0)

{

} printf(“t----n”);printf(“t”);system(“pause”);

printf(“t----n”);}

int Delete_a_record(Person per[],int n){

} char s[20];int i=0,j;

printf(“t请输入想删除记录中的名字:”);scanf(“%s”,s);

while(strcmp(per[i]。name,s)!=0&&i

C语言-通讯录管理系统篇3

#include “stdio.h” #include “stdlib.h” #include “string.h” #include “conio.h” #include “stdlib.h” #define null 0 struct record { char name[20];char phone[20];char adress[40];char postcode[10];char e_mail[30];}student[500];struct LinkList { struct record US;struct LinkList *next;}a;struct LinkList *head=null;int num=0;FILE *fp;int menu_select();int adduser();int list();int search();int display();int add();int listbyname();int dele();int save();int exit();

void main(){

system(“cls”);for(;;){ switch(menu_select()){ case 0:adduser();break;case 1:list();break;case 2:search();break;case 3:add();break;case 4:dele();break;case 5:save();break;case 6:exit(0);} } } menu_select(){ char s[80];int a;printf(“*_* press any key enter menu!*_* n”);getch();system(“cls”);printf(“tt********************MENU*********************nn”);printf(“tt 0.输入记录n”);printf(“tt 1.显示记录 n”);printf(“tt 2.按姓名查找n”);printf(“tt 3.插入记录 n”);printf(“tt 4.删除记录n”);printf(“tt 5.记录保存文件n”);printf(“tt 6.Quitn”);printf(“tt***********************************************n”);do{ printf(“n Enter you choice(0~11):”);scanf(“%s”,s);a=atoi(s);} while(a11);return a;}

adduser(){ printf(“ntt**************** 请输入用户信息 ****************n”);printf(“ntt输入姓名:”);scanf(“%s”,&student[num]。name);printf(“ntt输入电话号码:”);scanf(“%s”,&student[num]。phone);printf(“ntt输入地址:”);scanf(“%s”,&student[num]。adress);printf(“ntt输入邮编:”);scanf(“%s”,&student[num]。postcode);printf(“ntt输入e-mail:”);scanf(“%s”,&student[num]。e_mail);num++;printf(“ntt是否继续添加?(Y/N):”);if(getch()=="y")adduser();return(0);} list(){ int i;system(“cls”);if(num!=0){ printf(“ntt*************** 以下为通讯录所有信息************”);for(i=0;i

C语言-通讯录管理系统篇4

课 程 设 计 任 务 书

C语言课程设计

(部)

学生姓名

06 月

信息科学与电气工程学院

计算机科学与技术

计职141

王雪

140819139 日至

07 月

04 日

周 指导教师

2015 年 6月 23日

一、课程设计目的

将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。通过课程设计,学生在下述各方面的能力应该得到锻炼:

(1)进一步巩固、加深学生所学专业课程《C++程序设计语言》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。

(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。

(3)利用所学知识,开发小型应用系统,掌握运用C++语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。

(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。

(5)掌握结构化程序设计方法,熟悉面向对象程序设计方法。(6)熟练掌握C++语言的基本语法,灵活运用各种数据类型。(7)进一步掌握在集成环境下如何调试程序和修改程序。设计功能

录入联系人信息(包括姓名、电话号码、地址等信息);通讯录管理系统要求实现以下功能:

1、输入每一位联系人记录,将其信息存入文件中。

2、查询所有联系人的信息,并按可选的自定义规则进行排序;

3、记录修改,将修改的记录信息保存于文件中。设计要求

1、设一个通信录由以下几项数据信息构成: 数据项 类型

姓名 字符串

地址 字符串

邮政编码 字符串

电话号码 字符串

试为通信录数据定义类型和定义通信录变量,实现功能:存取、显示、删除记录、查询记录等功能。

2、要求:界面友好,易于操作 总体设计 系统功能模块图:

添加:可以添加通讯录记录,依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱等后,会提示是否继续添加。

显示:可以以表格形式输出所有通讯录里的记录

删除:输入欲删除的那个人的名字后,会自动删除他(她)的记录内容 查询:可以选择用姓名、电话、地址三种方式查询

修改:输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱即可完成修改

保存:,输入文件名(带后缀名)后,即可将通讯录信息保存到文件

课程设计名称及内容

课程设计名称:单项选择题标准化考试系统

设计内容:设计并实现一个单项选择题标准化考试系统。该系统可以完成试题录入、试题抽取、自动判卷等功能。

任务和要求

功能要求:

(1)用文件保存试题库。(每个试题包括题干、4个备选答案、标准答案)(2)试题录入:可随时增加试题到试题库中

(3)试题抽取:每次从试题库中可以随机抽出N道题(N由键盘输入)(4)答题:用户可实现输入自己的答案

(5)自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩。

(二)其它要求:

(1)只能使用C/C++语言,源程序要有适当的注释,使程序容易阅读(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)(3)学生可自动增加新功能模块(视情况可另外加分)

主要知识点

l 面向对象程序设计方法

l 界面制作,switch的应用。l 类和对象。l 动态数组(链表)类模板。l 文件的读写。

五、其他

程序设计可在Microsoft VC++6.0、Borland C++ Builder环境下进行。

六、参考资料

【1】《C语言程序设计》,谭浩强编,清华大学出版社,2008年 出版 【2】《C语言程序设计》,吴明发编,北京理工大学出版社,2007年出版 【3】《C语言参考手册》邱仲潘 机械工业出版社,2004年出版

【4】《C语言课程设计案例精编》 姜灵之 清华大学出版社 2008年出版

详细设计(1)。通讯录: 主要代码

#include #include #includestruct student

//结构体 {

};class inter { private: student st[35];char no[13];char name[20];char address[100];char tel_no[12];char post_code[7];char e_mail[40];public: void add(char no[13],char name[20],char address[100],char tel_no[12],char post_code[7],char e_mail[40]);

void del(char name[20]);void find1(char no[13]);void find2(char name[20]);void list1();void list2();int correct(char name[20]);void read();void write();void format();int back(){

cout

推荐访问:管理系统 通讯录 语言 c语言通讯录管理系统课程设计报告 c语言通讯录管理系统代码 c语言通讯录管理系统流程图 c语言通讯录管理系统答辩 c语言通讯录管理系统程序设计 c语言通讯录管理系统答辩PPT c语言通讯录管理系统设计报告 c语言通讯录管理系统完整代码 c语言通讯录管理系统总结 c语言通讯录管理系统需求分析