C語言實訓報告_第1頁
C語言實訓報告_第2頁
C語言實訓報告_第3頁
C語言實訓報告_第4頁
C語言實訓報告_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

-.z......資料....輕工業(yè)學院實訓報告實訓名稱:基本編程技能實訓成績:時間:2017年6月26日至2017年10月20日一、題目1、簿管理系統(tǒng)2、商品銷售管理系統(tǒng)3、基于存的學籍管理系統(tǒng)(以windows系統(tǒng)實現(xiàn)為主,嘗試Linu*平臺下的程序?qū)崿F(xiàn))二、實訓的性質(zhì)和任務(wù)1、鞏固和強化學生的程序設(shè)計基本知識和基本技能,尤其是C語言的基本數(shù)據(jù)類型、構(gòu)造類型、函數(shù)、指針、文件等等方面的基本知識和技能。2、培養(yǎng)和訓練學生綜合利用所學基本知識和基本技能進行小型應(yīng)用程序開發(fā)的技能。3、培養(yǎng)學生適應(yīng)崗位需要,獨立分析問題、解決問題的基本能力,以及團隊合作精神。三、實訓的基本要求通過本次實訓,學生應(yīng)達到以下幾個方面的要求:1、素質(zhì)要求以積極認真的態(tài)度對待本次實訓,遵章守紀,團隊協(xié)作。善于發(fā)現(xiàn)問題,分析問題,解決問題,努力培養(yǎng)自己的獨立工作能力。2、知識要求熟練賬務(wù)C語言的集成開發(fā)環(huán)境的使用,以及C語言的數(shù)據(jù)類型、語法、基本結(jié)構(gòu)等。熟練掌握C語句的功能、用法以及函數(shù)的調(diào)用使用和頭文件的使用等。3、能力要求學生應(yīng)具有一定的項目分析能力、任務(wù)分解能力、組織實施能力以及理論練習實際應(yīng)用的能力。學生應(yīng)具有一定的查閱教材、各類相關(guān)資料及工具書的能力,進而養(yǎng)成自我學習的習慣。通過本次實訓使學生基本能夠把握C語言的精髓,并能夠熟練使用C語言編寫簡單的程序和通過實際的分析、理論練習實際能夠編制出現(xiàn)實生活或模擬現(xiàn)實生活中簡單的、常見的系統(tǒng)。四、實訓容及要求天/日期任務(wù)描述通過標準第1天說明系統(tǒng)功能,明確課題任務(wù)與涉及的要求、分配具體的任務(wù)。分析實訓容,講解相關(guān)知識,引導(dǎo)學生入門。學生理解題目第2天學生具體分析第一個實訓題目,明確思路和任務(wù),并可以查詢相關(guān)書籍、資料,設(shè)計出每一個模塊的流程圖;理解并設(shè)計相關(guān)的數(shù)據(jù)類型定義。畫出相關(guān)流程圖第3天編寫printheader()、printdata()兩個函數(shù)代碼通過第4天編寫Disp()、stringinput()兩個函數(shù)代碼通過第5天編寫Locate()、Add()兩個函數(shù),完成定位和添加功能代碼通過第6天編寫Quran()、Del()兩個函數(shù),完成查詢和刪除功能代碼通過第7天編寫Insert()、Modify()函數(shù),實現(xiàn)插入和修改功能代碼通過第8天編寫Save()、SelectSort()兩個函數(shù),實現(xiàn)存盤和排序功能同上第9天編寫函數(shù)main()函數(shù),整合前面的功能模塊,完成整個系統(tǒng)成功運行系統(tǒng)第10天學生具體分析第二個實訓題目,明確思路和任務(wù),并可以查詢相關(guān)書籍、資料,設(shè)計出每一個模塊的流程圖;理解并設(shè)計相關(guān)的數(shù)據(jù)類型定義。畫出相關(guān)流程圖第11天建立錄入函數(shù)系統(tǒng),小規(guī)模數(shù)據(jù)實驗,錄入字符,數(shù)字,字母,以及三部分容的混合形式代碼通過第12天對錄入的數(shù)據(jù)實現(xiàn)修改,還原,刪除通過代碼測試第13天用戶名的增加,新建,刪除用戶畫出流程圖第14天數(shù)據(jù)的查詢,數(shù)據(jù)查詢函數(shù)的應(yīng)用,小樣本數(shù)據(jù)實驗代碼通過第15天以鏈表形式來保存數(shù)據(jù),鏈表結(jié)構(gòu)體的混合使用界面建立完畢第16天掌握存函數(shù)malloc(size),calloc()函數(shù)的使用存空間分配通過第17天實現(xiàn)文件的讀取操作代碼通過第18天實現(xiàn)查詢和更新功能代碼通過第19天實現(xiàn)統(tǒng)計功能代碼通過第20天答辯按照要求完成任務(wù),闡述清楚。第21天撰寫實訓報告格式滿足相關(guān)文檔要求五、考核指標及成績評定實訓成績評定方法:平時成績(20%)+驗收與答辯(50%)+實訓報告(30%)=總評成績驗收與答辯成績評定標準:1、全部完成90-1002、主要功能完成70-903、部分功能完成60-704、少部分完成40-605、幾乎沒做0-40完成期限:2017年10月20日指導(dǎo)教師簽名:2017年6月26日目錄1實訓簡介·····································································41.1實訓任務(wù)······························································41.2題目簡介······························································41.3主要容······························································41.4基本要求······························································42總體設(shè)計流程·······························································52.1總體設(shè)計思路························································52.2設(shè)計流程······························································52.3包含的模塊···························································53系統(tǒng)詳細設(shè)計·······························································63.1主函數(shù)········································································63.2 各功能模塊設(shè)計····························································74設(shè)計的實現(xiàn)··································································95總結(jié)···········································································116 參考文獻·····································································12實訓簡介實訓任務(wù)1、鞏固和強化學生的程序設(shè)計基本知識和基本技能,尤其是C語言的基本數(shù)據(jù)類型、構(gòu)造類型、函數(shù)、指針、文件等等方面的基本知識和技能。2、培養(yǎng)和訓練學生綜合利用所學基本知識和基本技能進行小型應(yīng)用程序開發(fā)的技能。3、培養(yǎng)學生適應(yīng)崗位需要,獨立分析問題、解決問題的基本能力,以及團隊合作精神。1.2 題目簡介簿管理系統(tǒng)是具有數(shù)據(jù)插入、更新、刪除、顯示和查詢功能的簿管理程序。1.3 主要容(1)數(shù)據(jù)包括、工作單位、和地址等。(2)可對記錄中的和進行更新。(3)可增加和刪除記錄。(4)可顯示所有的保存的記錄。(5)可按或進行查詢。1.4 基本要求通過本次實訓,應(yīng)達到以下幾個方面的要求:1、素質(zhì)要求以積極認真的態(tài)度對待本次實訓,遵章守紀,團隊協(xié)作。善于發(fā)現(xiàn)問題,分析問題,解決問題,努力培養(yǎng)自己的獨立工作能力。2、知識要求熟練C語言的集成開發(fā)環(huán)境的使用,以及C語言的數(shù)據(jù)類型、語法、基本結(jié)構(gòu)等。熟練掌握C語句的功能、用法以及函數(shù)的調(diào)用使用和頭文件的使用等。3、能力要求應(yīng)具有一定的項目分析能力、任務(wù)分解能力、組織實施能力以及理論練習實際應(yīng)用的能力。學生應(yīng)具有一定的查閱教材、各類相關(guān)資料及工具書的能力,進而養(yǎng)成自我學習的習慣。通過本次實訓使學生基本能夠把握C語言的精髓,并能夠熟練使用C語言編寫簡單的程序和通過實際的分析、理論練習實際能夠編制出現(xiàn)實生活或模擬現(xiàn)實生活中簡單的、常見的系統(tǒng)??傮w設(shè)計流程總體設(shè)計思路根據(jù)上面的要求可知,系統(tǒng)有菜單選擇、數(shù)據(jù)輸入、數(shù)據(jù)查找、數(shù)據(jù)更新、數(shù)據(jù)的存儲等功能。顯示一系列功能選項開始輸入顯示一系列功能選項開始輸入n,判斷n是否是1~6根據(jù)n的值調(diào)用各功能模塊函數(shù)結(jié)束圖2-1主程序流程圖2.3包含的模塊可以將系統(tǒng)設(shè)計分為四大模塊,即顯示、查找、更新(包括增加和刪除)和退出,如圖2-2所示。其中,主要功能是顯示、查詢和更新三個模塊。圖2-2系統(tǒng)功能模塊圖系統(tǒng)詳細設(shè)計主函數(shù)主函數(shù)設(shè)計比較簡潔,只提供輸入、功能處理和輸出部分得函數(shù)調(diào)用。其中各功能模塊采用菜單方式選擇。程序如下:intmain(){ structpersona[100]; intA[100],i,*; for(i=0;i<100;i++) A[i]=i; do { printf("*************************菜單************************\n"); printf("請選擇要進行的操作\n"); printf("1:輸入聯(lián)系人信息\n"); printf("2:分屏顯示所有聯(lián)系人信息\n"); printf("3:查找聯(lián)系人信息\n"); printf("4:刪除聯(lián)系人信息\n"); printf("5:增加聯(lián)系人信息\n"); printf("6:修改聯(lián)系人信息\n"); printf("0:退出\n"); printf("*************************菜單************************\n"); scanf("%d",&*); switch(*) { case1:fun1(a,A);break; case2:fun2(a,A);break; case3:fun3(a,A);break; case4:fun4(a,A);break; case5:fun5(a,A);break; case6:fun6(a,A);break; } } while(*!=0);}各功能模塊設(shè)計*數(shù)據(jù)結(jié)構(gòu):通訊錄的各類數(shù)據(jù)信息均用字符型數(shù)組,用結(jié)構(gòu)體的形式,把各個信息作為結(jié)構(gòu)的成員。結(jié)構(gòu)體的變量可以是指針類型,結(jié)構(gòu)體的類型如下:structperson{ charname[20]; charWP[20]; charPN[20]; charMPN[20]; charFZ[20]; charEM[20]; charQQ[20];‘’‘’‘’};*fun1(structpersonb[100],intB[100]):輸入聯(lián)系人信息函數(shù)。本函數(shù)通過dowhile循環(huán)語句進行對聯(lián)系人各類信息的輸入。*voidfun2(structpersonF[100],inth[100]):分屏顯示聯(lián)系人信息函數(shù)。利用ifelse語句和嵌套for語句作為循環(huán)體通過結(jié)構(gòu)體數(shù)組來進行對存儲的聯(lián)系人的各類信息分屏顯示。定義一個輸出結(jié)構(gòu)數(shù)組,定義一個數(shù)p,k=0,分屏顯示所有聯(lián)系人,十個聯(lián)系人為一頁,t+1為頁數(shù),判斷如果t為0,運用一個for循環(huán)輸出所有聯(lián)系人信息,則所有數(shù)據(jù)在一頁顯示,否則運用一個雙重循環(huán),第一層循環(huán)為顯示的頁數(shù)循環(huán),第二層循環(huán)為輸出每頁的聯(lián)系人信息,在顯示完一頁之后,輸入p,如果P為1,則運用system(“cls”),清除屏幕,運用循環(huán)操作繼續(xù)執(zhí)行顯示操作,直到k<t不成立,顯示了10*t個聯(lián)系人信息,還剩下(n-10*t)個聯(lián)系人信息,循環(huán)結(jié)束后再輸出剩下的(n-10*t)個聯(lián)系人的信息,從10*t到n-1,每個人的順序為10*k+i,最后,所有聯(lián)系人信息都顯示出來。*voidfun3(structpersond[100],inte[100]):聯(lián)系人信息查找函數(shù)。通過for語句作為本函數(shù)的循環(huán)體,由if和while語句進行判斷是否輸出聯(lián)系人信息。*voidfun4(structpersonc[100],intk[100]):聯(lián)系人信息刪除函數(shù)。通過for語句作為本函數(shù)的循環(huán)體,由if來判斷是否刪除聯(lián)系人信息。*voidfun5(structpersonb[100],intB[100]):聯(lián)系人信息添加函數(shù)。本函數(shù)通過dowhile循環(huán)語句進行對聯(lián)系人各類信息的添加。*voidfun6(structpersonT[100],intr[100]):修改聯(lián)系人信息函數(shù)。通過for語句作為本函數(shù)的循環(huán)體,來進行聯(lián)系人信息的修改。4設(shè)計的實現(xiàn)1、主菜單輸入聯(lián)系人信息圖4-12、顯示所有聯(lián)系人信息圖4-23、查找聯(lián)系人圖4-34、刪除聯(lián)系人圖4-45、添加聯(lián)系人圖4-56、修改聯(lián)系人信息圖4-6總結(jié)在這次實訓中,讓我感覺到了許多以前從未有過的經(jīng)歷,實訓過程中曾經(jīng)想放棄過,因為實在太復(fù)雜,感覺太困難,但經(jīng)過自己的努力和老師耐心指導(dǎo),最終我們還是完成了設(shè)計任務(wù),看到程序運行的正確結(jié)果,心充滿無限的辛慰和自豪。雖然不是很優(yōu)秀,但是還是有一種充實的感覺。總之,編程尤其是調(diào)試是一項細致深入的工作,需要下工夫、動腦子、善于積累經(jīng)驗,只有這樣不斷的努力,鍛煉自己,才能在這方面不斷提高。同時,我也深深地體會到,只有把理論基礎(chǔ)打好,在實踐中才能得心應(yīng)手。參考文獻[1]甘勇.《C語言程序設(shè)計》.科學技術(shù).2016年[2]譚浩強.《C程序設(shè)計(第四版)》.清華大學.2008[5]StephenPrata.《CPrimerPlus(第6版)中文版》.人民郵電.2016年目錄1實訓簡介·····································································141.1實訓任務(wù)······························································141.2題目簡介······························································141.3主要容······························································141.4基本要求······························································142總體設(shè)計流程·······························································152.1總體設(shè)計思路························································152.2設(shè)計流程······························································152.3包含的模塊···························································163系統(tǒng)詳細設(shè)計·······························································163.1 主函數(shù)········································································163.2 各功能模塊設(shè)計····························································194設(shè)計的實現(xiàn)··································································245總結(jié)···········································································276 參考文獻·····································································28實訓簡介1.1實訓任務(wù)1、鞏固和強化學生的程序設(shè)計基本知識和基本技能,尤其是C語言的基本數(shù)據(jù)類型、構(gòu)造類型、函數(shù)、指針、文件等等方面的基本知識和技能。2、培養(yǎng)和訓練學生綜合利用所學基本知識和基本技能進行小型應(yīng)用程序開發(fā)的技能。3、培養(yǎng)學生適應(yīng)崗位需要,獨立分析問題、解決問題的基本能力,以及團隊合作精神。1.2 題目簡介商品銷售管理系統(tǒng)是具有數(shù)據(jù)插入、更新、刪除、顯示和查詢功能的商品銷售管理程序。1.3 主要容1)銷售員的代號

2)產(chǎn)品的代號

3)這種產(chǎn)品的當天的銷售額

4)輸出統(tǒng)計報表1.4 基本要求通過本次實訓,應(yīng)達到以下幾個方面的要求:1、素質(zhì)要求以積極認真的態(tài)度對待本次實訓,遵章守紀,團隊協(xié)作。善于發(fā)現(xiàn)問題,分析問題,解決問題,努力培養(yǎng)自己的獨立工作能力。2、知識要求熟練C語言的集成開發(fā)環(huán)境的使用,以及C語言的數(shù)據(jù)類型、語法、基本結(jié)構(gòu)等。熟練掌握C語句的功能、用法以及函數(shù)的調(diào)用使用和頭文件的使用等。3、能力要求應(yīng)具有一定的項目分析能力、任務(wù)分解能力、組織實施能力以及理論練習實際應(yīng)用的能力。學生應(yīng)具有一定的查閱教材、各類相關(guān)資料及工具書的能力,進而養(yǎng)成自我學習的習慣。通過本次實訓使學生基本能夠把握C語言的精髓,并能夠熟練使用C語言編寫簡單的程序和通過實際的分析、理論練習實際能夠編制出現(xiàn)實生活或模擬現(xiàn)實生活中簡單的、常見的系統(tǒng)。總體設(shè)計流程總體設(shè)計思路根據(jù)上面的要求可知,系統(tǒng)有菜單選擇、數(shù)據(jù)輸入、數(shù)據(jù)查找、數(shù)據(jù)更新、數(shù)據(jù)的存儲等功能。2.2設(shè)計流程輸入記錄輸入記錄讀取文件保存到文件每位銷售員的銷售額每種產(chǎn)品的銷售額按銷售額對銷售員排序顯示便條清單退出管理圖2-12.3包含的模塊可以將系統(tǒng)設(shè)計分為八大模塊:即主界面顯示:完成系統(tǒng)菜單的顯示;功能選擇模塊:根據(jù)用戶的選擇完成相應(yīng)的功能;銷售管理信息的輸入:完成用戶從界面輸入銷售管理信息,保存入系統(tǒng)的功能;銷售信息的修改:完成用戶從界面輸入銷售管理信息,在系統(tǒng)中查詢定位,并將錄入的數(shù)據(jù)保存入系統(tǒng)的功能;銷售信息的查詢:完成用戶從界面輸入的條件,在系統(tǒng)中查詢符合條件的銷售信息,并在界面上顯示的功能;銷售管理信息的導(dǎo)入:完成用戶從界面輸入需要導(dǎo)入的文件路徑名稱,讀取該文件的容,保存入系統(tǒng),并在界面上顯示導(dǎo)入容的功能;銷售管理信息的導(dǎo)出:完成用戶從界面輸入需要導(dǎo)出的文件路徑名稱,將系統(tǒng)中銷售管理信息保存入文件中;銷售管理信息的刪除:完成用戶從界面輸入需要的銷售管理信息的,并將其從系統(tǒng)中刪除。如圖2-2所示。其中,主要功能是顯示、查詢和更新三個模塊。系統(tǒng)詳細設(shè)計主函數(shù)主函數(shù)設(shè)計比較簡潔,只提供輸入、功能處理和輸出部分得函數(shù)調(diào)用。其中各功能模塊采用菜單方式選擇。程序如下:intmain(){ voidinsert(); voiddel(); voidinput(); voidshow(); voidsave(); voidsort(); voidstatistics_sailer(); inti; while(1) { printf("----------------------------------\n"); printf("|銷售管理系統(tǒng)|\n"); printf("|>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>|\n");printf("|0退出銷售管理系統(tǒng)|\n"); printf("|1銷售員信息錄入|\n"); printf("|2銷售員信息顯示|\n"); printf("|3銷售額信息保存|\n"); printf("|4產(chǎn)品總銷售額由大到小排序|\n"); printf("|5統(tǒng)計產(chǎn)品銷售額信息|\n"); printf("|6插入銷售員及其信息|\n"); printf("|7刪除銷售員及其信息|\n"); printf("|<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<|\n"); printf("|請選擇系統(tǒng)的功能項|\n"); printf("----------------------------------\n"); scanf("%d",&i); switch(i) {case0:printf("o退出銷售管理系統(tǒng)o\n"); e*it(0);break;case1: printf("-----銷售員信息錄入-----\n"); input();break;case2: printf("-----銷售員信息顯示-----\n"); show();break;case3: printf("-----銷售額信息保存-----\n"); save();break;case4: printf("-----總銷售額信息排序-----\n"); sort();break;case5: printf("-----統(tǒng)計產(chǎn)品銷售額信息-----\n"); statistics_sailer();break;case6:printf("-----插入銷售員及其信息-----\n"); insert();break;case7: printf("-----刪除銷售員及其信息-----\n");del();break;default:printf("輸入錯誤,請重新選擇!!"); break; } }}銷售管理銷售管理主界面顯示功能選擇銷售管理信息輸入銷售管理信息修改銷售管理信息查詢銷售管理信息導(dǎo)入銷售管理信息導(dǎo)出銷售管理信息刪除圖2-2各功能模塊設(shè)計*數(shù)據(jù)結(jié)構(gòu):銷售管理系統(tǒng)的各類數(shù)據(jù)信息均用字符型數(shù)組,用結(jié)構(gòu)體的形式,把各個信息作為結(jié)構(gòu)的成員。結(jié)構(gòu)體的變量可以是指針類型,結(jié)構(gòu)體的類型如下:structseller{ charnum[10]; charname[20]; intsailerl;intsailerm; intsum;}seller[200];*voidinput():銷售員信息輸入函數(shù)voidinput() { inti; printf("請輸入銷售員個數(shù)\n"); scanf("%d",&n); for(i=0;i<n;i++) { printf("輸入銷售員:\n"); scanf("%s",seller[i].name); printf("輸入銷售員工號:\n"); scanf("%s",seller[i].num); printf("請分別輸入產(chǎn)品一和產(chǎn)品二的銷售額:\n"); scanf("%d%d",&seller[i].sailerl,&seller[i].sailerm);} system("cls");}*voidshow():銷售員信息顯示函數(shù)voidshow() {structseller*p; system("cls"); printf("工號產(chǎn)品一銷售額產(chǎn)品二銷售額:\n");for(p=seller;p<seller+n;p++)printf("%-8s%2s%6d%12d\n",p->name,p->num,p->sailerl,p->sailerm);printf("\n\n"); }*voidsave():銷售員信息保存函數(shù)voidsave() { FILE*fp; inti; fp=fopen("seller.t*t","w"); for(i=0;i<n;i++) fwrite(&seller[i],sizeof(structseller),1,fp);system("cls"); printf("\n\n"); printf("保存成功!\n");printf("\n\n"); }*voidsort():總銷售額信息排序函數(shù)voidsort() { structsellertemp; inti,j; for(i=0;i<n;i++) seller[i].sum=seller[i].sailerl+seller[i].sailerm; for(j=0;j<n-1;j++) for(i=0;i<n-1-j;i++) if(seller[i].sum<seller[i+1].sum) { temp=seller[i]; seller[i]=seller[i+1]; seller[i+1]=temp; } system("cls"); printf("工號產(chǎn)品一銷售額產(chǎn)品二銷售額產(chǎn)品總銷售額:\n"); for(i=0;i<n;i++) printf("\n%s\t%s\t%d\t%8d\t%8d\n",seller[i].name,seller[i].num,seller[i].sailerl,seller[i].sailerm,seller[i].sum);}*voidstatistics_sailer():統(tǒng)計產(chǎn)品銷售額信息函數(shù)voidstatistics_sailer() { inti,sum1,sum2,sum; sum1=0;sum2=0;sum=0;for(i=0;i<n;i++) { sum1+=seller[i].sailerl; sum2+=seller[i].sailerm; sum=sum1+sum2; } system("cls");printf("產(chǎn)品一的銷售額:%d\n",sum1);printf("產(chǎn)品二

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論