A. 在沒考研的情況下程序員每個月基本上工資多少
在5000-6000元左右。
尤其是程序員,很多人都比較恐懼。在他們眼中程序員就是一直加班、一直寫代碼,雖然說是高薪行業,但也是伴隨著高風險的。
所以很多人寧願選擇一份收入相對比較穩定的工作,而不是選擇做程序員。當然了,每個人都有自己的想法,怎麼做還要看你自己了,找一份自己喜歡的工作才是最重要的事情。
起步階段,程序員的工資高於大學老師。之後正常發展的情況下,程序員和大學老師的差距也會進一步增大。
程序員是按照等級來確定工資的,到了比較高的級別,月薪30萬以上非常正常。而在二本院校當老師,本來拿課題就很難,所以一般來說,即便是教授級別的,月薪也就在10K左右,所以單純拿收入比較,二者沒有什麼可比性。
職場上有哪些注意事項:
不要太過自我
不要太過自我,或者不要表現出太過自我。你當然是以你為中心,你自己在你心裡是最重要的。但是你不能讓別人看出來。比如說跟領導匯報時不要你覺得怎麼樣怎麼樣,讓領導覺得你不把公司當回事,而要站在公司的角度,讓領導覺得你很不錯,把公司放在第一位了,值得好好培養。
要學會主動解決問題
在和別人合作的過程中,新入職人員要主動查找問題,並針對相應的問題尋找解決方式,不要指望前輩幫你解決。你和別人的合作,其實也是對你工作能力的考察,遇到問題不解決,等待別人解決,是無能的表現。
B. c++程序員工資一般多少 累嗎
做程序員純粹的腦力活兒,
而且你只會C++這個語言,並不一定能代表你的能力。
想做程序員,要學的東西很多,從底層的硬體要了解一些,到上層的抽象
還有通信,網路,所以思想是很重要的,而且要一直學習新的東西。
語言只是工具,重要的是編程思想。你的編程思想好,哪個語言其實都很行。
干程序員這行,如果你是偏向軟體開發的,經常加班是肯定的啦。
重要的是你喜不喜歡編程,你喜歡這行,就算累點,也是開心的。
工資什麼的,程序員很在意的就是經驗,你寫的代碼多了,
開發的經驗有了,時間長了,工資是一個質的飛躍。
一般干入行都不高,3000左右吧,3年左右大概會上在萬元左右,再長些,年薪按幾十萬算了。
PS:慎重選擇,興趣很重要,否則你會後悔,工資什麼的,現在你就考慮,你的動力也不會很大
C. java程序員工資如何
java程序員待遇挺高的,根據IDC的統計數字,在所有軟體開發類人才的需求中,對Java程序員的需求達到全部需求量的60%~70%。同時,Java程序員薪水相對較高。Java程序員一般月薪范圍在4000-10000元,遠遠超過了應屆畢業生月薪2500元的平均水平。通常來說,有一年工作經驗的Java高級程序員的薪酬大致在年薪10—13萬左右。
……………………………………………………………………
看你問的問題,應該是對java很感興趣,其實你可以自學java。關於如何學習java,我剛才看到一篇很不錯的文章,是一個農民工介紹自己如何自學java,並找到Java的工作,裡面介紹了他的學習方法和學習過程,希望對你有幫助。
我是一名地地道道的農民工,生活在經濟落後的農村,有一個哥哥和一個弟弟,父母都是地道的農民,日出而作,日落而息,我從小到大學習一直很好,從小學到高一都,成績在全級一直名列前茅,這樣我也順利了考上省的重點高中,然而,每個學期開學是家裡最為難的時候,每次交學費都讓父母發愁許久,家裡為了給我籌錢讀書,都借了不少錢,才讓我讀上高中。我知道我讀到高中家裡已經欠了好多債,為了減輕家裡的負擔,我選擇了退學。
2009年我高一退學,為了給家裡還債,干過建築工地的小工,搞過塑料製品加工,送水工等等。很工資都很低,一個月也就1000多,加上加班費一個月能拿2000多一點,我每個月都向家裡寄回800-1000元,到了2011年末,一次偶然的機會我接觸了Java,聽說Java的前景挺不錯,工資相對於我一個農民工來說簡直是天文數字,於是我在新華書店買了幾本Java的書,盡管白天辛苦工作,晚上回來還是堅持看書,但有於基礎太差很多都很不明白,但還是堅持看,一有看1-2個小時Java的書,看著看著許多基礎都慢慢的學會了,但那些比較難的還是看不懂,後來還買高笑了有些關於框架的書,還是看不懂,這樣斷斷續續的持續了半年多,覺得自己Java的基礎都差不多懂了,但框架還是看不懂,還有最缺的項目經驗,看了很多招聘Java程序員的簡介都要項目經驗,相對我一個農民工來連框架都弄不明白,想找一份Java工作對我來說簡直是奢侈。我只想學Java,並不敢想以後能從事Java的工作。
有一次,在網路上看到一篇讓我很鼓舞的文章,是一個Java高手介紹在沒有基礎的朋友怎麼自學入門Java,文章寫的很好,包含了如何學習,該怎麼學習,他提到一個方法就是看視頻,因為看書實在太枯燥和費解的,不少是我們也看不懂,這點我真的很認同,我自己看書都看了很久才學會基礎。曾經有想過參加培訓,但是上萬元的培訓費讓我望而卻步,我工資這么低,每個月還有向家裡匯錢,加上城市消費比較高,雖然每個月只有幾百剩下,戚帆含但是相對於上萬萬學費和四個月的吃住費用逼我連想不敢想。 於是我決定看視頻,我就去搜索Java的視頻,雖然我零星的找到一些Java的視頻,但是都不系統。最重要連項目都沒有。後來我找到一份很好的視頻,是IT學習聯盟這個網站一套視頻叫<<零基礎Java就業班>>(喜歡《零基礎Java就業班》的可以復制 t.cn/8sx5z6L 粘貼瀏覽器地址欄按回車鍵即打開)的教程還不錯,很完轎畢整。還贈送11個頂級企業項目。價格很合理,於是我買下來。
於是開始了我的自學Java的路,收到光碟後,我就開始學習,剛開始學習還不錯,是從零基礎教起,老師幽默風趣而又輕松的課堂教課,使我發現原來學習JAVA並不是一件很難的事情。因為我本來基礎還不錯,前面的基礎看一篇我就過去了,到了框架,我覺不又不是很難,可能老師太牛了,他能把復雜的問題講的比較通俗易懂,有些難點的地方我還是連續看了五六次,把他弄懂。每天下午6點下班後,吃了飯,馬上跑回家。看視頻,買了幾本筆記本。當時,為了編程還花幾百元了台二手的台式電腦,配置一般,但編程是足夠的。一邊看視頻,一邊記筆記,把重點都記下來,還一邊跟著老師敲代碼,為了能盡早學會Java。每天都堅持學5-6個小時。經常學到晚上一點多才睡覺。星期六,日不用上班,每天7點多起床,學到晚上11,12點。那段時間特別辛苦,特別累。在學習Java的三個多月里,除了吃飯睡覺工作,剩餘的時間都在學習,因為我知道自己的計算機基礎不是很好,也沒有學過什麼計算機,只是學了些Java基礎,相對於那些科班的人來說我要比他們付出更多的努力。我只能咬緊牙關,堅持下去,我不能放棄,我要完成我的夢想,我要讓我的家人過上好日子。終於三個多月後我把Java教程里的內容和項目都學完了,在學項目的過程中我發現項目特別重要,他能把你學過的知識全部聯系起來,能更好的理解你所學的知識。還有學習過程中,動手很重要,要經常跟著老師動手敲,動手吧,跟著做,一行一行的跟著敲,再試著加一些自己的功能,按照自己的思路敲一些代碼,收獲遠比干聽大的多。 如果遇到暫時對於一些思路不能理解的,動手寫,先寫代碼,慢慢你就會懂了。這套視頻還贈送了11個頂級企業項目,對於我沒有任何經驗的人來說,這個太重要了,還有在學習項目是提升能力最快的方法。項目能把所有的知識點全都連到一起了,不再是分散的,而是形成一個整體了。那種感覺是僅僅深入鑽研知識點而不寫真實項目的人所不能體會的。一個項目就是一根繩子可以把大片的知識串到一起。 就這樣,我用了兩個月也把項目給學完了。其實學完教程差不錯就達到就業水平,但是我可能覺得自己學歷低還是把那11個頂級企業項目才去找工作。
接著我就到51job瘋狂的投簡歷,因為我的學歷問題,初中畢業,說真的,大公司沒有人會要我。所以我頭的都是民營的小公司,我希望自己的努力有所回報。沒有想過幾天後,就有面試了,但是第一次面試我失敗了,雖然我自認為筆試很好,因為我之前做了准備,但是他們的要求比價嚴格,需要有一年的項目經驗,所以我沒有被選中。 後來陸續面試了幾加公司,終於功夫不負有心人,我終於面試上了一家民營的企業。公司規模比較小,我的職務是Java程序員。我想我比較幸運,經理看中我的努力,就決定呂勇我,開的工資是3500一個月,雖然我知道在北京3500隻能過溫飽的生化,但是我想我足夠了,比起以前的工資好了些,以後可以多寄些錢回家。我想只要我繼續努力。我工資一定會翻倍的。 把本文寫出來,希望能讓和我一樣的沒有基礎的朋友有信心,其實我們沒有自卑,我們不比別人笨,只有我們肯努力,我們一樣會成功。
…………………………………………………………
想成為出色的java程序員就努力學習java吧。
D. c++程序員工資
據調查,初中級C/C++軟體開發工程師的年薪為5萬-15萬元,高級軟體工程師則高達15萬-30萬元。市場最緊缺的C/C++技術總監或項目總監年薪更高。C/C++軟體工程師的年薪與JAVA軟體工程師和.NET軟體工程師的年薪相比一般平均要高於2-3萬。 據專家預測,C/C++軟體工程師是未來幾年最熱門和最受歡迎的職業之一。
………………………………
看你問的問題,應該是對c++很感興趣,其實你可以自學c++。關於如何學習c++,我剛才看到一篇很不錯的文章,是一個專科生介紹自己如何自學c++,並找到c++的工作,裡面介紹了他的學習方法和學習過程,希望對你有幫助。
先做個自我介紹,我07年考上一所很爛專科民辦的學校,學的是生物專業,具體的學校名稱我就不說出來獻丑了。09年我就輟學了,我在那樣的學校,一年學費要1萬多,但是根本沒有人學習,我實在看不到希望,我就退學了。
退學後我也迷茫,大專都沒有畢業,我真的不知道我能幹什麼,我在糾結著我能做什麼。所以輟學後我一段時間,我想去找工作,因為我比較沉默寡言,不是很會說話,我不適合去應聘做業務。我想應聘做技術的,可是處處碰壁。
一次偶然的機會,我才聽到c++這個行業。那天我去新華書店,在計算機鉛大山分類那邊想找本書學習。後來有個女孩子走過來,問我是不是讀計算機的,有沒有興趣學習c++,然後給我介紹了一下c++現在的火熱情況,告訴我學c++多麼的有前景,給我了一份傳單,c++培訓的廣告。聽了她的介紹,我心裡癢癢的,確實我很想去學會一門自己的技術,靠自己的雙手吃飯。
回家後,我就上網查了下c++,確實是當今比較熱門的行業,也是比較好找工作的,工資也是相對比較高。我就下決心想學c++了。於是我去找c++培訓的相關信息,說真的,我也很迷茫,我不知道培訓是否真的能像他們宣傳的那樣好,所以我就想了解一段時間再做打算。
後來,我在網路知道看到一篇讓我很鼓舞的文章是一個c++高手介紹沒有基礎的朋友怎麼自學入門學c++,文章寫的很好,包含了如何學習,該怎麼學習。他提到一個方法就是看視頻,因為看書實在太枯燥和費解的,很多我們也看不懂。這點我真的很認同,我自己看書往往看不了幾頁。
我在想,為什麼別人都能自學成才,我也可以的!我要相信自己,所以我就想自學,如果實在學不會我再去培訓。
主意一定,我就去搜索c++的槐中視頻,雖然零星找到一些c++的視頻,但是都不系統,我是想找一個能夠告訴我該怎麼學的視頻,一套從入門到精通的視頻,一個比較完整的資料,最好能有老師教,不懂可以請教的。
後來我又找到一份很好的視頻,是在IT學習聯盟推出的一份視頻《零基礎c++就業班》(喜歡《零基礎c++就業班》的可以復制 sina.lt/ceFM 粘貼瀏覽器地址欄按回車鍵即打開)。裡面的教程還不錯,很完整。
下面介紹下我的學習流程,希仿伍望對和我一樣完全沒有基礎的朋友有所幫助。
收到他們寄過來的光碟後,我就開始學習了,由於我沒有什麼基礎,我就從最簡單的C語言視頻教程學起,話說簡單,其實我還是很多不懂的,只要重復多看幾遍,就能看懂。C語言我差不多學了一個禮拜,接下來我就學了c++和數據結構演算法,差不多也就三個禮拜。我每天都在不停的寫一些簡單的代碼,這樣一月後我基本掌握了c++的全部基礎。
接下來開始學習c++高級課程,老師幽默風趣而又輕松的課堂教課,使我發現原來學習c++並不是一件很難的事情。之前我把c++基礎學得還不錯,到了到了c++高級部分,我覺不又不是很難,可能老師太牛了,他能把復雜的問題講的比較通俗易懂,有些難點的地方我還是連續看了五六次,把他弄懂。每天下午6點下班後,吃了飯,馬上跑回家。看視頻,買了幾本筆記本。當時,為了編程還花幾百元了台二手的台式電腦,配置一般,但編程是足夠的。一邊看視頻,一邊記筆記,把重點都記下來,還一邊跟著老師敲代碼,為了能盡早學會c++。每天都堅持學5-6個小時。經常學到晚上一點多才睡覺。星期六,日不用上班,每天7點多起床,學到晚上11,12點。那段時間特別辛苦,特別累。在學習c++的三個多月里,除了吃飯睡覺工作,剩餘的時間都在學習,因為我知道自己的計算機基礎不是很好,也沒有學過什麼計算機,相對於那些科班的人來說我要比他們付出更多的努力。我只能咬緊牙關,堅持下去,我不能放棄,我要完成我的夢想,我要讓我的家人過上好日子。終於三個多月後我把c++教程里的內容和項目都學完了,在學項目的過程中我發現項目特別重要,他能把你學過的知識全部聯系起來,能更好的理解你所學的知識。還有學習過程中,動手很重要,要經常跟著老師動手敲,動手吧,跟著做,一行一行的跟著敲,再試著加一些自己的功能,按照自己的思路敲一些代碼,收獲遠比干聽大的多。 如果遇到暫時對於一些思路不能理解的,動手寫,先寫代碼,慢慢你就會懂了。
於是我就到51job瘋狂的投簡歷,因為我學歷的問題,專科沒有畢業,說真的,大公司沒有人會要我,所以我投的都是民營的小公司,我希望自己的努力有所回報。沒有想過幾天過後,就有面試了,但是第一次面試我失敗了,雖然我自認為筆試很好,因為我之前做了准備,但是他們的要求比較嚴格,需要有一年的項目經驗,所以我沒有被選中。
後來陸續面試了幾家公司,終於功夫不負有心人。我終於面試上的,是在閔行的一家民營的企業,公司規模比較小,我的職務是c++開發程序員,但我也比較滿足,開的工資是3500一個月,雖然我知道在上海3500隻能過溫飽的生活,但是我想我足夠了。我至少不用每天都要靠父母養,我自己也能養活自己的。我想只要我繼續努力,我工資一定會翻倍的。
把本文寫出來,希望能讓和我一樣的沒有基礎的朋友有信心,其實我們沒有必要自卑,我們不比別人笨,只要我們肯努力,我們一樣會成功。
……………………………………
E. 一般程序員的工資是多少
一般的程序員的工資在一萬元左右的,這是一般員工的平均工資待遇。
F. 程序員一個月工資大概多少
程序員一個月的收入7k-2w。
程序員(英文Programmer)是從事程序開發、程序維護的基層工作人員。一般將程序員分為程序設計人員和程序編碼人員,但兩者的界限並不非常清楚。
對於職業程序員,另外一個重要的方面就是,程序員需要不斷提升自己的業務技術,他的技術必須一直保持在一個較高的水平,並且要不斷發展,程序員也要尋找貿易的機會,要參加研討會,在周刊上發表文章和接受職業教育,這些使程序員在自己的領域中分級或者不斷並排前進。
日常工作
確認通過審查方案的目標,輸入數據,分析師,監事,和客戶的輸出要求的項目要求。
安排項目要求在編程序列分析要求:准備工作流程圖和使用計算機知識的能力,題材,編程語言和邏輯圖。
編碼工作流程的信息轉換成計算機語言的項目要求。
通過輸入編碼信息的計算機程序。
確認程序操作進行測試,修改程序序列和/或代碼。
准備寫操作指令供用戶參考。
G. 資料庫中每人工資加100元怎麼寫代碼
update 表名 set 工資欄位=工資欄位+100 where 1;
H. 系統程序員怎樣把代碼寫得又快又好
很多初學者包括一些有經驗的程序員,在敲完代碼的最後一個字元後,馬上開始編譯和運行,迫不急待的想看到自己的工作成果。快速反饋有助於滿足自己的成就感,但是同時也會帶來一些問題:
讓編譯器幫你檢查語法錯誤可以省些時間,但程序員往往太專注這些錯誤了,以為改完這些錯誤就萬事大吉了。其實不然,很多錯誤編譯器是發現不了的,像內存錯誤和線程死鎖等等,這些錯誤可能逃過簡單的測試而遺留在代碼中,直到集成測試或者軟體發布之後才暴露出來,那時就要花更大代價去修改它們了。
修改完編譯錯誤之後就是運行程序了,運行起來有錯誤,就輪到調試器上場了。花了不少時間去調試,發現無非是些低級錯誤,或許你會自責自己粗心大意,但是下次可能還是犯同樣的錯誤。更嚴重的是這種debug&fix的方法,往往是頭痛醫頭腳痛醫腳,導致低質量的軟體。
讓編譯器幫你檢查語法錯誤,讓調試器幫你查BUG,這是天經地義的事猛灶,但這確實是又慢又爛的方法。就像你要到神知行離家東邊1000米的地方開會,結果你往西邊走,又是坐車又是搭飛機,花了一周時間,也繞著地球轉了一周,終於到了會議室,你還大發感慨說,現代的交通工具真是發達啊。其實你往東走,走路也只要十多分鍾就到了。不管你的調試技巧有多高,都不如一次性寫好更高效。
下面是我在閱讀自己代碼時的一些方法:
檢查常見錯誤
第一遍閱讀時主要關注語法錯誤、代碼排版和命名規則等等問題,只要看不順眼就修改它們。讀完之後,你的代碼很少有低級錯誤,看起來也比較干凈清爽。第二遍重點關注常見編程錯誤,比如內存泄露和可能的越界訪問,變數沒有初始化,函數忘記返回值等等,在後面的章節中,我會介紹這些常見錯誤,避免這些錯誤可以為你省大量的時間。如果有時間,在測試完成之後,還可以考慮是否有更好的實現方法,甚至嘗試重新去實現它們。說了讀者可能不相信,在學習編程的前幾年,我經常重寫整個模塊,只我覺得能做得更好,能驗證我的一些想法,或提高我的編程能力,即使連續幾天加班到晚上十一點,我也要重寫它們。
模擬計算機執行
常見錯誤是比較死的東西,按照檢查列表一條一條的做就行了。有些邏輯通常不是這么直觀的,這時可以自己模擬計算機去執行,假想你自己是計算機,讀入這些代碼時你會怎麼處理。北大青鳥http://www.kmbdqn.cn/認為這種方法能有效的完善我們的思路,考慮不同的輸入數據,各游嘩種邊界值,這能幫助我們想到一些沒有處理的情況,讓程序的邏輯更嚴謹。
I. 電腦程序員是干什麼工作工資是多少
程序員是指從事程序開發、程序維護的專業人員。程序員就是把解決問題的方法以計算機可理解的方式告訴計算機並讓之執行以解決問題的工程師。開發程序員主要分為設計和編碼:前端開發,後端開發,全棧開發,設計師、架構師、測試工程師等。
對於世界上的IT程序員來說,年平均年薪大概在61000美元,高端程序員接近99,000美元,IT業的薪資待遇主要受其經驗和技術水平的影響,其次是所在的城市和公司。根據采訪數據,84%的計算機程序員為男性,大多人也享受完善的保險,有比較高的工作滿意度。
2018美國各IT職業軟體開發平均薪水:
軟體開發 - $ 92,240
入門軟體開發員 $ 65,204
高級軟體工程師 $ 115,593
Java開發 $ 102,985
C ++開發 $ 115,430
C#開發 $ 94,567
NET開發 $ 88,919
JavaScript開發 $ 110,514
PHP開發 $ 86,335
J. 職工工資信息管理系統怎麼弄(至少包括:姓名,職務,職稱,工資)
c語言編的學生信息管理系統小程序 參考吧
<stdio.h>
#include <stdlib.h>
#include <string.h>
struct st
{
char name[20];
int english;
int math;
int chinese;
int average;
st *next;
};
struct st *pend=NULL;//初始鏈表的尾指針段胡塵
struct st *pendorder=NULL;//順序鏈表的尾指針
struct st *pheadorder=NULL;//順序鏈表的頭指針
struct st *makeorder(struct st *phead);//按分數從大到小排做茄序 生產鏈表
struct st *addtolist(struct st *add);// 將平均分最大的添到另一個鏈表
struct st *createlist();//輸入學生信息時生成的初始鏈表
struct st * deletestu(char *name,st *phead);//刪除一個學員的信息
struct st *addstu(st *name,st *phead);//向順序鏈表添加一個元素,插入的地方按平均成績
void printinfo(st *phead);//按平均成績列印出每個學握禪員的名字
int main()
{
int select;
char deletename[20];
struct st *addstud=NULL;
struct st *phead=NULL;
phead=createlist();//輸入時創建鏈表
pheadorder=makeorder(phead);//將鏈表排序
printf("input operation:1----deletestudent,2-----addstudent,3----output all student\n");
scanf("%d",&select);
while(select>0)//選擇操作1為刪除2為添加3為列印,其他的輸入會跳出循環
{
switch(select)
{
case 1:
printf("please input the of the student to be deleted:\n");
scanf("%s",deletename);
pheadorder=deletestu(deletename,pheadorder);
printf("input operation:1----deletestudent,2-----addstudent,3----output all student\n");
scanf("%d",&select);
break;
case 2:
printf("please input the information of the student to be added:\n");
addstud=new st;
scanf("%s%d%d%d",addstud->name,&(addstud->english),&(addstud->math),&(addstud->chinese));
addstud->average=((addstud->english)+(addstud->math)+(addstud->chinese))/3;
while((addstud->english)<=0)
{
delete addstud;
printf("please input the information of the student to be added:\n");
addstud=new st;
scanf("%s%d%d%d",addstud->name,&(addstud->english),&(addstud->math),&(addstud->chinese));
addstud->average=((addstud->english)+(addstud->math)+(addstud->chinese))/3;
}
pheadorder=addstu(addstud,pheadorder);
printf("input operation:1----deletestudent,2-----addstudent,3----output all student\n");
scanf("%d",&select);
break;
case 3:
printinfo(pheadorder);
printf("input operation:1----deletestudent,2-----addstudent,3----output all student\n");
scanf("%d",&select);
break;
default:
goto laber;
}
}
laber:system("pause");
return 1;
}
struct st *createlist()//輸入時創建初始鏈表
{
struct st *pfirst=NULL;
struct st *plast=NULL;
struct st *p=new st;
printf("please input the information of the students:\n");
scanf("%s%d%d%d",p->name,&(p->english),&(p->math),&(p->chinese));
p->average=((p->english)+(p->math)+(p->chinese))/3;
while((p->english)>0)
{
if(pfirst==NULL)
pfirst=plast=p;
else
plast->next=p;
plast=p;
printf("please input again:\n");
p=new st;
scanf("%s%d%d%d",p->name,&(p->english),&(p->math),&(p->chinese));
p->average=((p->english)+(p->math)+(p->chinese))/3;
}
plast->next=NULL;
printf("list create successful\n");
delete p;
return pfirst;
}
struct st *deletestu(char *name,st *phead)//刪除一個學員
{
int flag=0;
st *p=NULL;
if(strcmp(phead->name,name)==0)
{
phead=phead->next;
flag=1;
}
else
for(p=phead;p;p=p->next)
{
if(strcmp(p->next->name,name)==0)
{
p->next=p->next->next;
flag=1;
break;
}
}
if(!flag)
printf("the student you delete is not in the list\n");
else printf("delete successful\n");
return phead;
}
struct st *addstu(st *name,st *phead)//按平均分增加一個學員
{
name->next=NULL;
struct st *p=NULL;
if((name->average)>(phead->average))
{
name->next=phead;
phead=name;
return phead;
}
else
{
for(p=phead;p->next;p=p->next)
{
if((name->average)>(p->next->average))
{
name->next=p->next;
p->next=name;
return phead;
}
}
}
p=p->next;
p->next=name;
return phead;
}
void printinfo(st *phead)//列印信息
{
st *p;
for(p=phead;p;p=p->next)
printf("%s\n",p->name);
}
struct st *addtolist(struct st *phead,struct st *add)//生成順序鏈表時每回都添加一個平均成績最高的學員信息
{
add->next=NULL;
if(phead==NULL)
pendorder=phead=add;
else
pendorder->next=add;
pendorder=add;
return phead;
}
struct st *makeorder(struct st *phead)//將初始鏈表變成順序鏈表
{
if(phead!=NULL)
{
int max;
struct st *p=NULL;
struct st *index=NULL;
while(phead)
{
max=0;
for(p=phead;p;p=p->next)
{
if(p->average>max)
{
max=p->average;
index=p;
}
}
phead=deletestu(index->name,phead);
pheadorder=addtolist(pheadorder,index);
}
return pheadorder;
}
else printf("there is no list members to be ordered\n");
return pheadorder;
}
————小型公司工資管理系統
一〉題目要求
(1)公司主要有4類人員:經理、技術員、銷售員、銷售經理。要求存儲這些人的職工號、姓名、月工資、崗位、年齡、性別等信息。
(2)工資的計算方法:
A.經理:固定月薪為8000;
B.技術員:工作時間*小時工資(100元每小時);
C.銷售員:銷售額*4%提成;
D.銷售經理:底薪(5000)+所轄部門銷售額總額*0.5%;
(3)輸入數據要求每類人員不能少於4人,並按以下格式輸出:
職工號 姓名 性別 年齡 崗位 工資 排名
及某部門經理所轄部門各售貨員的業績及自己的工資表:
(4)菜單要求:要有一個菜單,用於選擇各項功能,其中
1) 數據錄入:輸入各種數據;
2) 數據統計:各銷售經理的工資計算及最終按工資進行的冒泡排序;
3) 數據列印:列印上述表格;
4)數據備份:把相關數據寫入文件;
5)退出:推出本系統;
二〉程序最終版:
1,程序員代碼
#include<iostream.h>
#include<stdlib.h>
#include<fstream.h>
#include<iomanip.h>
#include<string.h>
class employee
{
public:
float salary;
employee()
{
salary=0;
}
void pay(){}
void print(){}
void input()
{
cout<<"的編號:";
cin>>no;
cout<<" 其姓名:";
cin>>name;
cout<<" 性別(m/w):";
cin>>sex;
cout<<" 年齡:";
cin>>age;
}
protected:
int no;
char name[8];
char sex;
int age;
};
class manager:virtual public employee
{
protected:
float monthlypay,sale;
public:
manager(){monthlypay=8000;}
void input(){cout<<"經理";employee::input();}
void save()
{
fstream outfile;
outfile.open("F:shuju.txt",ios::app);
if(!outfile)
{
cout<<"F can't open.\n";
abort();
}
outfile<<"經理"<<endl;
outfile<<"號碼"<<no<<"名字"<<name<<"性別"<<sex<<"年齡"<<age<<"工資"<<salary<<endl;
}
void pay(){salary=monthlypay;}
void print()
{
cout<<"├—————┼—————┼—————┼—————┼—————┤"<<endl;
cout<<"│"<<setw(10)<<no<<"│"<<setw(10)<<name<<"│"<<setw(10)<<sex\
<<"│"<<setw(10)<<age<<"│"<<setw(10)<<salary<<"│"<<endl;
}
};
class technician:virtual public employee
{
private:
float hourlyrate;
int workhours;
public:
technician(){hourlyrate=100;}
void pay()
{
cout<<name<<"本月工作時數:";
cin>>workhours;
salary=hourlyrate*workhours;
}
void input(){cout<<"技術工"<<endl;employee::input();}
void save()
{
fstream outfile;
outfile.open("F:shuju.txt",ios::app);
if(!outfile)
{
cout<<"F can't open.\n";
abort();
}
outfile<<"技術工"<<endl;
outfile<<"號碼"<<no<<"名字"<<name<<"性別"<<sex<<"年齡"<<age<<"工資"<<salary<<endl;
}
void print()
{
cout<<"├—————┼—————┼—————┼—————┼—————┤"<<endl;
cout<<"│"<<setw(10)<<no<<"│"<<setw(10)<<name<< "│"<<setw(10)<<sex\
<<"│"<<setw(10)<<age<<"│"<<setw(10)<<salary<<"│"<<endl;
}
};
class salesman:virtual public employee
{
protected:
float commrate;
float sales;
public:
salesman(){commrate=0.04;}
void input(){cout<<"銷售員";employee::input();}
void save()
{
fstream outfile;
outfile.open("F:shuju.txt",ios::app);
if(!outfile)
{
cout<<"f can't open.\n";
abort();
}
outfile<<"技術工"<<endl;
outfile<<"號碼"<<no<<"名字"<<name<<"性別"<<sex<<"年齡"<<age<<"工資"<<salary<<endl;
}
void pay()
{
cout<<name<<"本月銷售額:";
cin>>sales;
salary=sales*commrate;
}
void print()
{
cout<<"├—————┼—————┼—————┼—————┼—————┤"<<endl;
cout<<"│"<<setw(10)<<no<<"│"<<setw(10)<<name<<"│"<<setw(10)\
<<sex<<"│"<<setw(10)<<age<<"│"<<setw(10)<<salary<<"│"<<endl;
}
};
class salesmanager:virtual public manager,virtual public salesman
{
private:
float total;int no1,no2,no3,no4;char name1[8],name2[8],name3[8],name4[8];
float sale1,sale2,sale3,sale4;
public:
int flag;
void salemanager()
{
monthlypay=5000;
commrate=0.005;
}
void input(){cout<<"銷售經理";employee::input();}
void save()
{
fstream outfile;
outfile.open("F:shuju.txt",ios::app);
if(!outfile)
{
cout<<"f can't open.\n";
abort();
}
outfile<<"銷售經理"<<endl;
outfile<<"號碼"<<no<<"名字"<<name<<"性別"<<sex<<"年齡"<<age<<"工資"<<salary<<endl;
}
void savesale()
{
fstream outfile;
outfile.open("F:shuju.txt",ios::app);
if(!outfile)
{
cout<<"F can't open.\n";
abort();
}
outfile<<"銷售經理所轄售員業績及自己的工資"<<endl;
outfile<<"編號"<<no1<<"名字"<<name1<<"工資"<<sale1<<endl;
outfile<<"編號"<<no2<<"名字"<<name2<<"工資"<<sale2<<endl;
outfile<<"編號"<<no3<<"名字"<<name3<<"工資"<<sale3<<endl;
outfile<<"編號"<<no4<<"名字"<<name4<<"工資"<<sale4<<endl;
}
int min(float salary1,float salary2)
{
if(salary1<salary2)
return 1;
else return 2;
}
void pay()
{
salemanager();
salary=monthlypay+commrate*totalsale();
}
float totalsale()
{total=sale1+sale2+sale3+sale4;return total;}
void printtotal()
{
cout<<"├—————┴——┬——┴—————┤"<<endl;
cout<<"│銷售額合計 │ "<<setw(10)<<total<<" │"<<endl;
cout<<"└————————┴————————┘"<<endl;
}
void sort(salesmanager &p)
{
int tmp,i,j;
for(j=0;j<2;j++)
for(i=0;i<2;i++)
if(total<p.salary)
{
tmp=salary;
total=p.salary;
p.salary=tmp;
tmp=no;
no=p.no;
p.no=tmp;
}
}
void saler()
{
cout<<name<<"所管部門月銷售量:";
cout<<"職工編號:";
cin>>no1;
cout<<" 職工姓名:";
cin>>name1;
cout<<" 銷售額:";
cin>>sale1;
cout<<"職工編號:";
cin>>no2;
cout<<" 職工姓名:";
cin>>name2;
cout<<" 銷售額:";
cin>>sale2;
cout<<"職工編號:";
cin>>no3;
cout<<" 職工姓名:";
cin>>name3;
cout<<" 銷售額:";
cin>>sale3;
cout<<"職工編號:";
cin>>no4;
cout<<" 職工姓名:";
cin>>name4;
cout<<" 銷售額:";
cin>>sale4;
}
void saleprint()
{
cout<<"│"<<setw(10)<<no1<<"│"<<setw(10)<<name1<<"│"<<setw(10)<<sale1<<"│"<<endl;
cout<<"├—————┼—————┼—————┤"<<endl;
cout<<"│"<<setw(10)<<no2<<"│"<<setw(10)<<name2<<"│"<<setw(10)<<sale2<<"│"<<endl;
cout<<"├—————┼—————┼—————┤"<<endl;
cout<<"│"<<setw(10)<<no3<<"│"<<setw(10)<<name3<<"│"<<setw(10)<<sale3<<"│"<<endl;
cout<<"├—————┼—————┼—————┤"<<endl;
cout<<"│"<<setw(10)<<no4<<"│"<<setw(10)<<name4<<"│"<<setw(10)<<sale4<<"│"<<endl;
}
void print()
{
cout<<"├—————┼—————┼—————┼—————┼—————┤"<<endl;
cout<<"│"<<setw(10)<<no<<"│"<<setw(10)<<name<<"│"<<setw(10)<<sex<<"│"
<<setw(10)<<age<<"│"<<setw(10)<<salary<<"│"<<endl;
}
};
void main()
{
manager m[4];
technician t[4];
salesman s[4];
salesmanager sm[4];
t[1].save();
int flag=1,operate,minnum=0;
do{
cout<<" ★★小型公司工資管理系統★★\n";
cout<<" ┌—————————————┐\n";
cout<<" │ 請選擇您所需的操作 │\n";
cout<<" │ 數據輸入:1,並按回車鍵 │\n";
cout<<" │ 數據統計:2,並按回車鍵 │\n";
cout<<" │ 數據列印:3,並按回車鍵 │\n";
cout<<" │ 數據備份:4,並按回車鍵 │\n";
cout<<" │ 退出系統:5,並按回車鍵 │\n";
cout<<" └—————————————┘\n";
cout<<" 請選擇一個操作: ";
cin>>operate;
switch(operate)
{
case 1:
cout<<"please waiting........"<<endl;
{
for(int i=0;i<4;i++)
{m[i].input();}
for(int j=0;j<4;j++)
{t[j].input();}
for(int k=0;k<4;k++)
{s[k].input();}
for(int l=0;l<4;l++)
{sm[l].input();}
}
{
for(int i=0;i<4;i++)
{m[i].pay();}
for(int j=0;j<4;j++)
{t[j].pay();}
for(int k=0;k<4;k++)
{s[k].pay();}
for(int l=0;l<4;l++)
{sm[l].saler();sm[l].pay();}
};break;
case 2:
cout<<"please waiting......."<<endl;
{
{
for(int l=0;l<4;l++)
sm[l].totalsale();
};
cout<<" 第一位經理的銷售員"<<endl;
cout<<"┌—————┬—————┬——————┐"<<endl;
cout<<"│ 職工號 │ 姓名 │ 銷售額 │"<<endl;
sm[0].saleprint();
sm[0].printtotal();
cout<<" 排序已經完成"<<endl;
cout<<"各銷售經理的排名"<<endl;
cout<<"┌—————┬—————┬—————┬—————┬———————┐"<<endl;
cout<<"│ 職工號 │ 姓名 │ 性別 │ 年齡 │ 工資 │"<<endl;
for(int i=0;i<4;i++)
{
minnum=0;
for(int ddd=0;ddd<4;ddd++)
{
if(sm[minnum].salary>sm[ddd].salary&&sm[ddd].flag!=1)
{
minnum=ddd;
}
}
sm[minnum].flag=1;
sm[minnum].print();
}
cout<<"└—————┴—————┴—————┴—————┴———————┘"<<endl;
};break;
case 3:
cout<<"please waiting........"<<endl;
{
cout<<"*********************************************************************"<<endl;
cout<<" 經理工資一覽表如下:"<<endl;
cout<<"┌—————┬—————┬—————┬—————┬——————┐"<<endl;
cout<<"│ 職工號 │ 姓名 │ 性別 │ 年齡 │ 工資 │"<<endl;
for(int i=0;i<4;i++)
{m[i].print();}
cout<<"└—————┴—————┴—————┴—————┴——————┘"<<endl;
cout<<"*********************************************************************"<<endl;
cout<<" 技術員的月工資一覽表:"<<endl;
cout<<"┌—————┬—————┬—————┬—————┬——————┐"<<endl;
cout<<"│ 職工號 │ 姓名 │ 性別 │ 年齡 │ 工資 │"<<endl;
for(int j=0;j<4;j++)
{t[j].print();}
cout<<"└—————┴—————┴—————┴—————┴——————┘"<<endl;
cout<<"********************************************************************"<<endl;
cout<<" 銷售員工資一覽表"<<endl;
cout<<"┌—————┬—————┬—————┬—————┬———————┐"<<endl;
cout<<"│ 職工號 │ 姓名 │ 性別 │ 年齡 │ 工資 │"<<endl;
for(int k=0;k<4;k++)
{s[k].print();}
cout<<"└—————┴—————┴—————┴—————┴———————┘"<<endl;
cout<<"********************************************************************"<<endl;
cout<<" 銷售經理工資一覽表"<<endl;
cout<<"┌—————┬—————┬—————┬—————┬———————┐"<<endl;
cout<<"│ 職工號 │ 姓名 │ 性別 │ 年齡 │ 工資 │"<<endl;
for(int l=0;l<4;l++)
{sm[l].print();}
cout<<"└—————┴—————┴—————┴—————┴———————┘"<<endl;
};break;
case 4:
cout<<"please waiting........"<<endl;
{
for(int i=0;i<4;i++)
{m[i].save();}
for(int j=0;j<4;j++)
{t[j].save();}
for(int k=0;k<4;k++)
{s[k].save();}
for(int l=0;l<4;l++)
{sm[l].save();}
};
cout<<"information have been saved!"<<endl;
break;
case 5:exit(0);break;
default:cout<<"輸入錯誤,請重新1-5間的輸入"<<endl;
}
}while(flag=1);
}
備註:1本程序已經修訂過,是網路流傳的版本的終結版,解決了原始版本不可進行銷售經理工資排序的缺點。
2。本程序為本周剛結束的課程設計的自我修正版本。
3 由於圖片不可上傳,要觀看完美界面截圖及報告完整內容請登陸我q-zone。。