我的问题是用c语言编写个人通讯录管理系统,包括增加、查看、删除、修改功能
时间: 2024-01-25 14:02:23 浏览: 22
好的,针对您的问题,我可以给出一些思路和实现方式:
1. 建立通讯录结构体
首先,可以定义一个结构体来存储每个联系人的信息,包括姓名、单位、固定电话、移动电话、分类、EMAIL、QQ等。如下所示:
```
struct Contact {
char name[20];
char company[50];
char tel[20];
char mobile[20];
char category[20];
char email[50];
char qq[20];
};
```
2. 实现增加联系人功能
可以通过输入信息的方式,逐个添加联系人信息。可以将联系人信息存储在一个数组中,并记录当前联系人数量,以便后续操作。
```
struct Contact contacts[100]; // 定义通讯录数组
int count = 0; // 当前联系人数量
// 添加联系人函数
void addContact() {
struct Contact contact;
printf("请输入姓名: ");
scanf("%s", contact.name);
printf("请输入单位: ");
scanf("%s", contact.company);
printf("请输入固定电话: ");
scanf("%s", contact.tel);
printf("请输入移动电话: ");
scanf("%s", contact.mobile);
printf("请输入分类: ");
scanf("%s", contact.category);
printf("请输入EMAIL: ");
scanf("%s", contact.email);
printf("请输入QQ: ");
scanf("%s", contact.qq);
contacts[count] = contact;
count++;
printf("添加成功!\n");
}
```
3. 实现查看联系人功能
可以通过循环遍历通讯录数组,逐个输出联系人信息。为了方便查看,可以每次输出10个联系人信息,并提示用户是否需要继续查看。
```
// 查看联系人函数
void showContacts() {
int i = 0;
while (i < count) {
for (int j = 0; j < 10 && i < count; j++, i++) {
printf("姓名:%s\n", contacts[i].name);
printf("单位:%s\n", contacts[i].company);
printf("固定电话:%s\n", contacts[i].tel);
printf("移动电话:%s\n", contacts[i].mobile);
printf("分类:%s\n", contacts[i].category);
printf("EMAIL:%s\n", contacts[i].email);
printf("QQ:%s\n\n", contacts[i].qq);
}
printf("输入任意键继续查看,输入0返回主菜单:");
int choice;
scanf("%d", &choice);
if (choice == 0) {
break;
}
}
}
```
4. 实现删除联系人功能
可以通过查找联系人姓名的方式,找到需要删除的联系人并将其从通讯录数组中删除。
```
// 删除联系人函数
void deleteContact() {
char name[20];
printf("请输入要删除的联系人姓名: ");
scanf("%s", name);
int found = 0;
for (int i = 0; i < count; i++) {
if (strcmp(name, contacts[i].name) == 0) {
found = 1;
for (int j = i; j < count - 1; j++) {
contacts[j] = contacts[j + 1];
}
count--;
printf("删除成功!\n");
break;
}
}
if (!found) {
printf("没有找到该联系人!\n");
}
}
```
5. 实现修改联系人功能
可以通过查找联系人姓名的方式,找到需要修改的联系人并将其信息进行修改。
```
// 修改联系人函数
void editContact() {
char name[20];
printf("请输入要修改的联系人姓名: ");
scanf("%s", name);
int found = 0;
for (int i = 0; i < count; i++) {
if (strcmp(name, contacts[i].name) == 0) {
found = 1;
printf("请输入新的单位: ");
scanf("%s", contacts[i].company);
printf("请输入新的固定电话: ");
scanf("%s", contacts[i].tel);
printf("请输入新的移动电话: ");
scanf("%s", contacts[i].mobile);
printf("请输入新的分类: ");
scanf("%s", contacts[i].category);
printf("请输入新的EMAIL: ");
scanf("%s", contacts[i].email);
printf("请输入新的QQ: ");
scanf("%s", contacts[i].qq);
printf("修改成功!\n");
break;
}
}
if (!found) {
printf("没有找到该联系人!\n");
}
}
```
以上是通讯录管理系统的一些基本功能实现方式,您可以根据实际需求进行修改和完善。