个人通讯录管理系统 建立一个同学通讯录,输入学号、姓名、电话号码、住址等信息,然后 对通信录进行显示、查找、添加、修改。 编写一个菜单驱动的通讯录,其功能要求: (1) 通讯录的每一条信息包括学号、姓名、家庭住址、电话、分类(如 同事、朋友、同学、家人等)、EMAIL、QQ 等。 (2) 输入功能:可以一次完成若干条信息的输入。 (3) 显示功能:完成全部通讯录信息的显示。 (4) 查找功能:可以按姓名或按类别等多种方式查找通讯信息 (5) 修改功能:根据需要完成通讯录信息的更新、修改 (6) 排序功能:可按照所有学生的学号从小到大进行排序; (7)通讯录数据要能够保存,可采用文件读写技术存放于专门的数据文 件如 xxx.txt,在程序开始运行时,可以通过读取该文件获得记录数据
时间: 2024-05-02 17:21:26 浏览: 177
好的,这是一个通讯录管理系统的需求,我可以为您提供一些实现思路。
首先,您可以使用一个结构体来表示每个通讯录条目,这个结构体包含学号、姓名、家庭住址、电话、分类、EMAIL、QQ等字段。
然后,您可以实现一个菜单驱动的程序,用户可以选择输入、显示、查找、添加、修改、排序等功能。
对于输入功能,您可以让用户逐条输入每个通讯录条目,或者批量输入多个条目。
对于显示功能,您可以遍历所有的通讯录条目,然后逐个输出到屏幕上。
对于查找功能,您可以让用户选择按照姓名、分类等方式进行查找,然后遍历所有的条目,找到符合条件的条目输出到屏幕上。
对于修改功能,您可以让用户选择要修改的条目,然后让用户输入新的信息,更新该条目的信息。
对于排序功能,您可以使用快速排序等算法,按照学号从小到大进行排序。
最后,您需要将通讯录数据保存到文件中,可以使用文件读写技术。在程序开始运行时,可以读取该文件中的记录数据,然后加载到内存中。
以上是一个通讯录管理系统的基本思路,您可以根据自己的需求进行进一步的修改和完善。
相关问题
C语言建立一个同学通讯录,输入学号、姓名、电话号码、住址等信息,然后 对通信录进行显示、查找、添加、修改
好的,这是一个比较基础的 C 语言项目,我可以为您提供大致的思路和代码框架。首先,我们可以定义一个结构体类型来存储同学的信息:
```c
typedef struct {
int id; // 学号
char name[20]; // 姓名
char phone[20]; // 电话号码
char address[50]; // 住址
} Student;
```
接下来,我们可以定义一个数组来存储多个同学的信息:
```c
#define MAX_STUDENTS 100 // 最多可以存储的同学数目
Student students[MAX_STUDENTS]; // 存储同学信息的数组
int num_students = 0; // 当前存储的同学数目
```
然后,我们可以编写几个函数来实现对通讯录的操作。具体实现可以参考下面的代码框架:
```c
// 显示所有同学的信息
void display_students() {
printf("所有同学的信息如下:\n");
for (int i = 0; i < num_students; i++) {
printf("学号:%d,姓名:%s,电话号码:%s,住址:%s\n",
students[i].id, students[i].name, students[i].phone, students[i].address);
}
}
// 查找指定学号的同学
void search_student() {
int id;
printf("请输入要查找的学号:");
scanf("%d", &id);
for (int i = 0; i < num_students; i++) {
if (students[i].id == id) {
printf("找到了以下同学的信息:\n");
printf("学号:%d,姓名:%s,电话号码:%s,住址:%s\n",
students[i].id, students[i].name, students[i].phone, students[i].address);
return;
}
}
printf("没有找到该学号的同学!\n");
}
// 添加一个新的同学
void add_student() {
if (num_students >= MAX_STUDENTS) {
printf("通讯录已满,无法添加新的同学!\n");
return;
}
printf("请输入新的同学信息:\n");
printf("学号:");
scanf("%d", &students[num_students].id);
printf("姓名:");
scanf("%s", students[num_students].name);
printf("电话号码:");
scanf("%s", students[num_students].phone);
printf("住址:");
scanf("%s", students[num_students].address);
num_students++;
printf("成功添加了新的同学!\n");
}
// 修改指定学号的同学信息
void modify_student() {
int id;
printf("请输入要修改的学号:");
scanf("%d", &id);
for (int i = 0; i < num_students; i++) {
if (students[i].id == id) {
printf("请输入新的同学信息:\n");
printf("学号:");
scanf("%d", &students[i].id);
printf("姓名:");
scanf("%s", students[i].name);
printf("电话号码:");
scanf("%s", students[i].phone);
printf("住址:");
scanf("%s", students[i].address);
printf("成功修改了该同学的信息!\n");
return;
}
}
printf("没有找到该学号的同学,无法修改信息!\n");
}
```
最后,我们可以编写一个主函数来调用上述的函数,实现对通讯录的操作:
```c
int main() {
while (true) {
printf("请选择要进行的操作:\n");
printf("1. 显示所有同学的信息\n");
printf("2. 查找指定学号的同学\n");
printf("3. 添加一个新的同学\n");
printf("4. 修改指定学号的同学信息\n");
printf("0. 退出程序\n");
int choice;
scanf("%d", &choice);
switch (choice) {
case 1:
display_students();
break;
case 2:
search_student();
break;
case 3:
add_student();
break;
case 4:
modify_student();
break;
case 0:
printf("感谢使用本程序,再见!\n");
return 0;
default:
printf("无效的操作,请重新选择!\n");
}
}
}
```
以上就是一个基本的同学通讯录的实现思路和代码框架,您可以根据实际情况进行修改和完善。希望对您有所帮助!
建立一个同学通讯录,输入学号、姓名、电话号码、住址等信息,然后 对通信录进行显示、查找、添加、修改。 编写一个菜单驱动的通讯录,其功能要求: (1)通讯录的每一条信息包括学号、姓名、家庭住址、电话、分类(如 同事、朋友、同学、家人等)、EMAIL、QQ等。 (2)输入功能:可以一次完成若干条信息的输入,输入一个人的信息后,再输入下一个人的信息时,自动刷新前一个人的信息。 (3)显示功能:完成全部通讯录信息的显示。
好的,这是一个非常实用的通讯录功能,我可以帮你解答这个问题。这个问题其实是要求你使用编程语言来实现一个菜单驱动的通讯录系统,功能包括添加、查找、修改、显示等操作。下面是一个简单的代码实现,你可以参考一下:
```python
# 定义通讯录列表
address_book = []
# 定义通讯录项类
class AddressItem:
def __init__(self, id, name, address, phone, category, email=None, qq=None):
self.id = id
self.name = name
self.address = address
self.phone = phone
self.category = category
self.email = email
self.qq = qq
def __str__(self):
return f"ID:{self.id} 姓名:{self.name} 住址:{self.address} 电话:{self.phone} 分类:{self.category} 邮箱:{self.email} QQ:{self.qq}"
# 添加通讯录项
def add_address():
# 获取用户输入
id = input("请输入学号:")
name = input("请输入姓名:")
address = input("请输入家庭住址:")
phone = input("请输入电话号码:")
category = input("请输入分类:")
email = input("请输入邮箱:")
qq = input("请输入QQ号码:")
# 创建通讯录项对象并添加到列表中
address_item = AddressItem(id, name, address, phone, category, email, qq)
address_book.append(address_item)
# 显示添加成功信息
print("通讯录项添加成功!")
# 查找通讯录项
def find_address():
# 获取用户输入
id = input("请输入要查找的学号:")
# 遍历通讯录列表,查找对应的通讯录项
for address_item in address_book:
if address_item.id == id:
# 显示通讯录项信息
print(address_item)
break
else:
# 没有找到对应的通讯录项
print("没有找到对应的通讯录项!")
# 修改通讯录项
def modify_address():
# 获取用户输入
id = input("请输入要修改的学号:")
# 遍历通讯录列表,查找对应的通讯录项
for address_item in address_book:
if address_item.id == id:
# 获取用户输入
name = input("请输入姓名:")
address = input("请输入家庭住址:")
phone = input("请输入电话号码:")
category = input("请输入分类:")
email = input("请输入邮箱:")
qq = input("请输入QQ号码:")
# 修改通讯录项信息
address_item.name = name
address_item.address = address
address_item.phone = phone
address_item.category = category
address_item.email = email
address_item.qq = qq
# 显示修改成功信息
print("通讯录项修改成功!")
break
else:
# 没有找到对应的通讯录项
print("没有找到对应的通讯录项!")
# 显示通讯录
def show_address_book():
# 遍历通讯录列表,显示所有通讯录项信息
for address_item in address_book:
print(address_item)
# 菜单循环
while True:
print("=" * 30)
print("1. 添加通讯录项")
print("2. 查找通讯录项")
print("3. 修改通讯录项")
print("4. 显示通讯录")
print("5. 退出程序")
# 获取用户输入
choice = input("请输入要执行的操作序号:")
# 根据用户输入执行对应的功能
if choice == "1":
add_address()
elif choice == "2":
find_address()
elif choice == "3":
modify_address()
elif choice == "4":
show_address_book()
elif choice == "5":
# 退出程序
print("程序已退出!")
break
else:
print("输入有误,请重新输入!")
```
上面这段代码实现了一个简单的通讯录系统,包括添加、查找、修改、显示等功能。你可以根据自己的需要进行修改和扩展。
阅读全文