C語言個人賬簿管理系統報告

2021-03-04 06:11:44 字數 2888 閱讀 8208

程式設計課程設計報告

( 2012-- 2023年度第2學期)

個人賬簿管理系統的設計

個人賬簿管理系統的設計

1).加深對《c語言程式設計》課程知識的理解,掌握c語言應用程式的開發方法和步驟;

2).進一步掌握和利用c語言進行設計的能力;

3).進一步理解和運用結構化程式設計的思想和方法;

4).初步掌握開發乙個小型實用系統的基本方法;

5).學會除錯乙個較長程式的基本方法;

6).學會利用流程圖或n-s圖表示演算法;

7).掌握書寫程式設計開發文件的能力(書寫課程設計報告)。

(1)根據分組情況單獨完成規定的設計內容;

(2)源程式要有適當的注釋,使程式容易閱讀;

(3)至少採用文字選單介面(如果能採用圖形選單介面更好);

(4)學生可自動增加新功能模組(視情況可另外加分);

(5)寫出課程設計報告,具體要求見相關說明文件。

1) 實現個人賬簿管理系統的基本功能。包括:記錄某人每月全部收入和開支情況。進入系統後可以增加、刪除修改記錄,可以提供查詢和支出排序功能

2) 對系統進行擴充,實現多人賬戶,通過輸入使用者名稱和密碼形式登陸之後才進行系統操作

3) 對系統進一步擴充,細化各功能模組。

3) 美化介面,使使用介面更加人性化,使用更方便。

1) 增加一條收支記錄,記錄某人某月收支情況

2) 查詢本系統所有使用者的全部收支資訊

3) 修改某人某月的收支記錄

4) 刪除某人某月的收支記錄

5) 輸入條件進行查詢收支記錄

6) 刪除一條收支記錄

7) 系統說明可檢視功能結構以及製作者

1) 註冊使用者和登陸使用者:

a註冊:輸入正確管理員指令才可註冊,否則警告並返回原介面。

b登陸:輸入正確的使用者名稱和密碼進入個人賬簿管理系統主功能介面。

2) 主功能介面(登陸後才可進入):

a 錄入賬目:錄入後寫資料進"alluserinfo.dat」檔案

b 檢視所有(需要先輸入管理員許可權)

c 修改資料:輸入月份,修改該月收支記錄

d 查詢資料:分為精確查詢和按使用者查詢兩類

e 排序收支:先輸入月份,對某月全部開支進行排序

f 刪除記錄:先確定要刪除的月份再刪除

g系統說明

關於本系統流程圖的簡要說明:

1) 首先定義了三個結構體變數,分別是us使用者密碼資訊結構體,bill開支記錄結構體和sort不同型別開支的結構體,在巨集定義中設定了管理員許可權指令和最大使用者名稱,最大密碼長度以及三個檔案路徑以供本系統儲存、查詢、呼叫

2) 主函式包括了登陸函式(loadin)、註冊函式(register)和正常退出函式(quit)。

註冊函式:如果輸入正確指令將註冊。註冊成功後進入登陸函式,指令錯誤警告並返回最初介面

3) 登陸函式:如果登陸失敗警告並返回原介面;登陸成功則進入選單函式(menu)

選單函式主要包括錄入賬目(input函式和iritefile函式)、檢視所有(findall函式)、修改資料(searchsingle函式,remove函式,input函式,writefile 函式)、精確查詢(searchsingle函式)、按使用者查詢(searchuser函式)、單月排序(searchsingle函式,sort函式)、刪除資料(searchsingle函式,remove函式)、系統說明(help函式)、正常退出(quit函式)

1註冊2.登陸

n y

圖3-2 系統流程圖

1)定義三個結構體變數

結構體typedef struct us

typedef struct sort

typedef struct bill

2)定義常變數

常變數宣告

#define maxname 10

#define maxpassword 10

#define secret "個人賬簿管理系統"

#define fpath1 "alluserinfo.dat"

#define fpath2 "usersecret.txt"

#define fpath3 "peruserinfo.dat"

3)函式宣告

void quit();

void register();

void loadin();

void menu(bill *q);

void input(bill* q);

void findall();

void writefile(bill *q);

int searchsingle(bill *q);

void remove(bill *q);

int searchmenu(bill *q);

void sort(bill *q排序單個使用者每月開支,需要引數傳遞使用者名稱

void help();

void searchuser(bill *q);

主函式包含在while(1)迴圈中,每次子函式結束返回都繼續執行迴圈。主函式中包含switch結構,根據使用者選擇的1,2或者0執行下面相應函式。如果使用者輸入錯誤則顯示輸入錯誤,並提示重新選擇。

詳見源程式清單

register函式中,如果輸入正確指令就顯示可以註冊,等待使用者輸入使用者名稱和密碼,將使用者名稱和密碼寫入「usersecret.txt」檔案中,然後關閉檔案,顯示註冊成功,返回原來的「註冊登陸退出介面」;若使用者未輸入正確的指令,就警告沒有註冊許可權,警告,然後等待sleep(2000)後自動跳轉到的登陸函式。

loadin函式:函式主功能從這裡開始,如果使用者根據提示輸入的使用者名稱和密碼跟「usersecret.txt」檔案中某乙個us結構體長度的內容完全一樣,就顯示登陸成功,並進入menu選單函式。

如果不能與usersecret.txt中的某乙個us結構體匹配,則警告並返回原「登陸註冊退出介面」。

c語言程式設計報告圖書管理系統

中國地質大學 本科生課程 封面 課程名稱 c語言課程設計 教師姓名樊媛媛 本科生姓名 本科生學 本科生專業 所在院系 類別日期 注 1 無評閱人簽名成績無效 2 必須用鋼筆或原子筆批閱,用鉛筆閱卷無效 3 如有平時成績,必須在上面評分表中標出,並計算入總成績。課程設計評語 2 目錄 3 1 課程 題...

c語言超市管理系統報告書

1 需求分析 隨著現代生活質量的提高,超市這種便利的服務開始走進我們的生活,同時隨著超市湧入我們的生活,如何更便利的對超市進行系統和有序的操作,成為了我們需要考慮的問題,本程式運用c語言程式設計了乙個超市管理系統。關係系統的的功能主要有新購物品入庫 物品資訊刪除 物品資訊修改 物品資訊查詢 物品資訊...

C語言實習報告銷售管理系統

c語言實習報告 銷售管理系統 中國地質大學 武漢 材料科學與化學工程學院 班 二零一一年七月 目錄一 實習要求 2 二 題目分析 2 1 要求 2 2 任務 2 3 執行環境 3 4 開發工具 3 三 概要設計 3 1 總體設計 3 2 系統流程圖 4 四 詳細設計 4 1 詳細設計思路 4 2 具...