小區樓盤銷售管理系統C課程設計

2021-03-04 09:28:17 字數 3547 閱讀 5485

計算機學院電腦科學與技術專業

《程式設計綜合課程設計》報告

(2010/2011學年第一學期)

學生姓名

學生班級

學生學號

指導教師

2023年 1 月 7 日

(1)鞏固和加深學生對c++課程的基本知識的理解和掌握,通過這次課程設計,使學生從整體上把握乙個學期以來所學的c++程式設計的內容,各種程式設計思路進行貫通,從而熟練掌握。

(2)掌握c++程式設計和程式除錯的基本技能。c++程式設計和程式除錯是軟體設計的重中之重,這兩個部分佔據了整個程式設計的80%以上的時間。掌握c++程式設計和除錯,是極其重要的。

(3)利用c++進行簡單軟體設計的基本思路和方法。今天我們的程式設計只是乙個很小很小的方面而已,從這次課程設計中,我們應該對軟體設計有所認識,並且在今後的學習中要為此做出充分的準備。

(4)提高運用c++解決實際問題的能力。任何知識的學習的最終目的都是解決實際問題。c++程式設計在解決實際問題上具有很大的作用。

小區樓盤銷售管理程式

要用結構體陣列/鍊錶實現,用結構體表示每項記錄,包含樓盤資料為:樓編號、單元號、房間號、朝向(如:南北、東西、東南等)、戶型、平公尺單價、建築面積、總價,售出狀態,業務員等,其中總價=單價x 建築面積。

設計各個函式,分別實現以下功能:

(1)錄入:實現每套**資訊的輸入,最好是追加方式;

(2)刪除:完成**資訊的刪除;

(3)修改:允許對已經錄入的資料重新進行編輯、修改;

(4)顯示:顯示所有**資訊;

(5)查詢:

a) 輸入朝向、戶型等資料,顯示符合該條件的所有記錄,最好做到條件動態新增;

b)建築面積範圍,顯示符合該條件的所有記錄;

c) 顯示所有未售出**情況;

d)查詢已售出**的業務員姓名,成交額及總額

(6) 退出程式。

設計選單,通過選擇選單呼叫以上各函式。

要求:1)用c語言實現系統;

2)函式功能要劃分好(結構化程式設計);

3)介面友好(良好的人機互動),加必要的注釋;

4)提供程式測試方案。

輸入項:樓編號、單元號、房間號、朝向(如:南北、東西、東南等)、戶型、平公尺單價、建築面積、總價,售出狀態,業務員等,其中總價=單價x 建築面積。

程式中也會有一些其他的迴圈條件輸入。

輸出項:小區樓盤**的相關資訊,也就是輸入項的使用者所需資料。

程式功能的實現:

程式設計到資料的動態新增、刪除、修改、和查詢,應使用鍊錶進行儲存較為方便。而且應使用乙個結構體來對應相應的房間,儲存其相關資訊。在使用鍊錶上,很多地功能的實現都變得很簡單了,條件查詢上因該會比較麻煩,應多加考慮。

整個程式共包含6個函式:

void input(residence *);// 輸入函式

void del(residence *);// 刪除函式

void amend(residence *);// 修改函式

void display(residence *);// 顯示所有資訊

void seek(residence條件查詢函式

int main(); //主函式

程式中使用了乙個結構體,用於儲存套房間的相應資訊:

struct residence

;函式功能說明:

主函式,主要是實現兩個功能:一是程式開始執行時的檔案資料載入,二是顯示主選單

檔案載入時先判斷檔案是否存在,如果不存在,使用outf.open("data.txt",ios::out);進行新建;如果存在,從中讀取資料並存入鍊錶中。

主選單放在乙個while迴圈中,通過swicth進行選擇相應選項。

函式引數說明: int i; 用於選單選擇,不同的值對應不同的選單

int a; 用於記錄載入的資料個數

residence *head,*p1,*p2; 用於鍊錶的建立,head是鍊錶的頭結點,p1,p2都是建立鍊錶是的中間變數,起輔助傳遞作用。

函式流程圖:

圖2-1(1)

圖2-1(2)

函式功能說明:

輸入資料並儲存於檔案中。

輸入分成了二次,第一次是樓號、單元號、房間號、平公尺單價、建築面積這5個資訊;第二次是朝向、戶型、售出狀態(yes/no)、業務員(no/業務員姓名)共4個資訊;總價這一資訊使用p1->zongjia=p1->danjia*p1->mianji;來計算,減少使用者的工作量。

儲存資料上,使用者每輸入完乙個**資訊就儲存乙個,使用的是這個語句:outf

outf<<" "

residence *head1:儲存原鍊錶的頭指標

residence *p1,*p2,*head; p1,p2為中間指標變數,head用於儲存原指的尾結點

函式流程圖:

圖2-2

函式功能說明:

刪除資料,並將刪除後的資料儲存在檔案中

將樓號、單元號。房間號等資訊儲存在l、d、f三個變數中,在對檢視每個節點時,if(p1->lou==l&&p1->danyuan==d&&p1->fangjian==f)進行判斷。並且,通過判斷i是否為零確定刪除的資料的個數,如果i為零,提示沒有改套房間。

資料儲存與輸入部分是一樣的。

函式引數說明:

residence *head1:儲存原鍊錶的頭指標

int l,d,f,n,i; l、d、f分別用於儲存需要查詢的房間的樓號、單元號、房間號;n用來判斷是否結束修改操作返回主選單;i用來判斷是否刪除成功。

residence *p1,*p2;中間的指標變數

函式流程圖:

函式功能說明:

修改資料,並將修改儲存在檔案中

查詢房間所在鍊錶的位置與刪除函式是一樣的。

提示使用者是按相應鍵以做相應修改,並且可以迴圈修改:cout<<"相應按鍵為:樓號 1, 單元號 2, 房間號 3, 平公尺單價 4, 建築面積 5,, 朝向 6, 戶型 7, 售出狀態 8, 業務員 9,退出 0"<當使用者按0想要結束修改時,程式退出修改模組,進入儲存模組,儲存完畢提示cout<<"修改已儲存"<函式引數說明:

residence *head1:儲存原鍊錶的頭指標

int l,d,f,n,i; l、d、f分別用於儲存需要查詢的房間的樓號單元號、房間號;n用來判斷是否結束修改操作返回主選單;i用於判斷是否刪除成功。

residence *p1,*p2; residence *p1,*p2;中間的指標變數

函式流程圖:

函式功能說明:

檢視所有**資訊,以列表的方式顯示

函式引數說明:

residence *head1:儲存原鍊錶的頭指標

residence *p1;中間指標變數

函式流程圖:

函式功能說明:條件查詢

實現的原理:將原鍊錶進行複製,查詢的時候對複製鍊錶進行查詢,並把不符合條件的節點刪除,這樣一來剩下的就都是符合條件的節點;如果再次新增條件進行查詢,仍舊執行這個操作,從而達到條件查詢的目的。

C語言課程設計報告銷售管理系統

c語言課程設計報告 銷售管理系統 一 題目要求 某公司有四個銷售員,編號1 4 負責銷售五種產品 編號1 5 每個銷售員都將當天 的每種產品各寫一張便條過來.每長便條包含內容 銷售人員的代號 產品的代號 這種產品的當天的銷售額 每位銷售人員每天肯上繳的0 5張便條.假如收集到了上個月的所有便條,編寫...

C語言課程設計銷售管理系統報告

報告正文 1 題目與要求 1.1某公司有四個銷售員 編號 1 4 負責銷售五種產品 編號 1 5 每個銷售員都將當日 的每種產品各寫一張便條交上來。每張便條內容有 1 銷售員的代號 2 產品的代號 3 這種產品當天的銷售額 1.2每位銷售員每天可能上繳0 5張便條。假設手機到了上個月的所有便條,編寫...

C語言課程設計銷售管理系統報告

報告正文 1 題目與要求 1.1某公司有四個銷售員 編號 1 4 負責銷售五種產品 編號 1 5 每個銷售員都將當日 的每種產品各寫一張便條交上來。每張便條內容有 1 銷售員的代號 2 產品的代號 3 這種產品當天的銷售額 1.2每位銷售員每天可能上繳0 5張便條。假設手機到了上個月的所有便條,編寫...