當(dāng)許多編程人員從事這項(xiàng)工作但又不使用源代碼管理工具時(shí),源代碼管理幾乎不可能進(jìn)行。Visual SourceSafe是Visual Basic的企業(yè)版配備的一個(gè)工具,不過(guò)這個(gè)工具目的是為了保留一個(gè)內(nèi)部應(yīng)用版本,不向公眾發(fā)布(應(yīng)當(dāng)說(shuō)明的是,M i c r o s o f t并沒(méi)有開(kāi)發(fā)Visual SourceSafe,它是M i c r o s o f t公司買(mǎi)來(lái)的) 。雖然Visual SourceSafe有幫助文本可供參考,但該程序的一般運(yùn)行情況和在生產(chǎn)環(huán)境中安裝 Visual SourceSafe的進(jìn)程都沒(méi)有詳細(xì)的文字說(shuō)明。另外,Visual SourceSafe像大多數(shù)M i c r o s o f t應(yīng)用程序那樣經(jīng)過(guò)了很好的修飾,它包含的許多功能特征和物理特征都不符合 Microsoft Wi n d o w s應(yīng)用程序的標(biāo)準(zhǔn)。例如,Visual SourceSafe的三個(gè)組件之一(Visual SourceSafe Administrator)甚至連F i l e菜單都沒(méi)有。另外,許多程序的菜單項(xiàng)不是放在最合適的菜單上。在程序開(kāi)發(fā)環(huán)境中實(shí)現(xiàn)Visual SourceSafe時(shí)存在的復(fù)雜性,加上它的非標(biāo)準(zhǔn)化外觀和文檔資料的不充分,使得許多人無(wú)法實(shí)現(xiàn)和使用 Visual SourceSafe。許多人甚至沒(méi)有試用 Vi s u a l S o u r c e S a f e的勇氣。我知道許多高水平技術(shù)人員無(wú)法啟動(dòng)Visual SourceSafe并使之運(yùn)行,其中有一位是管理控制系統(tǒng)項(xiàng)目師。盡管如此,Visual SourceSafe仍然不失為一個(gè)很好的工具,如果你花點(diǎn)時(shí)間將它安裝在你的小組工作環(huán)境中,你一定會(huì)為此而感到非常高興。在本章中我并不是為你提供一些指導(dǎo)原則來(lái)幫助你創(chuàng)建更好的代碼,我的目的是告訴你如何使用工具來(lái)大幅度減少管理大型項(xiàng)目和開(kāi)發(fā)小組所需的資源量,這個(gè)工具能夠很容易處理在沒(méi)有某種集成式解決方案情況下幾乎無(wú)法處理的各種問(wèn)題。
上傳時(shí)間: 2013-10-24
上傳用戶(hù):lgd57115700
迄今為止,本書(shū)已介紹了可在Microsoft Wi n d o w s操作系統(tǒng)中使用的全部網(wǎng)絡(luò)A P I函數(shù)。 利用這些函數(shù),我們的應(yīng)用程序可通過(guò)網(wǎng)絡(luò),建立與其他程序的通信聯(lián)系。在那些討論中, 我們?cè)诤艽蟪潭壬蠈⒅攸c(diǎn)放在七層O S I模型的應(yīng)用層和表示層上面
標(biāo)簽:
上傳時(shí)間: 2015-07-08
上傳用戶(hù):royzhangsz
struts的詳細(xì)說(shuō)明,是struts的經(jīng)典經(jīng)驗(yàn)集合,對(duì)于做web開(kāi)發(fā)的技術(shù)人員來(lái)說(shuō)恨合適d o dio 哦!感覺(jué)寫(xiě)的恨不錯(cuò)就發(fā)上來(lái)了!
標(biāo)簽: struts
上傳時(shí)間: 2016-01-01
上傳用戶(hù):懶龍1988
本設(shè)計(jì)實(shí)際上是將被測(cè)模擬量轉(zhuǎn)換為數(shù)字量,并進(jìn)行實(shí)時(shí)數(shù)字顯示,主要由以下幾部分構(gòu)成:量程轉(zhuǎn)換電路、AC-DC轉(zhuǎn)換電路、3位半A/D轉(zhuǎn)換單元電路、基準(zhǔn)電源單元電路、譯碼驅(qū)動(dòng)單元以及數(shù)碼管顯示單元。其中A/D轉(zhuǎn)換器選用三位半MC14433,基準(zhǔn)電源選用MC1403,譯碼驅(qū)動(dòng)器則MC14511,另加四個(gè)共陰極LED發(fā)光數(shù)碼管。
標(biāo)簽: 模擬量 數(shù)字量 轉(zhuǎn)換
上傳時(shí)間: 2013-12-24
上傳用戶(hù):thinode
產(chǎn)品型號(hào):VKD233DS 封裝形式:DFN-6(超小封裝體積2*2mm) 產(chǎn)品年份:新年份 品牌:臺(tái)灣元泰VINTEK 臺(tái)灣元泰原廠直銷(xiāo),原裝現(xiàn)貨更有優(yōu)勢(shì)!原廠技術(shù)支持,讓您的生產(chǎn)高枕無(wú)憂(yōu)。 單按鍵觸摸檢測(cè) IC 概 述 - VKD233DS是單按鍵觸摸檢測(cè)芯片, 此觸摸檢測(cè)芯片內(nèi)建穩(wěn)壓電路, 提供 穩(wěn)定的電壓給觸摸感應(yīng)電路使用, 穩(wěn)定的觸摸檢測(cè)效果可以廣泛的滿(mǎn)足不同應(yīng)用的需求, 此觸摸檢測(cè)芯片是專(zhuān)為取代傳統(tǒng)按鍵而設(shè)計(jì), 觸摸檢測(cè) PAD 的大小可依不同的靈敏度設(shè) 計(jì)在合理的范圍內(nèi), 低功耗與寬工作電壓, 是此觸摸芯片在 DC 或 AC 應(yīng)用上的特性。 特 點(diǎn) - 工作電壓 2.4V ~ 5.5V - 內(nèi)建穩(wěn)壓電路提供穩(wěn)定的電壓給觸摸檢電路使用 - 內(nèi)建低壓重置(LVR)功能 - 工作電流 @VDD=3V﹐無(wú)負(fù)載 快速模式下典型值 4uA?更大值 8uA - 輸出響應(yīng)時(shí)間大約為快速模式下 46mS @VDD=3V - 可以由外部電容 (1~50pF) 調(diào)整靈敏度 - 穩(wěn)定的人體觸摸檢測(cè)可取代傳統(tǒng)的按鍵開(kāi)關(guān) - 提供快速模式 - 提供輸出模式選擇 (TOG pin) 可選擇直接輸出或鎖存 (toggle) 輸出 - 提供更長(zhǎng)輸出時(shí)間約 16 秒(±35% @ VDD=3.0V) - Q pin 為 CMOS 輸出﹐可由 (AHLB pin) 選擇高電平輸出有效或低電平輸出有效 - 上電后約有 0.5 秒的穩(wěn)定時(shí)間﹐此期間內(nèi)不要觸摸檢測(cè)點(diǎn)﹐此時(shí)所有功能都被禁止 - 自動(dòng)校準(zhǔn)功能 剛上電的 8 秒內(nèi)約每 1 秒刷新一次參考值﹐若在上電后的 8 秒內(nèi)有觸摸按鍵或 8 秒后仍未觸摸 按鍵,則重新校準(zhǔn)周期切換為 4 秒 應(yīng)用范圍 - 各種消費(fèi)性產(chǎn)品 - 取代按鈕按鍵 ------------------------------------ 產(chǎn)品型號(hào):VKD223EB 產(chǎn)品品牌:VINTEK/元泰 封裝形式:SOT23-6 產(chǎn)品年份:新年份產(chǎn)品 臺(tái)灣元泰原廠直銷(xiāo),原裝現(xiàn)貨具有優(yōu)勢(shì)!工程服務(wù),技術(shù)支持,讓您的生產(chǎn)高枕無(wú)憂(yōu)。 概 述 -VKD223EB是單按鍵觸摸檢測(cè)芯片, 穩(wěn)定的觸摸檢測(cè)效果可以廣泛的滿(mǎn)足不同應(yīng)用的需求, 此觸摸檢測(cè)芯片是專(zhuān)為取代傳統(tǒng)按鍵而設(shè)計(jì), 觸摸檢測(cè) PAD 的大小可依不同的靈敏度設(shè)計(jì)在合理的范圍內(nèi), 低功耗與寬工作電壓, 是此觸摸芯片在 DC 或 AC應(yīng)用上的特性。 特 點(diǎn) - 工作電壓 2.0V ~ 5.5V - 工作電流 @VDD=3V﹐無(wú)負(fù)載 低功耗模式下典型值 2.0uA?更大值 4.0uA - 最長(zhǎng)響應(yīng)時(shí)間大約為低功耗模式 220ms @VDD=3V - 可以由外部電容 (1~50pF) 調(diào)整靈敏度 - 穩(wěn)定的人體觸摸檢測(cè)可取代傳統(tǒng)的按鍵開(kāi)關(guān) - 提供低功耗模式 - 提供輸出模式選擇 (TOG pin)可選擇直接輸出或鎖存 (toggle) 輸出 - Q pin 為 CMOS 輸出﹐可由 (AHLB pin) 選擇高電平輸出有效或低電平輸出有效 - 上電后約有 0.5 秒的穩(wěn)定時(shí)間﹐此期間內(nèi)不要觸摸檢測(cè)點(diǎn)﹐此時(shí)所有功能都被禁止 - 自動(dòng)校準(zhǔn)功能 剛上電的 8 秒內(nèi)約每 1 秒刷新一次參考值﹐若在上電后的 8 秒內(nèi)有觸摸按鍵或 8 秒后仍未觸摸 按鍵,則重新校準(zhǔn)周期切換為 4 秒 應(yīng)用范圍 - 各種消費(fèi)性產(chǎn)品 - 取代按鈕按鍵 -------------------------------- 產(chǎn)品型號(hào):VKD233DH 產(chǎn)品品牌:VINTEK/元泰 封裝形式:SOT23-6 產(chǎn)品年份:新年份 臺(tái)灣元泰原廠直銷(xiāo),原裝現(xiàn)貨具有優(yōu)勢(shì)!工程服務(wù),技術(shù)支持,讓您的生產(chǎn)高枕無(wú)憂(yōu)。 單鍵按鍵觸摸檢測(cè) IC 概述 VKD233DH 是單按鍵觸摸檢測(cè)芯片,此觸摸檢測(cè)芯片內(nèi)建穩(wěn)壓電路,提供穩(wěn)定的電壓給觸摸感應(yīng)電路使用,穩(wěn)定的觸摸檢測(cè)效果可以廣泛的滿(mǎn)足不同應(yīng)用的需求,此觸摸檢測(cè)芯片是專(zhuān)為取代傳統(tǒng)按鍵而設(shè)計(jì),觸摸檢測(cè)PAD的大小可依不同的靈敏度設(shè)計(jì)在合理的范圍內(nèi),低功耗與寬工作電壓,是此觸摸芯片在DC或AC應(yīng)用上的特性。 特點(diǎn) - 工作電壓2.4~5.5V - 內(nèi)建穩(wěn)壓電路提供穩(wěn)定的電壓給觸摸檢電路使用 - 內(nèi)建低壓重置(LVR)功能 - 工作電流 @VDD=3V,無(wú)負(fù)載 低功耗模式下典型值 2.5uA、更大值 5uA - 最長(zhǎng)響應(yīng)時(shí)間大約為低功耗模式220ms @VDD=3V - 可以由外部電容(1~50pF) 調(diào)整靈敏度 - 穩(wěn)定的人體觸摸檢測(cè)可取代傳統(tǒng)的按鍵開(kāi)關(guān) - 提供低功耗模式 - 提供輸出模式選擇(TOG pin) 可選擇直接輸出或鎖存(toggle)輸出 - 提供最長(zhǎng)輸出時(shí)間約 16秒(±50%) - Q pin 為 CMOS 輸出,可由(AHLB pin)選擇高電平輸出有效或低電平輸出有效 - 上電后約有0.5秒的穩(wěn)定時(shí)間,此期間內(nèi)不要觸摸檢測(cè)點(diǎn),此時(shí)所有功能都被禁止 - 自動(dòng)校準(zhǔn)功能 剛上電的8秒內(nèi)約每一秒刷新一次參考值,若在上電后的8秒內(nèi)有觸摸按鍵 或8秒后仍未觸摸按鍵,則重新校準(zhǔn)周期切換為4秒 - 此篇產(chǎn)品敘述為功能簡(jiǎn)介,如需要完整產(chǎn)品PDF資料可以聯(lián)系許先生索取! 應(yīng)用范圍 - 各種消費(fèi)性產(chǎn)品 - 取代按鈕按鍵 ------------------------------ 產(chǎn)品型號(hào):VKD233DB 產(chǎn)品品牌:VINTEK/元泰 封裝形式:SOT23-6 產(chǎn)品年份:新年份 臺(tái)灣元泰原廠直銷(xiāo),原裝現(xiàn)貨具有優(yōu)勢(shì)!工程服務(wù),技術(shù)支持,讓您的生產(chǎn)高枕無(wú)憂(yōu)。 單按鍵觸摸檢測(cè)IC 概述 - VKD233DB 是單按鍵觸摸檢測(cè)芯片,此觸摸檢測(cè)芯片內(nèi)建穩(wěn)壓電路,提供穩(wěn)定的電壓給觸摸感應(yīng)電路使用,穩(wěn)定的觸摸檢測(cè)效果可以廣泛的滿(mǎn)足不同應(yīng)用的需求,此觸摸檢測(cè)芯片是專(zhuān)為取代傳統(tǒng)按鍵而設(shè)計(jì),觸摸檢測(cè)PAD的大小可依不同的靈敏度設(shè)計(jì)在合理的范圍內(nèi),低功耗與寬工作電壓,是此觸摸芯片在DC或AC應(yīng)用上的特性。 特性 - 工作電壓2.4~5.5V - 內(nèi)建穩(wěn)壓電路提供穩(wěn)定的電壓給觸摸檢電路使用 - 內(nèi)建低壓重置(LVR)功能 - 工作電流重置 @VDD=3V,無(wú)負(fù)載 低功耗模式下典型值 2.5uA、更大值 5uA - 最長(zhǎng)響應(yīng)時(shí)間大約為低功耗模式220ms @VDD=3V - 可以由外部電容(1~50pF)調(diào)整靈敏度 - 穩(wěn)定的人體觸摸檢測(cè)可取代傳統(tǒng)的按鍵開(kāi)關(guān) - 提供低功耗模式 - 提供輸出模式選擇(TOG pin) 可選擇直接輸出或鎖存(toggle) - Q pin為CMOS輸出,可由(AHLB pin)選擇高電平輸出有效或低電平輸出有效 - 上電后因有0.5秒的穩(wěn)定時(shí)間,此 期間內(nèi)不要觸摸檢測(cè)點(diǎn),此時(shí)所有功能都被禁止 - 自動(dòng)校準(zhǔn)功能 剛上電的8秒內(nèi)約每一秒刷新一次參考值 ,若在上電后的8秒內(nèi)有 觸摸 按鍵或8秒 后 仍未觸摸按鍵,則重新校準(zhǔn)周期切換為4秒 - 此篇產(chǎn)品敘述為功能簡(jiǎn)介,如需要完整產(chǎn)品PDF資料可以聯(lián)系許先生索?。?應(yīng)用范圍 - 各種消費(fèi)性產(chǎn)品 - 取代按鈕按鍵 我們的優(yōu)勢(shì) 1:我司為VINTEK/臺(tái)灣元泰半導(dǎo)體股份有限公司/VINKA的授權(quán)大中華區(qū)代理商,產(chǎn)品渠道正宗,確保原裝,大量庫(kù)存現(xiàn)貨! 2:公司工程力量雄厚,真誠(chéng)技術(shù)服務(wù)支持,搭配原廠服務(wù)各種應(yīng)用產(chǎn)品客戶(hù)。 3:好價(jià)格源自連接原廠直銷(xiāo),你有量,我有價(jià),確保原裝的好價(jià)格。 VK原廠代理:許先生 QQ:191 888 5898 TEL:188 9858 2398 優(yōu)勢(shì)代理元泰VKD常用觸控按鍵IC,簡(jiǎn)介如下: 標(biāo)準(zhǔn)觸控IC-電池供電系列 VKD223EB --- 工作電壓/電流:2.0V-5.5V/5uA-3V 感應(yīng)通道數(shù):1 通訊接口 更長(zhǎng)響應(yīng)時(shí)間快速模式60mS,低功耗模式220ms 封裝:SOT23-6 VKD223B --- 工作電壓/電流:2.0V-5.5V/5uA-3V 感應(yīng)通道數(shù):1 通訊接口 更長(zhǎng)響應(yīng)時(shí)間快速模式60mS,低功耗模式220ms 封裝:SOT23-6 VKD232C --- 工作電壓/電流: 2.4V-5.5V/2.5uA-3V 感應(yīng)通道數(shù):2封裝:SOT23-6 通訊接口:直接輸出,低電平有效 固定為多鍵輸出模式,內(nèi)建穩(wěn)壓電路 VKD233DH(更小體積2*2)---工作電壓/電流: 2.4V-5.5V/2.5uA-3V 1按鍵 封裝:DFN6L 通訊接口:直接輸出,鎖存(toggle)輸出 有效鍵更長(zhǎng)時(shí)間檢測(cè)16S VKD233DB(推薦) --- 工作電壓/電流: 2.4V-5.5V/2.5uA-3V 1感應(yīng)按鍵 封裝:SOT23-6 通訊接口:直接輸出,鎖存(toggle)輸出 低功耗模式電流2.5uA-3V VKD233DH(推薦)---工作電壓/電流: 2.4V-5.5V/2.5uA-3V 1感應(yīng)按鍵 封裝:SOT23-6 通訊接口:直接輸出,鎖存(toggle)輸出 有效鍵更長(zhǎng)時(shí)間檢測(cè)16S 標(biāo)準(zhǔn)觸控IC-多鍵觸摸按鈕系列 VKD104SB/N --- 工作電壓/電流:2.4V-5.5V/13uA-3V 感應(yīng)通道數(shù)/按鍵數(shù):4 通訊接口:直接輸出,鎖存輸出,開(kāi)漏輸出 封裝:SSOP-16 VKD104BC --- 工作電壓/電流:2.4V-5.5V/13uA-3V 感應(yīng)通道數(shù)/按鍵數(shù):4 通訊接口:直接輸出,鎖存輸出,開(kāi)漏輸出 封裝:SOP-16 VKD104BR --- 工作電壓/電流:2.4V-5.5V/13uA-3V 感應(yīng)通道數(shù)/按鍵數(shù):2 通訊接口:直接輸出, toggle輸出 封裝:SOP-8 VKD104QB --- 工作電壓/電流:2.4V-5.5V/13uA-3V 感應(yīng)通道數(shù)/按鍵數(shù):4 通訊接口:直接輸出,鎖存輸出,開(kāi)漏輸出 封裝:QFN-16 VKD1016B --- 工作電壓/電流:2.4V-5.5V/20uA-3V 感應(yīng)通道數(shù)/按鍵數(shù):16-8 通訊接口:直接輸出,鎖存輸出,開(kāi)漏輸出 封裝:SSOP-28 VKD1016L --- 工作電壓/電流:2.4V-5.5V/20uA-3V 感應(yīng)通道數(shù):16-8 通訊接口:直接輸出,鎖存輸出,開(kāi)漏輸出 封裝:SSOP-28 (元泰原廠授權(quán) 原裝保障 工程技術(shù)支持 大量現(xiàn)貨庫(kù)存) 標(biāo)準(zhǔn)觸控IC-VK36系列 VK3601SS --- 工作電壓/電流:2.4V-5.5V/1mA-5.0V 感應(yīng)通道數(shù):1 通訊接口:1 INPUT/1PWM OUT 封裝:SOP-8 VK3601S --- 工作電壓/電流:2.4V-5.5V/4mA-3.3V 感應(yīng)通道數(shù):1 通訊接口:1 INPUT/1PWM OUT 封裝:SOP-8 VK3602XS --- 工作電壓/電流:2.4V-5.5V/ 60uA-3V 感應(yīng)通道數(shù):2 通訊接口:2對(duì)2 toggle輸出 封裝:SOP-8 VK3602K --- 工作電壓/電流:2.4V-5.5V/ 60uA-3V 感應(yīng)通道數(shù):2 通訊接口:2對(duì)2 toggle輸出 封裝:SOP-8 VK3606DM --- 工作電壓/電流:3.1V-5.5V/ 3mA-5V 感應(yīng)通道數(shù):6 通訊接口:1對(duì)1直接輸出 封裝:SOP-16 VK3606OM --- 工作電壓/電流:3.1V-5.5V/ 3mA-5V 感應(yīng)通道數(shù):6 通訊接口:1對(duì)1開(kāi)漏輸出 封裝:SOP-16 VK3608BM --- 工作電壓/電流:3.1V-5.5V/ 3mA-5V 感應(yīng)通道數(shù):6 通訊接口:BCD碼直接輸出 封裝:SOP-16 VK3610IM --- 工作電壓/電流:3.1V-5.5V/ 3mA-5V 感應(yīng)通道數(shù):6 通訊接口:SCL/SDA/INT通訊口 封裝:SOP-16 標(biāo)準(zhǔn)觸控IC-VK37系列 VK3702DM --- 工作電壓/電流:3.1V-5.5V/ 3mA-5V 感應(yīng)通道數(shù):2 通訊接口:1對(duì)1直接輸出 封裝:SOP-8 VK3702OM --- 工作電壓/電流:3.1V-5.5V/ 3mA-5V 感應(yīng)通道數(shù):2 通訊接口:1對(duì)1開(kāi)漏輸出 封裝:SOP-8 VK3702TM --- 工作電壓/電流:3.1V-5.5V/ 3mA-5V 感應(yīng)通道數(shù):2 通訊接口:1對(duì)1toggle輸出 封裝:SOP-8 VK3706DM --- 工作電壓/電流:3.1V-5.5V/ 3mA-5V 感應(yīng)通道數(shù):6 通訊接口:1對(duì)1直接輸出 封裝:SOP-16 VK3706OM --- 工作電壓/電流:3.1V-5.5V/ 3mA-5V 感應(yīng)通道數(shù):6 通訊接口:1對(duì)1開(kāi)漏輸出 封裝:SOP-16 VK3708BM --- 工作電壓/電流:3.1V-5.5V/ 3mA-5V 感應(yīng)通道數(shù):8 通訊接口:BCD碼直接輸出 封裝:SOP-16 VK3710IM --- 工作電壓/電流:3.1V-5.5V/ 3mA-5V 感應(yīng)通道數(shù):10 通訊接口:SCL/SDA/INT通訊口 封裝:SOP-16 標(biāo)準(zhǔn)觸控IC-VK38系列 VK3809IP --- 工作電壓/電流:2.5V-5.5V/1.1mA-3V 感應(yīng)通道數(shù):9 通訊接口:IIC/INT通訊口 封裝:SSOP-16 VK3813IP --- 工作電壓/電流:2.5V-5.5V/1.1mA-3V 感應(yīng)通道數(shù):13 通訊接口:IIC/INT通訊口 封裝:SSOP-20 VK3816IP --- 工作電壓/電流:2.5V-5.5V/1.1mA-3V 感應(yīng)通道數(shù):16 通訊接口:IIC/INT通訊口 封裝:SSOP-28 VK3816IP-A --- 工作電壓/電流:2.5V-5.5V/1.1mA-3V 感應(yīng)通道數(shù):16 通訊接口:IIC/INT通訊口 封裝:SSOP-28 以上介紹內(nèi)容為IC參數(shù)簡(jiǎn)介,難免有錯(cuò)漏,且相關(guān)IC型號(hào)眾多,未能一一收錄。歡迎聯(lián)系索取完整資料及樣品! 生意無(wú)論大小,做人首重誠(chéng)信!本公司全體員工將既往開(kāi)來(lái),再接再厲。爭(zhēng)取為各位帶來(lái)更專(zhuān)業(yè)的技術(shù)支持,更優(yōu)質(zhì)的銷(xiāo)售服務(wù),更高性?xún)r(jià)比的好產(chǎn)品.竭誠(chéng)希望能與各位客戶(hù)朋友深入溝通,攜手共進(jìn),共同成長(zhǎng),合作共贏!謝謝。 聯(lián) 系 人:許先生 聯(lián) 系 QQ:191 888 5898 聯(lián)系手機(jī):188 9858 2398
標(biāo)簽: TTP 223 CA6 N-BA D-BA BA6 233 HA6 QA6
上傳時(shí)間: 2019-02-16
上傳用戶(hù):szqxw1688
#include<stdio.h> #include<string.h> #include<stdlib.h> #define N 100 int iNumOfStu=0; struct score { float math; float english; float computer; }; struct student { int number; char name[20]; struct score sco; float average; }; struct student stu[N]; void print_menu(void);//輸出菜單 void choosemenu(void);//菜單選擇 void input_student1(int);//輸入學(xué)生信息 void input_student2(void);//輸入總函數(shù) void input_student3(int &,int);//判斷學(xué)號(hào)是否重復(fù) void input_student4(int,int);//覆蓋原信息 void sort_student3(student s[],int);//按照英語(yǔ)成績(jī)排序 void sort_student4(student s[],int);//按照計(jì)算機(jī)成績(jī)排序 void sort_student2(student s[],int);//按照數(shù)學(xué)成績(jī)排序 void sort_student5(student s[],int);//按照平均成績(jī)排序 float input_score2(int);//計(jì)算學(xué)生平均成績(jī) void print_student2(void);//顯示表頭 void print_student3(int);//顯示學(xué)生信息 void print_student1(int);//顯示全部學(xué)生資料 void sort_student1(void);//排序總函數(shù) void menu(void);//菜單調(diào)度總函數(shù) int search_student2(int);//按學(xué)號(hào)查詢(xún)學(xué)生信息并輸出 void search_student3(int);//按平均分最高查詢(xún)并輸出 void search_student1(void);//查詢(xún)總函數(shù) void delete_student2(int,int);//刪除學(xué)生信息 void delete_student1(void);//刪除總函數(shù) void change_student2(int);//修改學(xué)生資料 void change_student1(void);//修改總函數(shù) void input_score3(int);//統(tǒng)計(jì)成績(jī) void input_score1(void);//統(tǒng)計(jì)成績(jī)總函數(shù) void print_help(void);//輸出幫助信息 void exit_student(void);//退出系統(tǒng) void save_student(student *,int);//保存學(xué)生信息 void main() { menu(); } void save_student(student *s,int a)//保存學(xué)生信息 { FILE *fp; if((fp=fopen("d:\\學(xué)生信息.txt","wb"))==NULL) { printf("不能打開(kāi)文件!\n"); } else { printf("保存信息到D盤(pán)\n"); fprintf(fp,"本班所有學(xué)生具體信息如下:\r\n"); fprintf(fp," 學(xué)號(hào) 姓名 數(shù)學(xué)成績(jī) 英語(yǔ)成績(jī) 計(jì)算機(jī)成績(jī) 平均成績(jī)\r\n"); for(int i=0;i<a;i++) { fprintf(fp,"%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[i].number,stu[i].name,stu[i].sco.math,stu[i].sco.english,stu[i].sco.computer,stu[i].average); fprintf(fp,"\r\n"); } fclose(fp); printf("信息保存成功!\n"); } } void exit_student(void)//退出系統(tǒng) { exit(1); } void print_help(void)//輸出幫助信息 { printf("本系統(tǒng)所能容納的最大學(xué)生數(shù)為%d人\n學(xué)生信息保存在D盤(pán)根目錄下,保存文件為“學(xué)生信息.txt”。\n感謝使用!\n",N); } void input_score1(void)//統(tǒng)計(jì)成績(jī)總函數(shù) { int c; c=search_student2(iNumOfStu); printf("學(xué)號(hào):%d\n",stu[c].number); printf("姓名:%s\n",stu[c].name); input_score3(c); printf("新成績(jī)錄入成功!\n"); stu[c].average=input_score2(c); } void input_score3(int a)//統(tǒng)計(jì)成績(jī) { printf("數(shù)學(xué)新成績(jī):"); scanf("%f",&stu[a].sco.math); printf("英語(yǔ)新成績(jī):"); scanf("%f",&stu[a].sco.english); printf("計(jì)算機(jī)新成績(jī):"); scanf("%f",&stu[a].sco.computer); } void change_student2(int a)//修改學(xué)生資料 { printf("學(xué)號(hào):%d----修改為:",stu[a].number); scanf("%d",&stu[a].number); getchar(); printf("姓名:%s----修改為:",stu[a].name); gets(stu[a].name); printf("數(shù)學(xué)成績(jī):%.2f----修改為:",stu[a].sco.math); scanf("%f",&stu[a].sco.math); printf("英語(yǔ)成績(jī):%.2f----修改為:",stu[a].sco.english); scanf("%f",&stu[a].sco.english); printf("計(jì)算機(jī)成績(jī):%.2f----修改為:",stu[a].sco.computer); scanf("%f",&stu[a].sco.computer); } void change_student1(void)//修改總函數(shù) { int c; c=search_student2(iNumOfStu); getchar(); printf("是否要修改此學(xué)生信息?(“y”代表是)"); char d; scanf("%c",&d); if(d=='y'||d=='Y') { change_student2(c); stu[c].average=input_score2(c); printf("信息修改成功!\n"); } } void delete_student1(void)//刪除總函數(shù) { int c; c=search_student2(iNumOfStu); getchar(); printf("是否刪除此條記錄?(“y”代表是)"); char d; scanf("%c",&d); if(d=='y'||d=='Y') { delete_student2(c,iNumOfStu); printf("記錄已刪除!\n"); } } void delete_student2(int a,int b)//刪除學(xué)生信息 { for(int i=a;i<b-1;i++) { stu[i]=stu[i+1]; } --iNumOfStu; } void search_student1(void)//查詢(xún)總函數(shù) { printf("1、按學(xué)號(hào)查詢(xún)\n2、按平均分最高查詢(xún)\n請(qǐng)選擇:"); int c; scanf("%d",&c); switch(c) { case 1: { search_student2(iNumOfStu); break; } case 2: { search_student3(iNumOfStu); break; } default: break; } } void menu(void)//菜單調(diào)度總函數(shù) { print_menu(); choosemenu(); } void sort_student1(void)//排序總函數(shù) { printf("1、按數(shù)學(xué)成績(jī)排序\n2、按英語(yǔ)成績(jī)排序\n3、按計(jì)算機(jī)成績(jī)排序\n4、按平均成績(jī)排序\n請(qǐng)選擇:"); int c; scanf("%d",&c); switch(c) { case 1: { sort_student2(stu,iNumOfStu); break; } case 2: { sort_student3(stu,iNumOfStu); break; } case 3: { sort_student4(stu,iNumOfStu); break; } case 4: { sort_student5(stu,iNumOfStu); break; } default: break; } } void print_student1(int a)//顯示全部學(xué)生資料 { printf("本班所有學(xué)生具體信息如下\n"); print_student2(); for(int i=0;i<a;i++) { print_student3(i); } } void print_student3(int a)//顯示學(xué)生信息 { printf("%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[a].number,stu[a].name,stu[a].sco.math,stu[a].sco.english,stu[a].sco.computer,stu[a].average); } void print_student2(void)//顯示表頭 { printf(" 學(xué)號(hào) 姓名 數(shù)學(xué)成績(jī) 英語(yǔ)成績(jī) 計(jì)算機(jī)成績(jī) 平均成績(jī)\n"); } void input_student4(int a,int b)//覆蓋原信息 { stu[a]=stu[b-1]; --iNumOfStu; } void input_student3(int &a,int b)//判斷學(xué)號(hào)是否重復(fù) { if(a!=0) { int i=0; do { if(stu[a].number==stu[i].number) { printf("此學(xué)號(hào)代表的學(xué)生已錄入\n1、覆蓋原信息\n2、重新輸入\n請(qǐng)選擇:"); int c; scanf("%d",&c); switch(c) { case 1: { input_student4(i,iNumOfStu); a=iNumOfStu-1; printf("信息已替換!\n"); break; } case 2: { printf("請(qǐng)重新輸入學(xué)生信息:\n"); input_student1(iNumOfStu-1); break; } default: break; } break; } ++i; } while(i<b-1); } } void print_menu(void)//輸出菜單 { printf("======歡迎來(lái)到學(xué)生信息管理系統(tǒng)======\n"); printf(" 1、輸入學(xué)生資料\n"); printf(" 2、刪除學(xué)生資料\n"); printf(" 3、查詢(xún)學(xué)生資料\n"); printf(" 4、修改學(xué)生資料\n"); printf(" 5、顯示學(xué)生資料\n"); printf(" 6、統(tǒng)計(jì)學(xué)生成績(jī)\n"); printf(" 7、排序?qū)W生成績(jī)\n"); printf(" 8、保存學(xué)生資料\n"); printf(" 9、獲取幫助信息\n"); printf(" 10、退出系統(tǒng)\n"); printf("====================================\n"); printf("請(qǐng)選擇:"); } void input_student2(void)//輸入總函數(shù) { char end; printf("請(qǐng)輸入學(xué)生信息(在最后一個(gè)學(xué)生信息錄入完成后以“/”結(jié)束錄入):\n"); for(int i=0;(end=getchar())!='/';i++) { input_student1(i); ++iNumOfStu; input_student3(i,iNumOfStu); } for(int j=0;j<iNumOfStu;j++) { stu[j].average=input_score2(j); } } void input_student1(int a)//輸入學(xué)生信息 { printf("學(xué)號(hào):"); scanf("%d",&stu[a].number); getchar(); printf("姓名:"); gets(stu[a].name); printf("數(shù)學(xué)成績(jī):"); scanf("%f",&stu[a].sco.math); printf("英語(yǔ)成績(jī):"); scanf("%f",&stu[a].sco.english); printf("計(jì)算機(jī)成績(jī):"); scanf("%f",&stu[a].sco.computer); } float input_score2(int a)//計(jì)算學(xué)生平均成績(jī) { return (stu[a].sco.math+stu[a].sco.english+stu[a].sco.computer)/3; } void search_student3(int a)//按平均分最高查詢(xún)并輸出 { int max=0; for(int i=0;i<a;i++) { if(stu[max].average<stu[i].average) { max=i; } } print_student2(); print_student3(max); } void sort_student2(student s[],int a)//按照數(shù)學(xué)成績(jī)排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].sco.math>stu[max].sco.math) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } void sort_student3(student s[],int a)//按照英語(yǔ)成績(jī)排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].sco.english>stu[max].sco.english) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } void sort_student4(student s[],int a)//按照計(jì)算機(jī)成績(jī)排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].sco.computer>stu[max].sco.computer) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } void sort_student5(student s[],int a)//按照平均成績(jī)排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].average>stu[max].average) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } int search_student2(int a)//按照學(xué)號(hào)查找學(xué)生并輸出 { int num; int c; printf("請(qǐng)輸入要查詢(xún)的學(xué)號(hào):"); scanf("%d",&num); for(int i=0;i<a;i++) { if(num==stu[i].number) { c=i; } } printf("此學(xué)生的信息是:\n"); print_student2(); print_student3(c); return c; } void choosemenu(void)//菜單選擇 { int i; scanf("%d",&i); switch(i) { case 1: { input_student2(); printf("按回車(chē)鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 2: { delete_student1(); printf("按回車(chē)鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 3: { search_student1(); printf("按回車(chē)鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 4: { change_student1(); printf("按回車(chē)鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 5: { print_student1(iNumOfStu); printf("按回車(chē)鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 6: { input_score1(); printf("按回車(chē)鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 7: { sort_student1(); printf("按回車(chē)鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 8: { save_student(stu,iNumOfStu); printf("按回車(chē)鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 9: { print_help(); printf("按回車(chē)鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 10: { exit_student(); } default: break; } } 運(yùn)行結(jié)果: 源文件下載地址: http://115.com/file/clnq138g#一個(gè)簡(jiǎn)單的學(xué)生成績(jī)管理系統(tǒng).rar (請(qǐng)將此地址復(fù)制到瀏覽器地址欄中訪問(wèn)下載頁(yè)面)
標(biāo)簽: 成績(jī)查詢(xún)系統(tǒng)
上傳時(shí)間: 2019-06-08
上傳用戶(hù):啊的撒旦
#include<stdio.h> #include<string.h> #include<stdlib.h> #define N 100 int iNumOfStu=0; struct score { float math; float english; float computer; }; struct student { int number; char name[20]; struct score sco; float average; }; struct student stu[N]; void print_menu(void);//輸出菜單 void choosemenu(void);//菜單選擇 void input_student1(int);//輸入學(xué)生信息 void input_student2(void);//輸入總函數(shù) void input_student3(int &,int);//判斷學(xué)號(hào)是否重復(fù) void input_student4(int,int);//覆蓋原信息 void sort_student3(student s[],int);//按照英語(yǔ)成績(jī)排序 void sort_student4(student s[],int);//按照計(jì)算機(jī)成績(jī)排序 void sort_student2(student s[],int);//按照數(shù)學(xué)成績(jī)排序 void sort_student5(student s[],int);//按照平均成績(jī)排序 float input_score2(int);//計(jì)算學(xué)生平均成績(jī) void print_student2(void);//顯示表頭 void print_student3(int);//顯示學(xué)生信息 void print_student1(int);//顯示全部學(xué)生資料 void sort_student1(void);//排序總函數(shù) void menu(void);//菜單調(diào)度總函數(shù) int search_student2(int);//按學(xué)號(hào)查詢(xún)學(xué)生信息并輸出 void search_student3(int);//按平均分最高查詢(xún)并輸出 void search_student1(void);//查詢(xún)總函數(shù) void delete_student2(int,int);//刪除學(xué)生信息 void delete_student1(void);//刪除總函數(shù) void change_student2(int);//修改學(xué)生資料 void change_student1(void);//修改總函數(shù) void input_score3(int);//統(tǒng)計(jì)成績(jī) void input_score1(void);//統(tǒng)計(jì)成績(jī)總函數(shù) void print_help(void);//輸出幫助信息 void exit_student(void);//退出系統(tǒng) void save_student(student *,int);//保存學(xué)生信息 void main() { menu(); } void save_student(student *s,int a)//保存學(xué)生信息 { FILE *fp; if((fp=fopen("d:\\學(xué)生信息.txt","wb"))==NULL) { printf("不能打開(kāi)文件!\n"); } else { printf("保存信息到D盤(pán)\n"); fprintf(fp,"本班所有學(xué)生具體信息如下:\r\n"); fprintf(fp," 學(xué)號(hào) 姓名 數(shù)學(xué)成績(jī) 英語(yǔ)成績(jī) 計(jì)算機(jī)成績(jī) 平均成績(jī)\r\n"); for(int i=0;i<a;i++) { fprintf(fp,"%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[i].number,stu[i].name,stu[i].sco.math,stu[i].sco.english,stu[i].sco.computer,stu[i].average); fprintf(fp,"\r\n"); } fclose(fp); printf("信息保存成功!\n"); } } void exit_student(void)//退出系統(tǒng) { exit(1); } void print_help(void)//輸出幫助信息 { printf("本系統(tǒng)所能容納的最大學(xué)生數(shù)為%d人\n學(xué)生信息保存在D盤(pán)根目錄下,保存文件為“學(xué)生信息.txt”。\n感謝使用!\n",N); } void input_score1(void)//統(tǒng)計(jì)成績(jī)總函數(shù) { int c; c=search_student2(iNumOfStu); printf("學(xué)號(hào):%d\n",stu[c].number); printf("姓名:%s\n",stu[c].name); input_score3(c); printf("新成績(jī)錄入成功!\n"); stu[c].average=input_score2(c); } void input_score3(int a)//統(tǒng)計(jì)成績(jī) { printf("數(shù)學(xué)新成績(jī):"); scanf("%f",&stu[a].sco.math); printf("英語(yǔ)新成績(jī):"); scanf("%f",&stu[a].sco.english); printf("計(jì)算機(jī)新成績(jī):"); scanf("%f",&stu[a].sco.computer); } void change_student2(int a)//修改學(xué)生資料 { printf("學(xué)號(hào):%d----修改為:",stu[a].number); scanf("%d",&stu[a].number); getchar(); printf("姓名:%s----修改為:",stu[a].name); gets(stu[a].name); printf("數(shù)學(xué)成績(jī):%.2f----修改為:",stu[a].sco.math); scanf("%f",&stu[a].sco.math); printf("英語(yǔ)成績(jī):%.2f----修改為:",stu[a].sco.english); scanf("%f",&stu[a].sco.english); printf("計(jì)算機(jī)成績(jī):%.2f----修改為:",stu[a].sco.computer); scanf("%f",&stu[a].sco.computer); } void change_student1(void)//修改總函數(shù) { int c; c=search_student2(iNumOfStu); getchar(); printf("是否要修改此學(xué)生信息?(“y”代表是)"); char d; scanf("%c",&d); if(d=='y'||d=='Y') { change_student2(c); stu[c].average=input_score2(c); printf("信息修改成功!\n"); } } void delete_student1(void)//刪除總函數(shù) { int c; c=search_student2(iNumOfStu); getchar(); printf("是否刪除此條記錄?(“y”代表是)"); char d; scanf("%c",&d); if(d=='y'||d=='Y') { delete_student2(c,iNumOfStu); printf("記錄已刪除!\n"); } } void delete_student2(int a,int b)//刪除學(xué)生信息 { for(int i=a;i<b-1;i++) { stu[i]=stu[i+1]; } --iNumOfStu; } void search_student1(void)//查詢(xún)總函數(shù) { printf("1、按學(xué)號(hào)查詢(xún)\n2、按平均分最高查詢(xún)\n請(qǐng)選擇:"); int c; scanf("%d",&c); switch(c) { case 1: { search_student2(iNumOfStu); break; } case 2: { search_student3(iNumOfStu); break; } default: break; } } void menu(void)//菜單調(diào)度總函數(shù) { print_menu(); choosemenu(); } void sort_student1(void)//排序總函數(shù) { printf("1、按數(shù)學(xué)成績(jī)排序\n2、按英語(yǔ)成績(jī)排序\n3、按計(jì)算機(jī)成績(jī)排序\n4、按平均成績(jī)排序\n請(qǐng)選擇:"); int c; scanf("%d",&c); switch(c) { case 1: { sort_student2(stu,iNumOfStu); break; } case 2: { sort_student3(stu,iNumOfStu); break; } case 3: { sort_student4(stu,iNumOfStu); break; } case 4: { sort_student5(stu,iNumOfStu); break; } default: break; } } void print_student1(int a)//顯示全部學(xué)生資料 { printf("本班所有學(xué)生具體信息如下\n"); print_student2(); for(int i=0;i<a;i++) { print_student3(i); } } void print_student3(int a)//顯示學(xué)生信息 { printf("%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[a].number,stu[a].name,stu[a].sco.math,stu[a].sco.english,stu[a].sco.computer,stu[a].average); } void print_student2(void)//顯示表頭 { printf(" 學(xué)號(hào) 姓名 數(shù)學(xué)成績(jī) 英語(yǔ)成績(jī) 計(jì)算機(jī)成績(jī) 平均成績(jī)\n"); } void input_student4(int a,int b)//覆蓋原信息 { stu[a]=stu[b-1]; --iNumOfStu; } void input_student3(int &a,int b)//判斷學(xué)號(hào)是否重復(fù) { if(a!=0) { int i=0; do { if(stu[a].number==stu[i].number) { printf("此學(xué)號(hào)代表的學(xué)生已錄入\n1、覆蓋原信息\n2、重新輸入\n請(qǐng)選擇:"); int c; scanf("%d",&c); switch(c) { case 1: { input_student4(i,iNumOfStu); a=iNumOfStu-1; printf("信息已替換!\n"); break; } case 2: { printf("請(qǐng)重新輸入學(xué)生信息:\n"); input_student1(iNumOfStu-1); break; } default: break; } break; } ++i; } while(i<b-1); } } void print_menu(void)//輸出菜單 { printf("======歡迎來(lái)到學(xué)生信息管理系統(tǒng)======\n"); printf(" 1、輸入學(xué)生資料\n"); printf(" 2、刪除學(xué)生資料\n"); printf(" 3、查詢(xún)學(xué)生資料\n"); printf(" 4、修改學(xué)生資料\n"); printf(" 5、顯示學(xué)生資料\n"); printf(" 6、統(tǒng)計(jì)學(xué)生成績(jī)\n"); printf(" 7、排序?qū)W生成績(jī)\n"); printf(" 8、保存學(xué)生資料\n"); printf(" 9、獲取幫助信息\n"); printf(" 10、退出系統(tǒng)\n"); printf("====================================\n"); printf("請(qǐng)選擇:"); } void input_student2(void)//輸入總函數(shù) { char end; printf("請(qǐng)輸入學(xué)生信息(在最后一個(gè)學(xué)生信息錄入完成后以“/”結(jié)束錄入):\n"); for(int i=0;(end=getchar())!='/';i++) { input_student1(i); ++iNumOfStu; input_student3(i,iNumOfStu); } for(int j=0;j<iNumOfStu;j++) { stu[j].average=input_score2(j); } } void input_student1(int a)//輸入學(xué)生信息 { printf("學(xué)號(hào):"); scanf("%d",&stu[a].number); getchar(); printf("姓名:"); gets(stu[a].name); printf("數(shù)學(xué)成績(jī):"); scanf("%f",&stu[a].sco.math); printf("英語(yǔ)成績(jī):"); scanf("%f",&stu[a].sco.english); printf("計(jì)算機(jī)成績(jī):"); scanf("%f",&stu[a].sco.computer); } float input_score2(int a)//計(jì)算學(xué)生平均成績(jī) { return (stu[a].sco.math+stu[a].sco.english+stu[a].sco.computer)/3; } void search_student3(int a)//按平均分最高查詢(xún)并輸出 { int max=0; for(int i=0;i<a;i++) { if(stu[max].average<stu[i].average) { max=i; } } print_student2(); print_student3(max); } void sort_student2(student s[],int a)//按照數(shù)學(xué)成績(jī)排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].sco.math>stu[max].sco.math) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } void sort_student3(student s[],int a)//按照英語(yǔ)成績(jī)排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].sco.english>stu[max].sco.english) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } void sort_student4(student s[],int a)//按照計(jì)算機(jī)成績(jī)排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].sco.computer>stu[max].sco.computer) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } void sort_student5(student s[],int a)//按照平均成績(jī)排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].average>stu[max].average) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } int search_student2(int a)//按照學(xué)號(hào)查找學(xué)生并輸出 { int num; int c; printf("請(qǐng)輸入要查詢(xún)的學(xué)號(hào):"); scanf("%d",&num); for(int i=0;i<a;i++) { if(num==stu[i].number) { c=i; } } printf("此學(xué)生的信息是:\n"); print_student2(); print_student3(c); return c; } void choosemenu(void)//菜單選擇 { int i; scanf("%d",&i); switch(i) { case 1: { input_student2(); printf("按回車(chē)鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 2: { delete_student1(); printf("按回車(chē)鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 3: { search_student1(); printf("按回車(chē)鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 4: { change_student1(); printf("按回車(chē)鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 5: { print_student1(iNumOfStu); printf("按回車(chē)鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 6: { input_score1(); printf("按回車(chē)鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 7: { sort_student1(); printf("按回車(chē)鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 8: { save_student(stu,iNumOfStu); printf("按回車(chē)鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 9: { print_help(); printf("按回車(chē)鍵返回主菜單"); getchar(); getchar(); menu(); break; } case 10: { exit_student(); } default: break; } } 運(yùn)行結(jié)果: 源文件下載地址: http://115.com/file/clnq138g#一個(gè)簡(jiǎn)單的學(xué)生成績(jī)管理系統(tǒng).rar (請(qǐng)將此地址復(fù)制到瀏覽器地址欄中訪問(wèn)下載頁(yè)面) #include<stdio.h> #include<string.h> #include<stdlib.h> #define N 100 int iNumOfStu=0; struct score { float math; float english; float computer; }; struct student { int number; char name[20]; struct score sco; float average; }; struct student stu[N]; void print_menu(void);//輸出菜單 void choosemenu(void);//菜單選擇 void input_student1(int);//輸入學(xué)生信息 void input_student2(void);//輸入總函數(shù) void input_student3(int &,int);//判斷學(xué)號(hào)是否重復(fù) void input_student4(int,int);//覆蓋原信息 void sort_student3(student s[],int);//按照英語(yǔ)成績(jī)排序 void sort_student4(student s[],int);//按照計(jì)算機(jī)成績(jī)排序 void sort_student2(student s[],int);//按照數(shù)學(xué)成績(jī)排序 void sort_student5(student s[],int);//按照平均成績(jī)排序 float input_score2(int);//計(jì)算學(xué)生平均成績(jī) void print_student2(void);//顯示表頭 void print_student3(int);//顯示學(xué)生信息 void print_student1(int);//顯示全部學(xué)生資料 void sort_student1(void);//排序總函數(shù) void menu(void);//菜單調(diào)度總函數(shù) int search_student2(int);//按學(xué)號(hào)查詢(xún)學(xué)生信息并輸出 void search_student3(int);//按平均分最高查詢(xún)并輸出 void search_student1(void);//查詢(xún)總函數(shù) void delete_student2(int,int);//刪除學(xué)生信息 void delete_student1(void);//刪除總函數(shù) void change_student2(int);//修改學(xué)生資料 void change_student1(void);//修改總函數(shù) void input_score3(int);//統(tǒng)計(jì)成績(jī) void input_score1(void);//統(tǒng)計(jì)成績(jī)總函數(shù) void print_help(void);//輸出幫助信息 void exit_student(void);//退出系統(tǒng) void save_student(student *,int);//保存學(xué)生信息 void main() { menu(); } void save_student(student *s,int a)//保存學(xué)生信息 { FILE *fp; if((fp=fopen("d:\\學(xué)生信息.txt","wb"))==NULL) { printf("不能打開(kāi)文件!\n"); } else { printf("保存信息到D盤(pán)\n"); fprintf(fp,"本班所有學(xué)生具體信息如下:\r\n"); fprintf(fp," 學(xué)號(hào) 姓名 數(shù)學(xué)成績(jī) 英語(yǔ)成績(jī) 計(jì)算機(jī)成績(jī) 平均成績(jī)\r\n"); for(int i=0;i<a;i++) { fprintf(fp,"%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[i].number,stu[i].name,stu[i].sco.math,stu[i].sco.english,stu[i].sco.computer,stu[i].average); fprintf(fp,"\r\n"); } fclose(fp); printf("信息保存成功!\n"); } } void exit_student(void)//退出系統(tǒng) { exit(1); } void print_help(void)//輸出幫助信息 { printf("本系統(tǒng)所能容納的最大學(xué)生數(shù)為%d人\n學(xué)生信息保存在D盤(pán)根目錄下,保存文件為“學(xué)生信息.txt”。\n感謝使用!\n",N); } void input_score1(void)//統(tǒng)計(jì)成績(jī)總函數(shù) { int c; c=search_student2(iNumOfStu); printf("學(xué)號(hào):%d\n",stu[c].number); printf("姓名:%s\n",stu[c].name); input_score3(c); printf("新成績(jī)錄入成功!
標(biāo)簽: c語(yǔ)言
上傳時(shí)間: 2019-06-09
上傳用戶(hù):啊的撒旦
eeworm.com VIP專(zhuān)區(qū) 單片機(jī)源碼系列 68資源包含以下內(nèi)容:1. AN010101基于LM3S2000系列CAN控制器的驅(qū)動(dòng)庫(kù).pdf2. 定壓輸入6000VDC隔離非穩(wěn)壓?jiǎn)温份敵?pdf3. LM3S系列單片機(jī)擴(kuò)展按鍵及數(shù)碼管及RTC應(yīng)用筆記.pdf4. Stellaris系列微控制器的ADC過(guò)采樣技術(shù).pdf5. 基于SPWM技術(shù)的逆變電源.pdf6. ADC Oversampling Techniques fo.pdf7. Adding 32 KB of Serial SRAM to.pdf8. Using the Stellaris Microcontr.pdf9. Stellaris系列微控制器的時(shí)鐘.pdf10. CAN通信實(shí)驗(yàn)報(bào)文對(duì)象的FIFO緩沖器應(yīng)用.pdf11. Clocking Options for Stellaris.pdf12. CAN節(jié)點(diǎn)設(shè)計(jì)基于32位Luminary ARM.pdf13. LM3S系列單片機(jī)休眠與深度休眠應(yīng)用筆記.pdf14. CAN總線現(xiàn)場(chǎng)總線應(yīng)用方案RS-485升級(jí)到CAN.pdf15. LM3S系列微控制器UART應(yīng)用筆記.pdf16. LM3S316逆變電源應(yīng)用方案.pdf17. Luminary軟硬件平臺(tái)快速搭建.pdf18. Luminary復(fù)位電路匯總.pdf19. 3-V TO 5.5-V MULTICHANNEL RS-2.pdf20. LPC3220與LPC3250在引腳上的區(qū)別.pdf21. DUAL DIGITAL ISOLATORS.pdf22. 基于Fusion的原理講解教程.zip23. AN070231 I O擴(kuò)展器選型指南.pdf24. EPCS-6100工控機(jī)主板.pdf25. 模擬開(kāi)小車(chē)的設(shè)計(jì)基于EasyFPGA030.pdf26. PCA954X家庭的I C SMBus多路復(fù)用器與開(kāi)關(guān).pdf27. EPCM-2643 EPCM2000系列數(shù)據(jù)采集工控主板.pdf28. Using the P82B715 I2C extender.pdf29. AN255-02 IC SMBus REPEATERS HU.pdf30. 51系列單片機(jī)設(shè)計(jì)實(shí)例下載.rar31. EPC-6000 PC/104工控機(jī)主板.pdf32. I2C總線.pdf33. 波形發(fā)生器設(shè)計(jì).pdf34. EPC266x兼容Anywhere軟件開(kāi)發(fā)平臺(tái)EPC2000.pdf35. Using the P82B96 for bus inter.pdf36. 簡(jiǎn)易頻率計(jì)設(shè)計(jì).pdf37. PROFIBUS嵌入式模塊.pdf38. 采用雙核處理器OMAP3530的嵌入式工控機(jī)主板.pdf39. 串口接收顯示設(shè)計(jì).pdf40. PROFIBUS-DP從站通訊模塊.pdf41. EPCS-6960工控機(jī)主板.pdf42. 模擬乒乓球比賽設(shè)計(jì).pdf43. 16-bit IC and SMBus I/O Port w.pdf44. EPCS-500工控機(jī)主板.pdf45. I2C總線接口模塊設(shè)計(jì).pdf46. CAT9554A IO 口擴(kuò)展芯片.pdf47. CAT9534 I2C IO 擴(kuò)展芯片.pdf48. 直流電機(jī)控制電路設(shè)計(jì).pdf49. I2C總線擴(kuò)展器.pdf50. CAT660簡(jiǎn)易負(fù)電壓方案.pdf51. 8-bit IC and SMBus IO Port wit.pdf52. 液晶驅(qū)動(dòng)安裝.pdf53. 5G14433和MCS 51單片機(jī)接口電路的調(diào)試過(guò)程.pdf54. 視頻字符疊加解決方案.pdf55. 單片機(jī)系統(tǒng)中的率表算法.pdf56. TFT控制器解決方案.pdf57. 單片機(jī)系統(tǒng)的低功耗設(shè)計(jì)策略.pdf58. PCI控制器解決方案.pdf59. 51單片機(jī)實(shí)訓(xùn)指南.doc60. 多串口擴(kuò)展解決方案.pdf61. 用單片機(jī)制作通用型電視遙控器.pdf62. IDE控制器解決方案.pdf63. 32位MCU開(kāi)發(fā)全攻略 (含上冊(cè)、下冊(cè)).rar64. 手持式設(shè)備解決方案.pdf65. 基于ADuC812單片機(jī)的暖表計(jì)量系統(tǒng).pdf66. 攝像頭數(shù)據(jù)采集解決方案.pdf67. 基于單片機(jī)的陶瓷窯多點(diǎn)溫度檢測(cè)系統(tǒng).pdf68. NXP半導(dǎo)體控制器.rar69. S51下載線的制作-單片機(jī)實(shí)用技術(shù)探討.pdf70. 自動(dòng)控制升降旗系統(tǒng)的設(shè)計(jì).pdf71. MDT單片機(jī)反匯編器(mdt writer)V2.43.rar72. MSP430系列單片機(jī)C語(yǔ)言程序設(shè)計(jì)與開(kāi)發(fā).rar73. mcs-51(c51)智能反編譯器.rar74. MSP430系列超低功耗16位單片機(jī)原理與應(yīng)用.rar75. MCU(單片機(jī))對(duì)可控硅的控制.pdf76. 51單片機(jī)反匯編軟件.rar77. 基于M CORE微控制器的嵌入式系統(tǒng).rar78. 智能直流高頻開(kāi)關(guān)電源系統(tǒng)微機(jī)監(jiān)控模塊的研制.pdf79. keil c51v805 完全漢化破解版.zip80. EZ-USB FX系列單片機(jī)USB外圍設(shè)備設(shè)計(jì)與應(yīng)用.rar81. 以PLD器件實(shí)現(xiàn)自動(dòng)掃描去抖的編碼鍵盤(pán)設(shè)計(jì).pdf82. 單片機(jī)原理及應(yīng)用實(shí)驗(yàn)報(bào)告.pdf83. 單片機(jī)c語(yǔ)言輕松入門(mén).pdf84. 單片機(jī)應(yīng)用編程技巧百問(wèn).pdf85. 8051單片機(jī)系統(tǒng)擴(kuò)展與接口技術(shù).rar86. 單片機(jī)語(yǔ)言C51應(yīng)用實(shí)戰(zhàn)集錦 (經(jīng)典推薦).rar87. MSP430F413實(shí)現(xiàn)的智能遙控器設(shè)計(jì).pdf88. 基于PIC單片機(jī)的脈沖電源.pdf89. 基于8086 CPU 的單芯片計(jì)算機(jī)系統(tǒng)的設(shè)計(jì).pdf90. Lattice下載電纜導(dǎo)致單板無(wú)法上電案例及解決方案.pdf91. 單片機(jī)C語(yǔ)言應(yīng)用程序設(shè)計(jì).rar92. 基于單DSP的VoIP模擬電話適配器研究與實(shí)現(xiàn).pdf93. SystemView仿真軟件的應(yīng)用.pdf94. MSP430系列flash型超低功耗16位單片機(jī).rar95. 看門(mén)狗定時(shí)器的工作原理.pdf96. 世界著名單片機(jī)廠家簡(jiǎn)介.pdf97. 單片機(jī)的數(shù)學(xué)基礎(chǔ).pdf98. 以單片微機(jī)87C196MC為核心的電梯門(mén)機(jī)變頻調(diào)速控制系統(tǒng).pdf99. 基于單片機(jī)PWM控制逆變電源的設(shè)計(jì).pdf100. 單片機(jī)鍵盤(pán)掃描之狀態(tài)機(jī)實(shí)現(xiàn).pdf
上傳時(shí)間: 2013-04-15
上傳用戶(hù):eeworm
產(chǎn)品型號(hào):VK1072B VK1072C 產(chǎn)品品牌:永嘉微電/VINKA 封裝形式:SOP28 SSOP28 產(chǎn)品年份:新年份 聯(lián) 系 人:陳先生 聯(lián) 系 QQ:3618885898 聯(lián)系手機(jī):18824662436 原廠直銷(xiāo),工程服務(wù),技術(shù)支持,價(jià)格最具優(yōu)勢(shì)! LCD/LED液晶控制器及驅(qū)動(dòng)器系列芯片簡(jiǎn)介如下: RAM映射LCD控制器和驅(qū)動(dòng)器系列: VK1024B 2.4V~5.2V 6seg*4com 6*3 6*2 偏置電壓1/2 1/3 S0P-16 VK1056B 2.4V~5.2V 14seg*4com 14*3 14*2 偏置電壓1/2 1/3 SOP-24/SSOP-24 VK1072B 2.4V~5.2V 18seg*4com 18*3 18*2 偏置電壓1/2 1/3 SOP-28 VK1072C 2.4V~5.2V 18seg*4com 18*3 18*2 偏置電壓1/2 1/3 SOP-28 VK1088B 2.4V~5.2V 22seg*4com 22*3 偏置電壓1/2 1/3 QFN-32L(4MM*4MM) VK0192 2.4V~5.2V 24seg*8com 偏置電壓1/4 LQFP-44 VK0256 2.4V~5.2V 32seg*8com 偏置電壓1/4 QFP-64 VK0256B 2.4V~5.2V 32seg*8com 偏置電壓1/4 LQFP-64 VK0256C 2.4V~5.2V 32seg*8com 偏置電壓1/4 LQFP-52 VK1621 2.4V~5.2V 32*4 32*3 32*2 偏置電壓1/2 1/3 LQFP44/48/SSOP48/SKY28/DICE裸片 VK1622 2.7V~5.5V 32seg*8com 偏置電壓1/4 LQFP44/48/52/64/QFP64/DICE裸片 VK1623 2.4V~5.2V 48seg*8com 偏置電壓1/4 LQFP-100/QFP-100/DICE裸片 VK1625 2.4V~5.2V 64seg*8com 偏置電壓1/4 LQFP-100/QFP-100/DICE VK1626 2.4V~5.2V 48seg*16com 偏置電壓1/5 LQFP-100/QFP-100/DICE (高品質(zhì) 高性?xún)r(jià)比:液晶顯示驅(qū)動(dòng)IC 原廠直銷(xiāo) 工程技術(shù)支持!) VK1072B/C/D概述: VK1072B/C /D是一個(gè)18*4的LCD驅(qū)動(dòng)器,可軟體程式控制使其適用於多樣化的LCD應(yīng)用線路,僅用到3條訊號(hào)線便可控制LCD驅(qū)動(dòng)器,除此之外也可介由指令使其進(jìn)入省電模式 特色: ★工作電壓:2.4-5.2V ★內(nèi)建256KHz RC oscillator ★可選擇1/2,1/3 偏壓,也可選擇1/2,1/3或1/4的COM周期 ★省電模式, 節(jié)電命令可用于減少功耗 ★內(nèi) 嵌 時(shí) 基 發(fā) 生 器 和 看 門(mén) 狗 定 時(shí) 器(WDT) ★內(nèi)建time base generator ★18X4 LCD 驅(qū)動(dòng)器VLCD 腳位可用來(lái)調(diào)整LCD輸 ★三種數(shù)據(jù)訪問(wèn)模式 ★內(nèi)建32X4 bit 顯示記憶體 ★三線串行接口 ★軟體程式控制 ★資料及指令模式 ★自動(dòng)增加讀寫(xiě)位址 ★提供VLCD 腳位可用來(lái)調(diào)整LCD輸出電壓 ★ 此篇產(chǎn)品敘述為功能簡(jiǎn)介,如需要完整產(chǎn)品PDF資料可以聯(lián)系陳先生索??!
標(biāo)簽: LCD 1072 VK IC 驅(qū)動(dòng) 液晶驅(qū)動(dòng)
上傳時(shí)間: 2021-12-09
上傳用戶(hù):15218646864
立琦電源IC。半橋驅(qū)動(dòng)。
標(biāo)簽: 9622 DS 02 半橋驅(qū)動(dòng)
上傳時(shí)間: 2013-10-24
上傳用戶(hù):685
蟲(chóng)蟲(chóng)下載站版權(quán)所有 京ICP備2021023401號(hào)-1