C语言无人超市管理系统

该博客介绍了一个使用C语言编写的无人超市会员注册系统程序。程序包含新用户注册和用户登录功能,注册时需验证用户名、手机号码和密码合法性,并设有不同会员等级和充值升级机制。登录后,用户可查看个人信息并进行充值操作。代码附带了预期的交互界面效果。
摘要由CSDN通过智能技术生成

/*
设计一个无人超市会员注册系统程序,要求至少实现如下功能:
打印欢迎登录信息,提示用户选择进入以下功能:

  1. 新用户注册
  2. 用户登录
  3. 退出系统

新用户注册要求:
(1) 用户名必须为英文字母或英文字母+数字,其他字符判断为非法用户名,总长度不超过20个字符。
(2) 手机号码必须为11位数字,其他字符判断为非法。
(3) 密码不低于6位,总长度不超过20个字符,低于6位或者超过20位判断为非法,注册要求输入2次密码,判断2次输入是否一致。
(4) 新用户注册赠送100元。
(5) 新用户会员类型默认为普通会员,没有折扣。
(6) 新用户会员类型默认为账号正常状态。

用户登录要求:
(1)输入用户名或者手机号码均可登录。
(2)密码输入错误超过5次,将账号状态改为锁定。
(3)登录后显示用户数据,包括用户名,手机号码,余额,会员类型,账号状态。
(4)可以进入充值功能,充值10000元,自动升级为银卡会员;充值50000元自动升级为金卡会员。充值成功后提示当前的会员状态和享受的折扣。
退出系统:提示欢迎下次光临等礼貌用语。
交互界面:整体美观整洁,便于用户操作。
*/

下面附上代码 哪里不懂的或者可以改进的可以请私信我~
#include<stdio.h>
#include<ctype.h>
#include<string.h>
#define NUM 50

typedef struct Users{
   
	float balance;     //余额
	int memberType;  //会员类型,0表示普通会员,1表示银卡会员,2表示金卡会员
	float discount[3];    //普通会员没折扣,银卡会员9折,金卡会员8折
	int userState;        //账号状态,0表示正常,1表示锁定
	char name[22];     //用户名
    char mobileNumber[12];  //手机号码
	char password[21];  //密码
	} User;

User user[NUM] = {
   0,0,{
   1,0.9,0.8},0}; //初始化
int count_user = 0; //存储注册用户的数量

void regist();  //注册模块
void login();   //登录模块
void login_judge(int);   //登录检测及用户操作

int main()
{
   
	int option;
	printf("欢迎光临 X X 超市\n");  //欢迎语
	while(1){
          //当用户未选择退出系统时一直循环
		printf("\n请输入数字选择以下功能:\n\n1.	新用户注册\n\n2.	用户登录\n\n3.	退出系统\n\n");
		scanf("%d",&option);
		while(option < 1||option > 3){
      //检测操作数
			printf("您的输入有误,请重新输入哦(1 , 2 or 3)\n");
			fflush(stdin); //清除缓冲区
			scanf("%d",&option);
		}if(option == 1){
   
			regist();
		}else if(option == 2){
   
			login();
		}else{
             //结束语
			printf("\n\n感谢您的使用 ^_^ ,欢迎下次再来哦 !\n"); 
			break;
		}
	}
	return 0;
}

void regist(){
   
	int len_name,len_num,i,len_pswd;     //定义长度变量用于检验用户的输入
	char flag_alnum = 1 ;  //作为用户名是否仅为字符和数字的标志
	char test[21];   //用来存储用户第一次输入的密码,方便与下次输入进行比较
	
  • 14
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值