c语言写学生通讯录管理系统
时间: 2023-09-25 09:16:22 浏览: 103
C语言—个人通讯录管理系统.zip
5星 · 资源好评率100%
好的,下面是一个简单的学生通讯录管理系统的C语言实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_CONTACTS 100 // 最大联系人数
struct contact {
char name[20]; // 姓名
char phone[20]; // 手机号码
};
struct contact contacts[MAX_CONTACTS]; // 联系人列表
int num_contacts = 0; // 联系人数
/* 显示菜单 */
void display_menu() {
printf("\n---- 学生通讯录管理系统 ----\n");
printf("1. 添加联系人\n");
printf("2. 删除联系人\n");
printf("3. 修改联系人\n");
printf("4. 查找联系人\n");
printf("5. 显示所有联系人\n");
printf("0. 退出系统\n");
printf("\n请选择操作:");
}
/* 添加联系人 */
void add_contact() {
if (num_contacts >= MAX_CONTACTS) {
printf("联系人数量已达上限,无法添加!\n");
return;
}
printf("\n请输入联系人姓名:");
scanf("%s", contacts[num_contacts].name);
printf("请输入联系人手机号码:");
scanf("%s", contacts[num_contacts].phone);
printf("添加成功!\n");
num_contacts++;
}
/* 删除联系人 */
void delete_contact() {
char name[20];
int i, j;
printf("\n请输入要删除的联系人姓名:");
scanf("%s", name);
for (i = 0; i < num_contacts; i++) {
if (strcmp(contacts[i].name, name) == 0) {
// 找到要删除的联系人
for (j = i; j < num_contacts - 1; j++) {
// 将后面的联系人向前移动
strcpy(contacts[j].name, contacts[j+1].name);
strcpy(contacts[j].phone, contacts[j+1].phone);
}
num_contacts--;
printf("删除成功!\n");
return;
}
}
printf("未找到要删除的联系人!\n");
}
/* 修改联系人 */
void modify_contact() {
char name[20];
int i;
printf("\n请输入要修改的联系人姓名:");
scanf("%s", name);
for (i = 0; i < num_contacts; i++) {
if (strcmp(contacts[i].name, name) == 0) {
// 找到要修改的联系人
printf("请输入新的手机号码:");
scanf("%s", contacts[i].phone);
printf("修改成功!\n");
return;
}
}
printf("未找到要修改的联系人!\n");
}
/* 查找联系人 */
void search_contact() {
char name[20];
int i;
printf("\n请输入要查找的联系人姓名:");
scanf("%s", name);
for (i = 0; i < num_contacts; i++) {
if (strcmp(contacts[i].name, name) == 0) {
// 找到要查找的联系人
printf("联系人姓名:%s\n", contacts[i].name);
printf("手机号码:%s\n", contacts[i].phone);
return;
}
}
printf("未找到要查找的联系人!\n");
}
/* 显示所有联系人 */
void display_contacts() {
int i;
printf("\n所有联系人:\n");
for (i = 0; i < num_contacts; i++) {
printf("%s\t%s\n", contacts[i].name, contacts[i].phone);
}
}
int main() {
int choice;
while (1) {
display_menu();
scanf("%d", &choice);
switch (choice) {
case 1:
add_contact();
break;
case 2:
delete_contact();
break;
case 3:
modify_contact();
break;
case 4:
search_contact();
break;
case 5:
display_contacts();
break;
case 0:
printf("\n感谢使用学生通讯录管理系统,再见!\n");
exit(0);
default:
printf("\n无效的选择,请重新输入!\n");
break;
}
}
return 0;
}
```
这个程序实现了以下功能:
1. 添加联系人
2. 删除联系人
3. 修改联系人
4. 查找联系人
5. 显示所有联系人
你可以根据自己的需要进行修改和扩展。
阅读全文