C语言项目–客户信息管理系统
实现一个客户信息管理系统,功能包括添加客户、修改客户、删除客户、显示客户列表。
1.1 需求说明
1.1.1 主菜单
进入系统,展示主菜单,输入各功能对应的数字编号选择要进行的操作,如下图:
1.1.2 添加客户
输入1,进入“添加客户”界面,需要填写姓名、性别、年龄、电话、邮箱这些信息,如下图:
1.1.3 显示客户列表
输入4,进入“客户列表”,显示客户列表信息,如下图:
1.1.4 修改客户
输入 2,进入“修改客户”,首先要输入要修改客户的编号,然后填写信息,如下图:
1.1.5 删除客户
输入 3,进入“删除客户”,输入要删除客户的编号,再确认是否删除,如下图:
1.1.6 退出
输出5,经过确认后退出系统,如下图:
#include <stdio.h>
#include <string.h>
typedef struct
{
// 编号
int id;
// 姓名
char name[20];
// 性别
char gender;
// 年龄
int age;
// 电话
char phone[20];
// 邮箱
char email[20];
} Customer;
Customer customers[100];
int customer_count = 0;
// 主界面
void mainInterface();
// 添加客户
void add();
// 修改客户
void update();
// 删除客户
void delete();
// 用户列表
void list();
int main()
{
mainInterface();
return 0;
}
// 主界面
void mainInterface()
{
int flag = 1;
while (flag)
{
printf("\n--------------客户信息管理软件--------------");
printf("\n 1 添加客户");
printf("\n 2 修改客户");
printf("\n 3 删除客户");
printf("\n 4 客户列表");
printf("\n 5 退出");
printf("\n 请选择(1-5):");
// 定义变量保存用户的选择
int choose;
scanf("%d", &choose);
// 根据用户选择
switch (choose)
{
case 1:
// 添加客户
add();
break;
case 2:
// 修改客户
update();
break;
case 3:
// 删除客户
delete ();
break;
case 4:
// 用户列表
list();
break;
case 5:
printf("\n是否确认退出(Y或N):");
char ch;
getchar(); // 清空缓冲区
scanf("%c", &ch);
if (ch == 'Y' || ch == 'y')
{
flag = 0;
}
break;
default:
printf("\n输入有误!");
}
}
}
// 添加客户
void add()
{
// 如果已满,不再添加
if (customer_count >= 100)
{
printf("\n客户已满!");
return;
}
// 设置编号
customers[customer_count].id = customer_count + 1;
printf("\n--------------添加客户--------------");
printf("\n姓名:");
scanf("%s", customers[customer_count].name);
printf("\n性别(m或f):");
getchar();
scanf("%c", &(customers[customer_count].gender));
printf("\n年龄:");
scanf("%d", &(customers[customer_count].age));
printf("\n电话:");
scanf("%s", customers[customer_count].phone);
printf("\n邮箱:");
scanf("%s", customers[customer_count].email);
printf("\n--------------添加成功--------------");
// 已存储个数自增
customer_count++;
}
// 修改客户
void update()
{
int n;
Customer cus;
Customer *c1 = &cus;
printf("\n--------------修改客户--------------");
printf("\n请输入修改用户编号:");
scanf("%d", &n);
n--;
Customer *c2 = &customers[n];
if (n > customer_count)
{
printf("没有此编号!");
mainInterface();
}
if (n == -1)
{
mainInterface();
}
char ch;
printf("\n姓名(%s):", customers[n].name);
getchar();
// scanf("%s", cus.name);
gets(cus.name);
if (strlen(cus.name) >= 1 )
{
strcpy(customers[n].name , cus.name);
}
printf("\n性别(%c):", customers[n].gender);
// scanf("%c", &cus.gender);
cus.gender = getchar();
if ((cus.gender) != '\n')
{
customers[n].gender = cus.gender;
}
printf("\n年龄(%d):", customers[n].age);
getchar();
//scanf("%d", &cus.age);
cus.age = getchar();
if ((cus.age) != '\n')
{
customers[n].age = cus.age - 48;
}
printf("\n电话(%s):", customers[n].phone);
getchar();
// scanf("%s", cus.phone);
gets(cus.phone);
if (strlen(cus.phone) >= 1 )
{
strcpy(customers[n].phone, cus.phone);
}
printf("\n邮箱(%s):", customers[n].email);
// scanf("%s", cus.email);
gets(cus.email);
if (strlen(cus.email) >= 1 )
{
strcpy(customers[n].email, cus.email);
}
printf("\n--------------修改完成--------------");
printf("\n--------------修改成功--------------");
}
// 删除客户
void delete()
{
int n;
printf("\n--------------删除客户--------------");
printf("\n请输入要删除编号:");
scanf("%d", &n);
// n--;
for (int i = 0; i < customer_count; i++)
{
if (customers[i].id == n)
{
for (int j = n + 1; j <= customer_count; j++)
{
customers[j - 1].id = customers[j].id;
strcpy(customers[j - 1].name,customers[j].name);
customers[j - 1].gender = customers[j].gender;
customers[j - 1].age = customers[j].age;
strcpy(customers[j - 1].phone,customers[j].phone);
strcpy(customers[j - 1].email,customers[j].email);
}
customer_count -- ;
}
}
printf("\n--------------删除成功--------------");
}
// 用户列表
void list()
{
printf("\n--------------客户列表--------------");
printf("\n编号\t姓名\t性别\t年龄\t电话\t邮箱");
// 循环遍历
for (int i = 0; i < customer_count; i++)
{
printf("\n%d\t%s\t%c\t%d\t%s\t%s", customers[i].id, customers[i].name, customers[i].gender, customers[i].age, customers[i].phone, customers[i].email);
}
}
------------“);
printf(”\n编号\t姓名\t性别\t年龄\t电话\t邮箱");
// 循环遍历
for (int i = 0; i < customer_count; i++)
{
printf(“\n%d\t%s\t%c\t%d\t%s\t%s”, customers[i].id, customers[i].name, customers[i].gender, customers[i].age, customers[i].phone, customers[i].email);
}
}