免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

網(wǎng)吧計(jì)費(fèi)管理系統(tǒng)實(shí)戰(zhàn):C語言跨天計(jì)費(fèi)與權(quán)限設(shè)計(jì)全解析

網(wǎng)吧計(jì)費(fèi)管理系統(tǒng)實(shí)戰(zhàn):C語言跨天計(jì)費(fèi)與權(quán)限設(shè)計(jì)全解析 簡介作為武漢理工大學(xué)計(jì)算機(jī)基礎(chǔ)與編程實(shí)驗(yàn)課程資源這份“網(wǎng)吧計(jì)費(fèi)管理系統(tǒng)”項(xiàng)目包面向相關(guān)課程學(xué)生及初學(xué)管理信息系統(tǒng)開發(fā)的讀者解決網(wǎng)吧場景中上網(wǎng)時長控制、自動計(jì)費(fèi)、批量管理及運(yùn)營維護(hù)等實(shí)驗(yàn)課題并額外加入超級管理員功能使權(quán)限設(shè)計(jì)更貼近實(shí)際應(yīng)用。資源共325個文件壓縮包33.1MB主體為Visual Studio工程結(jié)構(gòu)包含C/C源文件c、h及其編譯產(chǎn)物obj、pdb、ipch、tlog、ilk同時保留exe、vcxproj等文件便于直接打開工程查看源碼、跟蹤編譯過程或運(yùn)行驗(yàn)證。目前已有3178人學(xué)習(xí)下載對需要理解網(wǎng)吧收費(fèi)流程、鏈表與文件操作等核心編程知識或希望基于現(xiàn)成代碼做界面與權(quán)限功能擴(kuò)展的讀者具有明顯參考價(jià)值。1. 網(wǎng)吧計(jì)費(fèi)管理系統(tǒng)課程實(shí)驗(yàn)里最容易被低估的計(jì)費(fèi)與權(quán)限設(shè)計(jì)我最初拿到“網(wǎng)吧計(jì)費(fèi)管理系統(tǒng)”這個課程實(shí)驗(yàn)題目時以為它簡單得就像一份簽到表記錄上機(jī)時間、下機(jī)收錢、再存?zhèn)€文件。真正動手才發(fā)現(xiàn)卡住人的從來不是“輸入賬號密碼”那一步而是跨天通宵怎么計(jì)費(fèi)、程序重啟后上機(jī)記錄怎么恢復(fù)、普通管理員和超級管理員的權(quán)限邊界劃在哪。這篇筆記就按最穩(wěn)妥的方案講C 語言控制臺程序加文本文件存儲把費(fèi)率策略、上機(jī)狀態(tài)機(jī)、登錄鑒權(quán)、超管擴(kuò)展和常見踩坑一次理清楚。適合正在做這個實(shí)驗(yàn)、或者想用同一個骨架改造成其他管理系統(tǒng)的人新手能照著敲熟手直接看第 5 章的坑就行。2. 計(jì)費(fèi)設(shè)計(jì)先立住費(fèi)率時段、數(shù)據(jù)結(jié)構(gòu)與上機(jī)狀態(tài)機(jī)2.1 費(fèi)率策略計(jì)費(fèi)單位、高峰時段與進(jìn)位方式怎么定計(jì)費(fèi)是網(wǎng)吧計(jì)費(fèi)管理系統(tǒng)的靈魂也是課程設(shè)計(jì)評分時最容易拉差距的地方。很多實(shí)現(xiàn)把費(fèi)率寫成一個固定數(shù)字比如“每分鐘一塊錢”演示時只能跑一種場景。實(shí)際做的時候我建議把費(fèi)率定義成多個“時段段”每個時段段包含四個要素時段名稱、起止時間、每分鐘價(jià)格、金額進(jìn)位方式。時段名稱起止時間費(fèi)率規(guī)則適用說明普通時段08:00 - 18:000.8 元/分鐘白天基本價(jià)格高峰時段18:00 - 22:001.2 元/分鐘晚間加價(jià)體現(xiàn)高峰策略通宵時段22:00 - 次日 08:000.5 元/分鐘跨天時段是實(shí)現(xiàn)的難點(diǎn)這里有兩個選擇要把理由說清楚。第一為什么用“分鐘單價(jià)”而不是“每小時單價(jià)”因?yàn)樯蠙C(jī)時長天然落到分鐘粒度用分鐘單價(jià)配合進(jìn)位策略賬單展示最直觀測試邊界也方便。第二金額進(jìn)位我一般用“向上取整到分”。四舍五入雖然數(shù)學(xué)上公平但訂單里可能出現(xiàn) 0.3000000004 這種浮點(diǎn)誤差金額演示時特別難看。向上取整符合網(wǎng)吧行業(yè)慣例也能把浮點(diǎn)計(jì)算的不確定性擋在門外。再說時段切換。真實(shí)系統(tǒng)里高峰時段和通宵時段經(jīng)常相鄰跨天計(jì)費(fèi)必須支持“一段上機(jī)時間跨多個費(fèi)率段”的情況。比如 17:50 上機(jī)、18:10 結(jié)賬前 10 分鐘按普通時段后 10 分鐘按高峰時段。如果費(fèi)率計(jì)算函數(shù)不支持這種分段累加后面接需求時每改一處就要重寫一遍核心邏輯。所以從最開始就把“計(jì)費(fèi) 多個時間片段的金額相加”這個模型立住后續(xù)所有功能都會順。2.2 數(shù)據(jù)結(jié)構(gòu)管理員、會員與上機(jī)記錄三張表數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)直接決定代碼能寫多長、后面擴(kuò)展好不好加。我常用的做法是拆成三張表管理員表、會員表、上機(jī)訂單表。管理員管理后臺登錄會員管理上機(jī)余額訂單管理每一次上機(jī)和結(jié)賬。三者用卡號或用戶名關(guān)聯(lián)不把字段堆在一個大結(jié)構(gòu)體里。typedef struct { char username[20]; // 登錄名 char passwd[64]; // 混淆后的口令不存明文 int role; // 1普通管理員 2超級管理員 int enabled; // 0禁用 1啟用 } Admin; typedef struct { char card_id[16]; // 會員卡號 char name[32]; float balance; // 賬戶余額 int status; // 0離線 1上機(jī)中 2暫停中 } Member; typedef struct { char order_id[24]; // 訂單號 char card_id[16]; char admin[20]; // 操作員賬號 time_t start_time; // 上機(jī)時間統(tǒng)一用 time_t time_t end_time; // 下機(jī)時間未結(jié)賬時為 0 float rate; // 費(fèi)率快照元/分鐘 int minutes; // 計(jì)費(fèi)分鐘數(shù) float amount; // 應(yīng)收金額 int state; // 0進(jìn)行中 1已結(jié)賬 } Order;幾個字段要特別說明。start_time和end_time用time_t而不是字符串是因?yàn)榭缣煊?jì)算必須做時間戳差值HH:MM字符串比較在跨天時會直接算錯。rate字段是費(fèi)率快照不是從全局費(fèi)率表臨時查的訂單生成那一刻把當(dāng)時的單價(jià)存下來之后改費(fèi)率不會影響歷史賬單這是后面擴(kuò)展超管“調(diào)價(jià)功能”的前提。state字段則是系統(tǒng)重啟恢復(fù)的基礎(chǔ)第 5 章會專門講它。會員表和訂單表通過card_id關(guān)聯(lián)管理員表和訂單表通過admin賬號關(guān)聯(lián)。這樣統(tǒng)計(jì)“某個管理員一天開了多少錢的單子”時掃一遍訂單表按admin分組即可不需要回查管理員表。2.3 上機(jī)狀態(tài)機(jī)上機(jī)、暫停、結(jié)賬的事件與邊界狀態(tài)機(jī)是這類型系統(tǒng)里最容易寫成一團(tuán)亂麻的部分。很多代碼用if (status 1) { ... } else if (status 2) { ... }到處散落判斷加一個“暫?!惫δ芫鸵钠甙颂?。正確做法是先定義狀態(tài)和事件的映射表再按表寫代碼。當(dāng)前狀態(tài)觸發(fā)事件下一狀態(tài)需要執(zhí)行的動作空閑管理員點(diǎn)擊上機(jī)上機(jī)中生成訂單state0記錄開始時間上機(jī)中會員臨時離開暫停中記錄暫停開始時間暫停期間不計(jì)費(fèi)暫停中會員回來上機(jī)中恢復(fù)計(jì)費(fèi)累加暫停時長用于展示上機(jī)中管理員結(jié)賬已結(jié)賬計(jì)算費(fèi)用寫訂單文件扣余額暫停中管理員強(qiáng)制結(jié)賬已結(jié)賬按暫停策略結(jié)算比如超過 30 分鐘自動結(jié)賬注意最后一行的“暫停超過 30 分鐘自動結(jié)賬”這是網(wǎng)吧真實(shí)場景里必須有的兜底邏輯。如果只做“暫停不計(jì)費(fèi)”而不做超時處理會員離開后機(jī)器會被一直占用演示時導(dǎo)師問一句“人走了機(jī)器空著怎么辦”就會卡住。實(shí)現(xiàn)上可以在訂單結(jié)構(gòu)體里加一個pause_start字段每次循環(huán)檢測或結(jié)賬時判斷暫停時長。把狀態(tài)機(jī)表畫清楚之后再寫代碼每個函數(shù)只處理“一個事件導(dǎo)致的一次狀態(tài)遷移”避免在菜單函數(shù)里堆邏輯。后面加功能時比如“會員自助換機(jī)”就只是在這個表里加一行新事件不會牽動核心計(jì)費(fèi)。3. 核心流程落地用 C 語言實(shí)現(xiàn)登錄、上機(jī)與結(jié)賬并落進(jìn)文件3.1 存儲選型為什么用文本文件而不是二進(jìn)制課程實(shí)驗(yàn)的數(shù)據(jù)量很小——哪怕模擬 100 個會員、每天 500 條訂單文本文件也就幾百 KB完全沒有性能壓力。所以存儲方案我選文本文件字段之間用|分隔每行一條記錄。這個選擇有三個實(shí)際理由一是出錯時可以打開文件直接看內(nèi)容定位問題二是助教檢查代碼時可以快速理解數(shù)據(jù)結(jié)構(gòu)評分友好三是文本格式不依賴編譯器對結(jié)構(gòu)體的內(nèi)存對齊換到機(jī)房電腦也能讀。二進(jìn)制整體讀寫最大的坑是結(jié)構(gòu)體 padding。sizeof(Order)在 32 位和 64 位編譯環(huán)境下結(jié)果不一樣直接fwrite(order, sizeof(order), 1, fp)寫出來的文件在自己機(jī)器上能讀拷到另一臺電腦上就亂碼。這種問題在答辯現(xiàn)場非常尷尬而且不好排查。文本文件逐字段讀寫雖然代碼多一點(diǎn)但換來的是穩(wěn)定和透明。// 寫入一條訂單字段之間用 | 分隔 void order_save(const Order *o) { FILE *fp fopen(orders.txt, a); if (fp NULL) return; fprintf(fp, %s|%s|%s|%lld|%lld|%.2f|%d|%.2f|%d\n, o-order_id, o-card_id, o-admin, (long long)o-start_time, (long long)o-end_time, o-rate, o-minutes, o-amount, o-state); fclose(fp); }fopen用追加模式a每次寫訂單都直接追加到文件末尾不覆蓋舊數(shù)據(jù)。time_t在輸出時強(qiáng)轉(zhuǎn)成long long是為了避免在 32 位環(huán)境下time_t被截?cái)喑?int 導(dǎo)致時間錯亂。讀取過程則是一行行fgets后用strtok按|切分再逐字段賦值給結(jié)構(gòu)體。3.2 登錄與權(quán)限校驗(yàn)口令混淆、次數(shù)限制與統(tǒng)一錯誤提示登錄模塊是管理后臺的入口代碼本身不難但有兩個細(xì)節(jié)值得認(rèn)真做口令不能明文存、登錄失敗要有統(tǒng)一提示。明文密碼的問題是演示時文件一打開所有賬號密碼全暴露了。課程實(shí)驗(yàn)不要求上正規(guī)哈希算法但至少做一層簡單的異或混淆防止被直接看到。void confuse(char *s) { unsigned char key 0x5A; while (*s) { *s *s ^ key; s; } } int login(Admin *cur) { char u[32], p[64]; printf(請輸入管理員賬號: ); scanf(%31s, u); printf(請輸入密碼: ); scanf(%63s, p); confuse(p); // 對輸入做相同混淆再與文件內(nèi)容比對 for (int i 0; i admin_cnt; i) { if (strcmp(admins[i].username, u) 0 strcmp(admins[i].passwd, p) 0) { if (admins[i].enabled 0) { printf(該賬號已被禁用\n); return 0; } *cur admins[i]; return 1; } } printf(賬號或密碼錯誤\n); return 0; }這里有個安全上的細(xì)節(jié)賬號不存在和密碼錯誤使用同一條提示信息“賬號或密碼錯誤”。如果區(qū)分成“賬號不存在”和“密碼錯誤”別人就能通過提示逐條試探出哪些賬號是有效的。課程設(shè)計(jì)里導(dǎo)師可能會問這個點(diǎn)統(tǒng)一提示是加分項(xiàng)。登錄次數(shù)限制也建議加上連續(xù)輸錯 3 次直接退出程序。實(shí)現(xiàn)方法是在main的登錄循環(huán)里記一個計(jì)數(shù)器login返回 0 時加一超過閾值就讓程序結(jié)束。這個機(jī)制不復(fù)雜但能體現(xiàn)“系統(tǒng)要考慮暴力破解”的意識。密碼混淆只是防瞟一眼真正的安全需要完整哈希和加鹽課堂作業(yè)不做但可以寫進(jìn)報(bào)告里的“擴(kuò)展展望”部分。3.3 計(jì)費(fèi)計(jì)算函數(shù)跨天分段與進(jìn)位取整的正確寫法計(jì)費(fèi)函數(shù)是整個系統(tǒng)最核心的代碼我見過太多實(shí)現(xiàn)直接把end_time - start_time除以 60 乘單價(jià)結(jié)果一到通宵時段就翻車??缣斓谋举|(zhì)是一段上機(jī)時間可能落入多個費(fèi)率段每個段要分別計(jì)價(jià)再相加。處理這個需求不需要寫“跨天特判”而是把費(fèi)率匹配和“跳到下一段邊界”做成兩個小函數(shù)循環(huán)累加即可。// 判斷某個時刻落在哪個費(fèi)率段 RateZone *find_zone(int h, int m, RateZone *z, int n) { int now h * 60 m; for (int i 0; i n; i) { int s z[i].start_h * 60 z[i].start_m; int e z[i].end_h * 60 z[i].end_m; if (s e) { // 不跨天的時段 if (now s now e) return z[i]; } else { // 跨天時段如 22:00-08:00 if (now s || now e) return z[i]; } } return NULL; } // 計(jì)算當(dāng)前時間的下一段邊界 time_t zone_end(time_t t, RateZone *z) { struct tm tm *localtime(t); tm.tm_hour z-end_h; tm.tm_min z-end_m; tm.tm_sec 0; return mktime(tm); } float calc_fee(time_t start, time_t end, RateZone *zones, int zone_cnt) { float total 0; time_t cur start; while (cur end) { struct tm *tm localtime(cur); RateZone *z find_zone(tm-tm_hour, tm-tm_min, zones, zone_cnt); if (z NULL) { cur 60; continue; } time_t stop zone_end(cur, z); if (stop end) stop end; int minutes (int)(stop - cur) / 60; total minutes * z-price; cur stop; } return ceilf(total * 100) / 100; // 分以上取整避免浮點(diǎn)尾差 }這段邏輯的關(guān)鍵在find_zone的跨天判斷當(dāng)結(jié)束小時小于開始小時時說明這個費(fèi)率段跨了午夜now s || now e這個條件能同時覆蓋“22 點(diǎn)到 24 點(diǎn)”和“0 點(diǎn)到 8 點(diǎn)”兩段。而zone_end直接設(shè)置結(jié)束時刻的tm_hour為end_h再交給mktime自動進(jìn)位。比如費(fèi)率段是 22:00 到 08:00zone_end算出的時間戳就是次日 08:00不需要手工判斷日期加一。calc_fee的循環(huán)每輪跳到一個費(fèi)率段的邊界一個訂單最多循環(huán)幾次不會出現(xiàn)性能問題。注意浮點(diǎn)誤差total是 float累加幾十次后可能出現(xiàn) 0.600000001 這種值最后用ceilf向上取整到分金額展示永遠(yuǎn)干凈。取整策略要和 2.1 節(jié)說的一致這里實(shí)現(xiàn)了“進(jìn)一取整”如果想改成四舍五入把ceilf換成roundf即可。4. 擴(kuò)展超級管理員從普通收銀到系統(tǒng)管理員的權(quán)限跨越4.1 權(quán)限邊界設(shè)計(jì)普通管理員與超級管理員各管什么很多同學(xué)做“擴(kuò)展超級管理員功能”只是多加一個用戶名登錄后界面一模一樣這等于沒有擴(kuò)展。真實(shí)的權(quán)限設(shè)計(jì)要把功能清單拆成兩層普通管理員負(fù)責(zé)日常營業(yè)操作超級管理員負(fù)責(zé)系統(tǒng)配置和數(shù)據(jù)安全。功能模塊普通管理員超級管理員會員開卡、充值和上機(jī)結(jié)賬可以可以查詢自己的操作記錄可以可以新增或刪除管理員賬號不可以可以修改費(fèi)率配置不可以可以查看全店?duì)I收統(tǒng)計(jì)不可以可以手工修正異常訂單不可以可以權(quán)限控制要在代碼里集中做不能每個菜單函數(shù)各寫各的。我一般抽一個公共函數(shù)int require(int need_role, const Admin *cur) { if (cur-role need_role) { printf(權(quán)限不足該操作需要%s權(quán)限\n, need_role ROLE_SUPER ? 超級管理員 : 管理員); return 0; } return 1; }每個需要權(quán)限的函數(shù)第一行都調(diào)用它。比如修改費(fèi)率函數(shù)里寫if (!require(ROLE_SUPER, cur)) return;這樣以后新增功能時只要照著這個模式加一行就不會出現(xiàn)漏校驗(yàn)的越權(quán)漏洞。演示時導(dǎo)師切到普通管理員賬號操作超管菜單看到“權(quán)限不足”提示這一步印象分就拿到了。4.2 營收統(tǒng)計(jì)按日期、按管理員維度匯總訂單營收統(tǒng)計(jì)是超管最有說服力的功能。訂單文件里每行是一條已結(jié)賬記錄要做的是按不同維度累加amount。課程實(shí)驗(yàn)規(guī)模小不需要建索引全量掃描一遍文件即可代碼更直接。void stat_daily_report(const char *date) { FILE *fp fopen(orders.txt, r); char line[256]; float total 0; int order_cnt 0; while (fgets(line, sizeof(line), fp)) { Order o; if (parse_order(line, o) 0) continue; char day[16]; strftime(day, sizeof(day), %Y-%m-%d, localtime(o.start_time)); if (strncmp(day, date, 10) ! 0) continue; total o.amount; order_cnt; } fclose(fp); printf(%s 共完成 %d 筆訂單營收 %.2f 元\n, date, order_cnt, total); }這里的parse_order是 3.1 節(jié)讀取函數(shù)的封裝把一行文本解析成Order結(jié)構(gòu)體。統(tǒng)計(jì)時有兩個細(xì)節(jié)一是只用已結(jié)賬即state 1的記錄進(jìn)行中的訂單金額還不確定不能計(jì)入二是按start_time轉(zhuǎn)出來的日期分組而不是按訂單號前綴分組因?yàn)橛唵翁柨缣鞎r前綴可能和實(shí)際日期不一致。如果想按操作員維度統(tǒng)計(jì)把分組鍵從日期改成o.admin循環(huán)里用strcmp匹配即可思路完全一樣。4.3 后臺維護(hù)管理員增刪、費(fèi)率調(diào)整與數(shù)據(jù)備份后臺維護(hù)功能里最容易出問題的是“刪除管理員”的邊界處理。至少要考慮兩條規(guī)則不能刪除當(dāng)前登錄賬號自己系統(tǒng)里至少要保留一個超級管理員。否則一個誤操作把所有超管賬號刪光整個系統(tǒng)就鎖死了。int delete_admin(const char *target, const Admin *cur) { if (strcmp(target, cur-username) 0) { printf(不能刪除當(dāng)前登錄賬號\n); return 0; } int super_cnt 0; for (int i 0; i admin_cnt; i) { if (admins[i].role ROLE_SUPER admins[i].enabled) super_cnt; } if (super_cnt 1 is_super(target)) { printf(系統(tǒng)至少保留一個超級管理員\n); return 0; } // 找到目標(biāo)賬號標(biāo)記 enabled 0 或者從文件移除 printf(管理員 %s 已刪除\n, target); return 1; }費(fèi)率調(diào)整是超管擴(kuò)展里最能體現(xiàn)“設(shè)計(jì)意識”的功能。實(shí)現(xiàn)上建議把費(fèi)率表放一個外部配置文件比如rate.conf程序啟動時讀取超管在程序里修改后寫回文件。這樣做的好處是演示時可以直接打開配置文件改價(jià)格再重啟程序看到新費(fèi)率生效比在程序里層層菜單操作直觀得多。數(shù)據(jù)備份實(shí)現(xiàn)也簡單就是把數(shù)據(jù)文件復(fù)制一份帶時間戳的副本void backup_data() { char name[64]; time_t now time(NULL); strftime(name, sizeof(name), backup_%Y%m%d_%H%M%S.bak, localtime(now)); FILE *src fopen(orders.txt, r); FILE *dst fopen(name, w); char ch; while ((ch fgetc(src)) ! EOF) fputc(ch, dst); fclose(src); fclose(dst); printf(備份完成: %s\n, name); }注意備份和恢復(fù)操作前要提示先關(guān)閉系統(tǒng)其他功能避免文件占用導(dǎo)致復(fù)制不完整?;謴?fù)操作更要把當(dāng)前數(shù)據(jù)文件先改名留底防止覆蓋錯。5. 避坑與排查計(jì)費(fèi)系統(tǒng)最容易翻車的 5 個細(xì)節(jié)5.1 跨天時間差算成負(fù)數(shù)現(xiàn)象通宵上機(jī)從 23:50 開始次日 01:20 結(jié)賬控制臺打出“結(jié)算時長 -1350 分鐘金額 -675.00 元”。原因代碼里把start_time和end_time存成了“HH:MM”格式的字符串跨天時 “01:20” 比 “23:50” 小字符串比較直接判定為負(fù)數(shù)?;蛘哂腥擞胕nt存time_t在 32 位環(huán)境時間戳溢出后計(jì)算混亂。解決從結(jié)構(gòu)體層面根除這個問題——時間字段一律用time_t存時間戳展示時才用localtime轉(zhuǎn)字符串。費(fèi)率計(jì)算用 3.3 節(jié)的calc_fee由find_zone處理跨天段匹配不要在業(yè)務(wù)代碼里手寫小時數(shù)比較。謹(jǐn)記一條血淚經(jīng)驗(yàn)時間計(jì)算只在時間戳層面做字符串只用于給人看。5.2 scanf 讀菜單導(dǎo)致死循環(huán)現(xiàn)象菜單輸入數(shù)字時誤敲了字母程序不是報(bào)錯退出而是像失控一樣瘋狂刷菜單刷到必須強(qiáng)制關(guān)窗口。原因scanf(%d, choice)遇到字母時匹配失敗請求的字符沒有被消費(fèi)殘留在輸入緩沖區(qū)里。下一次循環(huán)scanf又讀到同一個字母再次失敗形成“讀失敗、殘留、再讀同一個字符”的死循環(huán)。解決用fgets讀一行再解析而不是直接用scanf讀整數(shù)。char line[32]; fgets(line, sizeof(line), stdin); if (sscanf(line, %d, choice) ! 1) { printf(輸入無效請重新輸入\n); continue; }fgets會可靠消費(fèi)掉一整行輸入殘留問題從根上消失。這個坑幾乎每個做控制臺課程設(shè)計(jì)的人都會踩一次提前處理能省下大量調(diào)試時間。5.3 刪除超管時把自己的賬號刪了現(xiàn)象超管想清理一個離職同事的賬號測試時順手把自己賬號刪了退出登錄后整個系統(tǒng)沒有超管可進(jìn)后臺徹底鎖死。原因刪除函數(shù)只對比了用戶名沒有檢查“被刪對象是不是當(dāng)前登錄者”和“系統(tǒng)是否還有別的超管”。這個問題平時不觸發(fā)一觸發(fā)就是事故現(xiàn)場。解決刪除前做兩層校驗(yàn)——先比對strcmp(target, cur-username)不允許刪自己再統(tǒng)計(jì)剩余啟用超管數(shù)量小于等于 1 時禁止刪除。這個邏輯在 4.3 節(jié)已經(jīng)給出完整實(shí)現(xiàn)核心是把這個邊界當(dāng)成功能需求來對待而不是碰運(yùn)氣的檢查。5.4 程序重啟后所有機(jī)位全部變成空閑現(xiàn)象有會員正在上機(jī)程序因斷電退出重啟后機(jī)位表顯示全部空閑但晚上對賬發(fā)現(xiàn)少收錢。原因上機(jī)狀態(tài)只存在內(nèi)存里的結(jié)構(gòu)體數(shù)組中沒有及時落盤。正常結(jié)賬時會寫訂單文件但“上機(jī)中”這個狀態(tài)沒有獨(dú)立持久化異常退出時內(nèi)存數(shù)據(jù)全丟。解決上機(jī)動作發(fā)生時立即把訂單寫入文件state字段置 0 表示進(jìn)行中程序啟動時掃描訂單文件把所有state 0的記錄重新加載到機(jī)位表上恢復(fù)營業(yè)現(xiàn)場。這個恢復(fù)函數(shù)放在 6.2 節(jié)具體講它是整個系統(tǒng)健壯性的關(guān)鍵一環(huán)。5.5 二進(jìn)制結(jié)構(gòu)體直寫文件換機(jī)器就亂碼現(xiàn)象在自己電腦上運(yùn)行正??截惖綄?shí)驗(yàn)室電腦后打開數(shù)據(jù)文件訂單金額變成天文數(shù)字會員余額也亂套。原因直接在代碼里fwrite(order, sizeof(order), 1, fp)把結(jié)構(gòu)體內(nèi)存塊原樣寫入文件。不同編譯器、不同對齊選項(xiàng)下sizeof不一樣結(jié)構(gòu)體內(nèi)部的 padding 字節(jié)在不同環(huán)境可能寫入垃圾值換機(jī)器讀回時字段錯位。解決放棄二進(jìn)制整體讀寫統(tǒng)一用文本格式逐字段讀寫字段間用|分隔。課程實(shí)驗(yàn)的數(shù)據(jù)量完全不需要二進(jìn)制文件的性能和體積優(yōu)勢而文本文件的可讀性和跨平臺穩(wěn)定性是實(shí)打?qū)嵉氖找?。代碼實(shí)現(xiàn)就是 3.1 節(jié)的order_save和配套的parse_order讀取函數(shù)。6. 進(jìn)階把實(shí)驗(yàn)從“能跑”做到“敢答辯”的驗(yàn)證與加分項(xiàng)6.1 測試用例清單先想清楚怎么才算驗(yàn)證通過寫代碼之前先列測試用例是答辯時敢說“系統(tǒng)經(jīng)過驗(yàn)證”的底氣。下表是我做這個實(shí)驗(yàn)時用的最小測試集覆蓋正常流程和邊界場景。用例編號測試場景操作步驟預(yù)期結(jié)果T01正常上機(jī)結(jié)賬普通時段上機(jī) 30 分鐘后結(jié)賬金額 30 × 0.8 24 元T02跨時段計(jì)費(fèi)17:50 上機(jī)18:10 結(jié)賬前 10 分鐘普通檔后 10 分鐘高峰檔T03跨天通宵23:50 上機(jī)次日 01:20 結(jié)賬全部按通宵檔 0.5 元/分鐘計(jì)費(fèi)T04余額不足結(jié)賬把會員余額改成 1 元模擬上機(jī) 2 小時系統(tǒng)提示余額不足拒絕下機(jī)或允許賒欠標(biāo)記T05權(quán)限越權(quán)普通管理員操作超管菜單提示“權(quán)限不足”功能不可用T06暫停超時暫停 31 分鐘后點(diǎn)恢復(fù)系統(tǒng)提示已自動結(jié)賬每個用例都要在代碼里跑一遍并把實(shí)際輸出和預(yù)期結(jié)果寫進(jìn)實(shí)驗(yàn)報(bào)告。T03 是最容易翻車的用例如果calc_fee寫對了跨天用例和普通用例共用同一套代碼路徑不需要單獨(dú)寫分支。6.2 兩個藏加分點(diǎn)啟動恢復(fù)與外部費(fèi)率文件啟動恢復(fù)函數(shù)state_recover是我強(qiáng)烈建議加的功能。它的職責(zé)很單純程序啟動時打開訂單文件把所有state 0的記錄讀入內(nèi)存按機(jī)器號恢復(fù)機(jī)位狀態(tài)。void state_recover() { FILE *fp fopen(orders.txt, r); char line[256]; while (fgets(line, sizeof(line), fp)) { Order o; if (!parse_order(line, o)) continue; if (o.state 0) { // 進(jìn)行中的訂單 seat_set_busy(o.card_id, o.start_time); } } fclose(fp); }這個函數(shù)的妙處在于它讓“斷電恢復(fù)”從一句空話變成可演示的功能。答辯時可以現(xiàn)場故意模擬異常退出——先讓一個會員上機(jī)再強(qiáng)制結(jié)束進(jìn)程重新啟動后看到機(jī)位自動恢復(fù)占用狀態(tài)。這個動作比任何口頭解釋“系統(tǒng)會保存狀態(tài)”都有說服力。配合的外部費(fèi)率配置文件則讓調(diào)價(jià)演示變得干凈打開rate.conf把高峰時段價(jià)格改成 1.5重啟程序新訂單按新價(jià)計(jì)費(fèi)歷史賬單金額不受影響因?yàn)橘M(fèi)率快照已經(jīng)存在每條訂單里。我最近一次幫朋友改這類實(shí)驗(yàn)最大的體會是這個題目拿高分的核心不在代碼量而在邊界處理。把跨天計(jì)費(fèi)、狀態(tài)恢復(fù)、權(quán)限邊界這三個點(diǎn)做扎實(shí)整個系統(tǒng)的完成度一下就和普通版本拉開差距。如果你打算自行練手建議按這個順序推進(jìn)——先定結(jié)構(gòu)體和狀態(tài)機(jī)再寫計(jì)費(fèi)函數(shù)最后補(bǔ)超管擴(kuò)展別一上來就寫菜單循環(huán)。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
无码啪啪| 五月丁香婷婷99| 色欲天天综合| 婷婷色五月噜噜| 国产黄色大片| 亚州在线中文字幕| 99久久综合| 人人爱人人摸人人澡| 婷婷色情网| 久草热8精品视频在线观看| 99久久er| 天天色综合综合| 在线中文字幕av| 大香蕉在线99热| 亚洲av免费在线| 五月天玖玖狠狠色色| 97自拍视频在线| 一级片无码| 五月婷婷婷婷| 思思热精品在线视频| 国产精品蜜臀99| 天天色月| 亚洲精品色色| 综合五月草| 九九偷拍网| 福利视频在线播放| 农村熟妇高潮精品A片| 99热青青草| 欧美日本一区二区三区| 另类激情五月| 丁香婷婷视频一区二区| 婷婷综合五月天亚洲综合| 丁香六月婷婷激情综合| 亚洲五月丁香综合网| 五月婷婷久久久久| 99热最新精品| 秋霞免费三级片| 五月丁香六月激情综合| 国产67194| 人人妻人人澡人人爽| 丁香激情综合| 成人国产网| 国产亚洲成AV人片在线观黄桃| 色色色婷婷五月天| 色婷婷丁香五月| 色五月天丁香| 婷婷在线精品| AV亚洲在线| 色色网站毛片| 婷婷人妻激情| 久久99精品视频| 欧洲亚洲免费视频9| 伊人久久大香线蕉综合网站| 秋霞A V毛片| www.色婷婷.com| 五月丁香久久色| 热996精品在线观看| 色99久草在线| 超碰日日操| 婷婷五月综合网| 日本高清久| 99九九视频| 丁香婷婷色色| 日本婷婷丁香五月| 五月播播| 久久伊人五月天| 丁香五月影院| 亚洲第二AV| 亚洲欧洲小视频9| 99碰在线视频| 99热情这里只有精品在线播放| 五月婷网| 这里只有精品免费观看网占| 超碰日日操| 婷婷色网| 91色色色视频| 99亚洲精品视频在线观看| 人妻自慰在线| 婷婷八月丁香激情综合| 五月丁香网站| 欧美三级级99久久| 色播播之激情五月婷婷| 五月激情小说| www.婷婷com| 超碰精品国产首页| 五月激情视频网| 色五月婷婷啪啪五月| 天天日,天天插| 亚洲av成人在线| 99热这里只有精品3| 国产肥白大熟妇BBBB视频| www.com在线操视频免费观看| 五月五月婷婷| 精品九九视频在线观看| 女同激情久久av久久| 色婷婷五月综合| 中文超碰视在线| 九九这里是免费的视频5| 97色色-99久久| 四月婷婷丁香| 亚洲无AV在线中文字幕| 婷婷97碰碰| 日本va网站| 26UUU欧美| 最新色色五月天| 丁香 亚洲 久久| 六月激情综合| 九九青草热| 婷婷性爱| 精品99视频| www久| 99热这里有精品| 不卡在线超碰| 九九视频精品这里只有| 思思热久久婷婷五月天| 影音先锋女人AA鲁色资源| 在线观看日韩12345区| 99精品在线观看视频| 激情美女五月天| 激情五月天婷婷在线网址发给我| 丁香情色五月| 五月激情综合五月| 国产 码在线成人网站| 五月天婷婷丁香花| 天天爽夜夜操| 五月婷av| 欧美日韩aaaa| 丁香亚洲色综合| 五月丁色AV| 丁香五月天婷婷中文字幕| 老师的粉嫩小又紧水又多A片视频| 色婷婷五月天偷拍| 婷婷久久免费| www99久久| 国产精品视频久久99| 久久激情综合| 99热 免费| 久久综合九九| 永久无码色| 99碰网站| 99热99色| 99这里有精品| 色播五月丁香综合| 日日操夜夜擼| 欧美3AaAa大片| 国产欧美精品AAAAAA片| 啪啪激情网站| 天啪天啪天啪天啪| 五月丁香六月婷婷网| 成人av在线网| 日本五月婷| 久久五月丁香综合| 五月六月伦理| 久久久18| 天天日天天爽| 国产一级婬片毛片| 伊人激情网| 九九九九这里只有精品| 亚洲色图81p| 五月丁香六月婷婷综合网站| 激情久久丁香| 五月婷婷六月丁香综合在线| 色婷婷五月基地在线| 丁香激情五月天| 人人爱操| 亚洲综合网在线| 久久有码| 婷婷综合影院| 激情网五月天| 丁香婷婷视频一区二区| 五月激情射| 偷拍91九色| 在线播放成人网站| 99婷五月| 97碰久久| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 婷婷五月天激情亚洲小说| 精品一二三区久久AAA片| 99热99思午夜精品| 99干在线| 国产一级片| 亚洲精品网站色视频| 99精品在线播放| 一本道综合网| 丁香婷婷五月六月久久| 婷婷综合性爱网| 婷婷狠狠色| www99在线观看视频| 婷婷色影院| 六月丁香婷婷综合色播| 97艹| 青青草国产亚洲精品久久| 色色 9| 色色婷婷色色| 亚洲第一成人无码A片| 丁香五月婷婷骚视屏| 免费操超碰| 超碰精品在线| 这里只有精品在线视频在线观看| 99久久丝| 爽极品色| 成人在线免费网址| 精品国产AV色一区二区深夜久久| 五月天播播中文字幕| 大香蕉久久| 东京热五月婷婷| 久久在线大香蕉| 天堂爱爱| 亚洲激情av| 欧美 色婷婷| 丁香五月在线自慰| 婷婷五月草| 五月天综合缴情网网站0| 九九爱激情| 国产精品久久..4399| 六月婷五月丁香| 色五月婷婷自拍| 99热伊人| 538在线精品| 亚洲夜夜操| 99惹在线精品免费观看| 啪啪综合| 日本WWW九九九| 国自产拍偷拍精品啪啪一区二区| 99在线小视频| 玖玖爱综合网| 99久久精品国产色欲| 狠狠色丁香婷婷基地| 秋霞AV淫| A在线观看| 日韩AV免费电影在线播放| 久久婷婷五月综合色奶水99啪| 婷婷在线网| 9久久久久久久久久久| 婷婷五月精品中文字幕| www,婷婷五月天777me,com| 大香蕉七区| 九热网站| 一区二区无码视频| 免费无码毛片一区二区A片| 日韩AAAAAAAAAAA片| 婷婷五月丁香在线观看| 人人草成人视频| 九热久| 激婷网| 99综合免费视频| 色婷婷五月天视频在线| 色丁香五月天婷婷| 丁香五月亚综合图片| 综合欧美五月婷婷| 五月婷婷干干干| 天天综合91入口| 国外亚洲成AV人片在线观看| 极品人妻VIDEOSSS人妻| 亚洲乱码日产精品BD| 99精品久久久| 五月天婷婷激情在线色图| 99视频| 99久久6| 国产无套精品一区二区| 五月婷婷六月情| www激情com| 国产精品久久7777777精品无码| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 婷婷丁香五月,狠狠综合| 婷婷九月激情| 性99网站| 久9热视频| 激情图片婷婷丁香五月| 久久女婷| 婷婷99视频在线| 91狼友视频在线观看| 99久久综合狠狠综合久久| 三级av在线| 日韩久久系列| 91综合在线视频| 久久九九玖玖| 色亚洲视频| 99色视频在线观看| 九九色色| 风流少妇A片一区二区蜜桃| 丁香五月天AV在线 | 狠狠摸狠狠摸| 亚洲日韩一页精品发布| 成人精品网站在线观看| 级情九色| 99精品在线下载| 丁香五月停停av| 这里只有精彩视频| 五月婷婷激情网| 国产首页在线| 色色五月婷婷| 激情五月丁香六月综合AVXXXX| 色色婷婷丁香五月天| 青草激情综合| 久久一级免费黄色片| 色婷婷a v| 色五月天中文字幕| 能看的av| 成人婷婷色综合| 99.N在线视频| 五月色欧美| 丁香五月婷婷五月天| 五月激情在线| 九月婷婷综合网| 综合五月草| 婷婷丁香五月综合激情小说| 天天综合网站| 国产老熟妇亲子乱对白| 婷婷伊人五月| 五月丁香综合激情| 久久9999| 美英法精品无码免费视频| 最新av在线观看| 婷婷99狠狠躁天天久久久九九九| 五月婷亚洲精品AV天堂| 五月丁香777| 天天操婷婷| 色婷婷人人| 热99精品视频在线观看| 国产9色在线/日韩| 亚洲av无码影院| 再次出发二| 婷婷性福五月天| 亚洲成av人影院| 182TV大香蕉| 六月丁香婷婷天堂| 六月婷婷综合| 99自拍视频在线观看| 久热A| 色五月天婷婷| 91无码视频| 思思热国产在线| 色色激情五月天| 五月婷啪| 日韩色五月| 婷婷干六月综合旧址| 婷婷六月色丁香视频在线观看| 婷婷人人操| 色在线免费观看| www.国产亚洲69ty.久久久久久久久久久久 | 久久精品五月天| 五月天开心激情综合网| 亚洲视频在线网| 欧美毛片www| 激情AV| 中文字幕在线资源| 色色色国产| 人妻在线网站| 久久丁香五月天| 91九九九色在| 五月天综合影院| 国产亚洲精品久久久久久久久动漫| 婷婷的99视频网站| 大香蕉久操| 偷偷操99| 久久资源网五月婷| 色综合激情| 婷婷久久五月天丁香| 91九色在线观看免费| 涩涩婷婷五月| 亚洲天堂玖玖| 国产97色在线 | 日韩| 超级碰碰视频无码| 久久超级碰碰| 婷婷99狠狠| 五月婷婷综合网| 久99热| 这里只有精彩视频| 99在线视频在线观看| 99久久国产宗和精品1上映| 欧美久草在线日本一级特黄大片做受9在线观看韩国电影《两个女人》未删减-毛片 | 色哟呦av| 99视频在线精品| 99色在线观看视频| 色爱亚洲| 影音先锋 91工厂| 日日躁夜夜躁狠狠久久AV| 天天爽—爽| 大香蕉220| 天天干com| 四季AV综合网| 久热9| 美女婷婷六月色| av网址在线播放| 色色色色av色色色色| 射琪琪| 国产成人综合在线| 天天综合天天做天天综合| 亚洲亚洲人成综合网络| 精品丁香五月天在线播放| 色婷婷超碰| 色999亚洲人成色| 深爱激情四射| 九九青草热| 五月香婷婷| 日日干日日s| 丁香五月停停av| 色久影院| 中出内射的人妻视频| 五月婷婷色啪| 97色干在线观看| 激情婷婷五月| 亚洲激情丁香五月基地| 视频一二区| 桃色五月天| 国产无套精品一区二区| 夜夜骑日日操| 亚洲99在线| 狠狠色婷婷| 色婷婷五月视频| 国产成人网| 久99久视频精品| 91视频五月丁香| 伊人五月天日日夜夜久久久天天| 丁香狠狠操| 婷婷久久综合久| 婷婷五月av| 这里只有精彩小视频视频网站| 一本色道久久综合狠狠躁一二三| 色色网站| 午夜丁香综合婷婷| 亚洲婷婷激情五月天| 一逼色综合| 九色综合五月天婷五月| 北京熟妇搡BBBB搡BBBB| 日夜操B| 五月丁香婷在线| 99色婷婷视频| 热99精品视频| 99免费青青蜜臀| 成人精品一区日本无码网| 欧美色97| 日本色五月婷婷| 国产精品色一哟哟| 情欲综合网| 91黄操| 欧美日韩国产一二区| 五月激情小说| 91狠狠综合久久久久久| 在线成人视频免费| 99热地址| 丁香五月天狠狠| 午夜精品777| 六月婷婷成人| 婷婷 久综合| 久久久久久久97| 啪啪五月综合| 丁香五月WWW| 亚韩精品视频1区| 国产av天堂| 激情五月丁香五月| 99热6这里只有精品| 丁香九月综合| 色色五月婷| 99在线资源| 播五月丁香三月婷婷| 色狠狠色噜噜噜a天堂一区| 婷婷五月天色丁香| 99re这里只有精品国产99| 成人国产综合| 色噜噜狠狠色综合日日| 嫩草AV久久伊人妇女超级A| 综合网啪啪| av在线观看网站| 非洲一级AV| 婷婷色吧| 狠狠爱综合网| 五月熟妇婷婷久久| 性爱综合网| 亚洲中文字幕av| 五月丁香六月婷婷成人| 激情综合网址| 欧美操人| 五月丁香婷婷无码A∨| 成人日韩欧美| www.lchjjc.com| 黄色国久久| 久久大香蕉丁香| 久久这里只有精品视频15| 狠狠噪| 久久曰9| .肏屄视频一区二区| 色色综合热| 色五月偷偷| 99日本在线| 天天激情5月天亚洲| 金桔一区二区ab地址| 色色色精品无码区| 五月丁香婷婷开心| 久久婷婷网| 婷婷五月天网| 色域五月丁香| 另类图片色五月| Av性爱网站| 天天舔天天摸天天透| 精a品a| 天天爽天天| 五月天综合婷婷| 九九综合久久| 丁香社92视频| 蜜桃婷婷五月| 99热精品中文字幕| 可以免费观看的av| 免费播放AV| 97视频91| 婷婷丁香综合成人| av九九| 中国女人做爰A片| 丁香九色不卡aaa| 4399亚洲视频| 久久这里只有国产视频| 色五月91| 无码AV大香线蕉伊人| 超碰色色综合| 丁香婷婷六月激情综合| 婷婷99狠狠躁天天躁| 日本91在线播放| 久久久久8888| 综合激情网激情五月。| 婷婷社区五月天| 五月色情婷婷| 国产va在线视频| 色五月婷婷老师| 99ER热精品视频| 五月间天堂综合| 激情五月天之六月婷婷| 成人片在线播放| 狠狠色婷| 五五月五月| 日韩成人AV在线| 欧美日韩国产成人在线| WwW天天干| 丁香激情网| 色99久草在线| 乱抡小BB| 99天堂网| 99re热精品在线视频| www.日日夜夜.com| 岛国在线观看91| 色五月天影视| 激情五月天视频| 99热 在线播放| 婷婷五月天熟妇| 第五色婷婷| 99九九在线视频| 这里只有精品免费观看网占| 在线播放人妻| 丁香五月综合图片在线观看| 婷婷俺去也| 亚洲人妻Av| 久久激情五月婷婷| 婷婷五月六月丁香| 开心激情网五月| 黄色中文字目| 久久96热| 五月婷婷伊| 5月婷婷六月丁香| 激情五月天婷婷| 亚洲AV成人片无码网站| 人妻av在线| 99玖玖免费视频| 色婷婷激情四射视频| 日韩成人电泉AV| 亚洲国产色色| 激情网色五月| 婷婷深爱五月天| 9热在线视频| 色婷婷五月在线| 久久香视频| 天天日,天天插| 五月 婷 久| 99成人精品视频| WWW.五月com| 深爱五月网| 色综合色综合色综合| Www,五月天| av超碰在线| 久久五月天综合| 久草a片| 一区二区免费看| 丁香久久综合| 久久人人妻| 亚洲激情无码久久| 蜜桃婷婷丁香综合久久开心亚洲| 五月天婷婷人妻| 伊人丁香五月婷婷潮吹| 综合性爱网| 五月婷婷欧美| 亚洲妇女熟BBW| 五月天激情网页| 99热观看| 午夜婷婷| 99人人操人人摸| 亚洲激情| 开心激情站| 丁香婷婷啪啪啪| 婷婷色六月| 武则天精品久久| 天天肏屄夜夜爽| 婷婷在线中文字幕| 国产综合婷婷| 激情五月丁香综合蜜桃| 久久99久久99www| 91丨九色丨熟女丰满| 色,激情五月天| 天海翼中文字幕高| 色99自拍| www,婷婷五月天,com| 色婷婷AⅤ| 亚洲精品大片| 色欲久久久久| 香蕉综合网| 成人AV在线中文版| 99色色网| 操人妻视频91| 成人操呦av| 噜噜五月天综合| 婷婷六月综合激情| 五月激情六月综合| 99热在这里只有免费精品| 五月综合激情图片 | 综合视频久久| 97韩国久久电影院| 99久热这里只有精品视频删减版| 激情五月天婷婷丁香| 91碰碰| 色婷婷久久综合丁香五月| 久99久视频| www.91AV.com| 婷婷六月天| 99热在线观看| 丁香五月色欲| 综合激情五月丁香| 久久久激情| 久操大屁股女人av| 操逼五月婷婷| 极品少妇XXXX精品少妇偷拍| 亚洲六月色婷婷| 六月丁香激情婷婷| 婷婷色色综合激情| 日本91在线| 色综合色婷色基地| 亚洲AV久久久久久久久久久久久久久久| 99视频精品| 色婷婷亚洲六月婷婷中文字幕| 一区二区三区四区五区| 玖热精品综合视频| 久久婷婷婷| 毛v一区二区视频| 日本色色影片| 国产精品日本一区二区在线播放| 亚洲五月天婷婷| 五月天丁香成人社| 九九热最新视频| 五月丁香欧美在线| 99精品爱| 五月婷婷婷婷婷婷艺术| 亚洲综合网激情五月天| 开心久久xxx色| 婷婷天堂综合| 超碰日日操| 狠狠爱婷婷丁香| 99热久久日本| 亚洲成人无码免费| 成人片在线免费看| 五月丁香888| 中文在线视频久9| 在线一起草av| 五月天婷婷激情四射综合| 九热网站| 色综合久久8| 99热色综合| 色约约视频一区二区三区四区五区| 日韩AV在线影片| co超碰在线观看| 五月天丁香婷婷网| 婷婷五月丁香四射| 一区二区乱视频码| 大香蕉人人人| 婷婷午夜精品久久久| 丁香六月啪啪啪| 九九色99| 九九热这里有精品23| 日日色五月天| 精品人妻久久久久久久| www99热| 色五月av| 亚洲中文字幕网| 激情五月天网站| 嫩BBB搡BBBB榛BBBB| 亚洲黄网AV| 五月丁香婷婷狠狠操| 激情婷婷视频在线| 色综合激情| 色色99色色| 五月婷婷深爱六月| 色色色热| 色噜噜狠狠一区二区三区| 亚洲午夜AV| 久久婷婷六月综合国际| 五月婷婷日本| 美女天天久久| 人妻VideOssS人妻高清| XX久久| 99碰碰| 五月婷婷很很色| 久久亚洲天堂| 婷婷丁香视频在线观看免费| 色小说五月婷婷| 五月婷丁香| 99视频只有精品| 六月婷综合| 日韩精品一区二区亚洲AV观看| 激情久久久| 五月婷六月天| 色999五月色| 不卡在线视频| 97色久| 五月婷婷免费| 91一起操| 4438全国最大视频成人网站在线观看| 91精品无码| 婷婷五月天激情AV影院| 色婷婷操逼| 8050一级网| 九九久久五月天综合伊人| 色婷婷色情| 国产99久久久| 丁香五月婷婷综合激情啪啪啪| 五月丁香 啪啪| 婷婷五月天激情影片| 久草大| 丁香婷婷浪潮AV久久综合| 婷婷伊人中文字幕| 色亭亭五月天丁香综合AV - 百度 - 百度| 色偷偷综合| 69综合在线| 六月婷婷狠狠做| 久久xxxx| 人妻激情视频| 欧洲第一久色| 婷婷五月天成人| 成人婷婷| 日狠狠| 婷婷五月丁香图片人人操| 免费观看亚洲AV片| 99综合网| 九九99视频精品| 丁香伊人激情| 99热只有| 色五月综合激情| 五月性色| 丁香六月天婷婷| 天天干天天干天天干天天干天天干天天| 九月综合| 嫩草视频观看| 成人五月天视频| 色婷婷香蕉在线| 婷婷六月丁香久| 丁香五月色| 久久精品4| 99人妻碰碰碰久久久久视| 天天日P天天射P| 26UUU精品一区二区c〇m| 99热免费| a色色片| 丁香五月激情综合| 97九色| 激情久久肏屄视频| 国产熟女大叫受不了| 国产色色视频| 99免费在线视频| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 婷婷酒色网| 99爱免费视频| 夜色.cnm| 婷婷天天婷婷天天澡| 婷婷日本色| 丁香五月天AV| 色涩影院六月丁香| 天天干天天做| av在线观看网站| 五月天堂婷婷| 少妇激情基地| 99久久婷婷国产综合精品草原| 精品视频这里只有精品| 色色无码| 色999五月色| 91九色最新视频| 人人做天天爱| 久久五月天激情婷婷| 99久视频| 亚洲国产成人综合| 天天日天天操心| 成人久久天天x资源站| 少妇性按摩无码中文A片| 色情激情五月| 日本九九九九九九| 色婷婷六月天| 这里只有精品视频在线观看免费| 久久AAAA片一区二区| 六月五月婷婷| 日本操片| 婷婷五月影院| 日韩成人精品一区久久久久| 十二区无码| 欧美影院| 五月丁香综合啪啪啪啪啪| 双性美人被调教到喷水A片| 99视频一区| 五月丁香婷婷婷激情爱爱| 日本久久婷| 婷婷AV丁香| 99re久热| 五月婷婷综合网| 丁香久久五月天视频在线观看 | 久久久久综合激动五月天| 99操九九网| 天天综合五月| 五月情综合| www色婷婷com| 久热91| 婷婷色基地| 91啪啪视频| 97碰碰叉| 欧美99热| 天天干天天叉| 久久婷婷视频| 久久99草五月婷婷| 天天干天干| 五月丁香六月婷婷网站| 色婷丁香| 91免费试看| 丁香五月手机在线| 激情小说视频图片| 开心 五月 综合| 色婷婷啪啪| 婷婷爱五月| 超碰国产AV| 99这里只有精品在线| 久热超碰91| 丁香五月花影院| 97色久| 亚洲夜夜操| 丁香六月婷月91婷月| 热婷婷在线视频| 久久婷婷五月天| 激情五月天综合网| 精品99只有。| 丁香色五月婷婷17C| 色婷婷无吗| 思思久久99热只有频精品66| 日本一级特黄大片AAAAA级| 丁香五月天激情综合网| 99超级碰免费视频| 91久久九色| 天天日天天肏天天奸| 五月婷婷中文| 丁香色成人| 婷婷五月天在线综合| 亚洲婷婷月丁香五月| av在线观看网站| 五月丁香婷婷色播无码| 无码成人AAAAA毛片AI换脸| 亚洲精品无码久久| 日日干日日| 五月婷婷色激情| www.人人操人人看人人想人人摸 人人人人操,COM | 一级二级色大片| 色99欧洲色19| 99精品在线下载| 99视频久久免费视频| 91色婷婷综合久久中文字幕二区| 婷婷久久18| 婷婷六久久| 伊人网色婷婷五月天| 精品夜夜澡人妻无码AV| 99色在线视频| 激情婷婷五月| 涩五月婷婷| 成人AV在线电影| 91在线日| 色欲天天综合网| 草草操操| 婷婷色中文字幕| 五月丁香欧美综合| 91九色丨国产丨爆乳| 激情第四色| 99在线视频免费| 九九综合| 99色色| 天天射美女| 色欲婷婷五月天| 日本久久综合| 99热这里只有精品2| 亚洲五月婷| 五月丁香啪| www.久热| EEUSS鲁片一区二区三区| 少妇人妻人伦A片| 国产精品a无线| 99久久66综合| 五月丁香婷婷激情图片| 亚洲AV日韩AV永久无码网站| 亚洲视频久久| 国产视频福利| 丁香九月激情| 婷婷五月蜜桃成人桃色丁香| 日本www五月婷婷| 操操操操操电影网| 婷婷激情社区| 99婷婷国产最新视频| 激情五月天色网站| 婷婷成人五月天成人文学| 日本狠狠干| 久99婷婷色综合| www.爱婷婷.com| 色狠狠色综合久久久绯色AⅤ影视 大香蕉五月天婷婷丁香91 | 激情五月婷婷老师| 婷婷五月天天爽| 婷婷在线视频| 熟妇人妻中文字幕无码老熟妇| 4399无码视频| 婷香狠狠爱五月| 97碰在线视频| 亚洲成人电影aaaa| 色婷婷久久综合中文久久一本| 91视频五月丁香| 五月婷婷五月| 久久久精品免费啪啪国| 日本久久人| 久久五月天激情婷婷| 五月婷婷激情中心| 人妻久热| 欧美在线| 国产AV不卡福利| 五月婷婷在线视频免费观看| 五月婷久久在线| 狠狠爱婷婷爱| 精品无码久久久久久久久 | 欧美 日韩 人妻 高清 中文| 丁香伊人五月色婷婷五十路| 丁香五月自拍| 五月花婷婷丁香| 伊人久久大香网| 亚洲成人AV高清字幕| 91综合在线视频| 五月六月激情婷婷| EEUSS鲁片一区二区三区| 五月婷婷大香蕉| 九九久久精品國產| 日本美女天天日天天爽| 五月天综合视频网| 五月天婷婷影院| 性色av大香综合| 婷婷丁香一月| 五月婷中文字幕| 日本三级第一页| 丁香五月天在线观看视频| 五月婷婷六月开心| 99久久99九九99九九九| 婷婷综合日本| 狠狠操在线视频| 色色色色色色色色综合网| 五月婷婷精品视频| 天天爽天天日人人爱| www.日韩国产| 久久久久久婷| 丁香色六月婷婷| 综合一区二区三区| av五月天婷婷丁香| 思思99精品视频| 99精品视频偷拍| 91av无码| 79色色免费| 婷婷精品视频| 亚洲成人网在线观看| 婷婷婷婷婷婷婷五月丁香| 久草热久草在线视频| 99色天堂| 97碰碰视频| 丁香六月天婷婷| 人人综合五月人人婷婷| 色五月五月婷婷| Av九九| 亚洲婷婷激情综合激情999精品| 色婷婷很很十八禁| 五月情综合| 99精品网| 99热日韩| 婷婷欧美综合| 婷婷六月色情| 五月草视频| 99re资源在线视频导航| 日本特黄aaaaa| 色玖玖| 99国产er热视频| 99热精品在线观看| 色一情一乱一乱一区91| 91丁香五月| 爆乳熟女一区二区三区爆乳| 色情婷婷五月天| 91久久人人操| 深情五月天| 人妻Av在线| 色停停五月天| 影音先锋91视频| 能直接看的av网站| 久久 中文 日本| 天天干狠狠| 九九久久高清| 精品人妻在线| 五月天婷婷网站888| 91丨九色丨高潮丰满日本| 日本色99| 色色射| 玖玖资源站国产| 五月天综合在线| 久久小视频免费| 香蕉久久av一区二区三区| 亚洲尤物在线| 91丨九色丨首页| 美国色五月天婷婷资源站| 99碰碰碰| 超碰不卡在线| www.色综合| 这里只有精彩视频| 丁香五月婷婷动漫视频| 丁香,开心成人,久久| 日日狠狠久久偷偷四色综合免费 | 亚洲天堂制| 综合网啪| 五月五婷婷网| 亚洲精品又粗又大又爽A片| 天天撸夜夜爽| 影院久久久| 色天堂在线| 五月丁香爱婷婷深深| 色婷婷成人做爰A片免费看网站| 亚洲乱码成人| 亚洲国产网站| 久久色婷婷| 久久综合网免费视频| 亚洲中字AV电影在线网站| 天天草比天天爽| 天天色丁香| 九九人人操| 俺去啦综合网| 五月天丁香久久| 亚洲成人免费电影| 99re视频精品| 久久婷婷网站| 777米奇影视第四色| 婷婷性色| 女性自慰系列第五页| 丁香伍月婷电影全集| 激情婷婷丁香| 欧美综合婷婷欧美综| 色婷婷五月丁香色| 操操碰| 日日操,天天操| 九洲一级A片| 97高清国语自产拍| 激情开心五月天| 都市激情蜜桃婷婷五月天| 精品视频网| 五月婷婷中文字幕| 日韩99精品| www。五月天激情| yirenjiqingshiping| 九九久久综合| 99亚洲无码| 五月天婷婷六月激情网| 免费观看日韩成人av| 五月综合久久| 人人播| 很很干在线视频| 色久女| 东北熟女高潮99综合99| 五月天激情网图片| 六月婷婷综合| 五月婷深深爱激情网| 久久久久婷婷| 五月婷婷色白丝| 夜夜爽77777妓女免费下载| xxxx久| 思思久久99热只有频精品66| 五月丁香A片| 激情九色| 成人国产网| www.婷婷| 五月天丁香婷| 99操逼| 婷婷丁香五月激情图片| 久久色情| 丁香五月天在线直播观看| 婷婷热婷婷色| 丁香五月电影| 婷婷九月狠狠色| 色啪久 | 国产婷婷色五月| 9伊人网| 婷婷伊人综合| 国产午夜成人AV在线播放| 五月久久婷婷| 丁香综合婷婷五月天| 丁香六月天婷婷开心综合| 五月婷婷在线视频免费观看| 天天操天天曰天天射| AV操一操| 激情5月婷婷| 成人无码精品1区2区3区免费看| WWW,五月| 激情综合色网| 99热这里都是精品| 国产午夜精品一区二区| 婷婷九月丁香| AV性爱在线| 天天碰夜夜爽| 99思思热只有在这里看| 亚洲九九在线| 狠狠操狠狠狠| 嫩BBB槡BBBB搡BBBB视频| 婷婷五月天激情综合| 欧洲精品欧洲情| 天天日天天插天天操| 日本色频| 99热99网| www.av视频xx999.com| 99色视| 久久机热这里只有精品免费视频| 五月丁香综合| 五月开心婷婷极品激情| 欧美婷婷六月丁香综合色| 黄网在线播放| 99热在线观看免费中文| 久久五月婷婷电影| 婷婷久久欧美| 婷婷成人在线| 亚洲 无码 中文字幕 中出 | 丁香九月婷婷| 成人综合网站| 丁香婷婷天堂| AⅤ在线播放网| 91日精品| 丁香五月手机在线| 日夜操B| 色婷婷色五月另类综合| 丁香婷婷射| www.26uuu.com亚洲电影| 99热这里只有精品18| 久久精品这里只有精品免费首页| 日日夜夜天天| 久久婷婷五月| 日本人妻伦在线中文字幕| 国产AV影片| 丁香97综合| 涩综合网| 成人超碰AV| www.色五月天.com| 婷婷五月天AV| 欧美一级色| 国产肥白大熟妇BBBB视频| 狠狠婷婷日韩| 久久婷婷五月综合精品蜜芽| 色婷婷五月天激情| 婷婷激情五月天亚洲综合| 婷婷五月天精品| www.五月婷婷| 免费看欧美成人A片无码| 丁香五月婷婷久久久| 五月丁香婷中文| 天天日夜夜夜操操操操| 五月丁香婷婷六月| 日日夜夜天天综合| 青青草伊人婷婷| 婷婷五月色影视先锋| 思思热99er在线视频| 婷婷五月天亚洲五码| 色久五月| 狠狠干,狠狠操| 丁香五月人妻| 婷婷久久爱| 婷婷五月激情综合| 亚洲人人操BD| 97操操操| 色色色com| 亚洲成人网在线观看| 久久婷婷婷婷伊人| 九九热10| 五月激情四射网站| PORNY九色9l自拍视频成人| 九九在线免费观看| 色色色色色色色色色色色色色97| 五月天婷婷基地| 婷婷之玖玖| 日韩一66精品| 天天干天天操天天射| 农村熟妇高潮精品A片| 日本在线99| 五月天婷婷开心| 婷香五月| 黄色AAAAAAA| 台湾综合丁香五月蜜桃| 亚洲中文乱字字幕在线永久| 丰满老熟妇BBBBB搡BBB| 99综合自拍| 无码人妻一区二区三区免费九色| 一区二区成人电影| 9精品国产在热久久| 五月婷婷伦理| 亚洲天堂大香蕉| avh片在线观看| 六月丁香五月激情亚洲AV| 六月婷婷激情| 婷婷六月天国产综合| 女人露出p毛视频www网站| 六九色综合婷婷五月天| 亚洲亚洲人成综合网络| 大香蕉综合| 99综合网| 亚洲天堂制| www.91有码.com| 饮料下药迷倒漂亮女同事强干| 亚洲狠狠婷婷| 丁香六月亭亭久久综合| 国外亚洲成AV人片在线观看| 日本精品99| 激情综合99| 97在线干| 丁香五月色欲| 九九操屄| 5月色亭亭视频| 丁香婷婷基地| 色婷婷免费观看| 人人摸人人澡人人| 色黄啪啪| 亚洲经典小视频| 国产AV影片| 婷婷美女精品视频| 久久99网站| 久久丝丝热| 九九综合色| 激情久久五月天| 91seav| 婷婷综合亚洲| 91丨九色丨熟女|老版| 蜜臀99久久精品久久久久| 五月天综合婷婷| 九月性爱网| www.五月瑟| www.婷婷久久五月天| 色天天综合成人网| 婷婷在线网| 五月天婷婷色播在线网| 日日躁夜夜躁狠狠久久AV| 五月婷成人网| 乱精品一区字幕二区| 一根材五月婷成人| 丰满少妇猛烈A片免费看观看| 欧美精品久久久久久视频观看| 91一起操| 伊人超碰| 67194中文在线| 丁香五月综合AV在线|