C语言项目--**客户信息管理系统

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);
}
}


  • 12
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路x飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值