输入手机号查询信息C语言,简单个人电话号码查询系统.doc
时间: 2024-01-06 20:05:56 浏览: 170
电话查询系统_C语言_电话查询系统_源码
5星 · 资源好评率100%
很抱歉,我无法提供文档或软件下载。但是我可以给您一些思路,帮助您自己编写一个简单的个人电话号码查询系统。
首先,您需要一个存储电话号码和对应信息的数据库。您可以选择使用文件、数组或链表等数据结构来实现。为了方便,我们可以使用文件来存储这些信息。
其次,您需要设计一个菜单,让用户可以选择不同的功能,如添加电话号码、查询电话号码、删除电话号码等。根据用户的选择,您可以调用相应的函数来完成对应的操作。
以下是一个简单的示例代码,仅供参考:
```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;
}
```
请注意,这只是一个简单的示例代码,还有很多可以改进的地方。如果您希望实现更复杂的功能,可以考虑使用数据库或其他更高级的数据结构来存储电话号码记录。
阅读全文