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

任务

以本班同学的具体数据为背景,设计一个本班同学通讯录。

实现功能

1)  通讯录编辑(添加、删除)。

2)  按不同的项进行查找。

3)  对已存在的通讯录按不同的项排序。

4)  将通讯录写入文件

5)从文件读入通讯录

备注:通讯录至少应该有以下数据项:

姓名,地址,电话,邮编,E-mail。

概要设计

(1)人数不定,每输入一个人编号。

(2)记录每位同学的姓名、电话号码、地址、邮编和E-mail。 

(3)可对记录中的姓名和电话号码等进行修改。

(4)可增加或删除记录

(5)加入查询功能,通过姓名或电话号码查询到同学的条目。

(6)在开始画面加入简单的菜单便于选择功能。

(7)将信息保存在文件。

详细设计 

 1.数据结构和系统框架

 1.主要流程:

C语言课程设计_通讯录管理系统_第1张图片

2. 主要功能

 C语言课程设计_通讯录管理系统_第2张图片

系统功能需求:

<1>记录功能:记录每位同学的姓名、电话号码、地址、邮编和E-mail

<2>查找功能:按不同方式查找信息

<3>添加功能:添加信息

<4>排序功能:将信息按照姓名排序

<5>删除功能:删除指定的信息

<6>保存在文件:将做完的信息保存在文件

<7>结束:结束程序

3.函数说明

选择功能函数

void next()
{
	void show();
	void seek();
	void add();
	void sort();
	void out();
	void keep();
	int end();
	int b;
	printf("\t***********************NEXT**************************\n");
	printf("\t请选择接下来的操作:");
	scanf("%d",&b);
	printf("\t*****************************************************\n");
	switch(b)
	{
		case 1 :show();break;
		case 2 :seek();break;
		case 3 :add();break;
		case 4 :sort();break;
		case 5 :out();break;
		case 6 :keep();break;
		case 7 :end();break;
	}
}

 输入函数

void write()
{
	void next();
	void write1();
	printf("\t请输入信息(每次输入1时继续输入,输入2时停止输入)\n");
	printf("\t姓名\t家庭电话\t地址\t邮编\tE-mail\n");
	write1();
}
void write1()
{
	void next();
	void write2();
	int a;
	printf("是否输入:");
	scanf("%d",&a);
	printf("\n");
	switch(a)
	{
	    case 1 :write2();break;
		    case 2 :next();break;
	}
}
void write2()
{
	void write1();
	j=i+1;
	printf("%d\t",j);
	scanf("%s%d%s%d%s",stu[i].name,&stu[i].phone,stu[i].adress,&stu[i].postcode,stu[i].e_mail);
	i=i+1;
	write1();
}

输出函数

void show()
{
	void next();
	int s=0;
	printf("\t下面将会显示输入的数据:\n");
	printf("\t姓名\t家庭电话\t地址\t邮编\tE-mail\n");
	for(i=0;i

查找函数

void seek()
{
	int q;
	void numberseek();
	void nameseek();
	printf("\t请选择搜索方式:1~按名字查找\n\t                2~按家庭电话号码查找\n");
	printf("\t请选择查找方式:");
	scanf("%d",&q);
	switch(q)
	{
	    case 1 :nameseek();break;
		case 2 :numberseek();break;
	}

}
void nameseek()
{
	void next();
	char d[5];
	printf("\t请输入要查找学生的名字:");
	scanf("%s",d);
	for(i=0;i

添加函数

void add()
{
	void next();
	void write1();
	i=j;
	printf("\t请输入信息(每次输入1时继续输入,输入2时停止输入)\n");
	printf("\t姓名\t家庭电话\t地址\t邮编\tE-mail\n");
	write1();
}

 课程设计成果

 程序源代码

#include
#include
#include
struct Student
{
	char name[20];
    int long phone;
	char adress[40];
	int postcode;
	char e_mail[30];
}stu[100];
int j=0,i=0;
void next()
{
	void show();
	void seek();
	void add();
	void sort();
	void out();
	void keep();
	int end();
	int b;
	printf("\t***********************NEXT**************************\n");
	printf("\t请选择接下来的操作:");
	scanf("%d",&b);
	printf("\t*****************************************************\n");
	switch(b)
	{
		case 1 :show();break;
		case 2 :seek();break;
		case 3 :add();break;
		case 4 :sort();break;
		case 5 :out();break;
		case 6 :keep();break;
		case 7 :end();break;
	}
}
void write()
{
	void next();
	void write1();
	printf("\t请输入信息(每次输入1时继续输入,输入2时停止输入)\n");
	printf("\t姓名\t家庭电话\t地址\t邮编\tE-mail\n");
	write1();
}
void write1()
{
	void next();
	void write2();
	int a;
	printf("是否输入:");
	scanf("%d",&a);
	printf("\n");
	switch(a)
	{
	    case 1 :write2();break;
		case 2 :next();break;
	}
}
void write2()
{
	void write1();
	j=i+1;
	printf("%d\t",j);
	scanf("%s%d%s%d%s",stu[i].name,&stu[i].phone,stu[i].adress,&stu[i].postcode,stu[i].e_mail);
	i=i+1;
	write1();
}
void show()
{
	void next();
	int s=0;
	printf("\t下面将会显示输入的数据:\n");
	printf("\t姓名\t家庭电话\t地址\t邮编\tE-mail\n");
	for(i=0;i

课程设计心得 

通过为期一周的课程设计,我对《C语言》这门课程有了更深一步的了解。它是计算机程序设计的重要理论技术基础,在我们信息与计算科学专业的学习中占据着十分重要的地位。同时也使我知道,要学好这门课程,仅学习书本上的知识是不够的,还要有较强的实践能力。因为我学习知识就是为了实践。而只有多实践,多编写程序,才能更好的理解与掌握书本上的东西。

附件:源码下载

C语言课程设计-通讯录管理系统_c语言课程设计之通讯录管理系统资源-CSDN文库icon-default.png?t=N176https://download.csdn.net/download/NBITer/87369754

你可能感兴趣的:(C语言课程设计,c语言,开发语言,算法)