学生通讯录管理系统
-
- #include <stdio.h>
- #include <string.h>
- #define MAX_CONTACTS 100
- typedef struct {
- char name[50];
- char phone[20];
- char email[50];
- } Contact;
- int numContacts = 0;
- Contact contacts[MAX_CONTACTS];
- void addContact() {
- if (numContacts == MAX_CONTACTS) {
- printf("通讯录已满,无法添加新的联系人。\n");
- return;
- }
- Contact newContact;
- printf("请输入联系人姓名:");
- scanf("%s", newContact.name);
- printf("请输入联系人电话:");
- scanf("%s", newContact.phone);
- printf("请输入联系人邮箱:");
- scanf("%s", newContact.email);
- contacts[numContacts++] = newContact;
- printf("联系人添加成功。\n");
- }
-
- void searchContact() {
- char keyword[50];
- printf("请输入要查询的关键字:");
- scanf("%s", keyword);
- printf("查询结果:\n");
- for (int i = 0; i < numContacts; i++) {
- if (strstr(contacts[i].name, keyword) || strstr(contacts[i].phone, keyword) || strstr(contacts[i].email, keyword)) {
- printf("姓名:%s\n", contacts[i].name);
- printf("电话:%s\n", contacts[i].phone);
- printf("邮箱:%s\n", contacts[i].email);
- printf("\n");
- }
- }
- }
-
- void deleteContact() {
- char name[50];
- printf("请输入要删除的联系人姓名:");
- scanf("%s", name);
- int index = -1;
- for (int i = 0; i < numContacts; i++) {
- if (strcmp(contacts[i].name, name) == 0) {
- index = i;
- break;
- }
- }
- if (index == -1) {
- printf("未找到该联系人。\n");
- }
- else {
- for (int i = index; i < numContacts - 1; i++)
- contacts[i] = contacts[i + 1];
-
- numContacts--;
- printf("联系人删除成功。\n");
- }
- }
-
- void listContacts() {
- printf("所有联系人:\n");
-
- for (int i = 0; i < numContacts; i++) {
- printf("姓名:%s\n", contacts[i].name);
- printf("电话:%s\n", contacts[i].phone);
- printf("邮箱:%s\n", contacts[i].email);
- printf("\n");
- }
- }
-
- int main() {
- int choice;
- do {
- printf("学生通讯录管理系统\n");
- printf("1. 添加联系人\n");
- printf("2. 查询联系人\n");
- printf("3. 删除联系人\n");
- printf("4. 显示所有联系人\n");
- printf("5. 退出系统\n");
- printf("请选择操作:");
- scanf("%d", &choice);
-
- switch (choice) {
- case 1:
- addContact();
- break;
- case 2:
- searchContact();
- break;
- case 3:
- deleteContact();
- break;
- case 4:
- listContacts();
- break;
- case 5:
- printf("退出系统。\n");
- break;
- default:
- printf("无效的选择。\n");
- break;
- }
- printf("\n");
- } while (choice != 5);
-
- return 0;
- }
-