手机通讯录c实践报告
时间: 2023-07-15 10:15:55 浏览: 45
手机通讯录的实现可以通过C语言来完成,下面是一个简单的实践报告。
1. 数据结构设计
首先,需要定义数据结构来存储联系人的信息,可以使用结构体来实现。以下是一个示例结构体:
```c
struct Contact {
char name[20]; // 联系人姓名
char phone[12]; // 联系人电话号码
char email[30]; // 联系人电子邮件地址
};
```
2. 功能实现
接下来,需要实现添加、删除、查找、修改联系人等基本功能。这里提供一个简单的实现,具体实现可以根据需要进行调整和扩展。
(1) 添加联系人
```c
void addContact(struct Contact contacts[], int *count) {
printf("请输入联系人姓名:");
scanf("%s", contacts[*count].name);
printf("请输入联系人电话号码:");
scanf("%s", contacts[*count].phone);
printf("请输入联系人电子邮件地址:");
scanf("%s", contacts[*count].email);
(*count)++;
printf("添加成功!\n");
}
```
(2) 删除联系人
```c
void deleteContact(struct Contact contacts[], int *count) {
char name[20];
printf("请输入要删除的联系人姓名:");
scanf("%s", name);
int i, flag = 0;
for (i = 0; i < *count; i++) {
if (strcmp(contacts[i].name, name) == 0) {
flag = 1;
break;
}
}
if (flag) {
for (; i < *count - 1; i++) {
contacts[i] = contacts[i + 1];
}
(*count)--;
printf("删除成功!\n");
} else {
printf("联系人不存在!\n");
}
}
```
(3) 查找联系人
```c
void searchContact(struct Contact contacts[], int count) {
char name[20];
printf("请输入要查找的联系人姓名:");
scanf("%s", name);
int i, flag = 0;
for (i = 0; i < count; i++) {
if (strcmp(contacts[i].name, name) == 0) {
flag = 1;
printf("联系人信息如下:\n");
printf("姓名:%s\n", contacts[i].name);
printf("电话号码:%s\n", contacts[i].phone);
printf("电子邮件地址:%s\n", contacts[i].email);
break;
}
}
if (!flag) {
printf("联系人不存在!\n");
}
}
```
(4) 修改联系人
```c
void modifyContact(struct Contact contacts[], int count) {
char name[20];
printf("请输入要修改的联系人姓名:");
scanf("%s", name);
int i, flag = 0;
for (i = 0; i < count; i++) {
if (strcmp(contacts[i].name, name) == 0) {
flag = 1;
printf("请输入新的联系人姓名:");
scanf("%s", contacts[i].name);
printf("请输入新的联系人电话号码:");
scanf("%s", contacts[i].phone);
printf("请输入新的联系人电子邮件地址:");
scanf("%s", contacts[i].email);
printf("修改成功!\n");
break;
}
}
if (!flag) {
printf("联系人不存在!\n");
}
}
```
3. 主程序
最后,需要编写主程序,实现通讯录的菜单显示和功能调用。
```c
int main() {
struct Contact contacts[100];
int count = 0;
int choice = 0;
while (1) {
printf("\n");
printf("----手机通讯录----\n");
printf("1. 添加联系人\n");
printf("2. 删除联系人\n");
printf("3. 查找联系人\n");
printf("4. 修改联系人\n");
printf("5. 退出程序\n");
printf("------------------\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
addContact(contacts, &count);
break;
case 2:
deleteContact(contacts, &count);
break;
case 3:
searchContact(contacts, count);
break;
case 4:
modifyContact(contacts, count);
break;
case 5:
printf("感谢使用!\n");
return 0;
default:
printf("输入有误,请重新选择!\n");
break;
}
}
return 0;
}
```
以上就是一个简单的手机通讯录的C语言实现。需要注意的是,本示例只是提供一个基本框架,实际应用中还需要考虑数据存储、数据读写、界面设计等更多的问题。