C++회원 관리 프로그램 구현

7809 단어 C++회원 관리
본 논문 의 사례 는 C+회원 관리 절 차 를 실현 하 는 구체 적 인 코드 를 공유 하여 여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
단축 점 회원 들 의 간단 한 관리 절 차 를 설계 하 다.기본 요 구 는 다음 과 같다.
(1)인민폐 RMB 류 를 정의 하여 인민폐 의 기본 연산 과 표 시 를 실현 한다.
(2)회원 회원 류 를 정의 하고 회원 의 기본 정 보 를 나타 낸다.이 는 번호(회원 을 만 드 는 순서에 따라 자동 으로 생 성),이름,비밀번호,전화 등 을 포함한다.입력,출력 정보 등 기능 을 제공 합 니 다.
(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?" << '
' << "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:
"; 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; }
실행 결과:

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기