武漢理工大学のコンピュータの基礎とプログラミング実験—ネットカフェの課金管理システム(スーパー管理者の機能を拡張することを含む)
billing_file.h
billing_service.h
card_file.h
card_service.h
global.h
menu.h
model.h
monry_file.h
service.h
tool.h
ファイルのリンクはここに置いて、3つの小さいポイント、直接无駄に买い物をして100分全体のファイルはここでダウンロードします
#ifndef BILLING_FILE_H
#define BILLING_FILE_H //
#include"model.h"
int saveBilling(const Billing* pBilling,const char *pPath);
int addBilling(const char *pName,Billing *pBilling);
int readBilling(BillingNode *pBilling,const char *pPath);
int getBillingCount(const char *pPath);
int updateBilling(const Billing* pBilling, const char* pPath, int nIndex);
#endif
billing_service.h
#ifndef BILLING_SERVICE_H
#define BILLING_SERVICE_H
#include"model.h"
void initBillingList();
void releaseBillingList();
int getBilling();
BillingNode *GetBillList();
Billing* queryBilling(const char * pNmae,int* pIndex);
#endif
card_file.h
#ifndef CARD_SERVICE_H
#define CARD_SERVICE_H //
#include"model.h"
//
int saveCard(const Card* pCard, const char* pPath);
int readCard(Card* pCard, const char* pPath);
int updateCard(const Card* pCard, const char* pPath, int nIndex);
Card praseCard(char* pBuf);
int getCardCount(const char* pPath);
//
int saveCard_binary(const Card* pCard, const char* pPath);
int readCard_binary(Card* pCard, const char* pPath);
int getCardCount_binary(const char* pPath);
int updateCard_binary(const Card* pCard, const char* pPath, int nIndex);
#endif
card_service.h
#ifndef CARD_SERVICE_H
#define CARD_SERVICE_H //
#include"model.h"
int Addcard(Card card);
int getCard();
void ReleaseCardList();
int InitCardList();
int queryCard(const char* pName,Card **pcard);
Card *QueryCards(const char* pName, int* pIndex);
Card* AllCards(int* length);
int checkCard(const char* pName, const char* pPwd,int *pInfo,Card **p);
int AllMoney(Money *m);
#endif
global.h
#ifndef GLOBAL_H
#define GLOBAL_H
#define FALSE 0
#define TRUE 1
#define UNUSE 2
#define ENOUGHMONEY 3
#define CARDPATH "data\\card.txt"
#define CARDPATHBINARY "data\\card.ams"
#define BILLINGPATH "data\\billing.ams"
#define MONEYPATH "data\\money.ams"
#define CHARGEPATH "data\\charge.txt"
#endif
menu.h
#ifndef MENU_H
#define MENU_H //
void ExitSystem();
void addCard();
void outputMenu(); //
void mainMenu();
void manageMenu();
void logon();
void settle();
void addMoney();
void refundMoney();
void annul();
void collectInfo();
int delete_card();
void update_charge();
#endif
model.h
#ifndef MODEL_H
#define MODEL_H //
#include< time.h>
typedef struct Card
{
char Number[18]; //
char Password[8]; //
int Status; // (0 ,1 ,2 ,3 )
time_t Start; //
time_t End; //
float fTotalUse; //
time_t LastTime; //
int UseCount; //
float Balance; //
int Delete; // :0 ,1
}Card;
typedef struct CardNode
{
Card data; //
struct CardNode* next;//
}CardNode, * lpCardNode;
//
typedef struct Billing {
char aCardName[18]; //
time_t tStart; //
time_t tEnd; //
float fAmount; //
int nStatus; // ,0- ,1-
int nDel; // ,0- ,1-
}Billing;
typedef struct LogonInfo {
char aCardName[18]; //
time_t tLogon; //
float fBalance; // ;
}LogonInfo;
typedef struct BillingNode {
Billing data;
struct BillingNode *next;
}BillingNode,*lpBillingNode;
typedef struct SettleInfo {
char aCardName[18];
time_t tStart;
time_t tEnd;
float fAmount;
float fBalance;
}SettleInfo;
//
typedef struct Money {
char cardname[18];
time_t tTime;
int nStatus;// 0 1
float fMoney;
int nDel;// 0 1
}Money;
typedef struct MoneyInfo
{
char cardname[18];
float fMoney;
float fBalance;
}MoneyInfo;
#endif
monry_file.h
#ifndef MONEY_FILE_H
#define MONEY_FILE_H
#include"model.h"
int saveMoney(const Money *pmoney, const char * path);
int getMoneyCount_binary(const char* pPath);
#endif
service.h
#ifndef SERVICE_H
#define SERVICE_H
#include"model.h"
int doLogon(const char *pName,const char *pPwd,LogonInfo *pInfo);
int addCardInfo(Card card);
int queryCardInfo(const char *pName,Card **pcard);
void releaseList();
int doSettle(const char *pName,const char *pPwd,SettleInfo *pInfo);
int doAddMoney(const char *pName, const char *pPwd, MoneyInfo *moneyinfo);
int doRefoundMoney(const char *pName, const char *pPwd, MoneyInfo *moneyinfo);
double getAmount(time_t tStart);
int annulCard(Card *p);
int moneyRecord();
int CardRecord();
int billRecord();
#endif
tool.h
#include
void timeToString(time_t t, char* pBuf);
time_t stringToTime(char *pTime);
ファイルのリンクはここに置いて、3つの小さいポイント、直接无駄に买い物をして100分全体のファイルはここでダウンロードします