C語言課程設(shè)計報告-物資管理系統(tǒng).doc
《C語言課程設(shè)計報告-物資管理系統(tǒng).doc》由會員分享,可在線閱讀,更多相關(guān)《C語言課程設(shè)計報告-物資管理系統(tǒng).doc(20頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、C語言課程設(shè)計目 錄1、需求分析;2、系統(tǒng)總框圖;3、每個模塊的設(shè)計分析;4、列出所有定義的函數(shù)及說明;5、舉例說明1、2個比較有特點的算法;6、數(shù)據(jù)分析。完備性、健壯性等;7、存在的問題與不足及對策;8、使用說明(操作手冊);9、學習心得前 言計算機科學技術(shù)的發(fā)展,不僅極大地促進了整個科學技術(shù)的發(fā)展,而且明顯地加快了經(jīng)濟信息化和社會信息化的進程。因此,計算機教育在全國備受重視,計算機知識與能力已成為21世紀人才素質(zhì)的基本要素之一。如今,高等教育的計算機教育發(fā)展十分迅速。十多年前,只有部分理工科專業(yè)開設(shè)計算機課程。今天,幾乎所有高校的所有專業(yè)都開設(shè)了程度不同的計算機課程。人們已經(jīng)認識到,計算機
2、知識已成為當代知識分子知識結(jié)構(gòu)中不可缺少的重要組成部分。而除了掌握計算機的基礎(chǔ)知識和操作的基本能力外,掌握一門高級編程語言,并可以熟練運用它,已成為當代大學生綜合能力必要組成。計算機技術(shù)發(fā)展如此迅猛,計算機應(yīng)用如此廣泛,需要學習的東西愈來愈多,而我們的總學時是有限的。一般來說,計算機課程學習可以分為兩部分:一部分是理論課程學習,一部分是上機應(yīng)用實習。根據(jù)我們專業(yè)的性質(zhì)和要求,則應(yīng)側(cè)重于上機操作運用。為此,學校特意在暑期最后一星期安排了32個學時的上機實習。現(xiàn)將一星期的實習內(nèi)容及結(jié)果分析分列如下:物資管理系統(tǒng)一 題目要求1 編輯一個物資管理系統(tǒng),能進行物資信息的錄入,查詢,打印和數(shù)據(jù)的修改。(1
3、)物資信息錄入:包括物資名稱、編號、規(guī)格、入庫時間、最大庫存、最小庫存、實際庫存。(2)物資信息查詢:可以分別以名稱、日期、名稱和規(guī)格查詢。(3)新料入庫:將新料的信息與以前儲存的信息存在一起。(4)物資領(lǐng)取:在領(lǐng)料之后改變實際庫存量。(5)物資打印:打印出庫存的所有物資。2在課本要求的基礎(chǔ)上,我在實習過程中又補充了一個功能即物資數(shù)據(jù)的更新,這主要是為了滿足如果在信息錄入的過程中將數(shù)據(jù)輸錯,可以在查詢到錯誤后進行更改,同時如果新入庫的物資是以前存在的,那么也可以用此功能進行入庫數(shù)據(jù)輸入。3要求數(shù)據(jù)以dat格式存放在硬盤上便于長期保存。二 需求分析根據(jù)題目要求,數(shù)據(jù)以dat的形式存儲在硬盤上,所
4、以應(yīng)提供文件的輸入,輸出等操作;還需要文件具有查找,替換,修改數(shù)據(jù)的功能??傮w設(shè)計根據(jù)上面的需求分析,可以將這個系統(tǒng)的設(shè)計分為如下七大模塊:一、信息錄入:在每次輸入信息時提供必要的友情提示。提示包括:1.如果選擇此項功能,那么之前的數(shù)據(jù)將被刪除,只將此次數(shù)據(jù)存儲;2.需要輸入的數(shù)目,保證輸入能夠終止;3.輸入信息時提示這是輸入的第幾個物資的信息。輸入結(jié)束后以文件的形式儲存。二、信息查找:按查詢條件分為三個小模塊。分別為以名稱、日期、名稱和規(guī)格查詢模塊。此模塊只包含查詢的目錄和選擇,然后分別進入每個小模塊。1以名稱查詢:輸入要查詢物資的名稱,系統(tǒng)將其與文件里的物資名稱進行比較,如果找到匹配的那么
5、將其打印出來,最后統(tǒng)計匹配物資數(shù)量。2.以日期查詢:按要求輸入查詢物資入庫日期,系統(tǒng)將其與文件里的物資入庫時間進行比較,如果找到匹配的那么將其打印出來,最后統(tǒng)計匹配物資數(shù)量。3.以名稱和規(guī)格查詢:按要求輸入要查詢物資的名稱和規(guī)格,系統(tǒng)將其與文件里的物資的名稱和規(guī)格進行比較,如果找到匹配的那么將其打印出來,最后統(tǒng)計匹配物資數(shù)量。三、新料入庫:打開文件,按要求輸入數(shù)據(jù)后提供是否確定或從新輸入的選擇,輸入數(shù)據(jù)在確定的情況下儲存在原來已經(jīng)存在的數(shù)據(jù)的后面。每次只能輸入一個物資的數(shù)據(jù)。四、物資領(lǐng)?。狠斎胍〕鑫镔Y的名稱、規(guī)格、入庫時間,如果找到匹配的那么將庫存實際量數(shù)據(jù)改變,輸入要取出的量不能大于實際的
6、庫存量,否則輸入數(shù)據(jù)無效。五、物資打?。捍蛴〕鰩齑娴奈镔Y的所有信息,便于使用者了解整體情況。六、數(shù)據(jù)更新:如果查詢到庫存信息有誤,那么可以對其進行更改。如果需要入庫的物資已經(jīng)存在,那么只需要更改相應(yīng)數(shù)據(jù)即可。也就是可以用此功能對已經(jīng)存儲的所有信息進行更改。七、退出:退出整個系統(tǒng)。物資管理系統(tǒng)信息錄入信息查詢新料入庫物資打印數(shù)據(jù)更新退出物資領(lǐng)取三 詳細設(shè)計1 主函數(shù)為了各模塊的獨立性,主函數(shù)設(shè)計得比較簡單,本系統(tǒng)主要用主函數(shù)打開做一個封面的打印,包含我的個人信息,然后進入主菜單選擇操作。流程圖打印出我的資料,任意鍵繼續(xù)進入主菜單函數(shù)程序/*主函數(shù)*/main() /*主函數(shù)*/ puts(nnn
7、ntt歡迎使用物資管理系統(tǒng)); puts(ttName:楊超 ); puts(ttNumber:20071001560 ); puts(ttE-mail: ); puts(ttTel:15872351704 ); puts(tt ); puts(tt*楊超 ); puts(tt*2009.1.2 ); puts(tt); printf(nttt 按任意鍵繼續(xù)); getch(); menu();2 主菜單函數(shù)流程圖顯示一系列功能選項輸入n,判斷n是否是1-7根據(jù)n的值調(diào)用各功能模塊函數(shù)是否程序menu() /*菜單函數(shù)*/ int n,m; do puts(ntt*菜單*nn); puts(t
8、tt1.物資信息錄入); puts(ttt2.物資信息查詢); puts(ttt3.新料入庫); puts(ttt4.物資領(lǐng)取); puts(ttt5.物資打印); puts(ttt6.物資數(shù)據(jù)更新); puts(ttt7.退出); puts(nntt*n); puts(tt*楊超n); puts(tt*2009.1.2n); printf(選擇操作 1-7: bb); scanf(%d,&n); if(n7) m=1;getchar(); else m=0; while(m=1);switch(n) /*分別進入各函數(shù)*/ case 1:write();break; /*錄入函數(shù)*/ cas
9、e 2:search();break; /*查詢函數(shù)*/ case 3:insert();break; /*新料入庫函數(shù)*/ case 4:lend();break; /*領(lǐng)料函數(shù)*/ case 5:print();break; /*打印函數(shù)*/ case 6:rewrite();break; /*信息更改*/ case 7:exit(0); /*退出*/ 各功能模塊設(shè)計(1) 物資信息錄入/*物資信息錄入函數(shù)*/建立一個write函數(shù)用于第一次存儲信息。用printf函數(shù)打印出提示語(提示:請確定這是你第一次錄入信息,因為之前保存的數(shù)據(jù)將被刪除),然后用scanf函數(shù)接受一個數(shù)據(jù)給k,用if
10、語句判斷k是否為0。如果繼續(xù)則輸入0,那么此時if(k!=0)為假,不執(zhí)行if后面的語句。否則用printf_back()調(diào)回到主目錄。選擇繼續(xù)之后,用printf函數(shù)提示輸入需用錄入的物資的數(shù)量,同時提示最大數(shù)字。然后用printf提示現(xiàn)在開始輸入信息,執(zhí)行input()函數(shù)開始輸入相關(guān)信息。輸入信息執(zhí)行后,用if(i!=0)判斷是否已經(jīng)輸入信息,如果輸入有數(shù)據(jù)那么i執(zhí)行了循環(huán),則if(i!=0)語句為真,執(zhí)行save函數(shù)進行保存。沒有執(zhí)行i循環(huán)則if(i!=0)為假,直接執(zhí)行printf函數(shù)跳到主目錄。代碼如下:write()int i,n,k; printf(nnt提示:請確定這是你第一
11、次錄入信息,因為之前保存的數(shù)據(jù)將被刪除!nn); printf(ttt是否繼續(xù)!nnttt0 *是nnttt其它 *否 bb); scanf(%d,&k); if(k!=0) printf_back(); printf(n需要錄入物資數(shù)量(0-%d)?:,N-1); /*N是宏定義,可以隨時改變其值*/ scanf(%d,&n); printf(n現(xiàn)在輸入信息nn); for(i=0;in;i+) printf(n現(xiàn)在輸入第 %d個物資的信息:n,i+1); input(i); if(i!=0)save(n); printf_back(); /*查詢函數(shù)*/本函數(shù)只包含跳轉(zhuǎn)到查詢目錄函數(shù),然后
12、執(zhí)行查詢目錄。打碼如下:search() searchmenu();物資信息查詢:1、/*以日期查詢函數(shù)*/建立日期結(jié)構(gòu)體。struct search_dateint year; int month; int day;s;search_by_date()int j,n,m=0;打開文件到內(nèi)存,使可以對數(shù)據(jù)進行操作。 n=load(); 提示語:printf(n輸入你所查詢信息的日期!ndate:); 輸入數(shù)據(jù)分別賦值給日期中的年月日。scanf(%d.%d.%d,&s.year,&s.month,&s.day);用for循環(huán)使輸入的日期與數(shù)據(jù)中的每一個日期進行比較。 for(j=0;jn;j+
13、)判斷輸入的日期與當前物資的日期是否相同,如果相同則if為真,用m統(tǒng)計相同日期的物資的個數(shù)。打印出滿足條件的物資的信息。if(s.year=proj.in_date.year)&(s.month=proj.in_date.month)&(s.day=proj.in_date.day) m+; printf_data(j);打印出滿足條件物資的數(shù)量。printf(n有%d種物資與查詢相匹配!,m);按任意鍵返回到主函數(shù)。getch();menu();/*以名稱查詢函數(shù)*/search_by_name()int j,n,m=0;char a20;打開文件,使能對文件中的數(shù)據(jù)進行操作。 n=load
14、(); 提示語言printf(n輸入你所查詢信息的名稱!nname:); 輸入一個字符數(shù)據(jù)賦值給ascanf(%s,a);用for循環(huán)使a與文件中的每一個數(shù)據(jù)進行判斷,如果相同則打印出來同時用m統(tǒng)計相同的個數(shù)。 for(j=0;jn;j+) if(strcmp(a,proj.p_name)=0) m+; printf_data(j); 打印出相同個數(shù)的數(shù)量。printf(n有%d種物資與查詢相匹配!,m);任意鍵返回getch();menu();/*以名稱和規(guī)格查詢函數(shù)*/search_by_nameandsize()int j,n,m=0;char a20,b4;打開文件使能對數(shù)據(jù)進行操作。
15、 n=load(); 提示輸入語,將輸入的字符數(shù)據(jù)賦值給aprintf(n輸入你所查詢信息的名稱!nname:); scanf(%s,a);提示輸入語,使輸入的字符數(shù)據(jù)賦值給b printf(n輸入你所查詢信息的規(guī)格!nsize:); scanf(%s,b);用for語句使輸入的名稱和規(guī)格數(shù)據(jù)與內(nèi)存中的每一個數(shù)據(jù)進行比較。 for(j=0;jn;j+)如果數(shù)據(jù)與當前數(shù)據(jù)相同,打印出數(shù)據(jù),同時用m統(tǒng)計相同個數(shù)。 if(strcmp(a,proj.p_name)=0)&(strcmp(b,proj.size)=0) m+; printf_data(j); 打印出匹配物資的個數(shù)。printf(n有%
16、d種物資與查詢相匹配!,m);任意鍵返回主菜單。getch();menu();新料入庫/*新料入庫函數(shù)*/insert()int n,c;打開文件使能對數(shù)據(jù)進行操作。 n=load(); puts(n請輸入相關(guān)信息:n);用dowhile循環(huán)判斷是否從新輸入。 do 進入input函數(shù)輸入新料的相關(guān)數(shù)據(jù)。input(n);調(diào)用printf_data函數(shù)打印出剛輸入的新料的相關(guān)數(shù)據(jù)。 printf_data(n);按提示語進行下一步操作。 printf(nn是否確定輸入n1 ).是n2 ).從新輸入n其它).返回 bb);接受一個數(shù)據(jù)賦值給c,如果c=1,那么將新輸入的數(shù)據(jù)保存。如果c!=1且c
17、!=2,那么返回到主函數(shù),如果c=2那么從新輸入新料的數(shù)據(jù)。 scanf(%d,&c); if(c=1) save(n+1);printf_back(); else if(c!=2)menu(); while(c=2);物資領(lǐng)取/*領(lǐng)料函數(shù)*/lend()int j,n,k=0;打開文件使能對數(shù)據(jù)進行操作。 n=load();由于數(shù)據(jù)類型很重要,因此輸出提示語,使按照提示操作。 printf(n請輸入你需要物資內(nèi)容的相關(guān)信息!); printf(n名稱(1-20字母)t規(guī)格(1-4字母)t入庫日期t領(lǐng)取數(shù)量n);輸入數(shù)據(jù),分別賦值給名稱、規(guī)格和入庫日期,同時輸入領(lǐng)取量。scanf(%st%st
18、%d.%d.%dt%d,&take.p_name,&take.size,&take.one_date.year,&take.one_date.month,&take.one_date.day,&take.total);用for循環(huán)判斷要領(lǐng)取的物資是否存在與庫中,同時判斷領(lǐng)取量是否小于庫存量。 for(j=0;jn;j+)if(strcmp(take.p_name,proj.p_name)=0)&(strcmp(take.size,proj.size)=0)&(take.one_date.year=proj.in_date.year)&(take.one_date.month=proj.in_d
19、ate.month)&(take.one_date.day=proj.in_date.day)&(take.total=proj.real_s)如果存在物資,那么領(lǐng)取物資,庫存的實際數(shù)量更新,打印出領(lǐng)料后物資的信息,同時使k=1。 proj.real_s-=take.total; printf_data(j); k=1; 如果不存在物資,那么k的值不變?yōu)?,則執(zhí)行if語句返回到主菜單。if(k=0) printf(輸入數(shù)據(jù)未找到!);getch();menu();領(lǐng)料后保存數(shù)據(jù),返回到主菜單。save(n);printf_back();物資打印/*打印函數(shù)*/print()int i,n;將文
20、件的數(shù)據(jù)讀到內(nèi)存中,使能對數(shù)據(jù)進行處理。 n=load();用for循環(huán)打印出從文件中讀出的每一個數(shù)據(jù)。 for(i=0;in;i+) printf_data(i);任意鍵返回。 puts(nnttt任意鍵返回); getch(); menu();物資數(shù)據(jù)更新/*信息更改函數(shù)*/rewrite()char p_name20;long int p_num; char size4;int m,n,j,k=0;讀入文件中的數(shù)據(jù),使能對其進行操作。 n=load();用dowhile語句執(zhí)行循環(huán)輸入。 do puts(n要更改物資的信息:名稱 編號 規(guī)格);賦值給名稱、編號、規(guī)格,打印出輸入的信息,接
21、受數(shù)據(jù)判斷選擇操作。 scanf(%s%ld%s,&p_name,&p_num,&size); printf(名稱:%stt編號:%ldtt規(guī)格:%s,&p_name,p_num,&size); printf(nnnnttt是否繼續(xù)!nnttt0 *是nnttt1 *退出nnttt其它 *重新輸入 bb);根據(jù)提示信息輸入一個值給m,如果退出則輸入1,那么if(m=1)為真,返回到主菜單;如果要繼續(xù)則輸入為0,k賦值為1,那么while語句為假,進行后面的操作;重新輸入則輸入除0和1以外的數(shù)據(jù),那么k=0,while(k!=1)為真,執(zhí)行重新輸入。 scanf(%d,&m); if(m=1)
22、printf_back(); else if(m=0) k=1; while(k!=1);用for循環(huán)判斷要更改的物資是否存在,如果存在調(diào)入input函數(shù),重新輸入物資的信息,保存新信息,返回到主菜單。 for(j=0;jn;j+) if(strcmp(p_name,proj.p_name)=0)&(p_num=proj.p_num)&(strcmp(size,proj.size)=0) puts(n請重新輸入信息n); input(j); save(n); printf_back(); 如果沒有一個匹配,提示未找到返回主菜單。 puts(未找到n按任意鍵返回!); getch(); menu
23、();退出如果輸入為7那么直接用exit(0);結(jié)束整個程序。各函數(shù)及說明main() 包括個人說明和調(diào)入menu()函數(shù)。menu() 打印出各個功能菜單,選擇需要操作的功能,進入各功能。input() 輸入物資的名稱、編號、規(guī)格、入庫時間、庫存最大最小和實際量。代碼如下:input(int i) /*輸入函數(shù)*/printf(n名稱(1-20字母):); scanf(%s,&proi.p_name); printf(n編號(1-7數(shù)字):); scanf(%d,&proi.p_num); printf(n規(guī)格(1-4字母):); scanf(%s,&proi.size); printf(n
24、入庫日期(年.月.日):); scanf(%d.%d.%d,&proi.in_date.year,&proi.in_date.month,&proi.in_date.day); printf(n數(shù)量庫存最小-實際-最大:); scanf(%d-%d-%d,&proi.min_s,&proi.real_s,&proi.max_s);insert() 新料入庫函數(shù),調(diào)入input()函數(shù),將輸入的信息存儲在原信息的后面,提供是否繼續(xù)的選擇操作。lend() 領(lǐng)料入庫函數(shù),輸入物料信息,查找物料是否存在,如果存在則取出相應(yīng)數(shù)量的物料,改變相應(yīng)庫存信息并保存,若不存在,打印出提示。load() 從文件
25、中讀入物資庫存信息到內(nèi)存,使可以對數(shù)據(jù)進行操作。代碼如下:load() /*從文件讀入函數(shù)*/ FILE*fp; /*定義指針*/ int k; if(fp=fopen(pro.dat,rb)=NULL) /*以只讀方式打開一個二進制文件,打開失敗給出提示*/ printf(n文件打開失敗!n); return NULL; for(k=0;!feof(fp);k+) /*打開成功將其所有數(shù)據(jù)讀入一次到內(nèi)存中*/ fread(&prok,sizeof(struct product),1,fp); fclose(fp); /*關(guān)閉指針*/ return(k-1); /*給出返回值使能對讀入的數(shù)據(jù)進
26、行準確操作*/print() 打印出庫存每一條信息。代碼如下:print()int i,n; n=load(); for(i=0;in;i+) printf_data(i); puts(nnttt任意鍵返回); getch(); menu();print_back() 操作完成后返回到主菜單的函數(shù)。代碼如下:printf_back() /*返回提示函數(shù)*/printf(nn操作完成nn按任意鍵返回!n); getch(); menu();print_data() 打印出名稱、編號、規(guī)格、日期、庫存最小-實際-最大。代碼如下:printf_data(int i) /*打印函數(shù)*/printf(n
27、名稱tt編號t規(guī)格t日期tt庫存最小-實際-最大n);printf(%stt%dt%st%d.%d.%dtt%d-%d-%d,proi.p_name,proi.p_num,proi.size,proi.in_date.year,proi.in_date.month,proi.in_date.day,proi.min_s,proi.real_s,proi.max_s);rewrite() 信息更改函數(shù),可更改庫存中的人以信息。save() 將內(nèi)存中的數(shù)據(jù)保存到硬盤中。代碼如下:save(int n) /*保存函數(shù)*/FILE*fp; /*定義指針*/ int k; if(fp=fopen(pro
28、.dat,wb)=NULL) /*以只寫的方式打開一個二進制文件,文件名為pro.dat printf(n文件打開失??!n); 如果打開失敗給出提示*/ return NULL; for(k=0;kn;k+) /*打開成功則將內(nèi)存中的物資信息存到硬盤上*/ if(prok.real_s!=0) if(fwrite(&prok,sizeof(struct product),1,fp)!=1) printf(文件存儲失敗n); /*存儲失敗給出提示*/ fclose(fp);search() 調(diào)入查詢菜單函數(shù)。search_by_name() 以名稱為條件查詢函數(shù),找到名稱相同的物料,調(diào)用prin
29、t_data()函數(shù)打印出匹配的物料信息。search_by_date()以日期為條件查詢函數(shù),找到入庫時間相同的物料,調(diào)用print_data()函數(shù)打印出匹配的物料信息。search_by_nameandsize()以名稱和規(guī)格為條件查詢函數(shù),找到信息相同的物料,調(diào)用print_data()函數(shù)打印出匹配的物料信息。searchmenu() 打印出提示信息,使按要求操作,根據(jù)輸入的信息不同進入各個不同查詢條件函數(shù)。searchmenu()int n,w2; do puts(ntt*查詢目錄*nn); puts(ttt1.以名稱查詢); puts(ttt2.以日期查詢); puts(ttt3
30、.以名稱和規(guī)格查詢); puts(ttt4.返回); puts(nntt*n); printf(選擇命令 1-4: bb); scanf(%d,&n); if(n4) w2=1;getchar(); else w2=0; while(w2=1); switch(n) /*跳轉(zhuǎn)到查詢函數(shù)*/ case 1:search_by_name();break; /*轉(zhuǎn)入以名稱查詢函數(shù)*/ case 2:search_by_date();break; /*轉(zhuǎn)入以日期查詢函數(shù)*/ case 3:search_by_nameandsize();break; /*轉(zhuǎn)入以名稱和規(guī)格查詢函數(shù)*/ case 4:ge
31、tch();menu(); /*跳轉(zhuǎn)到菜單函數(shù)*/ write() 將物資信息讀入到內(nèi)存中并保存在硬盤中。時間結(jié)構(gòu)體struct dateint year; int month; int day;領(lǐng)料時需要輸入的產(chǎn)品信息結(jié)構(gòu)體struct one_prochar p_name20;long int p_num; char size4; struct date one_date; long int total; struct one_pro *next;take;保存文件的產(chǎn)品信息結(jié)構(gòu)體struct productchar p_name20; long int p_num; char size4
32、; struct date in_date; long int max_s; long int min_s; long int real_s; struct product *next;proN;查詢?nèi)掌诘慕Y(jié)構(gòu)體struct search_dateint year; int month; int day;s;操作展示截圖:開始界面:提示語后輸入信息:輸入信息后選擇打印結(jié)果:a的編號為1000規(guī)格為xxl入庫日期為2009.1.8庫存實際量為58。以名稱查詢結(jié)果:以日期查詢結(jié)果:以名稱和規(guī)格查詢結(jié)果:新料入庫界面:領(lǐng)取a物資5個單位后,a的庫存實際量為53物資數(shù)據(jù)更新后,a名稱改為aa,編號為1
33、008,規(guī)格為xxx,入庫日期為2009.1.10,庫存信息也相應(yīng)改變,同時上次輸入的新料的信息也存儲了進去:程序特點和個人總結(jié): 本程序是自己的勞動結(jié)果,由于是第一次學習程序語言,接觸程度不深,因此編寫的語言非常簡單,全部使用的是一些常見的語言結(jié)構(gòu),讀起來也比較容易。同時由于是初學,因此寫出的程序代碼也顯得比較淺略,對于編程高手來說顯得平淡如水,這是今后需要改正的地方。但是由于程序是分模塊編寫的,看起來也比較簡練,不會顯得雜亂。同時有一個問題還沒有解決。問題如下:menu() int n,m; do puts(ntt*菜單*nn); puts(ttt1.物資信息錄入); puts(ttt2.
34、物資信息查詢); puts(ttt3.新料入庫); puts(ttt4.物資領(lǐng)取); puts(ttt5.物資打印); puts(ttt6.物資數(shù)據(jù)更新); puts(ttt7.退出); puts(nntt*n); puts(tt*楊超n); puts(tt*2009.1.2n); printf(選擇操作 1-7: bb); scanf(%d,&n); if(n7) m=1;getchar(); else m=0; while(m=1);開始沒有加入getchar函數(shù),程序陷入死循環(huán),分析了很久也沒有找到原因。后來在網(wǎng)上搜索了一個相似的代碼,依葫蘆畫瓢加上getchar()問題才解決。但是在北區(qū)的機房調(diào)試程序時,沒有g(shù)etchar()也沒有陷入死循環(huán)。 程序中使用漢字時有時會無故失靈,不改變程序重新調(diào)試又正常運行,這也是自己需要學習的一點。使用說明:本程序交互性很強,在每次輸入數(shù)據(jù)時都有提示,因此完全可以在程序中操作自如。但需要注意的一點是,輸入數(shù)據(jù)時,一定要保證與提示的類型相同,否則將出現(xiàn)無法預(yù)料的結(jié)果。如下:按日期查詢數(shù)據(jù)時輸入日期為we時,出現(xiàn)的結(jié)果就顯得莫名其妙。
- 溫馨提示:
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)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。