學(xué)生成績(jī)管理系統(tǒng)C語言-課程設(shè)計(jì)_第1頁
學(xué)生成績(jī)管理系統(tǒng)C語言-課程設(shè)計(jì)_第2頁
學(xué)生成績(jī)管理系統(tǒng)C語言-課程設(shè)計(jì)_第3頁
學(xué)生成績(jī)管理系統(tǒng)C語言-課程設(shè)計(jì)_第4頁
學(xué)生成績(jī)管理系統(tǒng)C語言-課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩43頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

PAGE武漢長(zhǎng)江工商學(xué)院計(jì)算機(jī)技術(shù)系項(xiàng)目名稱:學(xué)生成績(jī)管理系統(tǒng)學(xué)生姓名:學(xué)號(hào):班級(jí):指導(dǎo)教師:2013年6月18日

目錄TOC\o"1-2"\h\z\u1實(shí)驗(yàn)?zāi)康暮鸵饬x 11.1目的 11.2意義 12系統(tǒng)功能描述及設(shè)計(jì) 23系統(tǒng)存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)與描述 44系統(tǒng)功能實(shí)現(xiàn)及算法描述 74.1學(xué)生信息的錄入 74.2學(xué)生信息的瀏覽 84.3學(xué)生信息查詢 94.4學(xué)生信息排序 104.5對(duì)學(xué)生信息進(jìn)行刪除 114.6對(duì)學(xué)生信息進(jìn)行修改 124.7對(duì)學(xué)生信息進(jìn)行添加 134.8對(duì)學(xué)生成績(jī)進(jìn)行統(tǒng)計(jì) 145系統(tǒng)性能測(cè)試 155.1錄入學(xué)生信息功能測(cè)試 155.2瀏覽功能測(cè)試 155.3查詢學(xué)生信息 165.4學(xué)生成績(jī)排序 175.5實(shí)現(xiàn)對(duì)學(xué)生信息的刪除 185.6實(shí)現(xiàn)對(duì)學(xué)生信息的修改 195.7實(shí)現(xiàn)對(duì)學(xué)生信息的添加 205.8實(shí)現(xiàn)對(duì)學(xué)生信息的統(tǒng)計(jì) 206設(shè)計(jì)小結(jié) 21致謝 22參考文獻(xiàn) 23源代碼清單: 25武漢長(zhǎng)江工商學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系PAGE461實(shí)驗(yàn)?zāi)康暮鸵饬x1.1目的本課程設(shè)計(jì)的目的就是要通過一次集中的強(qiáng)化訓(xùn)練,使學(xué)生能及時(shí)鞏固已學(xué)的知識(shí),補(bǔ)充未學(xué)的但又必要的內(nèi)容。進(jìn)行課程設(shè)計(jì)目的在于加深對(duì)程序設(shè)計(jì)基礎(chǔ)理論和基本知識(shí)的理解,促進(jìn)理論與實(shí)踐的結(jié)合,進(jìn)一步提高程序設(shè)計(jì)能力。具體目的如下:使學(xué)生更深入地理解和掌握該課程中的有關(guān)基本概念,程序設(shè)計(jì)思想和方法。培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí)獨(dú)立完成課程設(shè)計(jì)的能力。培養(yǎng)學(xué)生勇于探索、嚴(yán)謹(jǐn)推理、實(shí)事求是、有錯(cuò)必改、用實(shí)踐來檢驗(yàn)理論,全方位考慮問題等科學(xué)技術(shù)人員應(yīng)具備的素質(zhì)。提高學(xué)生對(duì)工作認(rèn)真負(fù)責(zé)、一絲不茍,對(duì)同學(xué)團(tuán)結(jié)友愛,協(xié)作攻關(guān)的基本素質(zhì)。培養(yǎng)學(xué)生從資料文獻(xiàn)、科學(xué)實(shí)驗(yàn)中獲得知識(shí)的能力,提高學(xué)生從別人經(jīng)驗(yàn)中找到解決問題的新途徑的悟性,出不培養(yǎng)工程意識(shí)和創(chuàng)新能力。對(duì)學(xué)生掌握知識(shí)的深度、運(yùn)用理論去處理問題的能力、實(shí)驗(yàn)?zāi)芰Α⒄n程設(shè)計(jì)能力、書面及口頭表達(dá)能力進(jìn)行考核。1.2意義隨著學(xué)校規(guī)模迅速擴(kuò)大,學(xué)生管理工作信息量急劇增加,信息變化幅度大,依靠傳統(tǒng)的手工管理手段顯然已不能適應(yīng)新時(shí)期高校大學(xué)生的管理工作,無法完成大量的信息分析和處理。同時(shí),隨著學(xué)校管理體制改革的深化,學(xué)校有關(guān)職能部門如何全面、準(zhǔn)確、及時(shí)地了解和掌握學(xué)生的信息,建立科學(xué)公正的學(xué)生個(gè)體和院系學(xué)生工作評(píng)價(jià)體系,已經(jīng)成為新時(shí)期高校學(xué)生管理工作面臨的一個(gè)新課題。為此,建設(shè)一套切實(shí)可行的學(xué)生工作管理系統(tǒng),結(jié)合學(xué)校實(shí)際,充分利用校園網(wǎng)的資源優(yōu)勢(shì),不僅使信息渠道更為暢通,而且可以資源共享。既為全面了解學(xué)生的綜合信息提供了方便,使得查詢統(tǒng)計(jì)更為準(zhǔn)確便捷,又可以用電子檔案逐步代替或輔佐傳統(tǒng)的紙質(zhì)檔案,實(shí)現(xiàn)管理手段現(xiàn)代化。該系統(tǒng)提供學(xué)生的基本狀況、學(xué)習(xí)成績(jī)、在校表現(xiàn)和獎(jiǎng)懲等全方位的信息資料。在此基礎(chǔ)上,構(gòu)建學(xué)生考核、測(cè)評(píng)標(biāo)準(zhǔn),建立評(píng)價(jià)指標(biāo)體系,對(duì)學(xué)生進(jìn)行科學(xué)測(cè)評(píng),減少傳統(tǒng)測(cè)評(píng)中的人為干擾,使對(duì)學(xué)生的評(píng)價(jià)更為客觀、全面和科學(xué)。提高學(xué)生工作辦公自動(dòng)化程度,建立學(xué)生信息庫,把學(xué)生工作者從日常繁重重復(fù)的勞動(dòng)中解放出來,減輕工作強(qiáng)度,提高工作效率。

2系統(tǒng)功能描述及設(shè)計(jì)本課程設(shè)計(jì)要求的幾個(gè)功能在程序里面都能實(shí)現(xiàn),有學(xué)生信息的輸入、瀏覽、排序、統(tǒng)計(jì)、修改、刪除、查詢、添加,退出等。根據(jù)用戶的需求來執(zhí)行程序。程序總體結(jié)構(gòu)如圖(2-1)所示:學(xué)生信息輸入負(fù)責(zé)將學(xué)生的信息存儲(chǔ)到對(duì)應(yīng)的文本文件中,對(duì)學(xué)生的信息排序就包括按總分排序和按計(jì)算機(jī)成績(jī)排序。統(tǒng)計(jì)也包括對(duì)計(jì)算機(jī)成績(jī)的統(tǒng)計(jì)和對(duì)數(shù)學(xué)和英語成績(jī)的統(tǒng)計(jì)。刪除就負(fù)責(zé)對(duì)學(xué)生信息的刪除。查詢就可實(shí)現(xiàn)對(duì)學(xué)號(hào)的查詢。進(jìn)入主菜單由函數(shù)print();實(shí)現(xiàn)。里面有九個(gè)功能供其選擇菜單一:信息錄入功能,輸入選項(xiàng)一進(jìn)入該功能,根據(jù)系統(tǒng)提示輸入相應(yīng)的數(shù)據(jù)。菜單二:為學(xué)生信息瀏覽功能,當(dāng)用戶輸入二選項(xiàng)時(shí),系統(tǒng)自動(dòng)用戶輸入的數(shù)據(jù)調(diào)入內(nèi)存在輸出到顯示器上。供用戶瀏覽。菜單三:為學(xué)生信息查詢功能,當(dāng)用戶選擇第三個(gè)功能后是按學(xué)號(hào)查詢。菜單四:對(duì)學(xué)生成績(jī)進(jìn)行排序,當(dāng)用戶進(jìn)入該功能后有兩個(gè)選項(xiàng)供其選擇,分別是:按計(jì)算機(jī)和總分排序。菜單五:學(xué)生信息的刪除,一般刪除學(xué)生信息的時(shí)候是非常小心的,故當(dāng)用戶選擇該功能后為了防止誤刪,只有按學(xué)號(hào)查找出要?jiǎng)h除信息的同學(xué)的信息進(jìn)行刪除操作,操作成功后,系統(tǒng)會(huì)給出相應(yīng)的提示說明操作成功。菜單六:學(xué)生信息的修改,用戶在主菜單里里面可選擇此功能,進(jìn)入功能后,會(huì)將所有的同學(xué)的信息輸出供用戶參考,當(dāng)用戶輸入要查找的同學(xué)的學(xué)好后可進(jìn)入選擇界面,提示用戶是要修改的項(xiàng)目,當(dāng)用戶選擇完畢后,直接輸入新的數(shù)據(jù)即可,最后將數(shù)據(jù)保存到文件中。菜單五:學(xué)生信息的添加,用戶可以根據(jù)自己的需要來選擇添加學(xué)生的信息,此功能會(huì)調(diào)用學(xué)生信息的輸入來完成,事后給出提示添加成功!菜單八:學(xué)生信息的統(tǒng)計(jì),此選項(xiàng)可以根據(jù)用戶的不同需要進(jìn)行統(tǒng)計(jì),可按計(jì)算機(jī)成績(jī)統(tǒng)計(jì),按英語分?jǐn)?shù)排序和數(shù)學(xué)分?jǐn)?shù)統(tǒng)計(jì)。統(tǒng)計(jì)的項(xiàng)目包括:平均分、最高分、最低分、及格率和六十分以下的,還有各個(gè)分?jǐn)?shù)段的人數(shù)。菜單九:用戶選擇此操作后可直接退出軟件。

3系統(tǒng)存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)與描述

structstudent

{

longid;

charname[10];

charsex[10];

floatcomputer,math,english;

floattotal;

}stu[1000]此存儲(chǔ)結(jié)構(gòu)包括學(xué)生的姓名、學(xué)生的性別、學(xué)生的學(xué)號(hào)及學(xué)生給門功課的成績(jī),并且記錄下該學(xué)生的總分。這些都用結(jié)構(gòu)體變量數(shù)組來存儲(chǔ)。

1.此外還有文件中數(shù)據(jù)的讀取,此功能用load()函數(shù)來實(shí)現(xiàn);

voidload()

{

FILE*fp;

inti;

if((fp=fopen("data.txt","rb"))==NULL)

{

printf("Cannotopenthefile!\n");

exit(0);

}

n=fgetc(fp);

for(i=0;i<n;i++)

{

if(fread(&stu[i],sizeof(structstudent),1,fp)!=1)

{

printf("Cannotopenthefile!\n");

exit(0);

}

}

fclose(fp);

}此函數(shù)會(huì)將文件中的數(shù)據(jù)讀取到內(nèi)存中,并將有多少個(gè)學(xué)生多為函數(shù)的返回值;

此外還用到save()函數(shù)對(duì)數(shù)據(jù)的存儲(chǔ)。

2.voidsave()

{

FILE*fp;

inti;

if((fp=fopen("data.txt","wb"))==NULL)

{

printf("Cannotopenthefile!\n");

exit(0);

}

fputc(n,fp);

for(i=0;i<n;i++)

{

if(fwrite(&stu[i],sizeof(structstudent),1,fp)!=1)

{

printf("Cannotopenthefile!\n");

exit(0);

}

}

fclose(fp);

}

3.文件中數(shù)據(jù)的連續(xù)輸出,此功能用and()函數(shù)來實(shí)現(xiàn)

voidand()

{

FILE*fp;

inti;

if((fp=fopen("data.txt","ab"))==NULL)

{

printf("Cannotopenthefile!\n");

exit(0);

}

fputc(n,fp);

for(i=0;i<n;i++)

if(fwrite(&stu[i],sizeof(structstudent),1,fp)!=1)

{

printf("Cannotopenthefile!\n");

exit(0);

}

}

4.每執(zhí)行完一個(gè)函數(shù)后,都要返回主菜單,這時(shí)要用back()函數(shù)來實(shí)現(xiàn),

voidback()//返回

{

printf("是否返回主菜單(yes或no)?");

gets(str);

do

{

scanf("%s",str);

if(strcmp(str1,str)==0)

{

system("cls");

main();

}

elseif(strcmp(str2,str)==0)

{

printf("請(qǐng)按任意鍵退出!\n");

exit(0);

}

else

printf("您輸入的數(shù)據(jù)不正確!請(qǐng)重新輸入:");

}while(1);

}

5.進(jìn)入功能選項(xiàng),需用select()函數(shù);

voidselect()//選擇

{

inta;

scanf("%d",&a);

switch(a)

{

case1:write();break;

case2:scan();break;

case3:numrefer();break;

case4:sort();break;

case5:remove();break;

case6:revamp();break;

case7:add();break;

case8:statistics();break;

case9:exit(0);break;

default:printf("非法操作!\n");back();break;

}

}4系統(tǒng)功能實(shí)現(xiàn)及算法描述4.1學(xué)生信息的錄入首先打開文件,用一個(gè)循環(huán)實(shí)現(xiàn)對(duì)學(xué)生信息的循環(huán)錄入,再循環(huán)內(nèi)部實(shí)現(xiàn)對(duì)單個(gè)學(xué)生信息的錄入,然后調(diào)用save();函數(shù)將內(nèi)存中的信息存入文件;流程圖4-1如下:圖4-1信息錄入函數(shù)流程圖4.2學(xué)生信息的瀏覽首先用只讀的方式打開文件,調(diào)用load();函數(shù)將文件中的信息讀入內(nèi)存,再將內(nèi)存中的信息逐個(gè)輸出到顯示器上。返回主菜單;流程圖4-2如下:圖4-2信息瀏覽函數(shù)4.3學(xué)生信息查詢首先用只讀的方式打開文件,調(diào)用load();函數(shù)將文件中的信息讀入內(nèi)存,按照學(xué)號(hào)查詢,當(dāng)兩個(gè)學(xué)號(hào)相等時(shí)就輸出,否則就輸出“沒有照此同學(xué)的信息”流程圖4-3如下:圖4-3查詢函數(shù)流程圖4.4學(xué)生信息排序首先用只讀的方式打開文件,調(diào)用load();函數(shù)將文件中的信息讀入內(nèi)存,由用戶選擇要排序的項(xiàng)目(1.為對(duì)學(xué)號(hào)排序。2.為對(duì)計(jì)算機(jī)成績(jī)的排序。)最后將排好序的信息按要求一一輸出;流程圖4-4如下:圖4-4排序函數(shù)流程圖4.5對(duì)學(xué)生信息進(jìn)行刪除首先用只讀的方式打開文件,調(diào)用load();函數(shù)將文件中的信息讀入內(nèi)存,由用戶輸入要?jiǎng)h除同學(xué)的學(xué)號(hào),得到此同學(xué)的信息后,將此同學(xué)的信息輸出,在進(jìn)行一次確認(rèn)“確實(shí)要?jiǎng)h除此同學(xué)的信息嗎(Yes/No)”若用戶選擇yes。則進(jìn)行刪除操作。并最終提示“信息刪除成功”,接著詢問“還需要?jiǎng)h除其他同學(xué)的信息嗎?(Yes/No)”,若選擇“y”,則重復(fù)刪除操作。若為“no”,則退出,流程圖4-5如下所示:圖4-5信息刪除函數(shù)流程圖4.6對(duì)學(xué)生信息進(jìn)行修改首先用只讀的方式打開文件,調(diào)用load();函數(shù)將文件中的信息讀入內(nèi)存,由用戶輸入要修改的學(xué)生學(xué)號(hào),系統(tǒng)找到對(duì)應(yīng)的學(xué)生信息后輸出:然后由用戶選擇要修改的項(xiàng)目(1:修改學(xué)號(hào);2:修改姓名;3:修改性別;4:修改計(jì)算機(jī)成績(jī);5修改英語成績(jī);6:修改數(shù)學(xué)成績(jī))再由用戶輸入新的值將來的值覆蓋掉,將修改后的數(shù)據(jù)寫入文件;流程圖4-6如下:圖4-6修改函數(shù)流程圖4.7對(duì)學(xué)生信息進(jìn)行添加先進(jìn)入選項(xiàng),后直接用and()函數(shù),提示用戶想輸入多少人,依次輸入學(xué)號(hào),姓名,性別,計(jì)算機(jī)分?jǐn)?shù),英語分?jǐn)?shù),數(shù)學(xué)分?jǐn)?shù);流程圖4-7如下:圖4-7添加函數(shù)流程圖4.8對(duì)學(xué)生成績(jī)進(jìn)行統(tǒng)計(jì)首先用只讀的方式打開文件,調(diào)用load();函數(shù)將文件中的信息讀入內(nèi)存,由用戶選擇需要統(tǒng)計(jì)的項(xiàng)目(1:對(duì)計(jì)算機(jī)成績(jī)進(jìn)行統(tǒng)計(jì)2:對(duì)英語成績(jī)進(jìn)行統(tǒng)計(jì)3:對(duì)數(shù)學(xué)成績(jī)進(jìn)行統(tǒng)計(jì)),流程圖4-8、4-9如下:圖4-8統(tǒng)計(jì)函數(shù)流程圖

5系統(tǒng)性能測(cè)試5.1錄入學(xué)生信息功能測(cè)試

用戶按要求輸入學(xué)生的人數(shù),輸完后可根據(jù)提示分別輸出他們的姓名,性別,計(jì)算機(jī)分?jǐn)?shù),數(shù)學(xué)分?jǐn)?shù),英語分?jǐn)?shù),并且用戶決定是否返回主菜單如圖5-1

圖5-1信息錄入功能測(cè)試

5.2瀏覽功能測(cè)試

用戶選二后進(jìn)入,體統(tǒng)會(huì)將文件中的學(xué)生的信息讀入內(nèi)存,再將內(nèi)存中的信息再輸出到顯示器上如圖5-2

圖5-2瀏覽功能測(cè)學(xué)生信息一目了然;

5.3查詢學(xué)生信息

選項(xiàng)三是查詢學(xué)生信息功能,系統(tǒng)會(huì)根據(jù)用戶輸入的學(xué)號(hào),再和內(nèi)存中的數(shù)據(jù)一一比較直到找到符合要求的學(xué)生信息,按學(xué)號(hào)查詢測(cè)試如圖5-3

圖5-3查詢信息測(cè)試

根據(jù)學(xué)號(hào)查找精確,速度快,可靠性高;

5.4學(xué)生成績(jī)排序

進(jìn)入對(duì)學(xué)生成績(jī)排序的界面后,用戶可以根據(jù)自己的需要選擇相應(yīng)的功能:對(duì)計(jì)算機(jī)成績(jī)排序,對(duì)總分排序。當(dāng)用戶選擇了相應(yīng)的功能后,可根據(jù)需要選擇從高到低排序。如圖5-5對(duì)計(jì)算機(jī)進(jìn)行降序排列功能測(cè)試:

圖5-5成績(jī)排序測(cè)試

可以再次循環(huán)排序,功能多;

如圖5-6對(duì)總分成績(jī)進(jìn)行降序排列:

圖5-6成績(jī)降序測(cè)試

5.5實(shí)現(xiàn)對(duì)學(xué)生信息的刪除

如果用戶需要對(duì)學(xué)生信息進(jìn)行刪除的話,可以按5,然后根據(jù)系統(tǒng)的提示輸入需要?jiǎng)h除的學(xué)生的信息,當(dāng)系統(tǒng)找出要?jiǎng)h除同學(xué)的信息后,用戶按確定,此時(shí),學(xué)生的信息就被徹底刪除了。學(xué)生信息刪除功能測(cè)試如圖5-7:

圖5-7信息刪除測(cè)試

學(xué)生信息的刪除后的圖片

5.6實(shí)現(xiàn)對(duì)學(xué)生信息的修改

輸入要修改的信息的學(xué)生的學(xué)號(hào),系統(tǒng)會(huì)自動(dòng)找出,然后用戶根據(jù)需要選擇需要修改的項(xiàng)目,可以修改姓名,性別,計(jì)算機(jī)分?jǐn)?shù),英語分?jǐn)?shù),數(shù)學(xué)分?jǐn)?shù),選擇后輸入新數(shù)據(jù)就行了。信息修改功能測(cè)試如圖5-8:

圖5-8信息修改測(cè)試

修改后的信息如圖5-9:

圖5-9修改后測(cè)試

5.7實(shí)現(xiàn)對(duì)學(xué)生信息的添加

當(dāng)選擇了7后,會(huì)進(jìn)入學(xué)生信息添加界面,此時(shí)用戶根據(jù)學(xué)生的信息錄入系統(tǒng)就行了。完成后系統(tǒng)會(huì)自動(dòng)將新的數(shù)據(jù)保存。學(xué)生信息添加功能測(cè)試如圖5-10:

圖5-10信息添加測(cè)試

能實(shí)現(xiàn)對(duì)學(xué)生信息的循環(huán)添加,并且會(huì)有相應(yīng)的提示;

5.8實(shí)現(xiàn)對(duì)學(xué)生信息的統(tǒng)計(jì)

統(tǒng)計(jì)可是對(duì)不同科目進(jìn)行統(tǒng)計(jì),統(tǒng)計(jì)的項(xiàng)目計(jì)算機(jī),英語,數(shù)學(xué)中的一門的最高分、最低分、平均分以及各分?jǐn)?shù)段之間人數(shù)的比例,返回后還可以繼續(xù)對(duì)其他科目進(jìn)行統(tǒng)計(jì)。如圖5-8:

6設(shè)計(jì)小結(jié)經(jīng)過一周的課程設(shè)計(jì),我學(xué)到了很多東西:(1)定義全局變量N后如果后面的函數(shù)中需要使用全局變量N的時(shí)候不能再定義局部變量N了,要不然局部變量N與全局變量N的性質(zhì)不同?。。。?)培養(yǎng)了我選用參考書,查閱手冊(cè)及文獻(xiàn)資料的能力。培養(yǎng)獨(dú)立思考,深入研究,分析問題、解決問題的能力。(3)過實(shí)際編譯系統(tǒng)的分析設(shè)計(jì)、編程調(diào)試,掌握應(yīng)用軟件的分析方法和工程設(shè)計(jì)方法。(4)用#include“stdlib.h”做頭文件,用exit可以結(jié)束整個(gè)程序!?。?/p>

致謝課程設(shè)計(jì)是把我們所學(xué)的理論知識(shí)進(jìn)行系統(tǒng)的總結(jié)并應(yīng)用于實(shí)踐的良好機(jī)會(huì),有利于加強(qiáng)我們用知識(shí)理論來分析實(shí)際問題的能力,進(jìn)而加強(qiáng)了我們對(duì)知識(shí)認(rèn)識(shí)的實(shí)踐度,鞏固了我們的理論知識(shí),深化了對(duì)知識(shí)的認(rèn)識(shí),并為走向社會(huì)打下一個(gè)良好的基礎(chǔ)。在這次課程設(shè)計(jì)中我遇到許多問題和麻煩,得到了老師的幫助和指導(dǎo),才能夠使得這次課程設(shè)計(jì)順利的進(jìn)行下去,另外,在程序調(diào)試過程中,也得到很多同學(xué)的幫助,給我及時(shí)指出錯(cuò)誤,提出許多寶貴意見。在此對(duì)老師和同學(xué)們表示感謝!參考文獻(xiàn)[1]譚浩強(qiáng),C語言課程設(shè)計(jì)(第三版),北京:清華大學(xué)出版社,1996.5[2]楊路明,從語言程序設(shè)計(jì)教程(第二版),北京:郵電大學(xué)出版社,2009.7[3]譚浩強(qiáng),C語言課程設(shè)計(jì)(第二版),北京:清華大學(xué)出版社,1991.5[4]譚浩強(qiáng),C語言程序設(shè)計(jì)題解與上機(jī)指導(dǎo),北京:清華大學(xué)出版社,1991.3

源代碼清單:#include"stdio.h"#include"stdlib.h"#include"time.h"#include"string.h"voidselect();//選擇voidwrite();//錄入voidscan();//瀏覽voidnumrefer();//查詢voidsort();//分類voidremove();//刪除voidrevamp();//修改voidadd();//添加voidstatistics();//統(tǒng)計(jì)voidmenu();//菜單voidmain();//主函數(shù)voidsave();//保存voidload();//導(dǎo)出voidback();//返回voidand();//繼續(xù)intn;charstr[10];charstr1[10]="yes",str2[10]="no";structstudent{ longid; charname[10]; charsex[10]; floatcomputer,math,english; floattotal;}stu[1000],temp;voidmain()//主函數(shù){ menu(); printf("請(qǐng)輸入您的選擇:"); select();}voidsave()//保存{ FILE*fp; inti; if((fp=fopen("data.txt","wb"))==NULL) { printf("Cannotopenthefile!\n"); exit(0); } fputc(n,fp); for(i=0;i<n;i++) { if(fwrite(&stu[i],sizeof(structstudent),1,fp)!=1) { printf("Cannotopenthefile!\n"); exit(0); } } fclose(fp);}voidload()//導(dǎo)出{ FILE*fp; inti; if((fp=fopen("data.txt","rb"))==NULL) { printf("Cannotopenthefile!\n"); exit(0); } n=fgetc(fp); for(i=0;i<n;i++) { if(fread(&stu[i],sizeof(structstudent),1,fp)!=1) { printf("Cannotopenthefile!\n"); exit(0); } } fclose(fp);}voidand()//繼續(xù){ FILE*fp;inti; if((fp=fopen("data.txt","ab"))==NULL) { printf("Cannotopenthefile!\n"); exit(0); }fputc(n,fp);for(i=0;i<n;i++) if(fwrite(&stu[i],sizeof(structstudent),1,fp)!=1) { printf("Cannotopenthefile!\n"); exit(0); }}voidback()//返回{ printf("是否返回主菜單(yes或no)?"); gets(str); do { scanf("%s",str); if(strcmp(str1,str)==0) { system("cls"); main(); } elseif(strcmp(str2,str)==0) { printf("請(qǐng)按任意鍵退出!\n"); exit(0); } else printf("您輸入的數(shù)據(jù)不正確!請(qǐng)重新輸入:"); }while(1);}voidwrite()//錄入{ inti,num,j; charstr3[5]="girl"; charstr4[5]="boy"; printf("請(qǐng)輸入您要錄入多少個(gè)同學(xué)的信息:"); scanf("%d",&num); for(n=0,i=0;i<num;i++) { n++; printf("該同學(xué)的學(xué)號(hào)被系統(tǒng)自動(dòng)定為:"); srand(time(NULL)); for(j=0;j<1000;j++){ stu[i].id=rand()%1000+2011000; if(stu[j].id!=stu[i].id) break; }printf("%ld\n",stu[i].id); printf("請(qǐng)輸入學(xué)生姓名:"); scanf("%s",stu[i].name); printf("請(qǐng)輸入學(xué)生性別(girl或boy):"); gets(stu[i].sex); do { scanf("%s",stu[i].sex); if(strcmp(stu[i].sex,str3)==0||strcmp(stu[i].sex,str4)==0) break; else printf("您輸入的數(shù)據(jù)不合法!請(qǐng)重新輸入:"); }while(1); printf("計(jì)算機(jī)分?jǐn)?shù)[0-100]:"); scanf("%f",&stu[i].computer); printf("數(shù)學(xué)分?jǐn)?shù)[0-100]:"); scanf("%f",&stu[i].math); printf("英語分?jǐn)?shù)[0-100]:"); scanf("%f",&stu[i].english); printf("總分:"); stu[i].total=stu[i].computer+stu[i].math+stu[i].english; printf("%.2f\n",stu[i].total); } save(); back();}voidmenu()//菜單{printf("********************************************************************************");printf("學(xué)生成績(jī)管理系統(tǒng)\n");printf("********************************************************************************");printf("1.學(xué)生信息的錄入2.學(xué)生信息的瀏覽\n");printf("3.學(xué)生信息的查詢4.學(xué)生信息的排序\n");printf("5.學(xué)生成績(jī)刪除6學(xué)生成績(jī)修改\n");printf("7.學(xué)生成績(jī)添加8.學(xué)生信息的統(tǒng)計(jì)\n");printf("9.退出系統(tǒng)\n");printf("********************************************************************************"); } voidselect()//選擇{ inta; scanf("%d",&a); switch(a) { case1:write();break; case2:scan();break; case3:numrefer();break; case4:sort();break; case5:remove();break; case6:revamp();break; case7:add();break; case8:statistics();break; case9:exit(0);break; default:printf("非法操作!\n");back();break; }}voidscan()//瀏覽{ load(); inti; if(n==0) { printf("沒有學(xué)生信息!"); printf("是否返回主菜單(yes或no)?"); gets(str); do { scanf("%s",str); if(strcmp(str1,str)==0) { system("cls"); main(); } elseif(strcmp(str2,str)==0) { printf("請(qǐng)按任意鍵退出!\n"); exit(0); } else printf("您輸入的數(shù)據(jù)不正確!請(qǐng)重新輸入:"); }while(1); } printf("學(xué)號(hào)\t姓名性別\t計(jì)算機(jī)\t數(shù)學(xué)英語總分\n"); for(i=0;i<n;i++) printf("%ld%8s%7s%7.2f%9.2f%8.2f%9.2f\n",stu[i].id,stu[i].name,stu[i].sex,stu[i].computer,stu[i].math,stu[i].english,stu[i].total); back();}voidnumrefer()//學(xué)號(hào)查詢{ load(); longID,i; printf("請(qǐng)輸入您要查詢?cè)搶W(xué)生的學(xué)號(hào):"); scanf("%ld",&ID); for(i=0;i<n;i++) { if(stu[i].id==ID) { printf("學(xué)號(hào)\t姓名性別\t計(jì)算機(jī)\t數(shù)學(xué)英語總分\n"); printf("%ld%8s%7s%7.2f%9.2f%8.2f%9.2f\n",stu[i].id,stu[i].name,stu[i].sex,stu[i].computer,stu[i].math,stu[i].english,stu[i].total); break; } if(i==n-1) printf("沒有該同學(xué)信息!\n"); } back();}voidsort()//排序{ load(); inti,j,a; printf("1.按照總分從大到小排序\n"); printf("2.按照計(jì)算機(jī)分?jǐn)?shù)從大到小排序\n"); printf("請(qǐng)輸入您要按照哪種方式排序:"); scanf("%d",&a); if(a==1) { for(i=0;i<n-1;i++) for(j=0;j<n-1-i;j++) if(stu[j].total<stu[j+1].total) { temp=stu[j]; stu[j]=stu[j+1]; stu[j+1]=temp; } printf("學(xué)號(hào)\t姓名性別\t計(jì)算機(jī)\t數(shù)學(xué)英語總分\n"); for(i=0;i<n;i++) printf("%ld%8s%7s%7.2f%9.2f%8.2f%9.2f\n",stu[i].id,stu[i].name,stu[i].sex,stu[i].computer,stu[i].math,stu[i].english,stu[i].total); } elseif(a==2) { for(i=0;i<n-1;i++) for(j=0;j<n-1-i;j++) if(stu[j].computer<stu[j+1].computer) { temp=stu[j]; stu[j]=stu[j+1]; stu[j+1]=temp; } printf("學(xué)號(hào)\t姓名性別\t計(jì)算機(jī)\t數(shù)學(xué)英語總分\n"); for(i=0;i<n;i++) printf("%ld%8s%7s%7.2f%9.2f%8.2f%9.2f\n",stu[i].id,stu[i].name,stu[i].sex,stu[i].computer,stu[i].math,stu[i].english,stu[i].total); }}voidremove()//刪除{ load(); longID,i,j; printf("請(qǐng)輸入您要?jiǎng)h除的學(xué)生的學(xué)號(hào):"); scanf("%ld",&ID); for(i=0;i<n;i++) { if(stu[i].id==ID) { printf("學(xué)號(hào)\t姓名性別\t計(jì)算機(jī)\t數(shù)學(xué)英語總分\n"); printf("%ld%8s%7s%7.2f%9.2f%8.2f%9.2f\n",stu[i].id,stu[i].name,stu[i].sex,stu[i].computer,stu[i].math,stu[i].english,stu[i].total); break; } if(i==n-1) { printf("沒有該同學(xué)信息!\n"); back(); } } printf("您確定要?jiǎng)h除該同學(xué)的信息(yes或no)???\n"); gets(str); do { scanf("%s",str); if(strcmp(str1,str)==0) { for(j=i;j<n;j++) stu[j]=stu[j+1]; printf("該同學(xué)的信息被刪除了!\n"); n--; save(); break; } elseif(strcmp(str2,str)==0) exit(0); else printf("您輸入的數(shù)據(jù)不正確!請(qǐng)重新輸入:"); }while(1); back();}voidrevamp()//修改{ load(); longID,i,a; charstr3[5]="girl"; charstr4[5]="boy"; printf("請(qǐng)輸入您要修改的學(xué)生的學(xué)號(hào):"); scanf("%ld",&ID); for(i=0;i<n;i++) { if(stu[i].id==ID) { printf("學(xué)號(hào)\t姓名性別\t計(jì)算機(jī)\t數(shù)學(xué)英語總分\n"); printf("%ld%8s%7s%7.2f%9.2f%8.2f%9.2f\n",stu[i].id,stu[i].name,stu[i].sex,stu[i].computer,stu[i].math,stu[i].english,stu[i].total); break; } if(i==n-1) { printf("沒有該同學(xué)信息!\n"); back(); } } printf("1.修改姓名\n"); printf("2.修改性別\n"); printf("3.修改計(jì)算機(jī)分?jǐn)?shù)\n"); printf("4.修改數(shù)學(xué)分?jǐn)?shù)\n"); printf("5.修改英語分?jǐn)?shù)\n"); do { printf("請(qǐng)輸入您要修改的位置:"); scanf("%ld",&a); if(a==1) { printf("請(qǐng)重新輸入姓名:"); scanf("%s",stu[i].name); printf("\r"); } elseif(a==2) { printf("請(qǐng)重新輸入性別(girl或boy):"); scanf("%s",stu[i].sex); do { printf("\r"); if(strcmp(stu[i].sex,str3)==0||strcmp(stu[i].sex,str4)==0) break; else printf("您輸入的數(shù)據(jù)不合法!請(qǐng)重新輸入:"); }while(1); } elseif(a==3) { printf("請(qǐng)重新輸入計(jì)算機(jī)分?jǐn)?shù):"); scanf("%f",&stu[i].computer); } elseif(a==4) { printf("請(qǐng)重新輸入數(shù)學(xué)分?jǐn)?shù):"); scanf("%f",&stu[i].math); } elseif(a==5) { printf("請(qǐng)重新輸入英語分?jǐn)?shù):"); scanf("%f",&stu[i].english); } else break; stu[i].total=stu[i].computer+stu[i].math+stu[i].english; printf("修改成功!\n"); save(); printf("是否繼續(xù)修改(yes或no)???"); gets(str); scanf("%s",str); if(strcmp(str1,str)==0) continue; elseif(strcmp(str2,str)==0) break; else printf("您輸入的數(shù)據(jù)不正確!請(qǐng)重新輸入:"); }while(1); back();}voidadd()//添加{ inti,j,a,k=0; printf("請(qǐng)輸入您要添加多少個(gè)同學(xué)的信息:"); scanf("%d",&a); load(); and(); charstr3[5]="girl"; charstr4[5]="boy"; for(i=n;i<n+a;i++) { printf("該同學(xué)的學(xué)號(hào)被系統(tǒng)自動(dòng)定為:"); srand(time(NULL)); for(j=0;j<1000;j++) { stu[i].id=rand()%1000+2011000; if(stu[j].id!=stu[i].id) break; } printf("%ld\n",stu[i].id); printf("請(qǐng)輸入學(xué)生姓名:"); scanf("%s",stu[i].name); printf("請(qǐng)輸入學(xué)生性別(girl或boy):"); gets(stu[i].sex); do { scanf("%s",stu[i].sex); if(strcmp(stu[i].sex,str3)==0||strcmp(stu[i].sex,str4)==0) break; else printf("您輸入的數(shù)據(jù)不合法!請(qǐng)重新輸入:"); }while(1); printf("計(jì)算機(jī)分?jǐn)?shù)[0-100]:"); scanf("%f",&stu[i].computer); printf("數(shù)學(xué)分?jǐn)?shù)[0-100]:"); scanf("%f",&stu[i].math); printf("英語分?jǐn)?shù)[0-100]:"); scanf("%f",&stu[i].english); stu[i].total=stu[i].computer+stu[i].math+stu[i].english; n++; printf("添加成功!\n"); save(); k++; if(k==a) break; else continue; } back();}voidstatistics()//統(tǒng)計(jì){ load(); inti,g,b=0,c=0,d=0,e=0,f=0; floatmax,min,sum=0,a=0; floatpassrate,ave; max=min=stu[0].computer; printf("1.按照學(xué)生計(jì)算機(jī)分?jǐn)?shù)進(jìn)行統(tǒng)計(jì)\n"); printf("2.按照學(xué)生英語分?jǐn)?shù)進(jìn)行統(tǒng)計(jì)\n"); printf("3.按照學(xué)生數(shù)學(xué)分?jǐn)?shù)進(jìn)行統(tǒng)計(jì)\n"); printf("請(qǐng)輸入您要按照哪種要求進(jìn)行統(tǒng)計(jì):"); scanf("%d",&g); if(g==1) { for(i=0;i<n;i++) { if(stu[i].computer>max) max=stu[i].computer; if(stu[i].computer<min) min=stu[i].computer; if(stu[i].computer>=60) a++; if(stu[i].computer>=0&&stu[i].computer<=59) b++; if(stu[i].computer>=60&&stu[i].computer<=69) c++; if(stu[i].computer>=70&&stu[i].computer<=79) d++; if(stu[i].computer>=80&&stu[i].computer<=89) e++; if(stu[i].computer>=90&&stu[i].computer<=100) f++; sum+=stu[i].computer; } ave=sum/n; passrate=a/n; printf("最高分是%.2f\n最低分是%.2f\n平均分是%.2f\n及格率是%.2f\n",max,min,ave,passrate); printf("計(jì)算機(jī)分?jǐn)?shù)在[0,59]分?jǐn)?shù)段的學(xué)生人數(shù)是%d\n",b); printf("計(jì)算機(jī)分?jǐn)?shù)在[60,69]分?jǐn)?shù)段的學(xué)生人數(shù)是%d\n",c); printf("計(jì)算機(jī)分?jǐn)?shù)在[70,79]分?jǐn)?shù)段的學(xué)生人數(shù)是%d\n",d); printf("計(jì)算機(jī)分?jǐn)?shù)在[80,89]分?jǐn)?shù)段的學(xué)生人數(shù)是%d\n",e); printf("計(jì)算機(jī)分?jǐn)?shù)在[90,100]分?jǐn)?shù)段的學(xué)生人數(shù)是%d\n",f); } elseif(g==2) { for(i=0;i<n;i++) { if(stu[i].english>max) max=stu[i].english; if(stu[i].english<min) min=stu[i].english; if(stu[i].english>=60) a++; if(stu[i].english>=0&&stu[i].english<=59) b++; if(stu[i].english>=60&&stu[i].english<=69) c++; if(stu[i].english>=70&&stu[i].english<=79) d++; if(stu[i].english>=80&&stu[i].english<=89) e++; if(stu[i].english>=90&&stu[i].english<=100) f++; sum+=stu[i].english; } ave=sum/n; passrate=a/n; printf("最高分是%.2f\n最低分是%.2f\n平均分是%.2f\n及格率是%.2f\n",max,min,ave,passrate); printf("英語分?jǐn)?shù)在[0,59]分?jǐn)?shù)段的學(xué)生人數(shù)是%d\n",b); printf("英語分?jǐn)?shù)在[60,69]分?jǐn)?shù)段的學(xué)生人數(shù)是%d\n",c); printf("英語分?jǐn)?shù)在[70,79]分?jǐn)?shù)段的學(xué)生人數(shù)是%d\n",d); printf("英語分?jǐn)?shù)在[80,89]分?jǐn)?shù)段的學(xué)生人數(shù)是%d\n",e); printf("英語分?jǐn)?shù)在[90,100]分?jǐn)?shù)段的學(xué)生人數(shù)是%d\n",f); } elseif(g==3) { for(i=0;i<n;i++) { if(stu[i].math>max) max=stu[i].math; if(stu[i].math<min) min=stu[i].math; if(stu[i].math>=60) a++; if(stu[i].math>=0&&stu[i].math<=59) b++; if(stu[i].math>=60&&stu[i].math<=69) c++; if(stu[i].math>=70&&stu[i].math<=79) d++; if(stu[i].math>=80&&stu[i].math<=89) e++; if(stu[i].math>=90&&stu[i].math<=100) f++; sum+=stu[i].math; } ave=sum/n; passrate=a/n; printf("最高分是%.2f\n最低分是%.2f\n平均分是%.2f\n及格率是%.2f\n",max,min,ave,passrate); printf("數(shù)學(xué)分?jǐn)?shù)在[0,59]分?jǐn)?shù)段的學(xué)生人數(shù)是%d\n",b); printf("數(shù)學(xué)分?jǐn)?shù)在[60,69]分?jǐn)?shù)段的學(xué)生人數(shù)是%d\n",c); printf("數(shù)學(xué)分?jǐn)?shù)在[70,79]分?jǐn)?shù)段的學(xué)生人數(shù)是%d\n",d); printf("數(shù)學(xué)分?jǐn)?shù)在[80,89]分?jǐn)?shù)段的學(xué)生人數(shù)是%d\n",e); printf("數(shù)學(xué)分?jǐn)?shù)在[90,100]分?jǐn)?shù)段的學(xué)生人數(shù)是%d\n",f); } back(); }

C語言程序設(shè)計(jì)課程設(shè)計(jì)成績(jī)?cè)u(píng)定項(xiàng)目名稱:成績(jī)?cè)u(píng)定:(百分制)成績(jī)等級(jí):指導(dǎo)教師簽字:檢查時(shí)間:系部簽章:基于C8051F單片機(jī)直流電動(dòng)機(jī)反饋控制系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的嵌入式Web服務(wù)器的研究MOTOROLA單片機(jī)MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對(duì)良率的影響研究基于模糊控制的電阻釬焊單片機(jī)溫度控制系統(tǒng)的研制基于MCS-51系列單片機(jī)的通用控制模塊的研究基于單片機(jī)實(shí)現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機(jī)控制的二級(jí)倒立擺系統(tǒng)的研究基于增強(qiáng)型51系列單片機(jī)的TCP/IP協(xié)議棧的實(shí)現(xiàn)基于單片機(jī)的蓄電池自動(dòng)監(jiān)測(cè)系統(tǒng)基于32位嵌入式單片機(jī)系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機(jī)的作物營養(yǎng)診斷專家系統(tǒng)的研究基于單片機(jī)的交流伺服電機(jī)運(yùn)動(dòng)控制系統(tǒng)研究與開發(fā)基于單片機(jī)的泵管內(nèi)壁硬度測(cè)試儀的研制基于單片機(jī)的自動(dòng)找平控制系統(tǒng)研究基于C8051F040單片機(jī)的嵌入式系統(tǒng)開發(fā)基于單片機(jī)的液壓動(dòng)力系統(tǒng)狀態(tài)監(jiān)測(cè)儀開發(fā)模糊Smith智能控制方法的研究及其單片機(jī)實(shí)現(xiàn)一種基于單片機(jī)的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機(jī)的在線間歇式濁度儀的研制基于單片機(jī)的噴油泵試驗(yàn)臺(tái)控制器的研制基于單片機(jī)的軟起動(dòng)器的研究和設(shè)計(jì)基于單片機(jī)控制的高速快走絲電火花線切割機(jī)床短循環(huán)走絲方式研究基于單片機(jī)的機(jī)電產(chǎn)品控制系統(tǒng)開發(fā)基于PIC單片機(jī)的智能手機(jī)充電器基于單片機(jī)的實(shí)時(shí)內(nèi)核設(shè)計(jì)及其應(yīng)用研究基于單片機(jī)的遠(yuǎn)程抄表系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的煙氣二氧化硫濃度檢測(cè)儀的研制基于微型光譜儀的單片機(jī)系統(tǒng)單片機(jī)系統(tǒng)軟件構(gòu)件開發(fā)的技術(shù)研究基于單片機(jī)的液體點(diǎn)滴速度自動(dòng)檢測(cè)儀的研制基于單片機(jī)系統(tǒng)的多功能溫度測(cè)量?jī)x的研制基于PIC單片機(jī)的電能采集終端的設(shè)計(jì)和應(yīng)用基于單片機(jī)的光纖光柵解調(diào)儀的研制氣壓式線性摩擦焊機(jī)單片機(jī)控制系統(tǒng)的研制基于單片機(jī)的數(shù)字磁通門傳感器基于單片機(jī)的旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換器的研究基于單片機(jī)的光纖Bragg光柵解調(diào)系統(tǒng)的研究單片機(jī)控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機(jī)的多生理信號(hào)檢測(cè)儀基于單片機(jī)的電機(jī)運(yùn)動(dòng)控制系統(tǒng)設(shè)計(jì)Pico專用單片機(jī)核的可測(cè)性設(shè)計(jì)研究基于MCS-51單片機(jī)的熱量計(jì)基于雙單片機(jī)的智能遙測(cè)微型氣象站MCS-51單片機(jī)構(gòu)建機(jī)器人的實(shí)踐研究基于單片機(jī)的輪軌力檢測(cè)基于單片機(jī)的GPS定位儀的研究與實(shí)現(xiàn)基于單片機(jī)的電液伺服控制系統(tǒng)用于單片機(jī)系統(tǒng)的MMC卡文件系統(tǒng)研制基于單片機(jī)的時(shí)控和計(jì)數(shù)系統(tǒng)性能優(yōu)化的研究基于單片機(jī)和CPLD的粗光柵位移測(cè)量系統(tǒng)研究單片機(jī)控制的后備式方波UPS提升高職學(xué)生單片機(jī)應(yīng)用能力的探究基于單片機(jī)控制的自動(dòng)低頻減載裝置研究基于單片機(jī)控制的水下焊接電源的研究基于單片機(jī)的多通道數(shù)據(jù)采集系統(tǒng)基于uPSD3234單片機(jī)的氚表面污染測(cè)量?jī)x的研制基于單片機(jī)的紅外測(cè)油儀的研究96系列單片機(jī)仿真器研究與設(shè)計(jì)基于單片機(jī)的單晶金剛石刀具刃磨設(shè)備的數(shù)控改造基于單片機(jī)的溫度智能控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)基于MSP430單片機(jī)的電梯門機(jī)控制器的研制基于單片機(jī)的氣體測(cè)漏儀的研究基于三菱M16C/6N系列單片機(jī)的CAN/USB協(xié)議轉(zhuǎn)換器基于單片機(jī)和DSP的變壓器油色譜在線監(jiān)測(cè)技術(shù)研究基于單片機(jī)的膛壁溫度報(bào)警系統(tǒng)設(shè)計(jì)基于AVR單片機(jī)的低壓無功補(bǔ)償控制器的設(shè)計(jì)基于單片機(jī)船舶電力推進(jìn)電機(jī)監(jiān)測(cè)系統(tǒng)基于單片機(jī)網(wǎng)絡(luò)的振動(dòng)信號(hào)的采集系統(tǒng)基于單片機(jī)的大容量數(shù)據(jù)存儲(chǔ)技術(shù)的應(yīng)用研究基于單片機(jī)的疊圖機(jī)研究與教學(xué)方法實(shí)踐基于單片機(jī)嵌入式Web服務(wù)器技術(shù)的研究及實(shí)現(xiàn)基于AT89S52單片機(jī)的通用數(shù)據(jù)采集系統(tǒng)基于單片機(jī)的多道脈沖幅度分析儀研究機(jī)器人旋轉(zhuǎn)電弧傳感角焊縫跟蹤單片機(jī)控制系統(tǒng)基于單片機(jī)的控制系統(tǒng)在PLC虛擬教學(xué)實(shí)驗(yàn)中的應(yīng)用研究基于單片機(jī)系統(tǒng)的網(wǎng)絡(luò)通信研究與應(yīng)用HYPER

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論