设计一个简单个人电话号码查询系统
时间: 2023-12-29 15:04:51 浏览: 23
好的,我可以为您设计一个简单的个人电话号码查询系统。该系统的功能是允许用户输入一个人的姓名或电话号码,然后返回该人的电话号码或姓名。
以下是该系统的基本设计:
1. 创建数据库:创建一个数据库,其中包含两个字段:姓名和电话号码。
2. 添加数据:向数据库中添加一些数据,包括一些人的姓名和电话号码。
3. 用户输入:用户输入一个人的姓名或电话号码。
4. 查询数据:查询数据库以查找与输入匹配的记录。
5. 返回结果:如果找到匹配的记录,则返回该记录中的姓名和电话号码。如果找不到匹配的记录,则返回“未找到记录”。
6. 界面设计:可以使用简单的命令行界面或图形用户界面(GUI)来接收用户输入和显示结果。
需要注意的是,该系统只是一个简单的示例,还可以通过添加更多的功能和优化来进一步完善。
相关问题
设计一个简单个人电话号码查询系统给出其详细代码
好的,以下是一个简单的个人电话号码查询系统的详细代码,使用Python 3和SQLite3数据库:
```python
import sqlite3
# 创建或连接到数据库
conn = sqlite3.connect('phonebook.db')
# 创建表格
conn.execute('''CREATE TABLE IF NOT EXISTS phonebook
(NAME TEXT PRIMARY KEY NOT NULL,
PHONE TEXT NOT NULL);''')
# 添加数据
conn.execute("INSERT INTO phonebook (NAME, PHONE) VALUES ('John Smith', '123-456-7890')")
conn.execute("INSERT INTO phonebook (NAME, PHONE) VALUES ('Jane Doe', '555-555-5555')")
# 提交更改
conn.commit()
# 用户输入
search_term = input("Enter a name or phone number: ")
# 查询数据库
cursor = conn.execute("SELECT * FROM phonebook WHERE NAME=? OR PHONE=?", (search_term, search_term))
result = cursor.fetchone()
# 返回结果
if result:
print("Name: " + result[0])
print("Phone: " + result[1])
else:
print("Record not found.")
# 关闭数据库连接
conn.close()
```
这个系统创建了一个名为`phonebook.db`的SQLite3数据库,并在其中创建了一个名为`phonebook`的表格。然后,它向表格中添加了两个人的姓名和电话号码。接下来,用户可以输入一个人的姓名或电话号码,然后系统将查询数据库以查找与输入匹配的记录。最后,系统将返回匹配记录中的姓名和电话号码,或者如果找不到匹配的记录则返回“Record not found.”。
输入手机号查询信息C语言,简单个人电话号码查询系统.doc
很抱歉,我无法提供文档或软件下载。但是我可以给您一些思路,帮助您自己编写一个简单的个人电话号码查询系统。
首先,您需要一个存储电话号码和对应信息的数据库。您可以选择使用文件、数组或链表等数据结构来实现。为了方便,我们可以使用文件来存储这些信息。
其次,您需要设计一个菜单,让用户可以选择不同的功能,如添加电话号码、查询电话号码、删除电话号码等。根据用户的选择,您可以调用相应的函数来完成对应的操作。
以下是一个简单的示例代码,仅供参考:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_NAME_LEN 20
#define MAX_PHONE_LEN 20
#define MAX_INFO_LEN 50
#define MAX_RECORDS 1000
// 定义电话号码记录结构体
typedef struct {
char name[MAX_NAME_LEN];
char phone[MAX_PHONE_LEN];
char info[MAX_INFO_LEN];
} PhoneRecord;
// 定义电话号码记录数组和记录数量
PhoneRecord records[MAX_RECORDS];
int recordCount = 0;
// 从文件中加载电话号码记录
void loadRecords() {
FILE *file = fopen("records.dat", "rb");
if (file == NULL) {
return;
}
while (recordCount < MAX_RECORDS && fread(&records[recordCount], sizeof(PhoneRecord), 1, file) == 1) {
recordCount++;
}
fclose(file);
}
// 保存电话号码记录到文件
void saveRecords() {
FILE *file = fopen("records.dat", "wb");
if (file == NULL) {
return;
}
for (int i = 0; i < recordCount; i++) {
fwrite(&records[i], sizeof(PhoneRecord), 1, file);
}
fclose(file);
}
// 添加电话号码记录
void addRecord() {
if (recordCount >= MAX_RECORDS) {
printf("电话号码记录已满!\n");
return;
}
printf("请输入姓名:");
scanf("%s", records[recordCount].name);
printf("请输入电话号码:");
scanf("%s", records[recordCount].phone);
printf("请输入备注信息:");
scanf("%s", records[recordCount].info);
recordCount++;
saveRecords();
printf("电话号码记录已添加!\n");
}
// 显示所有电话号码记录
void showRecords() {
if (recordCount == 0) {
printf("电话号码记录为空!\n");
return;
}
printf("%-20s%-20s%-50s\n", "姓名", "电话号码", "备注信息");
for (int i = 0; i < recordCount; i++) {
printf("%-20s%-20s%-50s\n", records[i].name, records[i].phone, records[i].info);
}
}
// 根据姓名查询电话号码记录
void searchRecord() {
char name[MAX_NAME_LEN];
printf("请输入要查询的姓名:");
scanf("%s", name);
int found = 0;
for (int i = 0; i < recordCount; i++) {
if (strcmp(records[i].name, name) == 0) {
printf("%-20s%-20s%-50s\n", records[i].name, records[i].phone, records[i].info);
found = 1;
}
}
if (!found) {
printf("未找到匹配的电话号码记录!\n");
}
}
// 根据姓名删除电话号码记录
void deleteRecord() {
char name[MAX_NAME_LEN];
printf("请输入要删除的姓名:");
scanf("%s", name);
int found = 0;
for (int i = 0; i < recordCount; i++) {
if (strcmp(records[i].name, name) == 0) {
// 将后面的记录往前移动,覆盖当前记录
for (int j = i + 1; j < recordCount; j++) {
memcpy(&records[j - 1], &records[j], sizeof(PhoneRecord));
}
recordCount--;
saveRecords();
printf("电话号码记录已删除!\n");
found = 1;
break;
}
}
if (!found) {
printf("未找到匹配的电话号码记录!\n");
}
}
// 显示菜单
void showMenu() {
printf("====================\n");
printf("电话号码查询系统\n");
printf("====================\n");
printf("1. 添加电话号码记录\n");
printf("2. 显示所有电话号码记录\n");
printf("3. 查询电话号码记录\n");
printf("4. 删除电话号码记录\n");
printf("0. 退出\n");
}
int main() {
loadRecords();
while (1) {
showMenu();
int choice;
printf("请选择功能:");
scanf("%d", &choice);
switch (choice) {
case 1:
addRecord();
break;
case 2:
showRecords();
break;
case 3:
searchRecord();
break;
case 4:
deleteRecord();
break;
case 0:
printf("谢谢使用!\n");
return 0;
default:
printf("无效的选择!\n");
break;
}
}
return 0;
}
```
请注意,这只是一个简单的示例代码,还有很多可以改进的地方。如果您希望实现更复杂的功能,可以考虑使用数据库或其他更高级的数据结构来存储电话号码记录。