歡迎來到裝配圖網! | 幫助中心 裝配圖網zhuangpeitu.com!
裝配圖網
ImageVerifierCode 換一換
首頁 裝配圖網 > 資源分類 > DOC文檔下載  

長江大學工程技術學院C語言課程設計實習報告.doc

  • 資源ID:9081190       資源大?。?span id="kieijfl" class="font-tahoma">80.50KB        全文頁數:8頁
  • 資源格式: DOC        下載積分:9.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

長江大學工程技術學院C語言課程設計實習報告.doc

長江大學工程技術學院C語言課程設計實習報告 學生成績管理系統的設計 學生姓名:熊奇 學號:201160255 序號:36 專業(yè)班級:測控61101 指導老師:孟憲婷 報告日期:2012年7月6日 第一部分 課程設計的題目與要求 1、問題的提出內容:1)怎樣查詢及顯示庫存物品信息?2)怎樣按不同方式將庫存物品信息排序?3)怎樣統計各物品總價,以及計算所有物品的總價?4)如何才能實現商品的出庫?5)如何修改庫存物品信息?2、功能要求內容:(1)對倉庫中庫存的物品信息實現查詢和顯示功能:a)按物品名查詢該物品的詳細信息。b)查詢庫存數量不足的物品(庫存數量<=30)。c)顯示全部物品信息。將滿足查詢條件的商品顯示在屏幕上。(2)對物品信息實現排序功能a)按商品名排序。b)按商品的分類排序。將排序后的結果顯示在屏幕上。要求至少實現一種排序方式。 (3)統計倉庫中所有物品的總價。用C語言創(chuàng)建一個數據文件,用該文件來存放統計后的結果。(4)實現物品的出庫。當要求從倉庫中提取某種物品時,先查詢該物品的庫存數量是否滿足所購要求。若滿足,則允許出庫,此時要將物品出庫信息寫入物品出庫信息文件中。并修改物品的庫存信息。 (5)實現物品庫存信息的修改功能。先查詢出要修改的記錄,然后選擇要修改的字段名,并輸入新的字段信息。將新的字段信息寫入文件中。本功能為選做內容。 第二部分 課程設計題目功能1. 系統功能模塊版圖設計內容:程序設計模塊圖輸出主操作頁面功能1功能2功能3功能4功能5開始查詢庫存數量不足的物品統計所有物品的總價按物品分類排序顯示物品信息按物品排序顯示全部物品信息顯示全部物品信息實現物品的出庫修改商品名修改商品類型修改商品價格修改商品數量修改某商品全部內容按物品名查詢該物品的詳細2.數據結構說明內容:聲明數據類型、程序中使用的各變量的類型及作用#include <stdio.h> /*頭文件*/#define N 8 /*帶參數的宏定義*/#include <string.h>#include <stdlib.h>#include <time.h> /*有助于后面調用時間函數*/struct store /*定義結構體類型的同時定義結構體變量*/ double total;/*用來存放給各物品的總價*/char name30;char type10; float price;int num; storeN,temp;/*temp中間變量,用來交換結構體中數組的位置*/char str1100; /*main函數中定義字符數組來存放文件中第一行字符*/void detail(char *p1) /*指針變量p1得到main函數中str1傳來的字符串*/char str100/*用來判斷輸入的字符串在庫存中是否存在*/FILE *fp1; /*定義文件指針變量*/double s=0; /*將所有商品累加的和賦給s*/char str110,str210;/* void changeall()函數中str1和str2得到的字符串分別復制給結構體數組中的某一元素*/ int k,m; /* void changeall()函數中n和m得到的數字分別賦給結構體數組中的某一元素*/ char str1100/*void out(char *p6)函數中的str1得到系統的時間與日期*/ void out(char *p6)/*形參為指向字符型的指針變量*/一、內容:模塊功能說明1)菜單的編程和調用void main() /*主函數*/void main() /*主函數*/ int n,i; char str1100;FILE *fp1; /*定義文件指針變量*/ if(fp1=fopen("CK0136_store.txt","r")=0) /*判斷文件是否能打開*/printf("Cannot open file!n");exit(0); /*表示正常退出該系統*/ fgets(str1,100,fp1); for(i=0;i<N;i+) /*用循環(huán)從文件中讀出其中的數據并給每行數組中的元素賦值*/ fscanf(fp1,"%s%s%f%dn",storei.name,storei.type,&storei.price,&storei.num);/*字符串數組前面不能加取地址符號*/ fclose(fp1); /*關閉打開的文件*/ loop: printf("*n"); printf("*n");printf(" 小型倉庫管理系統 n"); printf("*n");printf("*n"); printf("*n");printf(" 1、按物品名查詢該物品的詳細 n"); printf(" 2、查詢庫存數量不足的物品(庫存數量<=30) n");printf(" 3、顯示全部物品信息。 n");printf(" 4、按物品排序顯示全部物品信息。 n");printf(" 5、按物品分類排序顯示全部物品信息。 n"); printf(" 6、統計所有物品的總價。 n"); printf(" 7、實現物品的出庫。 n"); printf(" 8、實現物品庫存信息的修改功能。 n"); printf(" 9、退出。 n"); printf("*n"); printf("*nn"); printf("-n"); printf("請從條件1、2、3、4、5、6、7、8、9中選擇一個滿足您所需的條件n"); printf("-n"); printf("請輸入正確的操作編號:"); scanf("%d",&n); printf("-n"); if(n=9) exit(0);switch(n) /*選擇使用不同的函數來實現不同的功能*/ case 1 : detail(str1);break;/*調用前面已定義的函數;數組名str作為實參*/ case 2 : lack(str1);break;/*break的作用是強制地跳出switch語句體*/ case 3 : all(str1);break; case 4 : ad(str1);break; case 5 : td(str1);break; case 6 : ap();break; case 7 : out(str1);break; case 8 : change();break; default:printf("您輸入的不正確 !nn"); /*若沒按要求輸入條件,就執(zhí)行此語句*/ goto loop;/*若沒按要求輸入條件,則轉移至loop構成循環(huán);否則不執(zhí)行goto語2).從文件中讀出庫存信息以及將文件寫進結構體main() /*文件讀取庫存數據*/ FILE *fp1; /*定義文件指針變量*/ if(fp1=fopen("DX0102_store.txt","r")=0) /*判斷文件是否能打開*/printf("Cannot open file!n");exit(0); /*表示正常退出該系統*/ fgets(str1,100,fp1); for(i=0;i<N;i+) /*用循環(huán)從文件中讀出其中的數據并給每行數組中的元素賦值*/fscanf(fp1,"%s%s%f%dn",storei.name,storei.type,&storei.price,&storei.num);/*字符串數組前面不能加取地址符號*/fclose(fp1); /*關閉打開的文件*/3).實現函數功能的思路:a. void main() 通過顯示一個主菜單選項,選擇其中的條件實現不同的功能,當用戶如入的條件不滿足顯示的條件時,吸取先提醒用戶輸錯,然后使用goto語句跳轉到loop處,請用戶再次輸入正確的條件。b. void detail(char *p1) /*查詢所需要的商品名*/當用戶錯選擇執(zhí)行這函數時可以選擇返回到主顯示頁面也可以繼續(xù)查詢物品的詳情,通過實參傳址使形參得到主函數中的得到的字符串。先判斷庫存中是否有該商品,有的話則輸出該商品的所有信息,否則,查詢不到該商品。c. void lack(char *p2) /*查詢庫存數量少于30的物品*/在執(zhí)行此函數之時用戶可以選擇查詢與返回。首先找到所查物品數量不足的位置,然后顯示在屏幕上,用戶可以選擇退出與返回主顯示菜單。d. void all(char *p3) /*顯示全部物品信息*/在執(zhí)行此函數之時用戶可以選擇顯示與返回。用循環(huán)將結構體中的所有元素都顯示出來,在現實物品信息之前,將指針變量p3的得到的字符串先顯示出來。e. void ad(char *p4) /*按物品名稱排序顯示全部物品信息*/用選擇法依次找出字符串較小的元素,并將其按由小到大的順序排列。用循環(huán)與if語句結合,找出每次循環(huán)中最小的字符串。再用循環(huán)顯示出重新排序的商品信息。f. void td(char *p5)函數 /*按物品分類排序顯示全部物品信息*/思路同e所述的類似。g. void ap() /*所有物品的總價*/先定義文件指針變量,然后用fopen()函數打開文件指針變量所指向的文件,接著用循環(huán)計算出各物品的總價,再用循環(huán)將不同商品的總價寫入到文件,以及累加所有商品的總價,寫入到文件。再將所有的不同商品名及總價以及所有商品的總價顯示出來。最后用戶可以選擇返回主顯示頁面以及退出。h. void out(char *p6) /*商品出庫*/先判斷庫存中是否有該商品,有的話,再判斷該商品在庫存中足不足,足夠的話,可以輸入要出庫的商品數量,接下來將出庫前后有關該商品的全部信息寫入文件指針變量所指向的文件中,以及將出庫的日期與時間也寫到文件中,方便用戶對比前后該商品的有關信息。之后用戶可以選擇繼續(xù)查詢或返回主顯示頁面。否則,查詢不到該商品,不過用戶可以選擇繼續(xù)出庫其他商品,可以選擇返回主顯示頁面以及退出。i. void change() /*修改商品的信息*/ 用switch()語句讓用戶自行選擇修改商品的哪些類容,然后調用不同修改功能的函數,達到用戶的修改目的。 j. void changename() /*更改商品的名稱*/當用戶選擇執(zhí)行此修改功能的時候,先判斷庫存中是否有該商品,有的話,提醒用戶輸入新名稱將其給一個數組,讓后再用strcpy()語句將數組中的字符串復制給要修改的商品名,讓后再將更新后的內容寫到文件中,之后用戶可以選擇繼續(xù)修改或返回主顯示頁面或退出。否則提醒用戶該商品不存在,進而執(zhí)行其它的語句。k. void changetype() /*改變商品的類型*/方法同j所述的相同。l. void changeprice() /*改變物品的價格*/總體方法與i所述的相同,但此處不需要用strcpy()語句,直接可以將要改的價格賦給要修改的商品名價格。m. void changenum()/*改變物品的庫存數量*/方法與i所述的相同。n. void changeall() /*修改該商品的全部信息*/方法是將j和l所述的方法結合起來就可以實現某商品的全部信息。四. 測試與調試內容:列出你的測試數據(原始數據文件)及測試結果庫存信息文件出庫信息文件功能1 測試結果a. 按物品名查詢

注意事項

本文(長江大學工程技術學院C語言課程設計實習報告.doc)為本站會員(jian****018)主動上傳,裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。 若此文所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(點擊聯系客服),我們立即給予刪除!

溫馨提示:如果因為網速或其他原因下載失敗請重新下載,重復下載不扣分。




關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!