停車庫管理系統(tǒng)_C語言課程設(shè)計報告書_第1頁
停車庫管理系統(tǒng)_C語言課程設(shè)計報告書_第2頁
停車庫管理系統(tǒng)_C語言課程設(shè)計報告書_第3頁
停車庫管理系統(tǒng)_C語言課程設(shè)計報告書_第4頁
停車庫管理系統(tǒng)_C語言課程設(shè)計報告書_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、學(xué)號2012-2013學(xué)年 第二學(xué)期1208010221高級語言程序設(shè)計課程設(shè)計報告題目:校園車輛管理系統(tǒng)專業(yè):計算機科學(xué)與技術(shù)班級:計算機科學(xué)與技術(shù)<2>班:志海指導(dǎo)教師:淮寧成績:計算機與信息工程系2013年06月30 日目錄1設(shè)計容與要求.31.1設(shè)計容.31.2設(shè)計任務(wù)與具體要求.32概要設(shè)計.42.1該系統(tǒng)的功能簡介.42.2 總體程序框圖.42.3各個模塊之間的主要關(guān)系.433設(shè)計過程或程序代碼.43.1各個模塊的程序流程圖與運行界面.53.2對關(guān)鍵代碼加以分析說明.64程序調(diào)試分析.105小結(jié).12致.13參考文獻.13附:源程序.1321 / 211 設(shè)計容與要求1

2、.1設(shè)計容校園車輛管理系統(tǒng)主要根據(jù)課程設(shè)計要求進行設(shè)計,并了解了學(xué)校的停車的工作流程,該系統(tǒng)功能主要包括六大模塊:1)輸入停車的信息,車牌號。2)根據(jù)輸入的信息找到車輛的位置。 3)對車輛的信息的查詢。4)保存當(dāng)前的信息。5)系統(tǒng)軟件的介紹。6)退出管理系統(tǒng)。1.2設(shè)計任務(wù)與具體要求主要利用c語言的文件操作能力設(shè)計開發(fā)一個小型的車輛管理系統(tǒng),至少具有如下功能:車輛的車牌的輸入,信息的保存,根據(jù)信息找到停車的位置,退出系統(tǒng)。操作界面要符合用戶的一般習(xí)慣,圖形或文本界面都可以。要求:明確課程設(shè)計的目的,能根據(jù)課程設(shè)計的要求,查閱相關(guān)文獻,為完成設(shè)計準備必要的知識; 提高學(xué)生用高級語言進行程序設(shè)計的

3、能力,重點提高用C語言進行文件操作和繪圖應(yīng)用的編程技術(shù)水平;初步了解軟件開發(fā)的一般方法和步驟; 提高撰寫技術(shù)文檔的能力。2 概要設(shè)計2.1系統(tǒng)的功能簡介該系統(tǒng)的主要功能是停車時車牌號的記錄,停車庫的三個主車庫和四個便道車庫。根據(jù)停車的信息來找到車輛的位置,可以保存當(dāng)前信息,也可以退出系統(tǒng)。2.1總體程序框圖2.2各個模塊之間的主要關(guān)系該程序的功能主要是實現(xiàn)車輛的進入和開出,并對車輛的停車時間的計算。各個模塊之間的關(guān)系是相互聯(lián)系的。主函數(shù)包含了所有的子函數(shù)。主函數(shù)是整個程序的核心。子函數(shù)之間也是有聯(lián)系的,對停車進行記錄,然后才可以進行取車、信息查詢和保存信息。因此停車的記錄是非常重要的。3設(shè)計過

4、程或程序代碼3.1各個模塊的程序流程圖 1)主函數(shù)程序(N-S)流程圖與運行界面主函數(shù)程序(N-S)流程圖(見圖3.1-A) 主函數(shù)main()定義變量char c;e=0;while(1)c=gnxzjm();switch(c)case '1': carp();break;停車操作case '2': carg();break;取車操作case '3': card();break;車庫信息case '4': xxbc();break;信息保存case '5': rjis();break;軟件介紹case '

5、6':exit(0);退出系統(tǒng)圖3.1-A主函數(shù)程序簡單說明:該功能主要顯示的是給用戶一個進入界面,它主要的是顯示該程序主要能夠執(zhí)行的有哪些功能。下面是顯示給用戶的界面。(見圖3.1-A) 主函數(shù)程序運行界面:圖3.1B主函數(shù)界面 2)停車函數(shù)(N-S)流程圖與程序運行界面(見圖3.2-B)該程序主要是記錄車牌,然后為其分配適合的停車位置,主停車位沒有了就會自動分配到便道的停車位上面。3)取車函數(shù)(N-S)流程圖與程序運行界面(見圖3.3-B)定義數(shù)據(jù)變量輸入車牌號for(i=0;i<=n;i+)!strcmp(ci.chepai,p)輸出位置、時間b0=1strcpy(cg-1

6、.chepai,cg.chepai);cg-1.weizhi=cg.weizhi-1;cg-1.rhour=cg.rhour;cg-1.rmin=cg.rmin;for(w=1;w<max2;w+)bi=b+isystem( "pause" );圖3.5-A修改個人記錄程序取車函數(shù)是在原有的停車函數(shù)的基礎(chǔ)上進行修改,在修改的同時你可以看到停車時停的車的車牌。以下是修改職工工資信息過后的顯示界面。(見圖3.5-B)4)車庫信息函數(shù)(N-S)流程圖與程序運行界面(見圖3.4-B)5密碼(N-S)流程圖與程序運行界面3.2對關(guān)鍵代碼加以分析說明1)/* 結(jié)構(gòu)體聲明 */st

7、ruct carchar chepai11;int weizhi;int rhour;int rmin;struct car *next;4設(shè)計結(jié)果與分析當(dāng)把程序?qū)懞貌⑦M行調(diào)試時,并不是一帆風(fēng)順的,總會遇到很多在調(diào)試時遇到的錯誤。1. 首先在定義函數(shù)時,不能輸入漢字。否則會程序會顯示錯誤。2.在程序中,如果定義、學(xué)號、車牌號等為float型,而后面其相應(yīng)的返回值為雙精度浮點型,會出現(xiàn)相應(yīng)的警告3.前后定義變量要統(tǒng)一。4.如果要調(diào)用添加函數(shù),修改函數(shù),修改函數(shù),查找函數(shù),統(tǒng)計函數(shù)等要在主函數(shù)前面進行申明。否則會顯示警告。5.對背景顏色設(shè)置的時候,當(dāng)你輸入的顏色在存中不存在時,運行程序過后,系統(tǒng)會

8、告訴你相應(yīng)的顏色符號常數(shù)與數(shù)值。6.如果程序在運行的過程中,對于一個循環(huán)語句,如果你返回的值始終是真的,那么程序?qū)⑦M如死循環(huán)。7. 未注意int,float型數(shù)據(jù)的數(shù)值圍,int型數(shù)據(jù)的數(shù)值圍(-3276832768)。對定義工資變量時,如果將職工工資定義為float型,將會出現(xiàn)警告。8.對應(yīng)該有花括弧的復(fù)合語句,忘記加花括弧。9. 所調(diào)用的函數(shù)在調(diào)用語句之后才定義,而又在調(diào)用前未加說明。5 小 結(jié)現(xiàn)在的社會進步很快,買車的老師和學(xué)生非常的多,在一個大的大學(xué),一個車輛管理系統(tǒng)就顯得尤為重要。在本課程設(shè)計的設(shè)計過程中,我剛開始感覺到有點頭痛。要通過一學(xué)期C語言的學(xué)習(xí)后將所學(xué)知識運用起來有點困難,

9、但回過頭來再去看教課書,對于這些知識點有關(guān)的背景,概念和解決方案更進一步的理解,感覺也不是很難。另外我還體會了從事C語言課程設(shè)計工作需要特別謹慎認真地態(tài)度和作風(fēng),一點都不能馬虎。每個細微的細節(jié)都必須十分注意,如果不認真思考,就會出現(xiàn)或大或小的錯誤。如果把早期的錯誤隱藏下來,對后面的工作影響就會很大,甚至有時會推倒很多前面做的工作。有時候,我自己覺得我寫的程序非常正確,但是就是編譯通不過,在查找錯誤的過程中,面臨著否認自己的過程,非常的痛苦,而且由于自己的經(jīng)驗與各方面的能力的不足,所以進展的速度非常的緩慢,往往幾天的時間沒有一點進展。這時候,我一般是先自己通過書本,手冊和資料找解決辦法,實在沒轍

10、才向老師同學(xué)請教。在開始編寫程序的時候,我看到別人的程序功能非常的詳細,而且界面非常漂亮,總是希望自己的程序也非常的完善,但是,發(fā)現(xiàn)編一個好的程序不是一蹴而就的事情,需要長時間的積累和經(jīng)驗。在反反復(fù)復(fù)的學(xué)習(xí)中,我終于作出一個簡單的程序,雖然這個程序的功能非常簡單,而且在實際運用中還有些不足,因為工資的的容非常豐富,我涉與到的僅僅是工資管理的一部分簡單容,離實際的客戶需求肯定還有差距。由于我的知識淺薄,經(jīng)驗不足與閱歷頗淺,在該系統(tǒng)的設(shè)計方面還有很多不足,比如功能過少,界面不醒目等問題,我會在以后的學(xué)習(xí)過程中,根據(jù)具體要求不斷的修改、完善,爭取使系統(tǒng)慢慢趨于完美。致在這次C語言課程設(shè)計中,我的老師

11、和同學(xué)給了我與大的幫助。特別是我的指導(dǎo),還有我的C語言任課老師。在此,我對他們表示感!感他們在我面對困難時給了我?guī)椭椭С?。也感那些給我?guī)椭乃型瑢W(xué)!參考文獻譚浩強著.C程序設(shè)計(第三版)源程序#include "stdio.h"#include "string.h"#include "stdlib.h"#include "time.h" #define max 3#define max2 6#define price 0.5#define ClearScreen() system( "cls"

12、; )void csh();void carp();void carg();void bian();char gnxzjm();void pdate();void card();int timeh();int timem();void rjjs();void xxbc();void pass();int amax=0,0,0;int bmax2=0,0,0;int o; int q; int j; int bq;/*.*/struct carchar chepai11;int weizhi;int rhour;int rmin;struct car *next;struct car cmax+

13、max2,*pc; /*.*/int main()system("color 4F");pass(); char c; int e=0; while(1) system("cls"); csh(); /*初始化界面*/ c=gnxzjm(); /*功能選擇界面*/switch(c)case '1': carp();break;case '2': carg(); break;/*取車操作*/case '3': card();break;/*車庫信息*/case '4': xxbc();brea

14、k;case '5': rjjs();break;case '6': exit(0);/*退出*/default: break; return 0;/*.*/void csh() /*初始函數(shù)*/ system("cls"); printf("tttt校園車輛管理系統(tǒng)nn"); printf("tt: 志海t"); printf("專業(yè): 12 計算機科學(xué)與技術(shù)2t"); printf("學(xué)號: 1208010221n"); printf("*"

15、;); printf(" tt1. 停車 2. 取車 3. 淮師車庫信息n"); printf(" tt4. 信息保存 5.軟件介紹 6. 退出"); printf("n*n");/*.*/char gnxzjm() /*選擇函數(shù)*/ char c; printf("請選擇1 2 3 4 5 6功能n"); c=getchar(); printf("n"); return c;/*.*/void carp() /*停車函數(shù)*/system( "cls" );if(j<=

16、max)int i;for(i=0;i<max;i+)if(ai=0)j=i+1;ai=1;break; q=i; /*當(dāng)無車的時候車位為0,有車為1*/printf("請輸入車牌號(例A123456)n");scanf("%s",&ci.chepai);/*輸入車牌號*/printf("車輛停在車庫的%d位n",j);cq.weizhi=j;/*記錄車的位置編號*/cq.rhour=timeh();cq.rmin=timem();printf("停入車輛情況:n");printf("車牌號

17、:%sn",cq.chepai);printf("車位置:%dn",cq.weizhi);printf("車停入時間:%d:%dn",cq.rhour,cq.rmin);/*第q個車在第j個車位上,q從0開始記,j從1開始記,在j=2位置上的車對應(yīng)的c為c1*/j+;system("pause");else bian();/*.*/void bian() /*便道停車函數(shù)*/system( "cls" );int i;int bj;for(i=0;i<max2;i+)if(bi=0)bj=i+max

18、;bi=1;break;/*bj為車的車位,bq為bcbq的編號*/ /*當(dāng)無車的時候車位為0,有車為1*/ /*bj為車的信息在cbj中占的位置*/printf("請輸入車牌號(例A123456)n");scanf("%s",&cbj.chepai);/*輸入車牌號*/printf("車庫已滿,車輛停在便道的%d位n",i+1);cbj.weizhi=bj;/*記錄車的位置編號*/printf("停入車輛情況:n");printf("車牌號:%sn",cbj.chepai);print

19、f("車位置:%dn",i+1);/*便道上的車位,bq從0開始記,在bj從1開始記,在車位bj=1位置上的車對應(yīng)bc0*/system("pause");/*.*/void carg() /*取車函數(shù)*/system( "cls" );int i,w;int f=0,g;char p11;int outh,outm;int inh,inm;double cost;printf("請輸入要駛出的車的車牌n");scanf("%s",&p);for(i=0;i<max;i+)if(!

20、strcmp(ci.chepai,p)printf("車牌號%s駛出車庫%d位置n",p,i+1);outh=timeh();outm=timem();printf("輸入駛出時間為%d:%dn",outh,outm);inh=outh-ci.rhour;inm=outm-ci.rmin;printf("車在車庫中的時間:n");printf("停留%d小時%d分鐘n",inh,inm);cost=(inh*60+inm)*price;printf("您應(yīng)繳費用:%f元nnnnn",cost);

21、f=i;g=i+1;cmax-1.next=&cmax;cmax.next=&cmax+1;if(b0=1)printf("便道上第1輛車%s駛?cè)胲噹靚",cmax.chepai);cmax.rhour=timeh();cmax.rmin=timem();printf("停入車輛情況:n");printf("車牌號:%sn",cmax.chepai);printf("車位置:%dn",cmax.weizhi);printf("車停入時間:%d:%dn",cmax.rhour,cm

22、ax.rmin);b0=b1;system( "pause" );for(g=i+1;g<max+max2;g+)strcpy(cg-1.chepai,cg.chepai); cg-1.weizhi=cg.weizhi-1;cg-1.rhour=cg.rhour;cg-1.rmin=cg.rmin;for(w=1;w<max2;w+)bi=b+i;system( "pause" );/*.*/void card() /*車庫信息函數(shù)*/system( "cls" );if(a0!=0)int i,j;printf(&quo

23、t;車庫總體信息:n");printf("車庫信息:n");printf("tt車位編號 車牌號 停入時間n");for(i=0;i<max;i+)printf("tt%d t%s %d:%dn",ci.weizhi,ci.chepai,ci.rhour,ci.rmin);printf("便道車輛信息:n");printf("tt車位編號 車牌號n");for(j=0;j<max2;j+)printf("tt%d t%sn",j+1,cj+max.che

24、pai);printf("");system("pause");else printf("nnn*當(dāng)前淮師車庫沒有車輛停入*nnn");system("pause");/*.*/int timeh() int h; struct tm *local; time_t t; t = time(NULL); local = localtime(&t); h=local->tm_hour ; return h; /*.*/int timem() int m; struct tm *local; time_t

25、t; t = time(NULL); local = localtime(&t); m=local->tm_min ; return m; /*.*/void rjjs()system( "cls" );printf("tt本軟件為車庫存取車記錄系統(tǒng)nn");printf("tt1.用戶可以通過功能鍵1,2選擇存車,取車功能n");printf("tt2.在存車功能中,汽車優(yōu)先停放在車庫,nt若車場已停滿,則后來的汽車則在門外的便道上等候,nt一旦停車場有車輛開走,排在便道上的第一輛汽車即可進入n");printf("tt3.系統(tǒng)可以記錄

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論