电信优惠套餐推荐系统的设计与实现

程序设计题九:电信优惠套餐推荐系统的设计与实现
1 问题描述
电信公司常常推出各种类型的优惠套餐,体现上上网流量、语音通话、资费上的各种优惠。要求设计一个优惠套餐推荐系统,将各种优惠套餐的情况存于文件中,系统提供办理业务的用户输入功能,主是提供自己希望得到的优惠,系统根据用户需求和已有套餐自动去匹配,挑选出最合适的套餐推荐给用户。
2 功能要求
系统中主要有管理员和普通用户两种身份的用户,二者各具有不同的功能:
管理员:
(1)以密码登录系统(密码用*显示,不得显示输入的字符)
(2)管理优惠套餐(同学自己参考电信移动公司的优惠政策)的具体信息,主要包括:优惠套餐编号(主关键字,唯一)月资费、通话时长、4G流量、宽带带宽等。管理员可以增加、删除、修改具体优惠套餐的信息
(3)可以管理并查询所有用户所享受的优惠套餐政策
普通用户:
(1) 逐条输入(或根据选项来选择)自己希望享受的各优惠条件,具体到每月通话时常、4G流量需求,是否需要宽带等;
(2)在系统给出推荐的优惠套餐之后,进行确认
(3)可以随时查询本人的优惠套餐具体信息,可根据需要提出变更需求,系统再为其重新计算和推荐。

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>

#define Max_Size 100/*定义数组长度*/

typedef struct _USER_Info/*记录管理员及用户账户*/
{
	int flag;/*区分用户和管理员  1代表用户 0代表管理员*/
	int no;/*优惠套餐编号*/
	char user_count[20];/*账户(字符串)*/
	char user_code[20];/*密码*/
}USER,*PUSER;

typedef struct _Combo/*记录套餐信息*/
{
	int no;/*套餐编号*/
	float no_price;/*月资费*/
    int second;/*通话时长*/
	float flux_4g;/*4g流量*/
	int band_with;/*宽带带宽*/
}Combo,*PCombo;

/*
*函数功能:注册用户
*参数1:PUSER user 传递用户数组首地址
*参数2:int* n     传递数组长度变量地址
*/
void User_Regest(PUSER user,int* n)
{
	system("cls");//清屏
	user[*n].flag=1;//设置权限为用户
	user[*n].no=-1;//未选择套餐
	printf("请输入用户账号:");
	scanf("%s",user[*n].user_count);//直接加入到数组尾部  *n为数组最后一个元素
	printf("请输入用户密码:");
	scanf("%s",user[*n].user_code);
	printf("注册成功!\n");
	system("pause");//暂停
	(*n)++;//数组长度+1
}

/*
*函数功能:注册管理员
*参数1:PUSER user 传递用户数组首地址
*参数2:int* n     传递数组长度变量地址
*/
void Admin_Red(PUSER user,int* n)
{
	system("cls");
	user[*n].flag=0;//设置权限为管理员 其它和注册用户相同
	printf("请输入管理员账号:");
	scanf("%s",user[*n].user_count);
	printf("请输入管理员密码:");
	scanf("%s",user[*n].user_code);
	printf("注册成功!\n");
	system("pause");
	(*n)++;
}

/*
*函数功能:输入账号密码登录
*参数1:PUSER user 传递用户数组首地址
*参数2:int n      传递数组长度
*返回值:-3代表登录失败 
*返回值:[0,n-1]中的任意一个 代表登录成功的用户或管理员数组下标
*/
int Log_In(PUSER user,int n)
{
	int i;
	char name[20],code[20];//记录账号密码
	system("cls");
	printf("请输入账号:");
	scanf("%s",name);
	fflush(stdin);//情况输入流 避免读取回车
	printf("请输入密码:");
	i=0;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值