1.0文件CPP

master
mfmq8f2nv 3 years ago
parent d8fd2f98c2
commit 07feaefb05

@ -0,0 +1,663 @@
#include <cstdlib>
#include <functional>
#include <ios>
#include <iostream>
#include <locale>
#include <string>
#include <iomanip>
#define MAX 1000
using namespace std;
bool Login=false,Restore1=false;//尊贵的全局变量
//Longin:检验登录状态 Restore1:检验充值状态 DetailsToRecharge:账户明细到充值中心
int a,Restore,Membership_Level=0,Bonds=0,list;//尊贵的全局变量
//a:输入常用数 Restore:记录联系人数目,用于恢复联系人 Membership_Level:记录会员等级
//Bonds:记录点券数量 list:记录秘钥下标 MAX:最大存储的联系人
string Face_Value10[20]={"47TyOKqdap","qhkJyaw6rH","GLPhS9kYIM","eDbLTWsqdc","dhDYM5Dt3J","7pXkMOJ2kq","2MwvaEmzUn","7wYdGJlpaj","vVsEbqqAVd","Xv6ogI6C7M","yXBCZ9go71","Bilk3eN8Pk","cYq4HdKpQ1","zAklIJNkct","WpNCs9ywLG","eX3aUk3dOF","kJ3G29e0BO","JWGWZXgZfV","zIIfzsGphT","cS0ZFyaoBX"};//面值10¥的秘钥
string Face_Value50[20]={"8MoCf4RuCL","ZgqjxumfYQ","IqCVEWKmh2","1YeSBH0jNC","YCOct8LaMZ","MrP6suviuu","nZ0nNdRX5n","QLndzLYK5P","uQ6OfQnHsQ","N0ZCtzl2A2","6MNDjsnNKm","l6XxxRy1oG","RzsRGyX0wW","HUD4Fr1ytQ","BfrCu4XSv8","XADFLKH1Gj","HLbIrfJjhx","8akMm9qUpO","8maL0zUMzT","NiEWhvr4UG"};//面值50¥的秘钥
string Face_Value100[20]=
{"slqfndWxhi","7XmH7TgHJV","2LTHp49Iag","Bzxcp0fCEw","28Nwy1W51t","GAMNKTL0Cu","KKWIShdUfK","ElCc8F4nk2","iHZq5INXVT","45zWr3eGy3","gx1IjZwXt4","BybGyKVvd7","Is5liqVh0W","OIT58LwSov","a2Nc3YSSwV","IcKSjy7bxp","lGJ462Gska","oGiKqEuXi2","bk81ZPqajo","z3t3nPZ8AZ"};//面值100¥的秘钥
string User_Name,RechargeKey;//尊贵的全局变量
//User_Name:记录用户名 RechargeKey:用于激活秘钥
//登录界面
void Login_screen(){
cout<<"当前:登录界面"<<endl<<endl;
cout<<"※※输入你的用户名※※"<<endl<<" ";
cin>>User_Name;
system("cls");
if(Membership_Level==0){
cout<<endl<<endl<<"\t※欢迎回家※"<<endl<<"\t "<<User_Name<<endl<<endl;
}
if(Membership_Level==1){
cout<<endl<<endl<<"\t☆☆欢迎回家 尊贵的高级会员☆☆"<<endl<<"\t "<<User_Name<<endl<<endl;
}
if(Membership_Level==2){
cout<<endl<<endl<<"\t★★★欢迎回家 尊贵的超级会员★★★"<<endl<<"\t "<<User_Name<<endl<<endl;
}
Login=true;
system("pause");
system("cls");
}
//菜单
struct Preson{
string Name;//姓名
int Sex;//性别
int Age;//年龄
string Phone;//电话号码
string Address;//家庭住址
};
struct Book{
struct Preson PresonArray[MAX];
int Size;
};
//输出通讯录主要功能
void ShowMenu(){
cout<<"[当前:通讯录]"<<endl<<endl;
cout<<"用户:"<<User_Name<<" 会员等级:";
if(Membership_Level==0){
cout<<"普通会员※"<<endl;
}
if(Membership_Level==1){
cout<<"高级会员☆☆"<<endl;
}
if(Membership_Level==2){
cout<<"超级会员★★★"<<endl;
}
cout<<"点券:"<<Bonds<<endl<<endl;
cout<<"┌----------------┐"<<endl;
cout<<"※ ①:添加联系人 ※"<<endl;
cout<<"※ ②:显示联系人 ※"<<endl;
cout<<"※ ③:删除联系人 ※"<<endl;
cout<<"※ ④:查找联系人 ※"<<endl;
cout<<"※ ⑤:修改联系人 ※"<<endl;
cout<<"※ ⑥:清空联系人 ※"<<endl;
cout<<"※ ⑦:充值中心¥ ※"<<endl;
cout<<"※ ⑧:¥$商城$¥ ※"<<endl;
cout<<"※ ⑨:账户中心〤 ※"<<endl;
cout<<":退出通讯录 ※"<<endl;
cout<<"└----------------┘"<<endl;
}
//添加联系人
void addPeson(Book *abs){
system("cls");
cout<<"[当前:通讯录>添加联系人]"<<endl<<endl;
if(abs->Size==MAX){
//判断通讯录是否已满 若满则退出
cout<<"※※通讯录已满!已无法添加!※※"<<endl;
return ;
}
else {
//输入姓名
string m_Name;
cout<<"请输入姓名:"<<endl;
cin>>m_Name;
abs->PresonArray[abs->Size].Name = m_Name;
//输入性别
int m_Sex = 0;
while (true) {
cout<<"请输入性别:"<<endl;
cout<<"1:男性 2:女性"<<endl;
cin>>m_Sex;
if(m_Sex==1||m_Sex==2){//判断用户是否输入正确
abs->PresonArray[abs->Size].Sex = m_Sex;
break;
}
else{
cout<<endl<<"※※无效输入!请重新输入!※※"<<endl<<endl;
}
}
//输入年龄
int m_Age;
cout<<"请输入年龄:"<<endl;
cin>>m_Age;
abs->PresonArray[abs->Size].Age=m_Age;
//输入电话
string m_Phone;
cout<<"请输入电话号码:"<<endl;
cin>>m_Phone;
abs->PresonArray[abs->Size].Phone=m_Phone;
//输入家庭住址
string m_Adress;
cout<<"请输入家庭住址:"<<endl;
cin>>m_Adress;
abs->PresonArray[abs->Size].Address=m_Adress;
system("cls");
cout<<"[当前:通讯录>添加联系人]"<<endl<<endl;
//更新人数
cout<<"※※已经成功添加联系人:<"<<abs->PresonArray[abs->Size].Name<<">!※※"<<endl<<endl;
abs->Size++;
while(true){
cout<<"1:继续添加 2:返回主菜单"<<endl;
cin>>a;
if(a==1||a==2){
if(a==1){
addPeson(abs);
}
else{
system("cls");
}
break;
}
else{
system("cls");
cout<<"[当前:通讯录>添加联系人]"<<endl<<endl;
cout<<"※※无效输入 请重新输入!※※"<<endl<<endl;
cout<<"※※已经成功添加联系人:<"<<abs->PresonArray[abs->Size-1].Name<<">!※※"<<endl<<endl;
}
}
}
}
//显示联系人
void ShowPerson(Book* abs){
system("cls");
cout<<"[当前:通讯录>查看联系人]"<<endl<<endl;
//判断通讯录的人数是否为0
if(abs->Size==0){
cout<<"※※当前无任何联系人记录!※※"<<endl<<endl;
}
else{
for(int i=0;i<abs->Size;i++){
cout<<"姓名:"<<abs->PresonArray[i].Name<<"\t";
cout<<"性别:"<<(abs->PresonArray[i].Sex==1?"":"")<<"\t";
cout<<"年龄:"<<abs->PresonArray[i].Age<<"\t";
cout<<"电话号码:"<<abs->PresonArray[i].Phone<<"\t";
cout<<"家庭住址:"<<abs->PresonArray[i].Address<<endl;
}
}
system("pause");
system("cls");
}
//检测联系人是否存在
int isExist(Book *abs,string m_Name){
for(int i=0;i<abs->Size;i++){
//若找到用户输入的姓名
if(abs->PresonArray[i].Name==m_Name)
return i;//找到便返回下标
}
//如果没找到 就返回-1
return -1;
}
//删除联系人
void DeletePerson(Book *abs){
system("cls");
cout<<"[当前:通讯录>删除联系人]"<<endl<<endl;
cout<<"输入需要删除的联系人的姓名:"<<endl;
string name;
cin>>name;
int ret=isExist(abs,name);
if(ret!=-1){//找到了
//数据迁移
for(int i=ret;i<abs->Size;i++){
abs->PresonArray[i] = abs->PresonArray[i+1];
}
abs->Size--;//更新数据
system("cls");
cout<<"[当前:通讯录>删除联系人]"<<endl<<endl;
cout<<"※※已删除联系人<"<<name<<">!※※"<<endl<<endl;
}
else{//未找到
system("cls");
cout<<"[当前:通讯录>删除联系人]"<<endl<<endl;
cout<<"※※未找到联系人<"<<name<<">!※※"<<endl<<endl;
}
while(true){
cout<<"1:继续删除 2:返回主菜单"<<endl;
cin>>a;
if(a==1||a==2){
if(a==1){
DeletePerson(abs);
}
else{
system("cls");
}
break;
}
else{
system("cls");
cout<<"[当前:通讯录>删除联系人]"<<endl<<endl;
cout<<"※※无效输入 请重新输入!※※"<<endl<<endl;
}
}
}
//查找联系人
void FindPerson(Book *abs){
system("cls");
cout<<"[当前:通讯录>查找联系人]"<<endl<<endl;
cout<<"输入需要查找的联系人的姓名:"<<endl;
string name;
cin>>name;
//判断人是否存在
int ret=isExist(abs,name);
if(ret!=-1){//找到了
cout<<"※※已找到联系人!※※"<<endl<<endl;
cout<<"姓名:"<<abs->PresonArray[ret].Name<<"\t";
cout<<"性别:"<<(abs->PresonArray[ret].Sex==1?"":"")<<"\t";
cout<<"年龄:"<<abs->PresonArray[ret].Age<<"\t";
cout<<"电话号码:"<<abs->PresonArray[ret].Phone<<"\t";
cout<<"家庭住址:"<<abs->PresonArray[ret].Address<<endl<<endl;
}
else{//未找到
system("cls");
cout<<"[当前:通讯录>查找联系人]"<<endl<<endl;
cout<<"※※未找到联系人<"<<name<<">!※※"<<endl<<endl;
}
while(true){
cout<<"1:继续查找 2:返回主菜单"<<endl;
cin>>a;
if(a==1||a==2){
if(a==1){
FindPerson(abs);
}
else{
system("cls");
}
break;
}
else{
system("cls");
cout<<"[当前:通讯录>查找联系人]"<<endl<<endl;
cout<<"※※无效输入 请重新输入!※※"<<endl<<endl;
}
}
}
//修改联系人
void ModifyPerson(Book *abs){
system("cls");
cout<<"[当前:通讯录>修改联系人]"<<endl<<endl;
cout<<"输入需要修改的联系人的姓名:"<<endl;
string name;
cin>>name;
int ret=isExist(abs,name);
if(ret!=-1){//找到了
//输入姓名
string m_Name;
cout<<endl<<"※※正在修改联系人<"<<name<<">※※"<<endl;
cout<<"请输入修改后的姓名:"<<endl;
cin>>m_Name;
abs->PresonArray[ret].Name = m_Name;
//输入性别
int m_Sex = 0;
while (true) {
cout<<"请输入修改后的性别:"<<endl;
cout<<"1:男性 2:女性"<<endl;
cin>>m_Sex;
if(m_Sex==1||m_Sex==2){//判断用户是否输入正确
abs->PresonArray[ret].Sex = m_Sex;
break;
}
else{
cout<<endl<<"※※无效输入!请重新输入!※※"<<endl<<endl;
}
}
//输入年龄
int m_Age;
cout<<"请输入修改后的年龄:"<<endl;
cin>>m_Age;
abs->PresonArray[ret].Age=m_Age;
//输入电话
string m_Phone;
cout<<"请输入修改后的电话号码:"<<endl;
cin>>m_Phone;
abs->PresonArray[ret].Phone=m_Phone;
//输入家庭住址
string m_Adress;
cout<<"请输入修改后的家庭住址:"<<endl;
cin>>m_Adress;
abs->PresonArray[ret].Address=m_Adress;
system("cls");
cout<<"[当前:通讯录>修改联系人]"<<endl<<endl;
//更新人数
cout<<"※※已经成功修改联系人:<"<<name<<">为<"<<abs->PresonArray[ret].Name<<">!※※"<<endl<<endl;
}
else{//未找到
system("cls");
cout<<"[当前:通讯录>修改联系人]"<<endl<<endl;
cout<<"※※未找到联系人<"<<name<<">!※※"<<endl<<endl;
}
while(true){
cout<<"1:继续修改 2:返回主菜单"<<endl;
cin>>a;
if(a==1||a==2){
if(a==1){
ModifyPerson(abs);
}
else{
system("cls");
}
break;
}
else{
system("cls");
cout<<"[当前:通讯录>修改联系人]"<<endl<<endl;
cout<<"※※无效输入 请重新输入!※※"<<endl<<endl;
}
}
}
//清空联系人
void CleanPerson(Book *abs){
system("cls");
cout<<"[当前:通讯录>删除联系人]"<<endl<<endl;
abs->Size=0;//逻辑清空
cout<<"※※联系人已清空!※※"<<endl<<endl;
while(true){
cout<<"1:恢复联系人 2:返回主菜单"<<endl;
cin>>a;
if(a==1||a==2){
if(a==1){
abs->Size=Restore;//恢复联系人
system("cls");
cout<<"[当前:通讯录>清空联系人]"<<endl<<endl;
cout<<"※※联系人已恢复!※※"<<endl<<endl;
system("pause");
}
else{
;
}
system("cls");
break;
}
else{
system("cls");
cout<<"[当前:通讯录>清空联系人]"<<endl<<endl;
cout<<"※※无效输入 请重新输入!※※"<<endl<<endl;
}
}
}
//充值中心
void RechargeCenter(){
system("cls");
cout<<"[当前:通讯录>充值中心¥]"<<endl<<endl;
cout<<"秘钥获取途径:联系作者Vuihoti"<<endl<<endl;
cout<<"\t¥¥请输入充值秘钥¥¥"<<endl<<"\t ";
cin>>RechargeKey;
for(list=0;list<20;list++){//寻找秘钥
if(RechargeKey==Face_Value10[list]){
Face_Value10[list]=";!5tl,ipXAvCq1i]KRrdBYu3;UDis1";//替换为虚无秘钥
Bonds+=1000;//加1000点券
Restore1=true;//找到返回True
}
if(RechargeKey==Face_Value50[list]){
Face_Value50[list]=";!5tl,ipXAvCq1i]KRrdBYu3;UDis1";//替换为虚无秘钥
Bonds+=5000;//加5000点券
Restore1=true;//找到返回True
}
if(RechargeKey==Face_Value100[list]){
Face_Value100[list]=";!5tl,ipXAvCq1i]KRrdBYu3;UDis1";//替换为虚无秘钥
Bonds+=10000;//加10000点券
Restore1=true;//找到返回True
}
}
system("cls");
cout<<"[当前:通讯录>充值中心¥]"<<endl<<endl;
if(Restore1==true){
cout<<"\t★★充值成功★★"<<endl;
cout<<"\t"<<endl;
cout<<" 当前剩余点券为:"<<Bonds<<endl;
Restore1=false;
}
else{
cout<<" ★★充值失败★★"<<endl;
cout<<"\t X"<<endl;
cout<<"\t秘钥输入错误"<<endl;
}
while(true){
cout<<" 1:继续充值 2:返回主菜单"<<endl;
cin>>a;
if(a==1||a==2){
if(a==1){
RechargeCenter();
}
else{
system("cls");
}
break;
}
else{
system("cls");
cout<<"[当前:通讯录>充值中心¥]"<<endl<<endl;
cout<<"※※无效输入 请重新输入!※※"<<endl<<endl;
}
}
}
void AccountDetails();//声明模块
void AccountCenter(){
system("cls");
cout<<"[当前:通讯录>账户中心〤]"<<endl<<endl;
cout<<"┌----------------┐"<<endl;
cout<<"※ ①: 账户明细 ※"<<endl;
cout<<":返回通讯录 ※"<<endl;
cout<<"└----------------┘"<<endl;
cin>>a;
switch(a){
case 0://返回通讯录
system("cls");
break;
case 1://账户明细
AccountDetails();
break;
}
if(a>1){
system("cls");
cout<<"[当前:通讯录>账户中心〤]"<<endl<<endl;
cout<<"※※无效输入 请重新输入!※※"<<endl<<endl;
system("pause");
AccountCenter();
}
}
void AccountDetails(){//模块:账户中心额外模块账户明细
system("cls");
cout<<"[当前:通讯录>账户中心〤>账户明细]"<<endl<<endl;
cout<<"※※用户名:"<<User_Name<<" ①:重命名※※"<<endl<<endl;
cout<<"※※会员等级:";
if(Membership_Level==0){
cout<<"普通会员※ ※※"<<endl<<endl;
}
if(Membership_Level==1){
cout<<"高级会员☆☆ ※※"<<endl<<endl;
}
if(Membership_Level==2){
cout<<"超级会员★★★ ※※"<<endl<<endl;
}
cout<<"※※点券余额:"<<Bonds<<endl<<endl;
cout<<":返回上一层"<<endl;
cin>>a;
switch (a) {
case 0://返回上一级
AccountCenter();
break;
case 1:{//重命名
system("cls");
cout<<"[当前:通讯录>账户中心〤>账户明细>重命名]"<<endl<<endl;
cout<<"\t※※输入新的用户名※※"<<endl<<"\t ";
cin>>User_Name;
system("cls");
cout<<"[当前:通讯录>账户中心〤>账户明细>重命名]"<<endl<<endl;
cout<<"\t※※修改成功※※"<<endl;
cout<<"\t你的新用户名:"<<User_Name<<endl;
system("pause");
AccountDetails();
}
break;
}
if(a>2){
system("cls");
cout<<"[当前:通讯录>账户中心〤>账户明细]"<<endl<<endl;
cout<<"※※无效输入 请重新输入!※※"<<endl<<endl;
system("pause");
AccountDetails();
}
}
void Market(){
system("cls");
cout<<"[当前:通讯录>¥$商城$¥]"<<endl<<"点券:"<<Bonds<<endl<<endl;
cout<<"\t※※综合※※"<<endl;
cout<<"①:升级为高级会员☆☆ 5000点券"<<endl;
cout<<"②:升级为超级会员★★★(需先拥有高级会员☆☆)+10000点券"<<endl;
cout<<":返回主菜单"<<endl;
cin>>a;
system("cls");
cout<<"[当前:通讯录>¥$商城$¥]"<<endl<<endl;
switch(a){
case 0:
goto end;
case 1:{
if(Membership_Level>=1){
if(Membership_Level==1)
cout<<"!!你已经是高级会员☆☆了 无法再次购买高级会员☆☆!!"<<endl;
else
cout<<"!!你已经是超级会员★★★了 无法再次购买高级会员☆☆!!"<<endl;
}
else
if(Bonds<5000){
cout<<"\t!!点券不足 请充值后再购买!!"<<endl;
cout<<"\t 你目前的点券数目为:"<<Bonds<<endl;
}
else{
cout<<"\t确定要购买吗?"<<endl;
cout<<"\t购买后余额:"<<endl;
cout<<"\t "<<setw(10)<<Bonds<<endl;
cout<<"\t -"<<setw(9)<<5000<<endl;
cout<<"\t ----------"<<endl;
cout<<"\t "<<setw(10)<<Bonds-5000<<endl;
cout<<"\t①:是 ②:否"<<endl;
while(true){
cin>>a;
if(a==1||a==2){
if(a==1){
system("cls");
cout<<"[当前:通讯录>¥$商城$¥]"<<endl<<endl;
Bonds-=5000;
Membership_Level++;
cout<<"\t★★购买成功★★"<<endl;
cout<<"\t目前剩余点券:"<<Bonds<<endl;
}
else{
Market();
}
break;
}
else{
system("cls");
cout<<"[当前:通讯录>¥$商城$¥]"<<endl<<endl;
cout<<"※※无效输入 请重新输入!※※"<<endl<<endl;
}
}
}
}
break;
case 2:{
if(Membership_Level<1)
cout<<"\t!!你不是高级会员☆☆,无法升级为超级会员!!"<<endl<<endl;
else
if(Membership_Level==2)
cout<<"!!你已经是超级会员★★★了 无法再次购买超级会员★★★!!"<<endl;
else
if(Bonds<10000){
cout<<"\t!!点券不足 请充值后再购买!!"<<endl;
cout<<"\t 你目前的点券数目为:"<<Bonds<<endl;
}
else{
cout<<"\t确定要购买吗?"<<endl;
cout<<"\t购买后余额:"<<endl;
cout<<"\t "<<setw(10)<<Bonds<<endl;
cout<<"\t -"<<setw(9)<<10000<<endl;
cout<<"\t ----------"<<endl;
cout<<"\t "<<setw(10)<<Bonds-10000<<endl;
cout<<"\t①:是 ②:否"<<endl;
while(true){
cin>>a;
if(a==1||a==2){
if(a==1){
system("cls");
cout<<"[当前:通讯录>¥$商城$¥]"<<endl<<endl;
Bonds-=10000;
Membership_Level++;
cout<<"\t★★购买成功★★"<<endl;
cout<<"\t目前剩余点券:"<<Bonds<<endl;
}
else{
Market();
}
break;
}
else{
system("cls");
cout<<"[当前:通讯录>¥$商城$¥]"<<endl<<endl;
cout<<"※※无效输入 请重新输入!※※"<<endl<<endl;
}
}
}
}
break;
}
while(true){
cout<<"\t1:继续购买 2:返回主菜单"<<endl;
cin>>a;
if(a==1||a==2){
if(a==1){
Market();
}
else{
system("cls");
}
break;
}
else{
system("cls");
cout<<"[当前:通讯录>¥$商城$¥]"<<endl<<"点券:"<<Bonds<<endl<<endl;
cout<<"※※无效输入 请重新输入!※※"<<endl<<endl;
}
}
end:;
}
int main(){
if(Login==false)
Login_screen();
Book abs;//创建变量
abs.Size = 0;
int chose = 0;//用户的输入
while (true) {
Restore=abs.Size;
ShowMenu();//菜单调用
cin>>chose;
switch (chose) {
case 1://添加联系人
addPeson(&abs);//地址传递
break;
case 2://显示联系人
ShowPerson(&abs);
break;
case 3://删除联系人
DeletePerson(&abs);
break;
case 4://查找联系人
FindPerson(&abs);
break;
case 5://修改联系人
ModifyPerson(&abs);
break;
case 6://清空联系人
CleanPerson(&abs);
break;
case 7://充值中心
RechargeCenter();
break;
case 8://商城
Market();
break;
case 9://账户中心
AccountCenter();
break;
case 0://退出通讯录
system("cls");
cout<<endl<<"欢迎下次使用!"<<endl<<endl;
system("pause");
return 0;
default:
break;
}
}
system("pause");
return 0;
}
Loading…
Cancel
Save