我經沉祝看有人發(fā)帖問關于項目點子的事,也看到了很多回帖蛉拙,我自己也回了一些常見的項目尸闸。不過我覺得只列出三兩個是遠遠不夠的,因此就收集并這個項目列表孕锄,大家要找簡單的編程項目學習練手的話吮廉,可以收藏并擴散本文。這些項目并不是論文級別的硫惕,只是想拋磚引玉讓大家能從中受些啟發(fā)茧痕。
下面你們會看到 120 多個個項目構思,都是我通過頭腦風暴得來的恼除。我將其根據主題分成了10 個分類踪旷,但有些項目其實涵蓋了不止一個主題。
fighting.jpg
文本操作
- 逆轉字符串——輸入一個字符串豁辉,將其逆轉并輸出令野。
- 拉丁豬文字游戲——這是一個英語語言游戲』占叮基本規(guī)則是將一個英語單詞的第一個輔音音素的字母移動到詞尾并且加上后綴-ay(譬如“banana”會變成“anana-bay”)气破。可以在維基百科上了解更多內容餐抢。
- 統(tǒng)計元音字母——輸入一個字符串现使,統(tǒng)計處其中元音字母的數量。更復雜點的話統(tǒng)計出每個元音字母的數量旷痕。
- 判斷是否為回文——判斷用戶輸入的字符串是否為回文碳锈。回文是指正反拼寫形式都是一樣的詞欺抗,譬如“racecar”售碳。
- 統(tǒng)計字符串中的單詞數目——統(tǒng)計字符串中單詞的數目,更復雜的話從一個文本中讀出字符串并生成單詞數目統(tǒng)計結果。
- 文本編輯器——記事本類型的應用贸人,可以打開间景、編輯肘迎、保存文本文檔晦譬。可以增加單詞高亮和其它的一些特性类少。
- RSS源創(chuàng)建器——可以從其它來源讀取文本并將其以RSS或者Atom的格式發(fā)布出去力惯。
- 實時股價——可以查詢股票當前價格碗誉。用戶可以設定數據刷新頻率,程序會用綠色和紅色的箭頭表示股價走勢父晶。
- 訪客留言簿/日志——允許人們添加評論或者日記,可以設置開啟/關閉評論弄跌,并且可以記錄下每一條目的時間甲喝。也可以做成喊話器。
- 新聞和比分播報器——一個桌面應用铛只,可以從網上收集新聞和比賽分數埠胖,將結果在屏幕上滾動播出。
- 占星羅盤——用占星術來預測每天的運程淳玩。
- 密碼短信——可以將數據加密解密直撤,并能將其發(fā)送給朋友。
- 幫你挑禮物——輸入一堆你可能會送的禮物蜕着,當有人過生日時谋竖,該程序 會隨機選擇一樣禮物。也可以加上一個額外功能承匣,可以告知哪里可以弄到這個禮物蓖乘。
- HTML生成器——將 TEXT 文檔轉換成HTML文件,對制作網頁HTML文檔很有用韧骗。
- CD-Key生成器——利用某種算法生成一個唯一的key嘉抒。軟件開發(fā)者可以用它來作為軟件的激活器。
- 正則表達式查詢工具——用戶可以輸入一段文本袍暴,在另外的控件里輸入一個正則表達式些侍。運行以后會返回匹配的內容或者正則表達式中的錯誤。
網絡
- FTP工具——與遠程網絡服務器交互文件政模。
- 原子鐘校時——從網上同步原子鐘時間岗宣。全世界有很多原子鐘,可以把它們都列出來览徒。
- 聊天應用(IRC或者MSN風格的)——像IRC那樣的聊天室軟件或者MSN那樣的實時聊天軟件狈定。更復雜一點的話,可以為聊天制定一套你自己的傳輸協議。
- 獲取當前天氣——獲取某個地區(qū)當前的天氣情況纽什。
- P2P文件共享應用——像LimeWire措嵌、FrostWire、Bearshare或者torrent風格的應用芦缰。
- 端口掃描器——輸入某個ip地址和端口區(qū)間企巢,程序會逐個嘗試區(qū)間內的端口,如果能成功連接的話就將該端口標記為open让蕾。
- 郵件檢查工具(POP3/IMAP)——用戶輸入一些賬號信息浪规,包括服務器、ip探孝、協議類型(POP3或者IMAP)笋婿,應用每隔一段時間就會檢查下該賬號下的郵箱。
- 數據包嗅探器——偵測電腦上進出的數據包顿颅,獲取諸如目的地和大小之類的信息缸濒。
- IP注冊地查詢——輸入ip地址,查詢該ip是在哪注冊的粱腻。
- Whois查詢工具——輸入一個ip或者主機地址庇配,通過whois查詢并將結果返回。
- 郵編查詢——輸入郵編绍些,返回使用該郵編的地區(qū)名稱捞慌。
- 遠程登入——遠程登入桌面類型的應用,可以查看和控制遠程電腦(假如你已經獲得權限)柬批⌒ピ瑁可能需要你自己的網絡和兩臺電腦來進行測試。
- 網站定時檢查器——每隔一段時間或者在預定的時間嘗試連接某個網站或者服務器萝快,來檢查它是否可以連上锻霎,如果連不上了會通過郵件或者桌面通知來告知你。
- 小型網頁服務器——簡易版的網頁服務器揪漩,可以存放包含Javascript和其它形式代碼的HTML文件旋恼。復雜一點的話可以嘗試流媒體視頻、創(chuàng)建一種服務器端語言或者其它類型的流媒體奄容。
- 網絡蜘蛛——一個可以自動執(zhí)行網頁上各種任務的程序冰更,任務包括網站檢查、頁面抓取昂勒、數據摘要以及網絡郵務蜀细。
類
- 產品庫存管理——創(chuàng)建一個管理產品庫存的應用。建立一個產品類戈盈,包含價格奠衔、id谆刨、庫存數量。然后建立一個庫存類归斤,記錄各種產品并能計算庫存的總價值痊夭。
- 電影商店——管理錄像帶租借,記錄借出時間脏里、到期時間她我、逾期費用。復雜一點可以生成逾期用戶的賬號報告迫横。
- 航空/酒店預訂系統(tǒng)——創(chuàng)建一套預訂航班或酒店的預訂系統(tǒng)番舆。不同的航班座位和酒店房間收費不一樣。譬如頭等艙要比經濟艙貴矾踱。帶閣樓的套間要更貴些恨狈。記錄下何時有空房可供預訂。
- 學生成績管理器——記錄一個班級的學生(創(chuàng)建一個Student類呛讲,記錄他們的名字拴事、平均分和考試分數)和他們的成績等級。根據學生的測驗和作業(yè)的分數計算出平均分和成績等級圣蝎。復雜一點可以將數據畫在貝爾曲線上。
- 銀行賬戶管家——創(chuàng)建一個名為“Account”的抽象類衡瓶,有三個為“CheckingAccount”徘公、“SavingsAccount”和“BusinessAccount”的子類。通過類似ATM的程序來管理這些賬戶的借貸哮针。
- 館藏目錄——創(chuàng)建一個圖書類关面,記錄書名、頁數十厢、國際標準書號等太、是否借出。用它來管理各種書籍蛮放,允許用戶進行借出和歸還操作缩抡。復雜一點的話,可以生成逾期圖書和逾期費用的報告包颁。也可以讓用戶進行預約操作瞻想。
線程處理
- 下載進度條——創(chuàng)建一個表示下載進度的進度條。進度條由獨立的線程操作娩嚼,通過委托來和主線程進行通訊蘑险。
- 下載管理器——允許程序同時下載數個文件,每個都用單獨的線程進行背景下載岳悟。主線程會關注下載進度并且在下載完成時通知用戶佃迄。
- 聊天軟件(遠程聊天)——做一個聊天軟件泼差,允許你通過ip直接連接到另一臺電腦,也允許你的“服務器”程序處理多個請求連接呵俏。
- 批量縮略圖生成器——在進行圖片轉換的處理時會需要很多時間堆缘,尤其是圖片很大時。做一個圖片處理程序柴信,能讓你在做其它事的時候在后臺線程里將數百張圖片轉換成某個大小的圖片套啤。復雜一點的話可以用一個線程來縮放,用另一個線程來為縮略圖重命名随常。
Web應用
- 所見即所得編輯器——創(chuàng)建一個在線編輯器潜沦,允許用戶移動元素、創(chuàng)建表格绪氛、書寫文本唆鸡、設置顏色,而用戶不必懂HTML枣察。就像Dreamweaver或者FrontPage争占。如果需要例子的話,可以參看DIC序目。
- 分頁瀏覽器——創(chuàng)建一個可以分頁的小型網頁瀏覽器臂痕,可以同時瀏覽幾個網頁。簡化一點的話不要考慮Javascript或者其它客戶端代碼猿涨。
- 文件下載器——該程序可以從網頁上下載各種資源握童,包括視頻和其它文件。用于有很多下載鏈接的網頁叛赚。
- 遠程登錄——創(chuàng)建一個遠程登錄的應用澡绩,可以通過網絡登錄服務器并能執(zhí)行一些基本命令。
- 在線白板——做一個在線白板程序俺附,你和朋友們可以一起在白板上進行一些操作肥卡,畫圖、寫字等等事镣。
- 帶寬監(jiān)視器——這個小工具可以記錄你已經在網上上傳和下載多少數據流量了步鉴。可以試著做份報告或者圖表來展示各時段的使用情況蛮浑。
- 書簽搜集管理器——該程序可以讓用戶上傳書簽并將它們排序唠叛,去掉重復的,并能生成書簽文件以供Firefox/IE/Safari等使用沮稚。復雜一點的話可以試著將書簽整理進不同的文件夾艺沼。
- 密碼保險箱——用來記錄各種密碼,并且將它們加密蕴掏,這樣別人就看不到了障般。
- iGoogle媒體播放器小部件——做一個iGoogle小部件,可以用來播放本地音樂列表挽荡,也可以每天分享一首歌。也許還可以讓別人看到你最近聽了些什么歌。
- 基于文本的游戲——做一個像Utopia那樣的文本RPG恋腕,游戲中获高,你可以創(chuàng)建一個文明牡彻、收集資源缎除、共鑄聯盟梢为、施放法術肴沫、回合制系統(tǒng)悲幅。看看是否能夠統(tǒng)一王國。
- 定時自動登錄——做一個程序可以在預定的時間登錄進某個指定的網頁并且執(zhí)行特定的動作,然后在登出。可以用來檢查郵箱、發(fā)布常規(guī)內容、為其它程序獲取信息。
- 電子卡片生成器——可以讓用戶制作自己的電子卡片并發(fā)送給其他人∩驯瘢可以使用flash也可以不用∥髀ǎ可以使用圖片庫吮成,也可以加上深刻的格言警句作瞄。
- 內容管理系統(tǒng)——像Joomala、Drupal宗挥、PHP Nuke這樣的內容管理系統(tǒng)乌庶。從簡單的做起,慢慢增加其它功能契耿。
- 模板制作器——該網站應用允許用戶輸入各種顏色代碼瞒大、元素、尺寸搪桂,來為PHPBB透敌、Invision Board、MySpace之類的應用創(chuàng)建模板文件踢械。
- 驗證碼生成器——應該在登錄時見過有數字有字母的驗證碼圖片吧酗电?這可以防止自動登錄和垃圾廣告。試著自己做一個内列,如果使用PHP的話顾瞻,看下GD的圖片函數。
文件
- 試卷生成器——該程序可以從文件中隨機挑選出不同的題目生成一份試卷德绿。每份試卷可以不一樣,通過讀取答案來給打分退渗。
- 快速啟動——該工具可以添加各個程序的小圖標移稳,點擊小圖標就可以運行程序。和Windows的快速啟動類似会油。
- 文件管理器——做一個文件管理器个粱,要加些新特性,更佳的搜索功能翻翩、新圖標都许、新外觀稻薇。
- 文件記錄排序工具——從文件中讀取記錄,將其排序并寫回文件中胶征。允許用戶選擇排序風格以及排序關鍵字塞椎。
生成財務交易文件并且算出平均值——將財務交易讀進文件,按照賬戶分類睛低、算出各項目的總量或平均值案狠、理清各賬戶的借貸數據。 - Zip文件生成器——用戶輸入不同文件夾的文件钱雷,也許還包括其他電腦中的文件骂铁,然后程序將這些文件打包成zip文件。復雜一點的話罩抗,打包時對這些文件進行壓縮拉庵。
- PDF生成器——從txt、html或其它文件中讀取數據生成PDF文件套蒂〕В可以做成一個網頁服務,用戶上傳文件泣懊,返回一個pdf版本伸辟。
- 批量文件命名器——程序批量處理一些文件,將根據用戶提供的過濾器為它們重命名馍刮。譬如用戶輸入的過濾器為myimage###.jpg信夫,那么會生成至少包含3位數的文件名,譬如myimage001.jpg卡啰、myimage145.jpg静稻,甚至是myimage1987.jpg,因為1987也滿足了至少包含3位數的條件匈辱。
- MP3標簽生成器——修改MP3文件的id3v1標簽振湾。還可以試著在MP3文件的頭部加入id3v2的標簽,譬如album art標簽亡脸。
- 日志文件生成器——該程序可以記錄指定事件的日志押搪。譬如程序做了什么、系統(tǒng)在干什么浅碾、文件什么時候被修改了大州。
- Excel分頁輸出器——做一個在線程序,可以讀取文件內容生成一個excel分頁垂谢∠没可以通過CVS或者其它文件格式來做。復雜一點的話看看是否能創(chuàng)建公式字段。
- RPG角色屬性生成器——做一個程序來給RPG角色隨機分配屬性點數根暑,可以由用戶制定一些分配規(guī)則力试。可以生成職業(yè)排嫌、性別畸裳、力量/魔法/敏捷點數、額外能力或者貿易技能躏率。把結果保存成文件躯畴,這樣跑團的時候地下城主可以把它打印出來。
- 文件復制工具——該工具可以批量處理文件復制和備份操作薇芝。
數據庫
- SQL查詢分析器——該工具可以讓用戶輸入一條查詢命令蓬抄,讓其運行于本地數據庫中。盡量讓它運行得更高效夯到。
- 遠程SQL工具——該工具能讓你通過網絡在遠程服務器上執(zhí)行查詢操作嚷缭。它能接收遠程主機地址、驗證用戶名和密碼耍贾、執(zhí)行查詢并返回結果阅爽。
- 卡片整理器——創(chuàng)建一個在線應用,用來記錄搜集到的卡片荐开「段蹋可以讓用戶輸入整套卡片,查看哪些已經有了晃听,哪些還需要搜集百侧。要增加復雜度的話,還可以讓用戶知道還差多少可以完成能扒,或者已經收集卡片的價值佣渴。
- 報告生成器——該工具可以根據數據庫中的表格生成一份報告。譬如根據訂單表格生成銷售報告初斑。
- 數據庫備份腳本制作器——該程序可以讀取數據庫的對象辛润、關系、記錄和步驟见秤,生成一個sql文件砂竖,該文件可以導入另一個數據庫或者作為備份文件。
- 備忘錄——該程序可以讓用戶設置一個日期和某個事件的時間鹃答、事件備注并將它們放到日歷上乎澄。用戶可以查看日歷、搜索特定的事件挣跋。復雜一點的話,可以讓用戶設置重復發(fā)生的事件狞换,譬如每天避咆、每周舟肉、每月、每年等等查库。
- 預算記錄器——該程序可以記錄家庭預算路媚。用戶可以添加支出、收入樊销,計算一段時間內的收入和支出整慎。復雜一點的話,讓用戶指定一個時間段围苫,顯示該時間段內的家庭收支情況裤园。
- 電話簿——記錄各種聯系人和他們的號碼、郵箱剂府、備注拧揽。復雜一點的話可以讓用戶連上網將電話簿發(fā)布到設置好的網站上。
- 電視節(jié)目記錄器——你是否有不想錯過的電視節(jié)目腺占?但沒有錄像機或者想之后能找到該電視節(jié)目然后錄下來淤袜,那么可以做個程序尋找各種在線電視導航網站,記錄下電視節(jié)目名稱衰伯、播放時間铡羡、播放頻道,存在數據庫中意鲸。數據庫或者網站到時就會發(fā)郵件提醒你烦周,節(jié)目就快在某個頻道開始了。
- 旅行計劃系統(tǒng)——該系統(tǒng)可以讓用戶管理旅行路線临扮,記錄下航班和酒店安排论矾、感興趣的地方、預算和時間表杆勇。
- 實體關系圖生成器——該程序可以讓用戶整合實體關系圖贪壳,并將其保存起來,也可以用它來生成一些基礎SQL語句蚜退。
數據庫翻譯器(MySQL<->SQL Server)——該工具可以從數據庫A讀取數據闰靴,生成數據庫B使用的SQL語句,將數據存入數據庫B钻注。比較常用的是SQL Server和Oracle使用的MySQL服務器蚂且。 - BBS論壇——為你和小伙伴們做一個論壇,可以發(fā)帖幅恋、管理杏死、分享想法和構思。
圖像和多媒體
- 幻燈片——做一個以幻燈片形式顯示各種圖片的程序。為了增加難度可以做些額外的效果淑翼,譬如漸進檢出腐巢、星型擦除、窗口漸隱玄括。
思維導圖——允許用戶記錄下各種構思并且快速地進行頭腦風暴將這些構思整合到一張思維導圖中冯丙。越快越好,因此要讓用戶能迅速地寫下構思遭京,然后將其拖到可視的導圖中去胃惜,將構思之間的關系展現出來。 - 導入圖片并存成灰度圖——該工具將圖片上的彩色除盡并保存哪雕〈常可以增加對比度調整、色化等額外功能以增加復雜度热监。
- 在線流媒體視頻——試著自己做一個在線流媒體視頻播放器捺弦。
MP3播放器(以及其他格式的音樂播放器)——該小程序用來播放你最愛的音樂文件。復雜一點的話看看能否加個播放列表功能和均衡器孝扛。 - 批量圖片處理——該程序可以將一個文件夾內的圖片進行統(tǒng)一的處理列吼,譬如降低圖片色調、轉換格式或者修改文件屬性苦始。還可以嘗試給圖片增加標簽寞钥。
- CD燒錄器——可以輕松燒錄CD的工具。
- YouTube下載器——可以從Youtube.com上下載視頻到硬盤中陌选,要支持包括FLV和AVI在內的文件格式理郑。
- 墻紙管理工具——做一個管理墻紙的程序,可以定時更換刷新墻紙咨油,也可以針對分辨率進行縮放您炉。
- 截屏程序——做一個可以截屏的工具,復雜一點可以增加一個轉發(fā)郵件的功能役电。
- 圖片瀏覽器——該程序可以查看電腦上各種格式的圖片赚爵,譬如PNG、GIF法瑟、JPG冀膝、BMP、TIFF等等霎挟。
交通信號燈——試著做一個交通信號燈并且把它放到可以互動的場景中窝剖。不要讓汽車闖紅燈或者撞到其它車。 - MP3-WAV轉換器——MP3格式本質上就是壓縮版的WAV酥夭。試著將MP3轉換成WAV格式以供可以處理WAV格式的程序使用赐纱。請記住1MB的MP3大約等于10MB的WAV脊奋。
- 簽名生成器——是否在網上見過有人的留言后面有條生成的簽名?試著做個程序讓用戶可以指定背景疙描、文字狂魔、顏色和對齊方式來定制一個簽名檔。
屏币担——電腦空閑時會運行的屏保程序。簡單版的可以使用一些標準圖片整份,復雜版的可以做出能在屏幕上轉來轉去的3D物體待错。 - 水印——你是否想保護你圖片的版權?在圖片上加上標志或者文字烈评,這樣別人就不能輕易地從你網站上盜圖了火俄。做一個程序來給你的圖片加上水印吧。
- 海龜圖——創(chuàng)建一個20*20的格子讲冠,用命令讓一只海龜在格子上畫線瓜客。可以前進竿开、左轉谱仪、右轉,拿起或放下筆等等否彩。復雜一點的話疯攒,允許程序從文件中讀取命令列表×欣螅可以在網上了解到更多關于“海龜圖”的信息敬尺。
游戲
- 戰(zhàn)船——創(chuàng)建兩塊游戲面板,玩家各占一邊贴浙,在上面放置一些戰(zhàn)船砂吞,玩家看不到對方的面板。每艘船都占幾個格子崎溃,玩家輪流攻擊某個格子蜻直,如果格子上有船,那就命中目標笨奠,否則就是未命中袭蝗。當一艘船所占的所有格子都被攻擊命中了,那么船就被擊沉般婆。誰先將對方戰(zhàn)船全部擊沉就獲勝到腥。
- 象棋跳棋——象棋或者跳棋游戲∥蹬郏可以試著做成可以聯網玩乡范,用圖形用戶界面來實現悔棋配名、保存走棋過程并且可以回放。
- 劊子手——從文件中隨機選擇一個單詞晋辆,讓玩家猜單詞中的字母渠脉。旁邊是一幅隱藏的行絞刑的畫,猜錯一個單詞瓶佳,畫就顯示出一部分芋膘。畫全部顯示出來時還沒能猜全的話玩家就輸了。
- 填字游戲——創(chuàng)建一個填字游戲霸饲,并為每個詞提供一個提示信息为朋,讓玩家填上所有正確的單詞。
- 青蛙跳——讓青蛙跳過河或者馬路厚脉,過河的話要跳在順流而下速度各異的木頭或者睡蓮葉子上习寸,過馬路的話要避開速度各異的車子。