客户信息管理软件

1.添加客户
2.修改客户
3.删除客户
4.客户列表
5.退 出

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>struct Customer {int id;//编号int age;//年龄char name[10];//名字char gender;//f/mchar phone[16];//电话号码char email[20];//邮箱
};int loop = 1;//控制是否退出主菜单
char key;
int customerNum = 0;//表示当前客户数量
//客户结构体数组
struct Customer customers[100];//最多有100个数组//显示Customer变量的信息
void getCustomerInfo(struct Customer* customer) {printf("\n%d\t%s\t%c\t%d\t%s\t%s", (*customer).id, (*customer).name,(*customer).gender, (*customer).age, (*customer).phone, (*customer).email);}void add() {customers[customerNum].id = customerNum + 1;printf("\n----------------添加客户------------");printf("\n姓名: ");scanf("%s", customers[customerNum].name);getchar();printf("\n性别: ");scanf("%c", &customers[customerNum].gender);getchar();printf("\n年龄: ");scanf("%d", &customers[customerNum].age);getchar();printf("\n电话: ");scanf("%s", customers[customerNum].phone);getchar();printf("\n邮箱: ");scanf("%s", customers[customerNum].email);getchar();printf("\n----------------添加完成------------");customerNum++;
}//根据输入的id返回index,
int findIndex(int id) {int index = -1;int i ;for (i = 0; i < customerNum; i++) {if (customers[i].id == id) {//找到index = i;}}return index;
}//接收要删除的客户id,返回1,说明删除成功
int del(int id) {int index = findIndex(id);int i;if (index == -1) {//不存在这个对应id客户return 0;}else {//将编号为id的客户移除,后一个往前覆盖for (i = index+1; i < customerNum; i++) {customers[i - 1] = customers[i];customers[i - 1].id--;//id减一}customerNum--;return 1;}
}//显示删除界面
void delView() {int id=0;printf("\n----------------删除客户-------------------");printf("\n请输入删除客户编号(-1退出): ");scanf("%d", &id);getchar();if (id == -1) {printf("\n你放弃了删除!");return;}printf("\n确认是否删除(Y/N): ");char choice;scanf("%c", &choice);getchar();if (choice == 'Y') {if (!del(id)) {printf("\n删除失败,id不存在");}else {printf("\n删除成功!");}}
}//显示客户信息列表
void listCustomers() {int i = 0;printf("\n--------------客户列表------------");printf("\n编号\t姓名\t性别\t年龄\t电话\t邮箱");for (i = 0; i < customerNum; i++) {getCustomerInfo(&customers[i]);}
}//显示主菜单
void mainMenu() {do {printf("\n--------------客户信息管理软件------------");printf("\n--------------1.添加客户------------");printf("\n--------------2.修改客户------------");printf("\n--------------3.删除客户------------");printf("\n--------------4.客户列表------------");printf("\n--------------5.退    出------------");printf("\n请选择输入1_5: ");scanf("%c", &key);getchar();switch (key) {case '1'://printf("添加客户");add();break;      case '2'://修改该用户时,先查找是否存在,如果找到该用户,先显示该用户信息,id不能修改//待完善...........printf("修改客户");break;case '3'://printf("删除客户");delView();break;case '4':listCustomers();break;case '5':char choice1;do {printf("\n确认是否退出(Y/N): ");scanf("%c", &choice1);getchar();} while (choice1 != 'Y' && choice1 != 'N');if (choice1 == 'Y') {loop = 0;}break;default:printf("\n输入错误,请重新输入!");break;}} while (loop);printf("\n你退出了系统!");getchar();
}int main() {mainMenu();//调用函数,显示菜单return 0;
}

运行结果


注:以上内容仅为个人学习笔记

CRM系统(C语言)相关推荐

  1. 国内与国外CRM系统相比有哪些优劣势?

    根据报告指出,2021年中国CRM市场规模为156亿元,相较2020年增长了16.5%.预计2023年起,在经历新一轮的快速增长后,市场将保持10%左右的年增长率平稳发展.近三年中国CRM市场规模将增 ...

  2. C语言 项目 CRM系统(客户信息管理系统)

    项目目标 项目需求说明 系统界面 1)添加客户界面 通过编号来区分客户 2)删除客户界面 对用户输入的编号进行核查,存在与否,合法与否 3)显示客户列表界面 4)修改客户信息的界面 项目设计 Cust ...

  3. Dynamics CRM 系统自定义部分的语言翻译

    Dynamics CRM 自带语言切换功能,在官网下载所需语言包安装后,在设置语言中就能看到你所添加的语言,勾选要启用的语言应用即可,再打开系统设置--语言就能看到可更改用户界面语言的显示了. 但官方 ...

  4. crm系统用什么语言写的_什么是CRM系统以及如何正确选择

    crm系统用什么语言写的 In modern business the need of automation in various processes have already become comm ...

  5. 基于三层结构的CRM系统(Agent X)的设计和开发

    现代计算机应用技术不断发展的同时,CRM也得到了前所未有的发展.最初的CRM系统基本上都是基于两层结构-C/S模式(客户机/服务器).自从C/S模式提出后,对CRM的发展起到了巨大的推动作用. 但随着 ...

  6. 如何正确使用螳螂教育CRM系统?

    近几年,随着互联网行业的发展和压力,越来越多的人意识到了学习的重要性,职业教育.IT行业培训.音乐舞蹈.外语.在校课程补习等.教育培训机构属于典型的现代商业服务业,其业务流程复杂,数据实时性要求高,课 ...

  7. 悟空 mobile.php,悟空crm系统pc+手机端PHPJAVA源码授权永久使用

    近几年,悟空CRM开源项目在GitHub和Gitee上迅速蹿红,并获得了上千用户的关注.目前累计2000000下载量.社区人数达到30000多人.在国内浩瀚的开源市场,悟空CRM在开源道路上倾注10多 ...

  8. springboot毕设项目电信CRM系统的设计与实现3z7u5(java+VUE+Mybatis+Maven+Mysql)

    springboot毕设项目电信CRM系统的设计与实现3z7u5(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql ...

  9. 中小型企业 CRM 系统有哪些好的推荐?

    不同行业的中小型企业在资源.需求.抗风险能力.业务成熟度等方面存在显著差异,因此对CRM的应用需求有不同侧重. 图源:艾瑞咨询 我专门研究了一些CRM的行业报告,比较了一下当下几款比较热门的CRM,希 ...

最新文章

  1. 细说Android 4.0 NDK编程pdf
  2. 运放搭建主动滤波电路
  3. 计算机程序的思维逻辑 (47) - 堆和PriorityQueue的应用
  4. 使用SQL Server日志传送将SQL数据库移动到其他服务器
  5. 实体类在set字段时报空指针异常
  6. LeetCode:递归思想的延伸,从斐波那契数列到爬楼梯模型
  7. mysql 触发器 new.id_mysql 触发器 new.id
  8. Struts action-mapping 元素讲解
  9. 在线word预览方案
  10. 租酥雨的NOIP2018赛前日记
  11. php 去除多余空行,php如何去除空行
  12. 【22.05.14】native thread exiting without having called DetachCurrentThread
  13. sau交流学习社区-songEagle开发系列:Vue + Vuex + Koa 中使用JWT(JSON Web Token)认证
  14. python爬取携程网旅游_爬虫之携程网旅游信息爬取
  15. 【Python爬虫】 爬取京东商品图片并下载
  16. 瑞康医药携手亚马逊云科技,推动云上医药创新
  17. 通过Unity2D独立开发一款瓷砖式RPG游戏需要学习哪些知识?
  18. 数据分析08-金融领域数据分析
  19. 帆软设计器安装自定义字体
  20. 苏州各园林的地址和票价

热门文章

  1. 平安夜来点不一样创意礼物,如何巧用二维码生成器表白?
  2. optipng可以优化压缩PNG图片文件格式
  3. python图像条状状噪声_一起学opencv-python十(给图像加噪声,模糊处理和图像锐化)...
  4. 挑战(二)的一些补充
  5. 最全总结Jordan 标准型、Jordan分解、Jordan 标准型的计算方法
  6. 干货面试教程!应聘高级Android工程师历程感言,技术详细介绍
  7. 牛客 21297 手机号码
  8. Java的SHA1PRING方式AES加密对应的PHP写法
  9. matlab小作业答案,MATLAB所有作业及答案
  10. Electorn与服务器交互的几种实现方式