国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

大一下暑期計劃 + 2023字節(jié)青訓營預告直播

這篇具有很好參考價值的文章主要介紹了大一下暑期計劃 + 2023字節(jié)青訓營預告直播。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

??前言

??后端學習方法

??1,層次

??2,體系

??3,算法和數據結構

??4,總結

??前端學習方法

??基礎

??求職中如何彌補學歷差距?

??項目經歷怎么準備?

??官網鏈接 + 簡歷如何寫

??0基礎可以跟項目嗎

??主修Java或者C++能不能參加青訓營?

??大一下暑期計劃

??C++學習路線


大一下暑期計劃 + 2023字節(jié)青訓營預告直播

??前言

主要總結下短短1個小時直播中接受到的知識,由于不允許錄播和轉載,所以我會憑記憶同時借助Google,百度,掘金,CSDN,GPT4.0等工具,進行完善和解析

借助的工具如下??

大一下暑期計劃 + 2023字節(jié)青訓營預告直播

水平有限,權當大一下暑假開始前的路線修正和知識拓展

首先,是第六屆青訓營報名的網址前后端免費學 | 第六屆字節(jié)跳動青訓營報名啦 - 掘金 (juejin.cn)

其次,里面分前端和后端方向,都會有完整的路線和錄播直播視頻

前端就是html, css, js三大板塊...

后端就是Go語言加上....

首先說下,最近一年,我的主要精力肯定都是給C++,408,數據庫,競賽和項目(面試考察內容)(408包括 數據結構與算法,計網,計組,操作系統(tǒng))

為什么還參加和C++沒什么關系的后端訓練營呢(后端學Go嘛),因為里面講的大多數東西,其實換一門語言,不管是Java,C++還是Rust等等,都是換湯不換藥的,一樣能實現,意思是,技能都是通用的,后端,從服務端出發(fā),就是應用層,框架層,存儲層等等,無非是語法和性能的“細微”差異

所以我參加第六屆青訓營的目的,還是借這個平臺,完善一下做項目的通用知識,還有拓展知識面的目的,當然,如果時間充足,或者自己足夠自律上進,也是可以擠出時間另外學Go的,甚至說,你最后不一定要用Go來實現這個組隊項目(一般3~4人最好),你甚至可以用C++來實現,但是Go肯定比C++簡單一些。。

下面,我會根據直播中字節(jié)在職前輩,資深HR們的真知灼見,加上自己的適當擴展,來解答一些疑惑,為今后學習和發(fā)展指明一點方向

??后端學習方法

??1,層次

從后端出發(fā),比如服務端,分為幾個層次

1,應用層,用自己的代碼去開發(fā)和實現的一些邏輯

2,框架層,比如Java對應Spring

3,存儲層,比如Mysql,Redis

4,操作系統(tǒng)層,比如Linux

5,硬件層

當我們在做應用層(上層)開發(fā)時,項目跑通后,我們需要考慮它在框架層是怎么運行的,在存儲層(比如Mysql)以什么樣的方式進行的(比如,數據在Mysql里以什么樣的邏輯模型存儲的)(比如B+樹這樣的模型,它的數據結構是怎樣的)

(再深入一點,比如B+樹在硬盤是怎么存儲的)

??當你了解完上面等等這些細節(jié),再做索引優(yōu)化就會如魚得水,而不是不停地百度谷歌博客去查(搞清楚這些后,所有場景也就有了解決方案)

??2,體系

成體系的學習是怎樣的呢,先說個反例,不建議一遇到個不會的就上百度,折騰個半小時一小時,是解決了,但這不是成體系的學習方法

那么什么是成體系的學習方法呢?

比如先看書。拿Mysql舉例的話,比如遇到一個場景,然后到百度搜索了下,知道了怎么建索引,直接解決了當前問題(但是你并不了解它為什么要這么建,它下面的物理模型和邏輯模型是怎樣的)

那么怎么辦呢,此時你應該找一本還不錯的書,?成體系地看一下

看完后,再去結合博客上,別人遇到的case,去印證別人是如何解決特定場景下的特定問題的

同時,這個解決方案對應著書上說的物理模型,邏輯模型或者各種策略,是如何應用的

通過先看書,再看技術博客去印證書上內容,結合實際開發(fā)遇到的問題場景的方法,你的知識體系就比較完善了

??3,算法和數據結構

算法和數據結構

首先,它貫穿應用層,框架層,存儲層,操作系統(tǒng)以及硬件層

其次,它是大公司面試的必考項目(意思是,你現在就可以刷題啦~

我的打算是

1,利用2023/6月~9月大一下暑假,先自學完《算法訓練營入門篇》這本570頁的書,同時學完Acw藍橋杯輔導課40小時的視頻

完成上面2項后,意味著至少多刷了200道左右,類似洛谷普及- ~ 普及 ~ 普及+,這三個難度的題目,省選-里面應該不涉及,畢竟都是算法入門題目

(當然,時間充裕,可以把洛谷官方題單也給刷了,其中NOI-紫題或者省選-藍題,可以不考慮,費時間太多,你現在需要的是全面系統(tǒng)的打基礎外加刷題,藍題紫題的難度,筆試一般頁不會出那么難)

2,第二步,就是大二上,下兩學期 + 大二寒暑假3個月,力扣刷掉hot100劍指offer

能完成上面1,和2,也就意味著你無懼中小廠的算法筆試了,甚至能和面試官有來有回,談笑風生

3,做了這么多算法,不得打點比賽,ACM我不打,有自知之明,一是沒時間,本來就0基礎,又比較愚鈍,所以就打打CA藍橋杯,天梯賽,PAT

4,總結:上面3步做的七七八八的話,就算既定目標沒有完全實現,也能應付大多數中小廠的筆試了,大廠不好說,因為即使你筆試表現優(yōu)異,全AC而且提出了優(yōu)化的思路,也可能因為你的學歷,項目的不足,被PASS掉

??4,總結

當你徹底搞懂一個東西后,需要總結,以便于日后的復盤

這時,寫博客就派上用場了,可以記錄在typora等軟件上,也可以寫在CSDN,掘金,博客園等平臺上,還可以上傳到自己的Github,英語好的還能與StackOverflow的大佬交流下

以上四步,層次 -> 體系 -> 算法和數據結構 ->總結,是比較完整的后端學習方法,剩下的,就是做好自己的本職了,都0基礎了,每天專心學上五六小時是基本的

??前端學習方法

??基礎

重點是三個基礎語言的深入掌握,html, css, js,它們是一切前端項目的基石

圍繞這三個語言,衍生出很多前端的工具,比如Vue,React....
有些人剛學了點語言,就想著直接沖Vue,這是不可取的,前期就應該扎扎實實學好基礎,深入理解,html, css, js分別是用來做什么的,有哪些最佳實現,或者性能上如何優(yōu)化,怎樣更好地去維護.....

而且不論前端后端,初期肯定是枯燥,理論的,沒法一下子做出一些東西,需要投入大量時間和精力去度過最開始的艱難。

補充

每個程序員,都要會調試,你要知道每一行代碼執(zhí)行完后會有什么結果,有助于你去理解程序

當然,會用Google以及梯子也是必備的

拿后端舉例,本次青訓營,會從語言開始(基礎中的基礎),結合數據結構,數據庫,操作系統(tǒng)的一些知識(基礎),最后講講HTTP等,最終實現一個項目

最后說一下,不論前端還是后端,技術深度比廣度重要的多,一定要及早確定自己感興趣的方向,建立核心競爭力(拿前端舉例,你去實現PC端項目或者小程序的思路,包括技術棧都是完全不同的,放到求職也是一樣,如果職位不匹配,就算能力強也是沒法勝任的)

??求職中如何彌補學歷差距?

要解答這個問題,我們首先要對癥下藥

首先,我們需要知道自己面試的公司,是哪類公司,即當下面試的兩種大形勢

第一類,面試時更注重你會不會使用某種框架(比如,你面試Java相關崗位,面試官穩(wěn)了你很多關于Spring框架的問題,深入點的話,比如JVM)

第二類公司,面試時更看重你的基本功,上來就考察你算法和數據結構的功底,讓你做一些筆試題目等等

兩方面都是需要準備的,所以,面試心儀公司時,要及時復盤總結,根據面試公司的特點對癥下藥

??項目經歷怎么準備?

先談談本次(2023暑期)青訓營的大項目(8月底項目驗收),參加青訓營做項目的這個經歷,可以鍛煉你團隊協作和溝通表達的能力,同時,給簡歷增添了一個比較優(yōu)秀的項目

這里要更正一個誤區(qū),很多大一大二0基礎的同學,可能想著抱大腿,這是不可取的。

因為最后面試時,肯定是看你在這個項目中負責那一塊,用到了什么技術,怎么優(yōu)化的,以及相關比較深入一點的細節(jié)問題,如果只想著抱大腿,面試時一問就露餡也是不行的

那么為什么不讓自己成為大腿呢?自己加把勁,多花時間,戒掉不切實際的小說,游戲和短視頻,每年多學1000個小時,最后自己成為大腿不香嗎

??官網鏈接 + 簡歷如何寫

這里也包括前端需要學什么,方法是,到各大公司的招聘官網去看,比如字節(jié),京東,阿里,騰訊等等,根據里面的實習生 / 應屆生 / 社招,以及研發(fā)(包括前端,后端,算法,大數據,安全,測試,運維...),運營,產品,銷售等各大方向,然后針對性的查看招聘要求,給自己后續(xù)的學習定好方向

看多了招聘要求,你就知道自己簡歷需要寫什么,自己需要學什么才能勝任這個崗位呢?

以下??是各大公司招聘官網的鏈接,需要自取

百度?/?字節(jié)?/?京東?/?小米?/?華為?/?拼多多?/?網易?/?美團?/?快手?/?新浪?/?知乎?/?陌陌?/?愛奇藝?/?虎牙?/?Bli?/?滴滴?/?蘇寧?/?巨人網絡?/?迅雷?/?房天下?/?IBM?/?中興

還有之前廣泛參考BOSS直聘,實習僧等APP的一些總結??

(2條消息) 50家公司Java,C++招聘要求_千帳燈無此聲的博客-CSDN博客

結合今晚直播資深HR和字節(jié)在職員工的分析,以后面試招聘中,更有優(yōu)勢的往往是“一專多能”的人,而不是面面俱到又都只知皮毛的人。

拿前端舉例,你vue學的很好,其他的html,css等只是會用,但是沒有花費大量時間去精通,那么你面試包括今后2~5年的工作中,就比那些什么都只會一點的人強。

別人會的東西比你全面,但是沒有一個是深入挖掘學習過的,你在DEBUG時比他們更快,這就是優(yōu)勢

??0基礎可以跟項目嗎

首先需要明確的是,可以跟,只要你在暑假或者別的什么時間,用心去學,就算慢一點,總好過你學完所有東西后(408,數據庫,一門語言,框架....)再開始接觸第一個項目,效率極其低下不說,還不容易建立自信心

要知道,初學者,如果不看教程,單憑自己,一開始是很難自創(chuàng)一個可以跑通的項目的,里面有很多你不懂的前置知識,一些庫的使用等等,這時你需要去模仿B站,Github,博客里的,附帶說明手冊,編碼風格良好,好評如潮的項目。

從模仿開始,到自己修改,最后甚至在類似需求下,自己完整搞定一個項目,然后慢慢多嘗試點別的有新意,有實際意義的項目,自信心積累起來了,也為后續(xù)閱讀更深入得書籍打下了基礎

由于我打算花一年時間專心學C++,以下是關于C++學習的一些博客

1,小白 C++ 入門并發(fā)瘋學習路線(書單) - 掘金 (juejin.cn)

2,(2條消息) C++從入門到進階的系列書籍推薦_c++書籍推薦_dvlinker的博客-CSDN博客

3,(2條消息) C/C++學習路線總結與分享_dvlinker的博客-CSDN博客?

4,C++學習路線 (github.com)

5,沒人帶怎么辦,零基礎C++入門自學指引 - 知乎 (zhihu.com)

更推薦一專多能,以下是做一個大的項目涉及到的工具和流程??作為參考

完成一個項目為什么需要這么多技術點,項目是怎么一步步變復雜的,練手項目和真實項目區(qū)別為什么這么大_嗶哩嗶哩_bilibili文章來源地址http://www.zghlxwxcb.cn/news/detail-513358.html

??主修Java或者C++能不能參加青訓營?

后端舉例,因為用的是Go,很多人會猶疑不定,怕浪費時間在Go上,而影響了C++或Java的學習。

首先,這個沒必要擔憂,因為參加青訓營,大多數人想的肯定是,通過這次為期2個月的活動,最終與小組一起,完成一個項目,通過自己負責那部分的編寫,鍛煉的自己編碼的能力,也鞏固了剛學的技術和語法,并且增強了未來求職的自信心,同時豐富了簡歷。

說到這,其實你可以花一點時間學習下Go的語法,因為做項目除了Go外,其他大多數都是通用知識或者說技能,舉例就是,這個項目中涉及到的HTTP的知識,你在下一個項目還是能用到,所以時間不會白花

做一個稍微大點的項目,本身就很鍛煉人,總比你寫那些不到1000行的旅館住宿系統(tǒng),計算器或者飛機大戰(zhàn)復雜一些

從很長一段工作時間出發(fā),你用什么語言實現一個功能,不是關鍵點,而且當你熟悉甚至精通一門語言,轉其他語言也能很快上手。

而且,就課程本身來說,除了一開始花了一點時間學習Go的語法外,后面更多是深入一些的中間件的知識,就像一些微服務的知識,或者數據庫的知識。

所以說,就應用層的開發(fā)來說,語言是什么并不重要。

拿直播中資深HR的經歷來說,他的上一份工作是Java,但是面試字節(jié)時,面試官并沒有考Go,更多問的是數據庫,操作系統(tǒng),數據結構....

所以平時學習中,我們更應關注基礎能力,至于語言,只要會用,能用好(比如你學C++,遇到一個項目,各種各樣的實現中,哪一種效率最高?)

再說說,有同學擔心自己只學過C / C++,參加Go的課程擔心跟不上或者浪費時間,其實這點很好,因為很多底層實現都是通過C / C++的,比如Mysql是通過C++實現的,Linux是通過C實現的

參加這個活動,更多是編程思維的養(yǎng)成和基礎知識的積累(這在做項目上是通用的)

補充

許多軟件和系統(tǒng)的基礎架構都是使用C++開發(fā)的,比如:

操作系統(tǒng),Web瀏覽器,游戲引擎,數據庫管理系統(tǒng),媒體播放器...

這些系統(tǒng)和軟件的基礎架構可能還包含其他語言的組件和模塊,但在底層核心層面,C++通常被用來進行高性能的計算和資源管理

??大一下暑期計劃

2023/7月 ~ 2023年9月(2個月時間)

1,C++

暑期通過

黑馬C++,314個視頻(2023/6/21截止,已經跟到第156個)+ B站2~3個小項目(飛機大戰(zhàn),俄羅斯方塊,計算器)+ 《Essential C++》

后續(xù)學習

有了一點基礎后,你需要成體系地去學習進階的書以及Github開源項目了....具體參考鏈接

2,Mysql

暑期通過

黑馬Mysql的30小時視頻 + 《Mysql必知必會》,這是暑期入門部分,

后續(xù)借助

Mysql實戰(zhàn)45講(丁奇)+ 《MySQL技術內幕:InnoDB存儲引擎》 + 牛客數據庫1000題

作為進階的學習,完成上述5個部分內容,面試考到數據庫也就成竹在胸了

3,算法和數據結構

暑期通過

570頁的《算法訓練營入門篇》 + Acw藍橋杯輔導課40小時視頻來完善知識體系

這2部分完成,會多積累200道提高-,加上2023/6/21之前的100道普及-,也就達到了300題的量,300題拿個藍橋杯CA省二不過分吧.....如果能在此基礎上,再把洛谷官方題單省選-以下的題刷了,也就是藍題之前,省一不過分把......

后續(xù)刷題

完成上面書籍,視頻和刷題后,你的基礎算法已經足以應付部分中小廠的筆試了,但是還不夠,你是想

(1)藍橋杯CA國三,(2)天梯賽個人國三,(3)PAT甲級60分,(4)面試筆試

這就需要你在pintia上,按著甲級滿分或者乙級滿分大佬的攻略,完整刷一次需要的部分,

比如15~25分刷上100題先,以應對將來的天梯賽和PAT

再說筆試部分,力扣的hot100 +《劍指offer》不得拿下.....道阻且長...道阻且長....

4,Linux

.....

5,計網

......

當前進度,期末最后半個月,只能抽一半時間學習,剩下一半時間被期末試綁架了...

大一下暑期計劃 + 2023字節(jié)青訓營預告直播優(yōu)先級是:

《算法訓練營》 >? C++黑馬? >? Mysql黑馬

至于《Essential C++》1~2周就能過一遍代碼和書

至于《Mysql必知必會》也是1~2周每天2小時的事

至于Acw藍橋杯40小時,這個排在優(yōu)先級最后,一個是確實花時間,一個視頻2小時附帶2~3題;一個是大二后續(xù)可以慢慢刷,非朝夕能完成的

放個彩蛋

大一下C++期末大作業(yè)應該能用到,C++旅館住宿管理系統(tǒng),彩色歡迎界面和文字,當然,很多功能不全,而且很多BUG,上個月用GPT結合網上一些博客做出來的,就花了2小時,后面懶得費時間就沒改BUG和增加功能模塊了,700行代碼有需要自取??

//賬號為2022
//密碼為123
#include<iostream>
#include<cstdlib>
#include<windows.h> //DOS命令, 用函數修改字體顏色
#include<cstring>
using namespace std;
int i=0;
//定義結構體,包含房間號,類型,價格,狀態(tài)
struct Room {
	int number;
	int rad;
	int price;
	int state;
};
//定義類Customer, 包含姓名,身份證,房間號,預付費用,天數和退房費用
class Customer {
	public:
		Customer(); //構造函數
		void set_name(char *n) { //設置姓名
			strcpy(name,n);
		}
		void set_ID(char *p) { //設置身份證號
			strcpy(ID,p);
		}
		void set_room_number(int n) { //設置所訂房間號
			room_number=n;
		}
		void set_day(int d) { //設置入住天數
			day=d;
		}
		void set_prepaid(int p) { //預付費用
			prepaid=p;
		}
		char *get_name() { //獲取姓名
			return name;
		}
		char *get_ID() { //身份證
			return ID;
		}
		int  get_room_number() { //房間號
			return room_number;
		}
		int  get_day() {//天數
			return day;
		}
		int  get_prepaid() { //預付費用
			return prepaid;
		}
		virtual ~Customer();
	private:
		char name[10],ID[19]; //姓名和身份證
		int  room_number; //房間
		int  prepaid; //預付
		int  change;
		int  day;
};
//顧客構造函數, 用于輸入用戶信息
Customer::Customer() {//構造函數
	cout<<"請輸入姓名"<<endl;
	cin>>name;
	cout<<"請輸入身份證"<<endl;
	cin>>ID;
	prepaid=day=0;
}
//顧客析構函數,輸出退房成功信息
Customer::~Customer() {//析構函數
	cout<<"您退房成功!"<<endl;
}
//全局變量room, customer,存儲房間和顧客信息
Room room[141];
Customer *customer[141];
//定義類function
class function
{
	public:
	void initial_room(); //初始化房間
	void welcome(); //歡迎界面
	void menu(); //菜單
	void book_room(); //預定房間
	void go_in(); //入住
	void go_out(); //退房
	void inquire(); //查詢
	void out(); //無操作
};


//登陸
void function::welcome() {
	system("color E4");
	char name[4],pass[7];
	cout<<"請輸入用戶名: "<<endl;
	cin>>name;
	cout<<"請輸入密碼: "<<endl;
	cin>>pass;
	while((strcmp(name,"2022")!=0)||(strcmp(pass,"123")!=0)) {
        system("cls");
		cout<<"用戶名或密碼輸入有誤, 請重新輸入!"<<endl<<endl<<endl;
		cout<<"請輸入用戶名:"<<endl;
		cin>>name;
		cout<<"請輸入密碼:"<<endl;
		cin>>pass;
	}
	cout<<endl;
	cout<<"                           ╮(╯▽╰)╭"<<endl<<endl;
	cout<<"                                                              ╮(╯▽╰)╭"<<endl<<endl;
	cout<<"              <(@Д=)/~"<<endl;
	cout<<endl;
	cout<<"                                     ----------------------------"<<endl;
	cout<<"                                   *** 歡迎使用旅館住宿管理系統(tǒng) ***"<<endl;
	cout<<"                                     ----------------------------"<<endl<<endl<<endl<<endl;
	cout<<"                                      ^-^     ^-^"<<endl;
	cout<<"                                     /   \\ _ /   \\"<<endl;
	cout<<"                                    |_  _☉ ☉_  _|"<<endl;
	cout<<endl<<endl<<endl;
	cout<<"                                                                          o(^ε^)o"<<endl;
	system("pause");
	system("cls");
}
void function::menu() {
    system("cls");
	function n;
	char x;
	cout<<"\t\t\t\t\t請按數字鍵并回車: "<<endl;
	cout<<" \t\t\t\t  *** 1.預定 *** 2.入住  ***"<<endl;
	cout<<" \t\t\t\t  *** 3.退房 *** 4.查詢 ***"<<endl;
	cout<<" \t\t\t\t  *** 5.退出 *** \t"<<endl;
	cin>>x;
	switch(x) {
		case '1':
			n.book_room();
			system("pause");
			system("cls");
			break;
		case '2':
			n.go_in();
			system("pause");
			system("cls");
			break;
		case '3':
			n.go_out();
			system("pause");
			system("cls");
			break;
		case '4':
			n.inquire();
			system("pause");
			system("cls");
			break;
		case '5':
			n.out();
			break;
		default:
			cout<<"輸入有誤,請重新輸入"<<endl;
			cin>>x;
	}
}
//訂房
void function::book_room() {
	customer[i]=new Customer;
	int room_kind,day;
	cout<<"請您選擇預定房間類型:\n";
	cout<<"1.單間/250元\n\n2.電腦單間/270元\n\n3.雙人房/300元\n\n4.電競雙人房/400元\n\n5.豪華單間/330元\n\n6.豪華雙人房/450元\n\n7.總統(tǒng)套房/20,000元\n"<<endl;
	cin>>room_kind;
	cout<<"請輸入預定天數"<<endl;
	cin>>day;
	customer[i]->set_day(day);
	switch(room_kind) {
			int n;
		case 1:
			cout<<"住房費用總共為: "<<day * 250<<"元"<<endl;
			for(n=0; n<20; n++) {								//從第一個級別的房間中查找一個空閑的房間
				if(room[n].state==0) {							//state=0表示該住房沒有被預定的
					cout<<"預定成功   房間號碼為: "<<room[n].number<<endl;
					room[n].state=1;
					customer[i]->set_room_number(room[n].number);
					break;
				}
			}
			break;
		case 2:
			cout<<"住房費用總共為: "<<day * 270<<" 元"<<endl;
			for(n=20; n<40; n++) {
				if(room[n].state==0) {
					cout<<"預定成功   房間號碼為: "<<room[n].number<<endl;
					room[n].state=1;
					customer[i]->set_room_number(room[n].number);
					break;
				}
			}
			break;
		case 3: {
			cout<<"住房費用總共為: "<<day*300<<" 元"<<endl;
			for(n=40; n<60; n++) {
				if(room[n].state==0) {
					cout<<"預訂成功   房間號碼為: "<<room[n].number<<endl;
					room[n].state=1;
					customer[i]->set_room_number(room[n].number);
					break;
				}
			}
			break;
		}
		case 4: {
			cout<<"住房費用總共為: "<<day*400<<" 元"<<endl;
			for(n=60; n<80; n++) {
				if(room[n].state==0) {
					cout<<"預訂成功   房間號碼為: "<<room[n].number<<endl;
					room[n].state=1;
					customer[i]->set_room_number(room[n].number);
					break;
				}
			}
			break;
		}
		case 5: {
			cout<<"住房費用總共為: "<<day*330<<" 元"<<endl;
			for(n=80; n<100; n++) {
				if(room[n].state==0) {
					cout<<"預訂成功   房間號碼為: "<<room[n].number<<endl;
					room[n].state=1;
					customer[i]->set_room_number(room[n].number);
					break;
				}
			}
			break;
		}
		case 6: {
			cout<<"住房費用總共為: "<<day*450<<" 元"<<endl;
			for(n=100; n<120; n++) {
				if(room[n].state==0) {
					cout<<"預訂成功   房間號碼為: "<<room[n].number<<endl;
					room[n].state=1;
					customer[i]->set_room_number(room[n].number);
					break;
				}
			}
			break;
		}
		case 7: {
			cout<<"住房費用總共為: "<<day*20000<<" 元"<<endl;
			for(n=120; n<140; n++) {
				if(room[n].state==0) {
					cout<<"預訂成功   房間號碼為: "<<room[n].number<<endl;
					room[n].state=1;
					customer[i]->set_room_number(room[n].number);
					break;
				}
			}
			break;
		}
		default:
			cout<<"選擇有誤"<<endl;
			break;
	}
	i++;  //住房的顧客數加1
}
//入住
void function::go_in() {
	char name1[10],id1[19];
	int q,prepaid;
	cout<<"該顧客是否已訂房 (1. 已訂   2. 沒訂) "<<endl;
	cin>>q;
	if(q==1) {
		cout<<"請輸入顧客的姓名:"<<endl;
		cin>>name1;
		cout<<"請輸入顧客的身份證號碼:"<<endl;
		cin>>id1;
		void color(int code); //聲明函數, 否則報錯color() was not declared
		void SetPos(int x,int y);
        SetPos(13, 15);
		color(1212);//更改字體顏色,下同
		cout<<endl<<endl<<endl<<endl<<endl<<"這里有個功能不是很完善,如果顧客輸入錯誤的姓名或者身份證號碼,會死機"<<endl<<endl<<endl;
		//i:顧客人數
		for(int j=0; j<=i; j++) {
			if((strcmp(customer[j]->get_name(),name1)==0)&&(strcmp(customer[j]->get_ID(),id1)==0)) {
				int num=customer[j]->get_room_number();
				color(9);
				cout<<"**顧客**  "<<name1<<"**  入住      房間號碼為: **"<<num<<"**"<<endl<<endl;
				switch(num/100) {
					case 6:
						prepaid=customer[j]->get_day()*100;
						customer[j]->set_prepaid(prepaid);
						cout<<"請收費用 "<<prepaid<<"元"<<endl;
						room[num%100-1].state=2;                  //修改房間狀態(tài)為入住狀態(tài)
						break;
					case 7:
						prepaid=customer[j]->get_day()*200;
						customer[j]->set_prepaid(prepaid);
						cout<<"請收費用 "<<prepaid<<"元"<<endl;
						room[19+num%100].state=2;
						break;
					case 8:
						prepaid=customer[j]->get_day()*300;
						customer[j]->set_prepaid(prepaid);
						cout<<"請收費用 "<<prepaid<<"元"<<endl;
						room[39+num%100].state=2;
						break;
				}
				break;
			}
		}
	} else {
		customer[i]=new Customer;
		int roomkind;
		int day;
		cout<<"請輸入要預定的房間:"<<endl;
		cout<<"1.單間/250元\n\n2.電腦單間/270元\n\n3.雙人房/300元\n\n4.電競雙人房/400元\n\n5.豪華單間/330元\n\n6.豪華雙人房/450元\n\n7.總統(tǒng)套房/20,000元\n"<<endl;
		cin>>roomkind;
		cout<<"請輸入住宿天數:"<<endl;
		cin>>day;
		customer[i]->set_day(day);
		switch(roomkind) {
				int n;
			case 1:
				prepaid=day*250;
				customer[i]->set_prepaid(prepaid);
				cout<<"請收費用 "<<prepaid<<"元"<<endl;
				for(n=0; n<20; n++) {
					if(room[n].state==0) {
						cout<<"入住房間號碼為: "<<room[n].number<<endl;
						room[n].state=2;
						customer[i]->set_room_number(room[n].number);
						break;
					}
				}
				break;
			case 2:
				prepaid=day*270;
				customer[i]->set_prepaid(prepaid);
				cout<<"請收費用 "<<prepaid<<"元"<<endl;
				for(n=20; n<40; n++) {
					if(room[n].state==0) {
						cout<<"入住房間號為: "<<room[n].number<<endl;
						room[n].state=2;
						customer[i]->set_room_number(room[n].number);
						break;
					}
				}
				break;
			case 3:
				prepaid=day*330;
				customer[i]->set_prepaid(prepaid);
				cout<<"請收費用 "<<prepaid<<"元"<<endl;
				for(n=40; n<60; n++) {
					if(room[n].state==0) {
						cout<<"入住房間號為: "<<room[n].number<<endl;
						room[n].state=2;
						customer[i]->set_room_number(room[n].number);
						break;
					}
				}
				break;
			case 4:
				prepaid=day*400;
				customer[i]->set_prepaid(prepaid);
				cout<<"請收費用 "<<prepaid<<"元"<<endl;
				for(n=60; n<80; n++) {
					if(room[n].state==0) {
						cout<<"入住房間號碼為: "<<room[n].number<<endl;
						room[n].state=2;
						customer[i]->set_room_number(room[n].number);
						break;
					}
				}
				break;
			case 5:
				prepaid=day*330;
				customer[i]->set_prepaid(prepaid);
				cout<<"請收費用 "<<prepaid<<"元"<<endl;
				for(n=80; n<100; n++) {
					if(room[n].state==0) {
						cout<<"入住房間號碼為: "<<room[n].number<<endl;
						room[n].state=2;
						customer[i]->set_room_number(room[n].number);
						break;
					}
				}
				break;
			case 6:
				prepaid=day*450;
				customer[i]->set_prepaid(prepaid);
				cout<<"請收費用 "<<prepaid<<"元"<<endl;
				for(n=100; n<120; n++) {
					if(room[n].state==0) {
						cout<<"入住房間號碼為: "<<room[n].number<<endl;
						room[n].state=2;
						customer[i]->set_room_number(room[n].number);
						break;
					}
				}
				break;
			case 7:
				prepaid=day*20000;
				customer[i]->set_prepaid(prepaid);
				cout<<"請收費用 "<<prepaid<<"元"<<endl;
				for(n=120; n<140; n++) {
					if(room[n].state==0) {
						cout<<"入住房間號碼為: "<<room[n].number<<endl;
						room[n].state=2;
						customer[i]->set_room_number(room[n].number);
						break;
					}
				}
				break;
		}
		i++;
	}
}
//退房
void function::go_out() {
	char name2[10],id2[19]; //定義姓名和身份證號碼數組
	int room_number; //房間號
	int day;//實際住房天數
	cout<<"請輸入要退房的顧客姓名和身份證號碼:"<<endl;
	cin>>name2; //輸入姓名
	cin>>id2; //輸入身份證號碼
	cout<<"請輸入該顧客實際所住天數:"<<endl;
	int day2;
	cin>>day2; //輸入實際住房天數
	int j;
	for(j=0; j<i; j++) { //遍歷記錄顧客信息的數組
		if((strcmp(customer[j]->get_name(),name2)==0)&&(strcmp(customer[j]->get_ID(),id2)==0)) {
			room_number=customer[j]->get_room_number(); //獲取房間號
			int w;
			w=room_number/100; //獲取房間類型
			int day1;
			day1=customer[j]->get_day(); //獲取預定住房時間
			day=day1-day2;
			switch(w) {
				case 1:
					cout<<"顧客的房間號是"<<room_number<<" :為單人間,每天250元"<<endl;
					cout<<"該顧客預付了房費 "<<customer[j]->get_prepaid()<<"元, 實際消費 "<<day2*250<<"元"<<endl;
					cout<<endl;
					if(day>0)
						cout<<"請退給該顧客 "<<day*250<<" 元"<<endl;
					if(day<0)
						cout<<"請補收該顧客住房費 "<<-day*250<<" 元"<<endl;
					break;
				case 2:
					cout<<"顧客的房間號是"<<room_number<<" :為雙人間,每天270元"<<endl;
					cout<<"該顧客預付了房費 "<<customer[j]->get_prepaid()<<"元, 實際消費 "<<day2*270<<"元"<<endl;
					cout<<endl;
					if(day>0)
						cout<<"請退給該顧客 "<<day*270<<" 元"<<endl;
					if(day<0)
						cout<<"請補收該顧客住房費 "<<-day*270<<" 元"<<endl;
					break;
				case 3:
					cout<<"顧客的房間號是"<<room_number<<"   :為標準間,每天330元"<<endl;
					cout<<"該顧客預付了房費 "<<customer[j]->get_prepaid()<<"元, 實際消費 "<<day2*330<<"元"<<endl;
					cout<<endl;
					if(day>0)
						cout<<"請退給該顧客 "<<day*330<<" 元"<<endl;
					if(day<0)
						cout<<"請補收該顧客住房費 "<<-day*330<<" 元"<<endl;
					break;
				case 4:
					cout<<"顧客的房間號是"<<room_number<<" :為單人間,每天400元"<<endl;
					cout<<"該顧客預付了房費 "<<customer[j]->get_prepaid()<<"元, 實際消費 "<<day2*400<<"元"<<endl;
					cout<<endl;
					if(day>0)
						cout<<"請退給該顧客 "<<day*400<<" 元"<<endl;
					if(day<0)
						cout<<"請補收該顧客住房費 "<<-day*400<<" 元"<<endl;
					break;
				case 5:
					cout<<"顧客的房間號是"<<room_number<<" :為雙人間,每天330元"<<endl;
					cout<<"該顧客預付了房費 "<<customer[j]->get_prepaid()<<"元, 實際消費 "<<day2*330<<"元"<<endl;
					cout<<endl;
					if(day>0)
						cout<<"請退給該顧客 "<<day*330<<" 元"<<endl;
					if(day<0)
						cout<<"請補收該顧客住房費 "<<-day*330<<" 元"<<endl;
					break;
				case 6:
					cout<<"顧客的房間號是"<<room_number<<"   :為標準間,每天450元"<<endl;
					cout<<"該顧客預付了房費 "<<customer[j]->get_prepaid()<<"元, 實際消費 "<<day2*450<<"元"<<endl;
					cout<<endl;
					if(day>0)
						cout<<"請退給該顧客 "<<day*450<<" 元"<<endl;
					if(day<0)
						cout<<"請補收該顧客住房費 "<<-day*450<<" 元"<<endl;
					break;
				case 7:
					cout<<"顧客的房間號是"<<room_number<<"   :為標準間,每天2000元"<<endl;
					cout<<"該顧客預付了房費 "<<customer[j]->get_prepaid()<<"元, 實際消費 "<<day2*2000<<"元"<<endl;
					cout<<endl;
					if(day>0)
						cout<<"請退給該顧客 "<<day*2000<<" 元"<<endl;
					if(day<0)
						cout<<"請補收該顧客住房費 "<<-day*2000<<" 元"<<endl;
					break;
			}
			cout<<endl;
			cout<<"確認退房,請按1: "<<endl;
			char v;
			cin>>v;
			if(v=='1') {
				for(int k=0; k<140; k++) {
					if(room[k].number==customer[j]->get_room_number())
						room[k].state=0;
				}
				i--;
				for(; j<i; j++) {
					customer[j]=customer[j+1];
				}
				delete customer[i];
				cout<<"歡迎下次一起睡覺!"<<endl;
			}
		}
		else
		{
			cout<<"無此顧客信息"<<endl;
			break;
		}
	}
}
//查詢
void function::inquire() {
	char option;
	cout<<"1.房間信息查詢, 2.顧客信息查詢: "<<endl;
	cin>>option; //輸入選項
	if(option=='1') { //查詢房間信息
		int j;
		int k=0;
		cout<<endl;
		cout<<"空房間:"<<endl; //輸出空房間信息
		for(j=0; j<140; j++) {
			if(room[j].state==0) { //未預定
				if(k%10==0) cout<<endl;//一行十個,方便查看
				cout<<room[j].number<<'\t'; //輸出房間號
				k++;
			}
		}
		cout<<endl;
		cout<<endl;
		k=0;
		cout<<"已預訂房間:"<<endl;
		for(j=0; j<140; j++) {
			if(room[j].state==1) { //已預定
				if(k%10==0) cout<<endl;
				cout<<room[j].number<<'\t';
				k++;
			}
		}
		k=0;
		cout<<endl;
		cout<<endl;
		cout<<"已入住房間:"<<endl;
		for(j=0; j<140; j++) {
			if(room[j].state==2) { //已入住
				if(k%10==0) cout<<endl;
				cout<<room[j].number<<'\t';
				k++;
			}
		}
		cout<<endl;
		cout<<endl;
	} else if(option=='2') {
		cout<<"1.按姓名查詢, 2.按身份證查詢: "<<endl;
		char option;
		cin>>option; //輸入選項
		if(option=='1') {
			char name3[10];
			cout<<"請輸入顧客的姓名: ";
			cin>>name3;
			for(int j=0; j<=i; j++) {
				if(strcmp(customer[j]->get_name(),name3)==0) { //找到顧客信息
					cout<<name3<<"的信息如下:"<<endl;
					cout<<"\t"<<"房間號: "<<customer[j]->get_room_number()<<endl;
					cout<<"\t"<<"預付費用: "<<customer[j]->get_prepaid()<<endl;
					break;
				}
				else //未找到該顧客
				{
					cout<<"無此顧客信息"<<endl;
					break;
				}
			}
		}
		if(option=='2') { //按身份證查詢
			char id3[10];
			cout<<"請輸入顧客的身份證號碼: "<<endl;
			cin>>id3;
			for(int j=0; j<=i; j++) {
				if(strcmp(customer[j]->get_ID(),id3)==0) {
					cout<<customer[j]->get_name()<<"的房間信息:"<<endl;
					cout<<"\t"<<"房間號: "<<customer[j]->get_room_number()<<endl;
					cout<<"\t"<<"預付房費: "<<customer[j]->get_prepaid()<<endl;
					break;
				}
				else
				{
					cout<<"無此顧客信息"<<endl;
					break;
				}
			}
		}
	}
}
//初始化
void function::initial_room() {
	int j;
	int k=101;
	for(j=0; j<20; j++) {
		room[j].number=k++;
		room[j].rad=1;
		room[j].price=250;
		room[j].state=0; //前20個房間設置為101~120
	}
	k=201;
	for(j=20; j<40; j++) {
		room[j].number=k++;
		room[j].rad=2;
		room[j].price=270;
		room[j].state=0;
	}
	k=301;
	for(j=40; j<60; j++) {
		room[j].number=k++;
		room[j].rad=3;
		room[j].price=330;
		room[j].state=0;
	}
	k=401;
	for(j=60; j<80; j++) {
		room[j].number=k++;
		room[j].rad=4;
		room[j].price=400;
		room[j].state=0; //前20個房間設置為101~120
	}
	k=501;
	for(j=80; j<100; j++) {
		room[j].number=k++;
		room[j].rad=5;
		room[j].price=330;
		room[j].state=0;
	}
	k=601;
	for(j=100; j<120; j++) {
		room[j].number=k++;
		room[j].rad=6;
		room[j].price=450;
		room[j].state=0;
	}
	k=701;
	for(j=120; j<140; j++) {
		room[j].number=k++;
		room[j].rad=7;
		room[j].price=20000;
		room[j].state=0;
	}
}
//不操作的話,就返回
void function::out()
{
	return;
}

int color(int c)//顏色函數,更改字體顏色
{
    //根據傳入的參數c設置字體顏色
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),c);
	return 0;
}

void SetPos(int x,int y)//定位函數,定位在終端中的位置
{
	COORD pos={x,y};
	HANDLE hout=GetStdHandle(STD_OUTPUT_HANDLE);//獲取句柄
	SetConsoleCursorPosition(hout,pos);
}

void welcome()//歡迎界面
{
	SetPos(22,9);//定位,下同
	color(3);//更改字體顏色,下同
	printf("風里雨里, 麻繩等你");
	SetPos(35,12);
	color(4);
	printf("入住一晚只要250¥");
	SetPos(32,14);
	color(7);
	printf("命重要, 先睡覺吧");
	SetPos(58,18);
	color(10);
	printf("雜牌1號宿舍管理系統(tǒng)\n");
	SetPos(55,8);
	color(9);
	printf("求求你別卷了(T_T)");
	SetPos(55,25);
	system("pause");//DOS命令,按任意鍵繼續(xù)
}

int main() {
    welcome();
    system("cls");
	char choice='1';
	function m;
	m.initial_room();	//初始化60個房間
	m.welcome();
			//驗證
	while(choice=='1') {
		m.menu();//功能
		cout<<endl;
		cout<<"1. 繼續(xù)操作   2. 退出系統(tǒng) "<<endl;
		cin>>choice;
		cout<<endl;
	}
}

??C++學習路線

(文章中間有這部分內容,為了方便檢索,復制到最后)

由于我打算花一年時間專心學C++,以下是關于C++學習的一些博客

1,小白 C++ 入門并發(fā)瘋學習路線(書單) - 掘金 (juejin.cn)

2,(2條消息) C++從入門到進階的系列書籍推薦_c++書籍推薦_dvlinker的博客-CSDN博客

3,(2條消息) C/C++學習路線總結與分享_dvlinker的博客-CSDN博客?

4,C++學習路線 (github.com)

5,沒人帶怎么辦,零基礎C++入門自學指引 - 知乎 (zhihu.com)

更推薦一專多能,以下是做一個大的項目涉及到的工具和流程??作為參考

完成一個項目為什么需要這么多技術點,項目是怎么一步步變復雜的,練手項目和真實項目區(qū)別為什么這么大_嗶哩嗶哩_bilibili

到了這里,關于大一下暑期計劃 + 2023字節(jié)青訓營預告直播的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【字節(jié)跳動青訓營】后端筆記整理-2 | Go實踐記錄:猜謎游戲,在線詞典,Socks5代理服務器

    【字節(jié)跳動青訓營】后端筆記整理-2 | Go實踐記錄:猜謎游戲,在線詞典,Socks5代理服務器

    **本人是第六屆字節(jié)跳動青訓營(后端組)的成員。本文由博主本人整理自該營的日常學習實踐,首發(fā)于稀土掘金:??Go實踐記錄:猜謎游戲,在線詞典,Socks5代理服務器 | 青訓營 我的go開發(fā)環(huán)境: *本地IDE:GoLand 2023.1.2 *go:1.20.6 猜數字游戲也算是入門一門編程語言必寫的程

    2024年02月13日
    瀏覽(35)
  • 網站常見安全漏洞 | 青訓營

    網站常見安全漏洞 | 青訓營

    Powered by: NEFU AB-IN 網站常見安全漏洞-網站基本組成及漏洞定義 網站常見安全漏洞-服務端漏洞介紹 網站常見安全漏洞-客戶端漏洞介紹 網站常見安全漏洞-總結及強調網絡安全法 網關 在計算機網絡中指的是連接兩個不同網絡或協議的設備或系統(tǒng)。它的作用是將傳入的數據包從

    2024年02月10日
    瀏覽(16)
  • HTTP 框架修煉之道 | 青訓營

    HTTP 框架修煉之道 | 青訓營

    Powered by: NEFU AB-IN 走進 HTTP 協議 HTTP 框架的設計與實現 性能修煉之道與企業(yè)實踐 前后端通過http通信,負責對http請求解析,根據路由選擇對應邏輯 超文本 通常包括文本、圖像、音頻、視頻等多種媒體類型,這些內容通過鏈接與其他相關信息相互連接。最著名的超文本系統(tǒng)之

    2024年02月11日
    瀏覽(39)
  • Go 語言的實戰(zhàn)案例 | 青訓營

    Go 語言的實戰(zhàn)案例 | 青訓營

    Powered by: NEFU AB-IN GO語言工程實踐課后作業(yè):實現思路、代碼以及路徑記錄 在計算機編程領域,Go 語言(也稱為 Golang)正逐漸成為越來越受歡迎的選擇。它是一門由 Google 開發(fā)的開源編程語言,以其簡潔性、高效性和強大的并發(fā)支持而聞名。Go 語言的設計目標是提供一種簡單

    2024年02月11日
    瀏覽(27)
  • Go語言上手(三) | 青訓營筆記

    高質量: 各種邊界條件考慮完備 異常情況處理,穩(wěn)定性 易讀易維護 編程原則 簡單性 可讀性 生產力 例外:實現接口的方法不需要注釋 使用 gofmt (官方工具)自動格式化 代碼作用(適合公共符號) 代碼如何實現 (適合注釋實現過程) 代碼實現的原因(適合解釋代碼的外部

    2023年04月23日
    瀏覽(24)
  • Go 語言進階與依賴管理 | 青訓營

    Go 語言進階與依賴管理 | 青訓營

    Powered by: NEFU AB-IN GO語言工程實踐課后作業(yè):實現思路、代碼以及路徑記錄 Go可以充分發(fā)揮多核優(yōu)勢,高效運行 Goroutine 是Go語言中的 協程 ,一種 輕量級的線程 ,由Go語言的運行時管理,可以實現高并發(fā)的程序設計,由于輕量級的特性,goroutine可以創(chuàng)建成千上萬個,而且消耗

    2024年02月11日
    瀏覽(21)
  • 走進 Go 語言基礎語法 | 青訓營 (1)

    走進 Go 語言基礎語法 | 青訓營 (1)

    Powered by: NEFU AB-IN Go 語言入門指南:基礎語法和常用特性解析 go.mod 這個文件里記錄了當前項目里所有依賴包的 git 倉庫地址以及對應的 版本號 ,來解決了包依賴管理的問題,后續(xù)在構建編譯時,就會根據對應的版本號去拉取依賴包。 注意, 如果當前的項目是要給外部使用的

    2024年02月14日
    瀏覽(29)
  • Go語言實踐案例之猜謎游戲| 青訓營

    目錄 一、程序要實現效果: 二、思路分析: 三、具體代碼 四、可能存在的疑問 1.程序首先生成一個0-100的隨機整數。 2.提示玩家進行猜測。 3.每次玩家需要輸入一個數字,程序將會告訴玩家輸入的數字與生成的數字的大小關系,并且讓玩家再次猜測。 4.如果猜對了,則會告

    2024年02月09日
    瀏覽(18)
  • Go 語言的實戰(zhàn)案例 SOCKS5 代理 | 青訓營

    Go 語言的實戰(zhàn)案例 SOCKS5 代理 | 青訓營

    Powered by: NEFU AB-IN GO語言工程實踐課后作業(yè):實現思路、代碼以及路徑記錄 代理是指在計算機網絡中,代理服務器充當客戶端和目標服務器之間的中介。它接收來自客戶端的請求,然后將請求轉發(fā)給目標服務器,再將目標服務器的響應返回給客戶端。 用途 : 匿名瀏覽 :Soc

    2024年02月10日
    瀏覽(47)
  • Go 語言入門指南: 環(huán)境搭建、基礎語法和常用特性解析 | 青訓營

    Go 語言入門指南: 環(huán)境搭建、基礎語法和常用特性解析 | 青訓營

    Go 是一個開源的編程語言,它能讓構造簡單、可靠且高效的軟件變得容易。 Go是從2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持開發(fā),后來還加入了Ian Lance Taylor, Russ Cox等人,并最終于2009年11月開源,在2012年早些時候發(fā)布了Go 1穩(wěn)定版本?,F在Go的開發(fā)已經是完全開放的,并且

    2024年02月14日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包