通讯录管理系统c语言程序设计思路
时间: 2023-09-29 08:05:12 浏览: 33
通讯录管理系统可以采用链表来实现,以下是程序设计思路:
1. 定义结构体
首先需要定义一个结构体,用来存放联系人的信息,例如姓名、电话号码、邮箱等。
2. 实现链表
使用链表来存储联系人信息,每个节点存储一个联系人的信息。可以定义一个头指针来指向链表的头节点,方便后续操作。
3. 实现增删查改功能
实现添加联系人、删除联系人、查找联系人、修改联系人的功能。添加联系人时,可以先判断该联系人是否已存在;删除联系人时,可以根据用户输入的姓名或电话号码来查找并删除;查找联系人时,可以根据姓名或电话号码进行查找;修改联系人时,可以先查找到该联系人,然后进行修改。
4. 实现文件读写功能
可以将联系人的信息保存到文件中,下次启动程序时可以读取文件中的信息。可以使用文件流来实现文件读写操作。
5. 实现菜单界面
可以使用循环结构和switch语句来实现菜单界面,方便用户进行选择操作。
以上是通讯录管理系统的程序设计思路,可以根据需求进行适当修改和完善。
相关问题
通讯录管理系统c语言程序设计
好的,通讯录管理系统C语言程序设计可以分为以下几个步骤:
1. 定义联系人结构体
在程序中,需要定义一个联系人的结构体,包含姓名、电话、地址等信息。
```
struct Contact {
char name[20];
char phone[20];
char address[50];
};
```
2. 添加联系人
定义一个添加联系人的函数,可以通过用户输入信息来创建一个联系人,并将其添加到通讯录中。
```
void addContact(struct Contact *contacts, int *count) {
printf("请输入联系人的姓名:");
scanf("%s", contacts[*count].name);
printf("请输入联系人的电话:");
scanf("%s", contacts[*count].phone);
printf("请输入联系人的地址:");
scanf("%s", contacts[*count].address);
(*count)++;
printf("添加联系人成功!\n");
}
```
3. 查找联系人
定义一个查找联系人的函数,可以通过用户输入的姓名来查找通讯录中的联系人。
```
void findContact(struct Contact *contacts, int count) {
char name[20];
printf("请输入要查找的联系人姓名:");
scanf("%s", name);
int found = 0;
for (int i = 0; i < count; i++) {
if (strcmp(contacts[i].name, name) == 0) {
printf("姓名:%s,电话:%s,地址:%s\n", contacts[i].name, contacts[i].phone, contacts[i].address);
found = 1;
}
}
if (!found) {
printf("未找到该联系人!\n");
}
}
```
4. 修改联系人
定义一个修改联系人的函数,可以通过用户输入的姓名来修改通讯录中的联系人信息。
```
void modifyContact(struct Contact *contacts, int count) {
char name[20];
printf("请输入要修改的联系人姓名:");
scanf("%s", name);
int found = 0;
for (int i = 0; i < count; i++) {
if (strcmp(contacts[i].name, name) == 0) {
printf("请输入修改后的电话:");
scanf("%s", contacts[i].phone);
printf("请输入修改后的地址:");
scanf("%s", contacts[i].address);
found = 1;
printf("修改联系人成功!\n");
}
}
if (!found) {
printf("未找到该联系人!\n");
}
}
```
5. 删除联系人
定义一个删除联系人的函数,可以通过用户输入的姓名来删除通讯录中的联系人。
```
void deleteContact(struct Contact *contacts, int *count) {
char name[20];
printf("请输入要删除的联系人姓名:");
scanf("%s", name);
int found = 0;
for (int i = 0; i < *count; i++) {
if (strcmp(contacts[i].name, name) == 0) {
for (int j = i; j < *count - 1; j++) {
contacts[j] = contacts[j+1];
}
(*count)--;
found = 1;
printf("删除联系人成功!\n");
}
}
if (!found) {
printf("未找到该联系人!\n");
}
}
```
6. 显示所有联系人
定义一个显示所有联系人的函数,可以将通讯录中的所有联系人信息打印出来。
```
void displayContacts(struct Contact *contacts, int count) {
printf("所有联系人信息如下:\n");
for (int i = 0; i < count; i++) {
printf("姓名:%s,电话:%s,地址:%s\n", contacts[i].name, contacts[i].phone, contacts[i].address);
}
}
```
7. 主函数
在主函数中,可以通过循环菜单的方式来调用上述函数,实现通讯录管理系统的功能。
```
int main() {
struct Contact contacts[100];
int count = 0;
int choice;
while (1) {
printf("-----------------------------\n");
printf("通讯录管理系统\n");
printf("1.添加联系人\n");
printf("2.查找联系人\n");
printf("3.修改联系人\n");
printf("4.删除联系人\n");
printf("5.显示所有联系人\n");
printf("0.退出系统\n");
printf("-----------------------------\n");
printf("请输入您的选择:");
scanf("%d", &choice);
switch (choice) {
case 1:
addContact(contacts, &count);
break;
case 2:
findContact(contacts, count);
break;
case 3:
modifyContact(contacts, count);
break;
case 4:
deleteContact(contacts, &count);
break;
case 5:
displayContacts(contacts, count);
break;
case 0:
printf("感谢使用通讯录管理系统,再见!\n");
return 0;
default:
printf("输入错误,请重新输入!\n");
break;
}
}
}
```
以上就是通讯录管理系统C语言程序设计的基本步骤。
c语言程序设计通讯录管理系统
好的,以下是一个简单的C语言程序设计通讯录管理系统:
1. 存储通讯录信息
定义一个结构体存储通讯录信息,包括姓名、电话、邮箱等信息,使用数组存储多个通讯录信息。
```
#define MAX_CONTACTS 100 // 最多存储100个通讯录信息
struct contact {
char name[50];
char phone[20];
char email[50];
};
struct contact contacts[MAX_CONTACTS]; // 存储通讯录信息的数组
int num_contacts = 0; // 当前存储的通讯录信息数量
```
2. 添加通讯录信息
定义一个函数用于添加通讯录信息,将输入的信息存储到数组中。
```
void add_contact() {
if (num_contacts >= MAX_CONTACTS) {
printf("通讯录已满,无法添加新的联系人。\n");
return;
}
struct contact new_contact;
printf("请输入联系人姓名:");
scanf("%s", new_contact.name);
printf("请输入联系人电话:");
scanf("%s", new_contact.phone);
printf("请输入联系人邮箱:");
scanf("%s", new_contact.email);
contacts[num_contacts++] = new_contact;
printf("联系人信息添加成功!\n");
}
```
3. 查找通讯录信息
定义一个函数用于查找通讯录信息,可以按照姓名、电话、邮箱等方式查找通讯录信息。
```
void search_contact() {
char keyword[50];
printf("请输入要查找的关键字:");
scanf("%s", keyword);
int found = 0;
for (int i = 0; i < num_contacts; i++) {
struct contact c = contacts[i];
if (strstr(c.name, keyword) || strstr(c.phone, keyword) || strstr(c.email, keyword)) {
printf("联系人姓名:%s\n", c.name);
printf("联系人电话:%s\n", c.phone);
printf("联系人邮箱:%s\n", c.email);
found = 1;
}
}
if (!found) {
printf("未找到匹配的联系人信息。\n");
}
}
```
4. 显示所有通讯录信息
定义一个函数用于显示所有存储的通讯录信息。
```
void display_contacts() {
if (num_contacts == 0) {
printf("通讯录为空,无法显示联系人信息。\n");
return;
}
for (int i = 0; i < num_contacts; i++) {
struct contact c = contacts[i];
printf("联系人姓名:%s\n", c.name);
printf("联系人电话:%s\n", c.phone);
printf("联系人邮箱:%s\n", c.email);
printf("\n");
}
}
```
以上是一个简单的C语言程序设计通讯录管理系统,包括存储、添加、查找、显示通讯录信息等功能。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)