c語言課程設計報告
姓名:居江月
班號:040091
學號:20091001669
專業:環境學院試驗班
指導老師:彭雷
完成時間:2023年7月15日
17題購物卡管理系統
【題目要求】
設計購物卡管理系統,系統主要模組:
(1) 實現系統內製卡、發卡功能;
(2) 實現系統內賬戶及相關賬戶管理;
(3) 實現卡交易和合法性檢查;
(4) 實現卡金融交易積分功能;
(5) 實現卡報表功能;
(6) 資料以檔案形式儲存。
【提示】
製卡:指申請一張購物卡,但還沒有使用。
發卡:指該購物卡已經啟用。
實現卡交易:指從卡中消費掉一定的金額。
一、 系統需求分析
根據題目要求,由於購物卡金額的資訊存放在檔案中,所以應提供檔案的輸入、輸出等操作;在程式中要實現購物卡的各項功能,應提供製卡、發卡、存款、消費、賬戶資訊的管理檢視,退出程式等一系列操作;另外還應提供鍵盤式選擇選單實現功能選擇。
二、 系統總體設計
根據上面的系統需求分析,可以將這個系統的設計分為如下七大模組:製卡、發卡、存款、消費、查詢賬戶積分、查詢賬戶交易記錄、查詢全部資訊
三、 詳細設計
1. 歡迎介面
為了使程式人性化,我為程式設計了比較簡單的歡迎介面,沒有實際意義,只是表示進入購物系統的提示。
【分析】:
void main()
這裡通過簡單的輸入輸出函式來實現歡迎介面,通過使用者輸入回車鍵進入選單進行操作。
2. 主函式
主函式的設計比較簡介,只提供了進入選單、模組選擇、退出系統等模組的呼叫。其中各功能模組用選單方式選擇,力圖做到簡潔明瞭,直觀大方。流程圖如下:
【流程圖】
【分析】:
函式開頭有「檔案包含」的預處理命令,所謂「檔案包含」處理是指乙個原始檔可以將另外乙個原始檔的全部內容包含進來,即將另外的檔案包含到本檔案之中。c語言提供了#include命令用來實現「檔案包含」的操作。
在本程式中包含了一下頭檔案:"string.h"、"ctype.h"、"stdio.h",方便呼叫庫函式實現某些功能。
在這個程式中,定義了乙個結構體陣列來存放購物卡使用者的各種資訊,包括賬戶卡號、戶主姓名、賬戶餘額、賬戶支出、賬戶積分,結構體如下:
struct credicard
u[100];
同時在各分函式中,定義了int、float、char等一系列變數型別,用來實現函式功能。
主函式比較簡單,但是函式的呼叫很多,所以,在程式的開頭就加上了各函式的宣告,如下:
void menu();/*主選單函式模組*/
void made();/*製卡函式模組*/
void ppoint();/*積分查詢模組*/
void putin();/*存款函式模組*/
void life();/*發卡函式模組*/
void browse();/*報表模組*/
void activate(int k);
void check(int k); /*查詢全部資訊函式模組*/
void menu1(int k); /*次級選單函式模組*/
實現選單選擇功能,使用的是switch語句,根據使用者輸入的選單選項a,呼叫不同的函式實現各種功能:
3. 各功能模組設計
2.1 製卡模組
【流程圖】
2.2 發卡模組
【流程圖】
2.3 存款模組
【流程圖】
2.4 消費模組
【流程圖】
2.5 查詢賬戶相關資訊模組
【流程圖】
2.7 查詢全部資訊模組
【流程圖】
4. 積分查詢模組設計
【流程圖】
5. 公共函式設計
返回模組,即在完成一項命令之後,可以選擇返回主選單或者是退出程式。
【流程圖】
總結功夫不負有心人,經過了連續6天的學習,練習,思考和編寫,終於完成了這個實習題目的編寫,完成了任務,寫出了報告。期間不乏艱難困苦,想要放棄的時候。但是通過老師耐心的指導,同學熱心的幫助,再加上網上查閱的資料和自身的思考,終於攻破了一道道難關,最終寫出了程式。
在程式的編寫過程中,我對資料的儲存和提取方面的知識比較模糊,不能有效運用,導致我多次出錯,嚴重阻礙了我編寫的步伐,後來經過對c語言教科書再次深入的學習和同學的指點下,我終於弄清了思路,解決了問題。再就是各個模組中各種條件的判斷上我出了不少錯誤,百思不得其解,不知道如何限制條件。最後在老師的指導下,通過網路上乙個相似程式的解讀,終於解決難題,通過判斷來導向不同函式。
這次實習告訴了我,要學會利用資源,學會學習別人的長處,再加以自身的思考,理解才能成功。
因為這是個購物卡系統,本著以人為本的思想,我在如何使系統看上更加美觀,人性化上下了不少功夫。並且實際去觀察了超市收銀台的系統,進行學習,在剩餘的時間對程式進行了改良。讓程式更容易使用和操作理解,讓介面更人性化,更簡潔明瞭,方便查詢資訊。
我相信這是每乙個程式設計人員需要做的。
但是每個程式總有不足之處,我程式的缺點就是資料可能會溢位,且設定的最大儲存量是1000,且密碼也容易看到,這些都不太好。
總之,在這次實習中,我充分的利用了以前學習的知識,也學到了很多,遇到困難知難而進不退縮,努力思考解決難題,逐個攻破,也鞏固了c語言的知識,動手實踐能力也增強了,第一次編出了這麼完整有用的乙個程式,對自己也比較滿意,充分培養了自己的動手實踐能力。
最後,感謝學校給我這個實習的機會,還有同學老師的幫助,讓我能夠完成這個實習任務。
源**:
#include
#include /*呼叫字元函式*/
#include
#include /*通用輸入輸出庫*/
#include
#define m 1000
void menu();
void made();
void ppoint();
void putin();
void life();
void enter();
void browse();
void activate(int k);
void check(int k);
void menu1(int k);
void fetch(int k);
void change(int k);
void deposit(int k);
void stat_one(int k);
void print_one(int j);
void point();
int search(char h[20]);
int n=0;
struct credicard定義信用卡結構體*/
card[m];
void menu()
{ int v,w1;
do{printf("\n\n\n\n");
printf("\t\tn");
printf("\t\t 《主選單》\n");
printf("\t\t1) 製卡操作n");
printf("\t\tn");
printf("\t\t2) 啟用發卡n");
printf("\t\tn");
printf("\t\t3) 帳戶登陸n");
printf("\t\tn");
printf("\t\t4) 報表操作n");
printf("\t\tn");
printf("\t\t5) 查詢積分n");
printf("\t\tn");
printf("\t\t6) 退出n");
C語言課程設計報告購物卡管理系統
c 語言課程實習報告 課程設計第17題 一 題目要求 請設計 購物卡管理系統 要實現系統的主要功能模組有 1 實現系統內製卡 發卡功能 2 實現系統內卡賬戶和相關賬戶管理 3 實現卡交易和合法性檢查 4 實現卡金融交易積分功能 5 實現卡報表功能 6 資料以檔案形式儲存。提示 製卡 指申請乙個購物卡...
網上購物系統報告
網上購物系統uml實驗報告 1.掌握用例圖的涵義和內容 2.掌握用例圖的繪製方法 3.掌握用例圖的使用範圍 4.理解活 及狀態圖表示介面遷徙的方法。有如下案例 某網路購物系統,這次開發的軟體專案是乙個網上購物系統。使用此系統的顧客通過網際網路進行網上購物 使用此系統的管理員通過網際網路進行系統的管理...
網上購物系統資料庫設計報告
資料庫設計報告 版本歷史 目錄0.文件介紹 4 0.1 文件目的 4 0.2 文件範圍 4 0.3 讀者物件 4 0.4 參考文獻 4 0.5 術語與縮寫解釋 4 1.資料庫環境說明 5 2.資料庫的命名規則 5 3.邏輯設計 5 4.物理設計 5 4.0 表彙總 5 4.1 表a 6 4.n 表n...