C++課程設(shè)計:銷售管理系統(tǒng)1_第1頁
C++課程設(shè)計:銷售管理系統(tǒng)1_第2頁
C++課程設(shè)計:銷售管理系統(tǒng)1_第3頁
C++課程設(shè)計:銷售管理系統(tǒng)1_第4頁
C++課程設(shè)計:銷售管理系統(tǒng)1_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、.課 程 設(shè) 計 報 告 課程名稱:面向?qū)ο蟪绦蛟O(shè)計C+ 設(shè)計題目:銷售管理系統(tǒng) 專 業(yè):計算機(jī)科學(xué)與技術(shù) 姓 名: 學(xué) 號: 指導(dǎo)教師:李曉虹 2016 年 1 月 6 日目錄1.系統(tǒng)分析32.設(shè)計32.1設(shè)計題目32.2設(shè)計要求33.詳細(xì)設(shè)計33.1銷售管理系統(tǒng)設(shè)計34.調(diào)試44.1 Sale.h文件44.2 Sale.cpp文件64.3 main.cpp文件165.分析結(jié)果176.實驗總結(jié)201.系統(tǒng)分析 做這次設(shè)計是為了進(jìn)一步鞏固C+程 序 設(shè) 計所 學(xué) 的 知 識,特別加 強(qiáng) 類,對象,指 針,引用,文件數(shù)據(jù)類型等的應(yīng)用,熟悉從面向過程逐漸轉(zhuǎn)變成面向?qū)ο蟪绦蛟O(shè)計的方法,培養(yǎng)面向?qū)ο蟪?/p>

2、序設(shè)計的思想,加深對高級語言基本語言要素和控制結(jié)構(gòu)的理解,鍛煉程序設(shè)計的能力,以用C+ 語言解決實際問題的能力,為后續(xù)課程的學(xué)習(xí)打好基礎(chǔ)。2.設(shè)計2.1設(shè)計題目 銷售管理系統(tǒng)。2.2設(shè)計要求要求為輸入銷售信息、存儲銷售信息、刪除銷售信息、添加銷售信息、查找銷售信息、將銷售信息寫入文件、從文件讀出銷售信息。假設(shè)有5個銷售員,銷售10種產(chǎn)品,每個銷售員將每天銷售的產(chǎn)品都用一條便條錄入:銷售員代號、所賣產(chǎn)品代號、這種產(chǎn)品當(dāng)天銷售額。3.詳細(xì)設(shè)計3.1銷售管理系統(tǒng)設(shè)計功能模塊文件輸入輸出記錄維護(hù)退出系統(tǒng)瀏覽文件輸入文件輸出查找保存刪除插入功能模塊文件輸入輸出記錄維護(hù)退出系統(tǒng)瀏覽文件輸入文件輸出查找保存

3、刪除插入表3.14.調(diào)試4.1 Sale.h文件#if ! defined(SALE_H)#define SALE_H/預(yù)處理#include<fstream.h>#include<stdlib.h>#include<stdio.h>#include<string.h>#include<iostream.h>/*/* 銷售類 */*class Saleprivate:int SalerNum; /銷售員代號int ProductNum; /銷售產(chǎn)品代碼float SaleNum; /銷售額public:Sale *Next;Sale

4、*Head;Sale();Sale(const Sale &s);void InputData(Sale *s);/輸入便條void Add();/是否繼續(xù)錄入銷售信息void DisplayInfo();/顯示所有銷售信息void Delete(Sale *head,int num);void ReadFile();/從文件中讀數(shù)據(jù) void Find();/用銷售員的代號查找銷售記錄void WriteFile();/將數(shù)據(jù)寫入文件Sale();friend void Hand_menu();#endif/此外,還可以用鏈表結(jié)點的方式定義銷售類。如下:/*struct Nodein

5、t SalerNum; /銷售員代號int ProductNum; /銷售產(chǎn)品代碼float SaleNum; /銷售額Node *next;/定義一個結(jié)點class Saleprivate:Node *head;public:Sale();Sale(const Sale &s);void InputData(Sale *s);void Add();void DisplayInfo();void Delete(Sale *head,int num);void ReadFile(); void Find();void WriteFile();Sale();friend void Hand

6、_menu();*/4.2 Sale.cpp文件#include "Sale.h"/*/* 菜單顯示函數(shù) */* 函數(shù)原型:void Hand_Menu() */* 功 能:處理選擇的菜單命令 */* 工作方式:根據(jù)命令,顯示相應(yīng)操作 */*void Hand_Menu()cout<<endl;cout<<("t*歡迎查詢銷售管理系統(tǒng)*n");cout<<("t*1 添加銷售記錄 *n");cout<<("t*2 從文件讀數(shù)據(jù) *n");cout<<(&q

7、uot;t*3 把數(shù)據(jù)寫入文件 *n");cout<<("t*4 查找銷售記錄 *n"); cout<<("t*5 顯示所有銷售記錄 *n");cout<<("t*6 刪除銷售記錄 *n");cout<<("t*7 退出系統(tǒng) *n");cout<<("t*n");Sale:Sale()SalerNum=0; ProductNum=0; SaleNum=0;Next=NULL;Head=NULL;/構(gòu)造函數(shù)Sale:Sale(c

8、onst Sale &s) SalerNum=s.SalerNum; ProductNum=s.ProductNum; SaleNum=s.SaleNum; Next=s.Next; Head=s.Head;/拷貝構(gòu)造函數(shù)Sale:Sale()if(Next != NULL)delete Next;if(Head !=NULL)delete Head;/析構(gòu)函數(shù)/*/* 輸入銷售信息InputData函數(shù) */* 函數(shù)原型:void InputData(Sale *s) */* 功 能:輸入便條 */*void Sale:InputData(Sale *s)cout<<&q

9、uot;請輸入銷售員的代號:" cin>>s->SalerNum;cout<<endl;cout<<"請輸入銷售產(chǎn)品的代號:" cin>>s->ProductNum; cout<<endl; cout<<"請輸入銷售員的銷售額:" cin>>s->SaleNum; cout<<endl;/*/* 添加銷售記錄 */* 函數(shù)原型:void Add() */* 功 能:確定是否繼續(xù)錄入銷售記錄 */*void Sale:Add()Sal

10、e *p1, *p2;char cChoose;/輸入y/n進(jìn)行下一步操作p1=new Sale;/申請內(nèi)存p1->Next=NULL;/置為空if(!Head)Head = p1;else/找到最后的鏈接列表p2 = Head;while(p2->Next) p2=p2->Next; p2->Next=p1; /添加一個記錄到鏈表的末尾while(1)InputData(p1);cout<<"還想繼續(xù)添加數(shù)據(jù)?(y/n)"cin>>cChoose;/輸入的y/n進(jìn)行操作if('n'=cChoose|'

11、N'=cChoose)/不進(jìn)行操作p1->Next=NULL;/將p1的下一個節(jié)點置為空Hand_Menu();/返回主界面return;else/輸入y繼續(xù)添加信息的情況p2=p1;p1=new Sale;/分配一個內(nèi)存空間給p1p2->Next=p1;/將p1指向p2的下一個節(jié)點/*/* 輸出銷售信息DisplayInfo函數(shù) */* 函數(shù)原型:void DisplayInfo() */* 功 能:顯示所有的銷售信息 */*void Sale:DisplayInfo()Sale *p;if(!Head)/頭指針為空,沒有任何數(shù)據(jù)cout<<"沒有任

12、何銷售信息n"system("pause");/暫停,使用戶能看到上一句話的顯示Hand_Menu();/返回到主界面return;else/頭結(jié)點不為空的情況cout<<"tt顯示所有銷售信息n"cout<<"SalerNumttProductNumttSaleNumn"p=Head;while(p)/循環(huán),直到結(jié)點不為空cout<<p->SalerNum<<"ttt"/將銷售員的代號錄入到SalerNumcout<<p->Prod

13、uctNum<<"ttt"/將銷售產(chǎn)品代碼錄入到ProductNumcout<<p->SaleNum<<"ttt"/將銷售額錄入到SaleNump=p->Next; /指向下一個節(jié)點cout<<endl;/*/* 刪除銷售信息Delete函數(shù) */* 函數(shù)原型:void Delete(Sale *head,int num) */* 功 能:刪除指定的銷售記錄 */*void Sale:Delete(Sale *head,int num)Sale *p,*p1;p=head;if(head=NUL

14、L)/判斷頭結(jié)點是否為空,為空就沒有課刪除的銷售記錄cout<<"*友情提示,沒有可刪除的銷售記錄!* nn"while(p->SalerNum!=num&&p->Next!=NULL)/循環(huán)。輸入的銷售員代號是否和已輸入的銷售員代號相匹配而且p的下一個節(jié)點不為空p1=p;p=p->Next;if(p->SalerNum=num)/當(dāng)用戶輸入銷售員的代號與已存在的銷售員代號相匹配if(p=head)head=p->Next;/將p的下一個節(jié)點與head鏈接elsep1->Next=p->Next;/將p的

15、下一個節(jié)點與p1的下一個節(jié)點相鏈接cout<<"*被刪除銷售員的銷售信息*nn"cout<<"-"cout<<"銷售員代號tt銷售產(chǎn)品代碼tt銷售額nn"cout<<p->SalerNum<<"ttt"cout<<p->ProductNum<<"ttt"cout<<p->SaleNum<<"ttt"cout<<endl;cout<&l

16、t;"-"delete p;/釋放p節(jié)點,p節(jié)點里面的數(shù)據(jù)被刪除elsecout<<"*對不起,找不到該銷售員的銷售記錄!*nn"/*/* 從文件中讀取銷售信息 */* 函數(shù)原型:void Delete(Sale *head,int num) */* 功 能:從文件中讀取數(shù)據(jù) */*void Sale:ReadFile()Sale *p=NULL;Sale *p1,*p2;char filename50,ch;FILE *fr;/文件指針cout<<"請輸入要讀入的文件名:"cin>>filenam

17、e;p=new Sale;/分配一個內(nèi)存空間Head=p1=p;/讓p1和head都指向pch=fgetc(fr); while(ch != EOF)/讀取數(shù)據(jù)fscanf(fr,"%dtt",&p->SalerNum);/讀取銷售員代號到SalerNumfscanf(fr,"%dtt",&p->ProductNum);/讀取銷售產(chǎn)品代號到ProductNumfscanf(fr,"%ftt",&p->SaleNum);/讀取銷售額到SaleNump=new Sale;/再為p分配一個內(nèi)存空間p

18、1->Next=p;p2=p1;p1=p;p->Next=NULL;p2->Next=NULL;delete p;/釋放p節(jié)點fclose(fr);/關(guān)閉文件/*/* 查找指定的銷售記錄 */* 函數(shù)原型:void Find() */* 功 能:用銷售員的代號查找該銷售記錄 */*void Sale:Find()int SalerNum;Sale *p; cout<<"請輸入要查找的銷售員的代號:"cin>>SalerNum;cout<<endl;p=Head;while(p)/循環(huán)if(p->SalerNum=S

19、alerNum)/輸入的數(shù)字是在銷售員的代號范圍內(nèi),執(zhí)行以下程序cout<<"此銷售員銷售產(chǎn)品代號為:"<<p->ProductNum<<endl;cout<<endl;cout<<"此銷售員銷售額為:"<<p->SaleNum<<endl;cout<<endl;cout<<"恭喜您,查找成功!n"cout<<endl;return; p=p->Next;/p指向p的下一個節(jié)點 cout<&l

20、t;"查找失敗!n"/輸入的數(shù)字不在銷售員代號范圍內(nèi),退出程序 /*/* 將銷售信息存入到文件 */* 函數(shù)原型:void WriteFile() */* 功 能:將數(shù)據(jù)寫入文件 */*void Sale:WriteFile()Sale *p;char filename50;FILE *fw;/文件指針if(Head)/判斷頭結(jié)點是否為空cout<<"沒有數(shù)據(jù)被寫入文件!n"return;cout<<"請輸入文件的名稱:" cin>>filename;if(fw=fopen(filename,&qu

21、ot;wt")=NULL)/判斷文件名是否有效cout<<"無法創(chuàng)建"<<filename<<"文件n"Hand_Menu();/返回主界面return;p=Head;fprintf(fw,"n");fprintf(fw,"銷售員代號tt銷售產(chǎn)品代號tt銷售額ttn");while(p)fprintf(fw,"%dttt",p->SalerNum);/將數(shù)據(jù)寫入SalerNum中fprintf(fw,"%dttt",p-&g

22、t;ProductNum);/將數(shù)據(jù)寫入ProductNum中fprintf(fw,"%fttt",p->SaleNum);/將數(shù)據(jù)寫入SaleNum中fprintf(fw,"n");p=p->Next;/將p指向下一個節(jié)點cout<<"數(shù)據(jù)寫入文件成功!n"cout<<endl;fclose(fw);/關(guān)閉文件4.3 main.cpp文件#include"Sale.h"int main()int num;Sale sal;Hand_Menu();/顯示主界面while(1)cout<

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論