C++实现会员管理程序

本文实例为大家分享了C++实现会员管理程序的具体代码,供大家参考,具体内容如下

设计快捷店会员的简单管理程序。基本要求如下:

(1)定义人民币RMB类,实现人民币的基本运算和显示。

(2)定义会员member类,表示会员的基本信息,包括:编号(按建立会员的顺序自动生成),姓名,密码,电话。提供输入、输出信息等功能。

(3)由RMB类和member类共同派生一个会员卡memberCar类,提供新建会员、充值、消费和查询余额等功能。

(4)main函数定义一个memberCar类数组或链表,保存会员卡,模拟一个快捷店的会员卡管理功能,主要包括:

① 新建会员;

② 已有会员充值;

③ 已有会员消费(凭密码,不能透支);

④ 输出快捷店当前会员数,营业额(收、支情况)。

代码:

#include<iostream>

#include<String.h>

using namespace std;

class RMB{

int yuan,jiao,fen;

public:

RMB(int y=0,int j=0,int f=0){

yuan=y;

jiao=j;

fen=f;

}

RMB(double x)

{

int n = int((x + 0.005) * 100);

yuan = n / 100;

jiao = (n - yuan * 100) / 10;

fen = n % 10;

}

operator double()

{

return (yuan + jiao * 0.1 + fen * 0.01);

}

~RMB() {}

friend ostream & operator<<(ostream&output, const RMB&m){

output << m.yuan << "元" << m.jiao << "角" << m.fen << "分" << endl;

return output;

}

friend istream & operator>>(istream&input, RMB&m){

cout << "元:";

input >> m.yuan;

cout << "角:";

input >> m.jiao;

cout << "分:";

input >> m.fen;

return input;

}

};

class member{

public:

static int number;

char name[20],code[10], phoneNumber[12];

static int bianhao() { number++; return number; }

member(char*a,char*c,char*p){

strcpy(name,a);

strcpy(code,c);

strcpy(phoneNumber,p);

}

~member() {}

friend istream&operator>>(istream&input, member&A)

{

cout << "please input name: " << endl;

input >> A.name;

cout << "please input code: " << endl;

input >> A.code;

cout << "please input phone number : " << endl;

input >> A.phoneNumber;

return input;

}

friend ostream&operator<<(ostream&output, member&A)

{

output << "the information of member:" << endl;

output << "number" << '\t' << "name" << '\t' << "phone" << endl;

output << A.bianhao() << '\t' << A.name << '\t' << A.phoneNumber << endl;

return output;

}

};

int member::number=0;

class memberCar:public RMB,public member{

public:

RMB income, outcome, balance;

memberCar*next;

memberCar(char*a, char*c, char*p):member(a,c,p){

balance = 0;

income = 0;

outcome = 0;

}

~memberCar() {}

friend ostream&operator<<(ostream&output, const memberCar&A)

{

output << "the information of member:" << endl;

output << "number" << '\t' << "name" << '\t' << "phone" << '\t' << '\t' << "balance" << endl;

output << A.bianhao() << '\t' << A.name << '\t' << A.phoneNumber << '\t' << A.balance << endl;

return output;

}

void recharge()

{

cout << "How much do you want to recharge?" << '\n' << "please input the money : " << endl;

cin >> income;

balance =balance + income;

cout << "your balance : " << balance << endl;

}

void cost()

{

char y[10];

cout << "please input your code : " << endl;

cin >> y;

if (strncmp(code, y, 10)==0)

{

cout << "please input the money you cost : " << endl;

cin >> outcome;

if (outcome > balance)

{

cout << "your balance is not enough ! " << endl;

}

else

{

balance = balance - outcome;

cout << "your balance : "<< balance;

}

}

else

{

cout << "your code is wrong ! " << endl;

}

}

void query(){ cout << "your balance : " << balance; }

};

void AddFront(memberCar*&h, memberCar*&t)

{

t->next = h;

h = t;

}

void FindList(memberCar*head, int n = 2)

{

char s[20];

cout << "please input your name : " << endl;

cin >> s;

while (head)

{

if (strncmp(head->name, s, 20) == 0) {

switch (n)

{

case 2:

(*head).recharge();

break;

case 3:

(*head).cost();

break;

}

}

head = head->next;

}

}

void ShowList(memberCar*head)

{

int count = 0;

RMB I=0, O=0;

while (head)

{

count++;

I=I+head->income;

O = O + head->outcome;

head = head->next;

}

cout << "the number of member : " << count << endl;

cout << "the income of the store : " << I << endl;

cout << "the outcome of the store : " << O << endl;

cout << "turn-over of the store : " << (I - O) << endl;

}

int main()

{

int choice;

memberCar*head = NULL, *p;

do

{

cout << "please choice:\n";

cout << "1 : new member, 2 : recharge, 3 : purchase , 4 :output the number of member and turn-over,other number is over! " << endl;

cin >> choice;

switch (choice)

{

case 1:

{

cout << "input information of new member : " << endl;

char a[20],c[10],h[12];

cout << "please input name: " << endl;

cin>>a;

cout << "please input code: " << endl;

cin>>c;

cout << "please input phone number : " << endl;

cin>>h;

p = new memberCar(a, c, h);

AddFront(head, p);

cout << *p << endl;

break;

}

case 2:

{

FindList(head, 2);

break;

}

case 3:

{

FindList(head, 3);

break;

}

case 4:

{

ShowList(head);

break;

}

}

} while (choice);

return 0;

}

运行结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

以上是 C++实现会员管理程序 的全部内容, 来源链接: utcz.com/p/245383.html

回到顶部