Thinking_in_C++_2nd 學(xué)習(xí)C++的經(jīng)典好書
標(biāo)簽: Thinking_in_C nd
上傳時間: 2013-12-02
上傳用戶:aa54
linux 中斷和設(shè)備驅(qū)動 本章介紹L i n u x內(nèi)核是如何維護(hù)它支持的文件系統(tǒng)中的文件的,我們先介紹 V F S ( Vi r t u a lFile System,虛擬文件系統(tǒng)),再解釋一下L i n u x內(nèi)核的真實文件系統(tǒng)是如何得到支持的。L i n u x的一個最重要特點(diǎn)就是它支持許多不同的文件系統(tǒng)。這使 L i n u x非常靈活,能夠與許多其他的操作系統(tǒng)共存。在寫這本書的時候, L i n u x共支持1 5種文件系統(tǒng): e x t、 e x t 2、x i a、 m i n i x、 u m s d o s、 msdos 、v f a t、 p r o c、 s m b、 n c p、 i s o 9 6 6 0、 s y s v、 h p f s、 a ffs 和u f s。無疑隨著時間的推移,L i n u x支持的文件系統(tǒng)數(shù)還會增加。
標(biāo)簽: linux 中斷 設(shè)備驅(qū)動
上傳時間: 2013-11-13
上傳用戶:zxh122
這是一個三次樣條插值的.m程序 輸入的是一個二維數(shù)組A(Nx2) 插值方法為: S(x) = A(J) + B(J)*( x - x(J) ) + C(J)*( x - x(J) )**2 +D(J) * ( x - x(J) )**3 for x(J) <= x < x(J + 1)
上傳時間: 2013-12-14
上傳用戶:gengxiaochao
Windows7下IE 8使用技巧5則 IE幾乎是各位菜鳥、大蝦上網(wǎng)時的首選瀏覽器,有關(guān)它的常規(guī)使用技巧,相信各位早已是耳熟能詳了。只要你足夠用心、細(xì)心,就一定會不斷“挖掘”出IE新的使用技巧來。不信,就來看看下面的幾則新鮮用法吧,相信會讓各位有耳目一新之感! 1.尋找失落的IE啟動按鈕 正常情況下,IE瀏覽器的快速啟動按鈕會在系統(tǒng)任務(wù)欄中“安家落戶”,可是一旦操作不小心,往往會導(dǎo)致IE瀏覽器的快速啟動按鈕在任務(wù)欄中“消失”。那么 你面對IE啟動按鈕從系統(tǒng)任務(wù)欄中消失時,你該如何去將它尋找回來呢?其實方法很簡單,只要你按照下面的步驟來進(jìn)行操作就可以了。 首先用鼠標(biāo)右鍵單擊桌面中的IE瀏覽器圖標(biāo),從彈出的快捷菜單中執(zhí)行“創(chuàng)建快捷方式”命令,這樣就能為IE瀏覽器創(chuàng)建好一個對應(yīng)的快捷方式。 接著打開系統(tǒng)資源管理窗口,依次雙擊C盤中的“Windows”文件夾、“ApplicationData”文件夾、“Microsoft”文件夾、 “InternetExplorer”文件夾、“QuickLaunch”文件夾;然后將桌面中創(chuàng)建好的IE快捷方式,直接拖動到 “QuickLaunch”文件夾窗口中。 當(dāng)然還有更簡潔的方法,那就是直接將系統(tǒng)桌面中的IE瀏覽器圖標(biāo),用鼠標(biāo)左鍵拖動到系統(tǒng)任務(wù)欄中,不過在拖放時一定要在出現(xiàn)虛線圖標(biāo)之后才可以。 2.讓IE也能斷點(diǎn)續(xù)傳 大家知道,單擊IE頁面中的某個下載鏈接地址時,IE就會自動調(diào)用其內(nèi)置的下載功能來下載文件;不過這種功能一旦遇到網(wǎng)絡(luò)堵塞而掉線的情況時,就會將已經(jīng)下載好的內(nèi)容全部丟失,以后再次下載時還需要從頭再來,顯然IE內(nèi)置的下載功能容易耽誤下載時間。 那么我們有沒有辦法讓IE的下載功能也支持?jǐn)帱c(diǎn)續(xù)傳呢?答案是肯定的。只要你使用IE來下載文件出現(xiàn)意外掉線時,或者發(fā)現(xiàn)IE下載進(jìn)度條長時間沒有任何反 應(yīng)時,請不要單擊該下載對話框中的“取消”按鈕,而應(yīng)該直接單擊該窗口中的“x”按鈕,來暫時退出下載狀態(tài);接著重新單擊網(wǎng)頁中的這個下載鏈接地址,然后 再單擊“保存”按鈕,在彈出的保存對話框中,將文件名和保存路徑都設(shè)置為與上次沒下載完時的文件相同,這樣IE就能接著上次沒下載完的位置,繼續(xù)下載余下 的內(nèi)容;當(dāng)然這種IE斷點(diǎn)續(xù)傳功能只適合HTTP下載方式,而不適合FTP下載方式。 3.將IE選項設(shè)置“架空” 倘若允許其他人隨意對IE的上網(wǎng)參數(shù)進(jìn)行設(shè)置的話,那么IE的安全、甚至系統(tǒng)的安全都會受到威脅,例如一旦非法用戶打開IE瀏覽器的“Internet選 項”設(shè)置框,將上網(wǎng)安全級別降低的話,那么網(wǎng)絡(luò)中的各種病毒、木馬,都有可能就會隨之而來。為了確保安全,你有時必須“架空”IE瀏覽器中的 Internet選項,讓非法用戶無法自行設(shè)置IE上網(wǎng)參數(shù): 首先打開Windows系統(tǒng)的資源管理器窗口,找到并進(jìn)入到“system32”文件夾窗口,選中其中的“inetcpl.cpl”文件,并用鼠標(biāo)右鍵單 擊之,從彈出的右鍵菜單中,單擊“重命名”選項,將“inetcpl.cpl”的文件名稱更名為“inetcplnew.cpl”,當(dāng)然你也能將其換成其 他名稱,不過你一定要將更名后的文件名稱記得,以后需要恢復(fù)時以便能快速找到。完成重命名操作后,再單擊IE瀏覽器中的“Internet選項”命令時, 就不能進(jìn)入到選項設(shè)置窗口了。 4.不用工具也能修復(fù)IE 在網(wǎng)上盡情沖浪時,IE難免會遭遇惡意攻擊;那么面對被惡意修改的IE,你該如何去恢復(fù)它呢?大多數(shù)人都會去選用各種專業(yè)的IE修復(fù)工具,來對付IE的惡意攻擊;也有水平高一些的“大蝦”,通過手工修改注冊表的方法,來恢復(fù)IE的本來“面貌”。可是當(dāng)你手頭沒有專業(yè)的IE修復(fù)工具可以利用時,或者自己對注冊表了解不深時,你該如何去修復(fù)IE呢?為此,本文為你提供一則非常便利的解決方法,不過該方法只能適合Windows2000或WindowsXP操作系統(tǒng),下面就是該方法的具體實現(xiàn)步驟: 依次單擊“開始”/“設(shè)置”/“控制面板”命令,然后依次雙擊“管理工具”/“計算機(jī)管理”圖標(biāo),在隨后彈出的窗口中,依次展開“系統(tǒng)工具”/“本地用戶 和組”文件夾,再單擊“用戶”選項,在對應(yīng)的右邊子窗口中,右擊空白區(qū)域,執(zhí)行快捷菜單中的“新用戶”命令,將新用戶命名為“newusr”,同時設(shè)置好 該賬號的訪問密碼; 完成新用戶的創(chuàng)建任務(wù)后,依次單擊“開始”/“關(guān)機(jī)”命令,然后執(zhí)行“注銷Administrator”操作,再改用“newusr”賬號重新進(jìn)入到 Windows2000系統(tǒng);接著打開系統(tǒng)注冊表編輯界面,依次展開注冊表分支HKEY_CURRENT_USER\Software \Microsoft\InternetExplorer,并將“InternetExplorer”主鍵選中,再依次單擊注冊表菜單欄中的“注冊表”/ “導(dǎo)出注冊表文件”命令,將有關(guān)IE部分的注冊表分支內(nèi)容導(dǎo)出,例如保存為“ienew.reg”文件,如此一來你就能將“newusr”賬號下關(guān)于IE 的正確設(shè)置全部導(dǎo)出來了;由于“newusr”賬號是剛剛新建的,因此該賬號下的IE設(shè)置都是系統(tǒng)默認(rèn)的正確設(shè)置,也就是說它是沒有被攻擊過的; 下面注銷“newusr”賬號,再以“Administrator”賬號登錄系統(tǒng);然后打開注冊表編輯窗口,依次執(zhí)行菜單欄中的 “注冊表”/“導(dǎo)入注冊表文件”命令,在彈出的文件選擇對話框中,將前面導(dǎo)出的“ienew.reg”文件導(dǎo)入到注冊表中,就能使IE恢復(fù)本來“面貌” 了。 當(dāng)然,這樣的方法比較麻煩,因此我們推薦IE一鍵修復(fù) 0.3(點(diǎn)擊官方下載)167K ,中文綠色免費(fèi)軟件,可以一鍵修復(fù)被惡意篡改的IE瀏覽器。此外,在魔方(點(diǎn)此下載)中,也將加入IE的修復(fù)功和監(jiān)控惡意軟件等安全功能。 5. 找回Windows 7中的IE 8桌面圖標(biāo) 在Windows 7中,由于超級任務(wù)欄的存在,微軟取消了IE 8的桌面圖標(biāo)設(shè)置,也就是說,在Windows 7中,無法在桌面顯示IE 8圖標(biāo),當(dāng)然,快捷方式是不能算的。不過近來有會員在論壇為我們提供了一個很好的辦法,可以以"曲線"的方式實現(xiàn)IE 8圖標(biāo)桌面顯示。盡管還不完美,但基本的功能都具備了,大家可以通過Windows7優(yōu)化大師 - 美化大師 - 系統(tǒng)外觀來自行設(shè)置。 善用快捷鍵,玩轉(zhuǎn)Windows 7 便簽程序 便箋是一種可以粘貼在任意位置的正方形或長條形紙條,方便我們隨時記錄一些信息,或是安排日常工作,隨寫隨記,非常方便。在 Windows 中為我們提供了和實物便箋一樣功能的小程序,本人非常喜歡。在 Vista 中,這個小程序作為邊欄小工具出現(xiàn),但在 Windows 7 中已經(jīng)成為了一個標(biāo)準(zhǔn)的Windows附件程序。 依次點(diǎn)擊Windows7的開始菜單按鈕 -》所有程序 -》附件 -》,點(diǎn)擊打開便簽,如下圖所示: 不用軟件,非會員徹底去除QQ2009/2010廣告 昨天談到了《不是VIP用戶也不怕 不需任何補(bǔ)丁屏蔽迅雷廣告》,用戶反饋非常的多,如果沒能設(shè)置成功的,請仔細(xì)閱讀步驟,100%的可以搞定的,當(dāng)然,如果迅雷再發(fā)新版升級后,就不保證了,有任何新的變化,請隨時關(guān)注Windows7之家和Vista之家首頁。 說完了迅雷,我們再來說下QQ吧,QQ的免費(fèi)用戶數(shù)量除了Windows外,就屬它大了。 屏蔽廣告除了更干凈潔爽之外,更大的好處是不用隨時下載體積大的flash動畫和gif動畫圖片了,QQ登陸速度顯著提升,同時,也少了帶寬消耗。 非QQ會員徹底屏蔽QQ2009正式版廣告: 在QQ2009 Beta版的時候,可以通過刪除一些文件讓非會員也能實現(xiàn)去廣告的目的,可惜從QQ2009正式版起增加了文件完整性檢查,刪除文件會導(dǎo)致QQ無法啟動,并要求重新安裝。 那么對于非會員來說,QQ2009正式版(包括之后的SP6、SP5、SP4、SP3、SP2、SP1等)就不能手動去廣告了嗎? 其實還是有辦法的,而且做起來也不難,你說是用第三方工具? 不需要!只要你對Windows操作系統(tǒng)稍有了解就可以輕松搞定,除了QQ2009,您也可以把這些招數(shù)用在QQ2010的測試版中,幾乎完全一樣。 下面,就把找到的方法共享給大家吧! 在開始之前,請先退出您正在運(yùn)行中的QQ。 1、去除騰訊迷你首頁: 對于每次啟動QQ后,都彈出的“騰訊迷你首頁”,很多人一定感到不爽,就讓我們先拿它開刀吧。 首先進(jìn)入QQ的安裝文件夾,接著進(jìn)入 Plugin\Com.Tencent.Advertisement\bin 文件夾,這里你會看到一個Advertisement.dll文件,它就是迷你首頁的關(guān)鍵所在,只需將這個文件改成只讀屬性,以后啟動QQ就不會再看到迷你首頁了。在這個文件上面點(diǎn)擊鼠標(biāo)右鍵,點(diǎn)擊屬性,勾選只讀,確定退出。 2、去除聊天窗口右上角廣告: 這個操作針對XP、Win2003系統(tǒng)用戶和Vista、Windows7、Win2008略有不同,主要是文件夾路徑上的。 1)XP、Win2003系統(tǒng)用戶操作方法: 進(jìn)入 X:\Documents and Settings\用戶名\Application Data\Tencent\QQ\Misc\com.tencent.advertisement (注意,X指的系統(tǒng)所在盤盤符,一般是C),首先刪除這個文件夾里面的所有文件,注意文件夾本身不能刪除,然后把當(dāng)前用戶的寫入權(quán)限給拒絕掉(需要當(dāng)前分區(qū)為NTFS格式)。 方法:文件夾上右鍵,屬性 - 安全標(biāo)簽,選中當(dāng)前登錄用戶,接著在下方“寫入”權(quán)限里,拒絕上打勾。 2)Vista、Windows7、Win2008用戶的操作: 進(jìn)入 X:\users\用戶名\appdata\Roaming\Tencent\QQ\Misc\com.tencent.advertisement,在這個文件上面點(diǎn)擊鼠標(biāo)右鍵,點(diǎn)擊屬性,然后點(diǎn)擊安全標(biāo)簽, 選中你的當(dāng)前用戶,如下圖示例中的Ruamei.com,然后點(diǎn)擊“編輯”按鈕,OK,寫入那兒設(shè)置下拒絕吧。 這樣,無論是會員還是非會員,你都不會有任何的廣告圖片下載了。 3、去除QQ2009/QQ2010聊天窗口的左下角廣告 如今的聊天窗口,除了右上角的圖片廣告外,左下角還多了一條文字廣告,既然要去廣告,那么這塊自然也不能遺忘。同樣操作針對XP、Win2003系統(tǒng)用戶和Vista、Windows7、Win2008而有所不同。 1)XP、Win2003系統(tǒng)用戶操作方法: 再次提醒您修改前首先要關(guān)閉QQ,然后進(jìn)入X:\Documents and Settings\用戶名\Application Data\Tencent\Users\你的QQ號\QQ\(注意,X指的系統(tǒng)所在盤盤符,一般是C),刪除其中的Misc.db,接著新建一個文件夾并命名為Misc.db(是不是和防止U盤自動運(yùn)行病毒的方法很像)。 2)Vista、Windows7、Win2008用戶的操作: 關(guān)閉QQ后,進(jìn)入X:\users\用戶名\appdata\Roaming\Tencent\Users\你的QQ號碼\QQ\,然后操作同上。 搞定,如此一來,這幾個地方都沒廣告了吧! 好吧,打開一個標(biāo)簽窗口如下圖所示,當(dāng)然,你可以多點(diǎn)多開。 如果你正在使用這個程序,是否覺得它的功能太簡單了,點(diǎn)點(diǎn)右鍵,彈出的菜單中只能切換便箋的顏色,沒有其他基本的格式編輯功能。 其實,除了標(biāo)準(zhǔn)的 Ctrl 加 XCVA 的剪切/復(fù)制/粘貼/全選快捷鍵之外,其實便箋程序還有一些快捷鍵可以使用: 快捷鍵 功能 Ctrl+N 新建一張便箋 Ctrl+D 刪除當(dāng)前便箋 Ctrl+E 居中對齊 Ctrl+R 右對齊 Ctrl+J 左對齊 Ctrl+I 斜體 Ctrl+B 粗體 Ctrl+U 下劃線 Ctrl+T 刪除線 Ctrl+Shift+> 加大選中文字的字號 Ctrl+Shift+< 縮小選中文字的字號 Ctrl+Shift+L 在文字前添加項目符號和編號(反復(fù)按可循環(huán)切換)。其中編號包括數(shù)字、大小寫字母、大小寫羅馬數(shù)字幾種形式。連按兩次回車可取消。 知道了這些快捷鍵,我們就可以做出一些滿足日常需要的格式了: 像 Windows 這種應(yīng)用廣泛的軟件或硬件,由于全球數(shù)十億人都會使用到,因此一個小小的功能特性都可以對世界造成很大的影響。 想想看,如果所有人都利用好這個小程序而不去買便箋,往小了說是省錢,往大了說可是環(huán)保了,能節(jié)約很多制作便箋的自然資源消耗。
上傳時間: 2019-06-22
上傳用戶:yerbol
當(dāng)許多編程人員從事這項工作但又不使用源代碼管理工具時,源代碼管理幾乎不可能進(jìn)行。Visual SourceSafe是Visual Basic的企業(yè)版配備的一個工具,不過這個工具目的是為了保留一個內(nèi)部應(yīng)用版本,不向公眾發(fā)布(應(yīng)當(dāng)說明的是,M i c r o s o f t并沒有開發(fā)Visual SourceSafe,它是M i c r o s o f t公司買來的) 。雖然Visual SourceSafe有幫助文本可供參考,但該程序的一般運(yùn)行情況和在生產(chǎn)環(huán)境中安裝 Visual SourceSafe的進(jìn)程都沒有詳細(xì)的文字說明。另外,Visual SourceSafe像大多數(shù)M i c r o s o f t應(yīng)用程序那樣經(jīng)過了很好的修飾,它包含的許多功能特征和物理特征都不符合 Microsoft Wi n d o w s應(yīng)用程序的標(biāo)準(zhǔn)。例如,Visual SourceSafe的三個組件之一(Visual SourceSafe Administrator)甚至連F i l e菜單都沒有。另外,許多程序的菜單項不是放在最合適的菜單上。在程序開發(fā)環(huán)境中實現(xiàn)Visual SourceSafe時存在的復(fù)雜性,加上它的非標(biāo)準(zhǔn)化外觀和文檔資料的不充分,使得許多人無法實現(xiàn)和使用 Visual SourceSafe。許多人甚至沒有試用 Vi s u a l S o u r c e S a f e的勇氣。我知道許多高水平技術(shù)人員無法啟動Visual SourceSafe并使之運(yùn)行,其中有一位是管理控制系統(tǒng)項目師。盡管如此,Visual SourceSafe仍然不失為一個很好的工具,如果你花點(diǎn)時間將它安裝在你的小組工作環(huán)境中,你一定會為此而感到非常高興。在本章中我并不是為你提供一些指導(dǎo)原則來幫助你創(chuàng)建更好的代碼,我的目的是告訴你如何使用工具來大幅度減少管理大型項目和開發(fā)小組所需的資源量,這個工具能夠很容易處理在沒有某種集成式解決方案情況下幾乎無法處理的各種問題。
上傳時間: 2013-10-24
上傳用戶:lgd57115700
迄今為止,本書已介紹了可在Microsoft Wi n d o w s操作系統(tǒng)中使用的全部網(wǎng)絡(luò)A P I函數(shù)。 利用這些函數(shù),我們的應(yīng)用程序可通過網(wǎng)絡(luò),建立與其他程序的通信聯(lián)系。在那些討論中, 我們在很大程度上將重點(diǎn)放在七層O S I模型的應(yīng)用層和表示層上面
標(biāo)簽:
上傳時間: 2015-07-08
上傳用戶:royzhangsz
GM(1,1)模型1-4 1:GM(1,1)模擬模型,在matlab中的輸入方法為gm1(x),x指要模擬的序列。 2:GM(1,1)預(yù)測模型,在matlab中的輸入方法為gm2(x,K),x指要模擬的序列,K指從以后序列第一個數(shù)據(jù)算起的第k個待預(yù)測數(shù)據(jù)。 3:GM(1,1)群模擬模型,在matlab中的輸入方法為gm3(x),x指要模擬的序列。 4:GM(1,1)群預(yù)測模型,在matlab中的輸入方法為gm4(x,K),x指要模擬的序列,K指從以后序列第一個數(shù)據(jù)算起的第k個待預(yù)測數(shù)據(jù)。 gm4對序列趨勢比較好的數(shù)據(jù)預(yù)測效果較好,對上下變動的數(shù)據(jù),特別是后4個數(shù)據(jù)趨勢跟前面的數(shù)據(jù)相反的,預(yù)測效果很差。 gm2對上下變動的數(shù)據(jù),預(yù)測效果比gm4好,但對趨勢較好的數(shù)據(jù),預(yù)測精度沒有g(shù)m4高。 gm3比gm1模擬精度要高。 可以以x=[1 3 5 7 9 11 13 15]進(jìn)行實驗。x輸入默認(rèn)行向量。 所有程序在matlab6.0上調(diào)試通過。
上傳時間: 2013-11-29
上傳用戶:jackgao
struts的詳細(xì)說明,是struts的經(jīng)典經(jīng)驗集合,對于做web開發(fā)的技術(shù)人員來說恨合適d o dio 哦!感覺寫的恨不錯就發(fā)上來了!
標(biāo)簽: struts
上傳時間: 2016-01-01
上傳用戶:懶龍1988
一款類似百度知道系統(tǒng)的問題解答系統(tǒng),問題頁面自動生成靜態(tài)網(wǎng)頁- M( ]- `+ X0 x 系統(tǒng)特色: + O$ U8 n- [ z# {/ E本系統(tǒng)結(jié)合了仿百度知道程序和仿新浪愛問程序的共同優(yōu)點(diǎn),設(shè)計更加合理 6 X) H8 a5 t9 h& D6 e8 S9 p2 P 問題頁面實時生成靜態(tài)頁面,減少系統(tǒng)開銷,更利于搜索引擎的收錄 ! f5 U& N3 J+ B7 I" S完美使用系統(tǒng)緩存,減少數(shù)據(jù)庫讀取次數(shù) b T |, g1 v9 \" E* Z 完善的后臺管理功能 # u5 C: I- c$ P6 P( H9 S2 w支持問題的附件上傳 . U! K+ k ~) o 對搜索引擎的優(yōu)化:支持Keywords和Description頁面頭部標(biāo)簽的自定義 6 ^! h: m- U4 p( z# X支持 JS 代碼的問題調(diào)用 t8 E5 ]) b3 M8 x* z提供與動網(wǎng)、oblog、動易實現(xiàn)用戶整合的標(biāo)準(zhǔn)接口 ) {4 \ ` ]1 g1 F8 u
標(biāo)簽: 百度
上傳時間: 2013-11-28
上傳用戶:ztj182002
#include <malloc.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #define NULL 0 #define MaxSize 30 typedef struct athletestruct /*運(yùn)動員*/ { char name[20]; int score; /*分?jǐn)?shù)*/ int range; /**/ int item; /*項目*/ }ATH; typedef struct schoolstruct /*學(xué)校*/ { int count; /*編號*/ int serial; /**/ int menscore; /*男選手分?jǐn)?shù)*/ int womenscore; /*女選手分?jǐn)?shù)*/ int totalscore; /*總分*/ ATH athlete[MaxSize]; /**/ struct schoolstruct *next; }SCH; int nsc,msp,wsp; int ntsp; int i,j; int overgame; int serial,range; int n; SCH *head,*pfirst,*psecond; int *phead=NULL,*pafirst=NULL,*pasecond=NULL; void create(); void input () { char answer; head = (SCH *)malloc(sizeof(SCH)); /**/ head->next = NULL; pfirst = head; answer = 'y'; while ( answer == 'y' ) { Is_Game_DoMain: printf("\nGET Top 5 when odd\nGET Top 3 when even"); printf("\n輸入運(yùn)動項目序號 (x<=%d):",ntsp); scanf("%d",pafirst); overgame = *pafirst; if ( pafirst != phead ) { for ( pasecond = phead ; pasecond < pafirst ; pasecond ++ ) { if ( overgame == *pasecond ) { printf("\n這個項目已經(jīng)存在請選擇其他的數(shù)字\n"); goto Is_Game_DoMain; } } } pafirst = pafirst + 1; if ( overgame > ntsp ) { printf("\n項目不存在"); printf("\n請重新輸入"); goto Is_Game_DoMain; } switch ( overgame%2 ) { case 0: n = 3;break; case 1: n = 5;break; } for ( i = 1 ; i <= n ; i++ ) { Is_Serial_DoMain: printf("\n輸入序號 of the NO.%d (0<x<=%d): ",i,nsc); scanf("%d",&serial); if ( serial > nsc ) { printf("\n超過學(xué)校數(shù)目,請重新輸入"); goto Is_Serial_DoMain; } if ( head->next == NULL ) { create(); } psecond = head->next ; while ( psecond != NULL ) { if ( psecond->serial == serial ) { pfirst = psecond; pfirst->count = pfirst->count + 1; goto Store_Data; } else { psecond = psecond->next; } } create(); Store_Data: pfirst->athlete[pfirst->count].item = overgame; pfirst->athlete[pfirst->count].range = i; pfirst->serial = serial; printf("Input name:) : "); scanf("%s",pfirst->athlete[pfirst->count].name); } printf("\n繼續(xù)輸入運(yùn)動項目(y&n)?"); answer = getchar(); printf("\n"); } } void calculate() /**/ { pfirst = head->next; while ( pfirst->next != NULL ) { for (i=1;i<=pfirst->count;i++) { if ( pfirst->athlete[i].item % 2 == 0 ) { switch (pfirst->athlete[i].range) { case 1:pfirst->athlete[i].score = 5;break; case 2:pfirst->athlete[i].score = 3;break; case 3:pfirst->athlete[i].score = 2;break; } } else { switch (pfirst->athlete[i].range) { case 1:pfirst->athlete[i].score = 7;break; case 2:pfirst->athlete[i].score = 5;break; case 3:pfirst->athlete[i].score = 3;break; case 4:pfirst->athlete[i].score = 2;break; case 5:pfirst->athlete[i].score = 1;break; } } if ( pfirst->athlete[i].item <=msp ) { pfirst->menscore = pfirst->menscore + pfirst->athlete[i].score; } else { pfirst->womenscore = pfirst->womenscore + pfirst->athlete[i].score; } } pfirst->totalscore = pfirst->menscore + pfirst->womenscore; pfirst = pfirst->next; } } void output() { pfirst = head->next; psecond = head->next; while ( pfirst->next != NULL ) { // clrscr(); printf("\n第%d號學(xué)校的結(jié)果成績:",pfirst->serial); printf("\n\n項目的數(shù)目\t學(xué)校的名字\t分?jǐn)?shù)"); for (i=1;i<=ntsp;i++) { for (j=1;j<=pfirst->count;j++) { if ( pfirst->athlete[j].item == i ) { printf("\n %d\t\t\t\t\t\t%s\n %d",i,pfirst->athlete[j].name,pfirst->athlete[j].score);break; } } } printf("\n\n\n\t\t\t\t\t\t按任意建 進(jìn)入下一頁"); getchar(); pfirst = pfirst->next; } // clrscr(); printf("\n運(yùn)動會結(jié)果:\n\n學(xué)校編號\t男運(yùn)動員成績\t女運(yùn)動員成績\t總分"); pfirst = head->next; while ( pfirst->next != NULL ) { printf("\n %d\t\t %d\t\t %d\t\t %d",pfirst->serial,pfirst->menscore,pfirst->womenscore,pfirst->totalscore); pfirst = pfirst->next; } printf("\n\n\n\t\t\t\t\t\t\t按任意建結(jié)束"); getchar(); } void create() { pfirst = (struct schoolstruct *)malloc(sizeof(struct schoolstruct)); pfirst->next = head->next ; head->next = pfirst ; pfirst->count = 1; pfirst->menscore = 0; pfirst->womenscore = 0; pfirst->totalscore = 0; } void Save() {FILE *fp; if((fp = fopen("school.dat","wb"))==NULL) {printf("can't open school.dat\n"); fclose(fp); return; } fwrite(pfirst,sizeof(SCH),10,fp); fclose(fp); printf("文件已經(jīng)成功保存\n"); } void main() { system("cls"); printf("\n\t\t\t 運(yùn)動會分?jǐn)?shù)統(tǒng)計\n"); printf("輸入學(xué)校數(shù)目 (x>= 5):"); scanf("%d",&nsc); printf("輸入男選手的項目(x<=20):"); scanf("%d",&msp); printf("輸入女選手項目(<=20):"); scanf("%d",&wsp); ntsp = msp + wsp; phead = (int *)calloc(ntsp,sizeof(int)); pafirst = phead; pasecond = phead; input(); calculate(); output(); Save(); }
標(biāo)簽: 源代碼
上傳時間: 2016-12-28
上傳用戶:150501
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1