<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本文範例為大家分享了C++實現學生資訊管理系統的具體程式碼,供大家參考,具體內容如下
Microsoft Visual Studio 2019
Fileoperate.h
Interface.h
Student.h
Fileoperate.cpp
Interface.cpp
Main.cpp
Student.cpp
Fileoperate.h
#ifndef STUDENT_H #define STUDENT_H #include<iostream> #include<string> #include<windows.h> //呼叫API using namespace std; class Student { private: int No; //序號 string Num; //學號 string Name; //姓名 string Birthday; //出生日期 string Sex; //性別 string Political_appearance; //政治面貌 string Phone_number; //手機號碼 string Address; //家庭地址 public: void SetNo(int i) { No = i;} //設定學號 void Setinformation(string,string,string,string,string,string,string); // 修改函數 void SetNum(); //修改學號 void SetName() {cin>>Name;} //修改姓名 void SetBirthday(); //修改生日 void SetSex() {cin>>Sex;} //修改性別 void SetPolitical_appearance() {cin>>Political_appearance;} //修改政治面貌 void SetPhone_number(); //修改電話號碼 void SetAddress() {cin>>Address ;} //修改家庭地址 void Numshow(int,int); //學號高亮顯示 void Addressshow(int,int); //家庭地址高亮顯示 void Show(); //普通顯示 string GetNum() { return Num;} //獲取學號 string GetName() { return Name;} //獲取姓名 string GetBirthday(){ return Birthday;} //獲取生日 string GetSex() { return Sex;} //獲取性別 string GetPolitical_appearance() { return Political_appearance;}//獲取政治面貌 string GetPhone_number() { return Phone_number;} //獲取電話號碼 string GetAddress() { return Address;} //獲取家庭地址 };
Interface.h
#include <string> #include <iostream> #include <Windows.h> //Sleep函數,system using namespace std; class Interface { public: void Startface(); //啟動介面 void Loadface(); //主介面 void Subloadface(); //子介面 void Subloadface2(); //子介面2 char Inputcharface(); //提示匯入檔案介面 int Operateface(); //操作輸入介面 int Operateface2(); //操作輸入介面2 int Addface(); //增加資訊介面 int Delface(); //刪除資訊介面 int Setface(); //修改資訊介面 int Searchface(); //搜尋資訊介面 void Search_afterface(); //搜尋後資訊顯示介面 void Mark(); //標籤 };
Student.h
#ifndef STUDENT_H #define STUDENT_H #include<iostream> #include<string> #include<windows.h> //呼叫API using namespace std; class Student { private: int No; //序號 string Num; //學號 string Name; //姓名 string Birthday; //出生日期 string Sex; //性別 string Political_appearance; //政治面貌 string Phone_number; //手機號碼 string Address; //家庭地址 public: void SetNo(int i) { No = i;} //設定學號 void Setinformation(string,string,string,string,string,string,string); // 修改函數 void SetNum(); //修改學號 void SetName() {cin>>Name;} //修改姓名 void SetBirthday(); //修改生日 void SetSex() {cin>>Sex;} //修改性別 void SetPolitical_appearance() {cin>>Political_appearance;} //修改政治面貌 void SetPhone_number(); //修改電話號碼 void SetAddress() {cin>>Address ;} //修改家庭地址 void Numshow(int,int); //學號高亮顯示 void Addressshow(int,int); //家庭地址高亮顯示 void Show(); //普通顯示 string GetNum() { return Num;} //獲取學號 string GetName() { return Name;} //獲取姓名 string GetBirthday(){ return Birthday;} //獲取生日 string GetSex() { return Sex;} //獲取性別 string GetPolitical_appearance() { return Political_appearance;}//獲取政治面貌 string GetPhone_number() { return Phone_number;} //獲取電話號碼 string GetAddress() { return Address;} //獲取家庭地址 }; #endif
```cpp
Fileoperate.cpp
#include "Fileoperate.h" int Fileoperate::Judge() { if( file.fail() ) { return 0; } else { return 1; } } void Fileoperate::open_in_file() { file.open(filename, ios::in); if( !Judge() ) { exit(1); } } void Fileoperate::open_out_file() { file.open(filename, ios::out); if( !Judge() ) { exit(1); } } int Fileoperate::Filecin() { string Num1; //學號 string Name1; //姓名 string Birthday1; //出生日期 string Sex1; //性別 string Political_appearance1; //政治面貌 string Phone_number1; //手機號碼 string Address1; //家庭地址 if(file.eof()) //檔案結束,返回0 { return 0; } file>>Num1>>Name1>>Birthday1>>Sex1>>Political_appearance1>>Phone_number1>>Address1; stu.Setinformation(Num1,Name1,Birthday1,Sex1,Political_appearance1,Phone_number1,Address1); return 1; } int Fileoperate::Filecout(Student s) { file << s.GetNum() << endl << s.GetName() << endl << s.GetBirthday() << endl << s.GetSex() << endl << s.GetPolitical_appearance() << endl << s.GetPhone_number() << endl << s.GetAddress() <<endl<<endl; return 1; } void Fileoperate::Closefile() { file.close(); }
Interface.cpp
#include <iostream> #include "Interface.h" using namespace std; void Interface::Startface() { cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl <<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl; cout<<" 啟動中..."; cout<<endl; for(int i = 0;i<80;i++) { Sleep(8); cout<<">"; } system("cls"); } void Interface::Loadface() { cout<<endl<<endl; cout<<" 學 生 信 息 管 理 系 統 "<<endl<<endl; cout<<" ##################################################################"<<endl; cout<<" # #"<<endl; cout<<" # 1.增加學生記錄 # 2.刪除學生記錄 # 3.修改學生記錄 #"<<endl; cout<<" # 4.找查學生記錄 # 5.顯示學生記錄 # 6.退出 #"<<endl; cout<<" # #"<<endl; cout<<" ##################################################################"<<endl; cout<<endl; } void Interface::Subloadface2() { cout<<endl; cout<<" =======================+++操 - 作 - 提 - 示+++===================="<<endl <<" | 1.增加學生記錄 | 6.退出 |"<<endl <<" =================================================================="<<endl; cout<<endl; } void Interface::Subloadface() { cout<<endl<<endl; cout<<" =======================+++操 - 作 - 提 - 示+++===================="<<endl <<" | 1.增加學生記錄 | 2.刪除學生記錄 | 3.修改學生記錄 |"<<endl <<" | 4.找查學生記錄 | 5.顯示學生記錄 | 6.退出 |"<<endl <<" =================================================================="<<endl; cout<<endl; } char Interface::Inputcharface() { char op_char; cout<<"需要匯入檔案嗎?(Y/N):"; cin>>op_char; return op_char; } int Interface::Operateface() { string op_num; int flag,nflag = 0 ; do { flag = 0; if(nflag) { cout<<"超出範圍..Again:"; cin>>op_num; } else { cout<<"輸入你的操作:"; cin>>op_num; } if (op_num.length() != 1) { flag ++; nflag ++;} if(op_num[0] >'6'||op_num[0]<'0') { flag ++; nflag ++;} }while(flag); return op_num[0]-'0'; } int Interface::Operateface2() { string op_num; int flag,nflag = 0 ; do { flag = 0; if(nflag) { cout<<"超出範圍..Again:"; cin>>op_num; } else { cout<<"輸入你的操作:"; cin>>op_num; } if (op_num.length() != 1) { flag ++; nflag ++;} if(op_num[0] != '6'&&op_num[0] != '1') { flag ++; nflag ++;} }while(flag); return op_num[0]-'0'; } int Interface::Addface() { int num; cout<<"請輸入要新增學生的人數(若退出,輸入0):"; cin>>num; return num; } int Interface::Delface() { int no; cout<<"請輸入登出學生的序號(若退出,輸入0):"; cin>>no; return no; } int Interface::Setface() { int no; cout<<"輸入要修改的學生序號(若退出,輸入0):"; cin>>no; if(no) { cout<<"輸入你要改的學生的資訊代號"<<endl <<"(1.學號,2.姓名,3.出生日期,4.性別,5.政治面貌,6手機號碼,7.家庭地址)"<<endl <<"如果你要全部修改,則輸入0..."<<endl; cout<<"程式碼:"; } return no; } int Interface::Searchface() { int no; cout<<"輸入搜尋的型別"<<endl<<"1.學號,2.姓名,3.性別,4.政治面貌,5.家庭地址"<<endl; cout<<"型別(若退出,輸入0):"; cin>>no; return no; } void Interface::Search_afterface() //搜尋結果 { int i; cout<<endl; for(i = 0;i<36;i++) cout<<"~"; cout<<"搜尋結果"; for(i = 0;i<36;i++) cout<<"~"; }
Student.cpp
#include <iostream> #include <cstdlib> #include <string> #include <algorithm> //sort函數 #include "Interface.h" //介面類 #include "Student.h" //學生類 #include "Fileoperate.h" //文字類 using namespace std; const int student_num = 120 + 1; //人數上限 int No = 1; //序號 int Total = 0; //總人數 Interface face; //介面 Fileoperate Infile; //讀入檔案類物件 Fileoperate Outfile; //讀出檔案類物件 Student stu[student_num]; //學生類物件陣列 int switchfun(int); //功能函數選擇 void Allshow(); //顯示所有學生資訊 void Searchshow(int [],int,int,int,int); //顯示搜尋資訊 void InFile(); //讀入檔案函數 void OutFile(); //讀出檔案函數 int main() { int op_num; //操作序數 char op_char; //選擇數 char op_char2; //是否儲存 face.Startface(); //啟動介面 face.Loadface(); //登陸介面 int flag ,nflag = 0; //輸入格式判斷標記 do { flag = 0; if(nflag) cout<<"超出範圍...Again:"<<endl; op_char = face.Inputcharface(); if(op_char !='Y'&&op_char !='y'&&op_char !='N'&&op_char !='n') { flag = 1; nflag = 1; } }while(flag); if (op_char == 'Y'||op_char =='y') //選擇是,讀入檔案 { InFile(); //讀入檔案 char Sub_op_char; nflag = 0; do { flag = 0; cout<<"已成功匯入, 要顯示資料嗎?(Y/N):"; cin>>Sub_op_char; if(Sub_op_char !='Y'&&Sub_op_char !='y'&&Sub_op_char !='N'&&Sub_op_char !='n') { flag = 1; } }while(flag); if (Sub_op_char == 'Y'||Sub_op_char =='y') //是否瀏覽已讀入檔案的資訊 { Allshow(); //顯示所有資訊 face.Subloadface(); } else { if (Sub_op_char == 'N' || Sub_op_char == 'n') cout<<endl;//不顯示資訊 } } else { if(op_char == 'N'||op_char =='n') face.Subloadface2(); } while(1) //程式執行過程 { if(Total != 0) op_num = face.Operateface(); //獲取運算元 else op_num = face.Operateface2(); //獲取運算元 if(op_num == 6) break; //輸入6,跳出 switchfun(op_num); //功能選擇 if(Total != 0 ) face.Subloadface(); else { cout<<endl; cout<<"學生數為零!"; face.Subloadface2(); } } cout<<"要儲存資料嗎?(Y/N):"; cin>>op_char2; if(op_char2 == 'Y'||op_char2 == 'y') { cout<<endl<<"已儲存!"<<endl; OutFile(); //讀出檔案 } system("pause"); return 0; } int switchfun(int op_num) { int i; int num; //新增介面運算元 string Num1; //學號 string Name1; //姓名 string Birthday1; //出生日期 string Sex1; //性別 string Political_appearance1; //政治面貌 string Phone_number1; //手機號碼 string Address1; if (op_num == 1) { num = face.Addface(); //獲取新增介面運算元 if(num == 0) { cout<<"已退出,任意鍵繼續..."; getchar(); getchar(); return 0;} for(i = 0;i<num;i++) { cout<<"輸入第"<<i+1<<"個學生資訊:n"; cout<<endl; cout<<"學號:"; cin>>Num1; cout<<"姓名:"; cin>>Name1; cout<<"出生日期:"; cin>>Birthday1; cout<<"性別:"; cin>>Sex1; cout<<"政治面貌:"; cin>>Political_appearance1; cout<<"手機號碼:"; cin>>Phone_number1; cout<<"家庭地址:"; cin>>Address1; cout<<endl; Total ++; stu[Total-1].SetNo(Total); //設定序號 stu[Total-1].Setinformation(Num1,Name1,Birthday1,Sex1,Political_appearance1, Phone_number1,Address1); } if(i == num) cout<<"新增完成!"<<endl; } else if(op_num == 2) { int no; //刪除介面運算元 no = face.Delface(); //獲取刪除介面運算元 if(no == 0) { cout<<"已退出,任意鍵繼續..."; getchar(); getchar(); return 0;} for (i = no;i<Total;i++) { stu[i].SetNo(i);stu[i-1] = stu[i];} cout<<endl<<"刪除該學生資訊成功!"<<endl; cout<<"任意鍵繼續..."; getchar();getchar(); Total --; } else if(op_num == 3) { int no; char info[128]; int a[14]; int k = 0; int flag = 0; no = face.Setface(); //獲取修改介面運算元 if(no == 0) { cout<<"已退出,按任意鍵繼續..."; getchar(); getchar(); return 0;} getchar(); gets_s(info); int l = strlen(info); i = 0; while(i<l) //字元輸入標準化 { if(info[i]>='0'&&info[i]<='9') a[k++] = info[i]-'0'; if(a[k-1]==0) { flag = 1; break;} i++; } sort(a,a+k); //排序 if(flag) //如果輸入零,修改全部資訊 { cout<<"學號:"; cin>>Num1; cout<<"姓名:"; cin>>Name1; cout<<"出生日期:"; cin>>Birthday1; cout<<"性別:"; cin>>Sex1; cout<<"政治面貌:"; cin>>Political_appearance1; cout<<"手機號碼:"; cin>>Phone_number1; cout<<"家庭地址:"; cin>>Address1; cout<<endl; stu[no-1].Setinformation(Num1,Name1,Birthday1,Sex1,Political_appearance1,Phone_number1,Address1); } else { for(i = 0;i<k;i++) { switch(a[i]) //修改部分資訊 { case 1: { cout<<"輸入學號:"; stu[no-1].SetNum(); break; } case 2: { cout<<"輸入姓名:"; stu[no-1].SetName(); break; } case 3: { cout<<"輸入出生日期:"; stu[no-1].SetBirthday(); break; } case 4: { cout<<"輸入性別:"; stu[no-1].SetSex(); break; } case 5: { cout<<"輸入政治面貌:"; stu[no-1].SetPolitical_appearance(); break; } case 6: { cout<<"輸入手機號碼:"; stu[no-1].SetPhone_number(); break; } case 7: { cout<<"輸入家庭地址:"; stu[no-1].SetAddress(); break; } } } } cout<<endl<<endl<<"已完成, 修改後:"<<endl; //輸出修改後資訊 for(i= 0;i<80;i++) cout<<"-"; stu[no-1].Show(); for(i= 0;i<80;i++) cout<<"-"; cout<<endl; cout<<"按任意鍵繼續..."; getchar();getchar(); } else if(op_num == 4) { int no; int Begin,End; //開始,結束位置 int num = 0; //符合搜尋條件的人數 string Ss; //臨時物件 no = face.Searchface(); //獲取搜尋介面運算元 if(no == 0) { cout<<"已退出,按任意鍵繼續..."; getchar(); getchar(); return 0;} int flag = 0; switch(no) { case 1: //按學號搜尋 { cout<<"輸入關鍵字:"; cin>>Num1; for( i = 0;i<Total;i++) { Ss = stu[i].GetNum(); Begin = Ss.find(Num1,0); if(Begin != string::npos) { End = Num1.length() + Begin; flag ++; if(flag == 1) face.Search_afterface(); stu[i].Numshow(Begin,End); num++; } } if(!flag) cout<<"沒此相關資訊!"<<endl; else { cout<<endl<<"共有"<<num<<"條相關資訊!"<<endl; num = 0; for(i = 0;i<80;i++) cout<<"~"; } break; } case 2: //按名字搜尋 { cout<<"輸入關鍵字:"; cin>>Name1; for( i = 0;i<Total;i++) { Ss = stu[i].GetName(); Begin = Ss.find(Name1,0); if(Begin != string::npos) { flag ++; if(flag == 1) face.Search_afterface(); stu[i].Show(); num++; } } if(!flag) cout<<"沒此相關資訊!"<<endl; else { cout<<endl<<"共有"<<num<<"條相關資訊!"<<endl; num = 0; for(i = 0;i<80;i++) cout<<"~"; } break; } case 3: //按性別搜尋 { cout<<"輸入關鍵字:"; cin>>Sex1; for( i = 0;i<Total;i++) { Ss = stu[i].GetSex(); Begin = Ss.find(Sex1,0); if(Begin != string::npos) { flag ++; if(flag == 1) face.Search_afterface(); stu[i].Show(); num++; } } if(!flag) cout<<"沒此相關資訊!"<<endl; else { cout<<endl<<"共有"<<num<<"條相關資訊!"<<endl; num = 0; for(i = 0;i<80;i++) cout<<"~"; } break; } case 4: //按政治面貌搜尋 { cout<<"輸入關鍵字:"; cin>>Political_appearance1; for( i = 0;i<Total;i++) { Ss = stu[i].GetPolitical_appearance(); Begin = Ss.find(Political_appearance1,0); if(Begin != string::npos) { flag ++; if(flag == 1) face.Search_afterface(); stu[i].Show(); num++; } } if(!flag) cout<<"沒此相關資訊!"<<endl; else { cout<<endl<<"共有"<<num<<"條相關資訊!"<<endl; num = 0; for(i = 0;i<80;i++) cout<<"~"; } break; } case 5: //按家庭地址搜尋 { cout<<"輸入關鍵字:"; cin>>Address1; for( i = 0;i<Total;i++) { Ss = stu[i].GetAddress(); Begin = Ss.find(Address1,0); if(Begin != string::npos) { End = Address1.length() + Begin; flag ++; if(flag == 1) face.Search_afterface(); stu[i].Addressshow(Begin,End); num++; } } if(!flag) cout<<"沒此相關資訊!"<<endl; else { cout<<endl<<"共有"<<num<<"條相關資訊!"<<endl; num = 0; for(i = 0;i<80;i++) cout<<"~"; } break; } } cout<<"任意鍵繼續..."; getchar();getchar(); } else if(op_num == 5) //顯示所有資訊 { Allshow(); } return 1; } void Allshow() { int i; cout<<endl; for(i = 0;i<36;i++) cout<<"~"; cout<<"顯示結果"; for(i = 0;i<36;i++) cout<<"~"; for(i = 0;i<Total;i++) stu[i].Show(); for(i = 0;i<80;i++) cout<<"~"; cout<<"繼續按任意鍵...."; getchar();getchar(); } void InFile() { int i; Infile.open_in_file(); int total = 0; while(Infile.Filecin()) //把檔案中的所有資料匯入學生物件中 { stu[total++] = Infile.Getstudent(); } Total = total -1 ; for (i = 0;i<Total;i++) stu[i].SetNo(i+1); Infile.Closefile(); } void OutFile() { int i; Outfile.open_out_file(); for(i = 0; i < Total; i++) //把學生物件中的資料讀入到檔案中 { Outfile.Filecout(stu[i]); } Outfile.Closefile(); }
main.cpp
#include "Student.h" #include <iostream> using namespace std; void Student::Setinformation(string num,string name,string birthday,string sex, string political_app,string phone_num,string address) { Num = num; Name = name; Birthday = birthday; Sex = sex; Political_appearance = political_app; Phone_number = phone_num; Address = address; } void Student::SetNum() { unsigned int i = 0; int flag,nflag = 0; string num; do { flag = 0; if (nflag) cout<<"格式錯誤..Again:"; cin>>num; for(int i = 0;i<num.length();i++) { if(num[i] > '9'||num[i] < '0') { flag = 1; nflag++; break; } } }while(flag); if(!flag) Num = num; } void Student::SetBirthday() { unsigned int i = 0; int flag,nflag = 0; string birthday; do { flag = 0; if (nflag) cout<<"格式錯誤..Again:"; cin>>birthday; for(int i = 0;i< birthday.length();i++) { if((birthday[i] > '9'||birthday[i] < '0')&&birthday[i]!='/') { flag = 1; nflag++; break; } } }while(flag); if(!flag) Birthday = birthday; } void Student::SetPhone_number() { int i = 0; int flag,nflag = 0; string phone_number; do { flag = 0; if (nflag) cout<<"格式錯誤..Again:"; cin>>phone_number; for(int i = 0;i<phone_number.length();i++) { if(phone_number[i] > '9'||phone_number[i] < '0') { flag = 1; nflag++; break; } } }while(flag); if(!flag) Phone_number = phone_number; } void Student::Numshow(int Begin,int End) { int i = 0; cout<<"序號:"<<No<<endl; cout<<"學號"; HANDLE ohandle = GetStdHandle(STD_OUTPUT_HANDLE); for(int i = 0;i<Begin;i++) cout<<Num[i]; SetConsoleTextAttribute(ohandle,BACKGROUND_INTENSITY); //背景高亮 for(i = Begin;i<End;i++) cout<<Num[i]; SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), //恢復預設系統顏色 FOREGROUND_RED| FOREGROUND_GREEN| FOREGROUND_BLUE); for(i = End;i<Num.length();i++) cout<<Num[i]; cout<<" " <<"姓名:"<<Name<<" " <<"出生日期:"<<Birthday<<" " <<"性別:"<<Sex<<" " <<"政治面貌:"<<Political_appearance<<endl <<"手機號碼:"<<Phone_number<<" "; cout<<endl<<endl; } void Student::Addressshow(int Begin,int End) { int i = 0; cout<<"序號:"<<No<<endl <<"學號"<<Num<<" " <<"姓名:"<<Name<<" " <<"出生日期:"<<Birthday<<" " <<"性別:"<<Sex<<" " <<"政治面貌:"<<Political_appearance<<endl <<"手機號碼:"<<Phone_number<<" "; HANDLE ohandle = GetStdHandle(STD_OUTPUT_HANDLE); for(int i = 0;i<Begin;i++) cout<<Address[i]; SetConsoleTextAttribute(ohandle,BACKGROUND_INTENSITY); //背景高亮 for(i = Begin;i<End;i++) cout<<Address[i]; SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), //恢復預設系統顏色 FOREGROUND_RED| FOREGROUND_GREEN| FOREGROUND_BLUE); for(i = End;i<Address.length();i++) cout<<Address[i]; cout<<endl<<endl; } void Student::Show() //普通方式顯示資訊 { cout<<"序號:"<<No<<endl <<"學號"<<Num<<" " <<"姓名:"<<Name<<" " <<"出生日期:"<<Birthday<<" " <<"性別:"<<Sex<<" " <<"政治面貌:"<<Political_appearance<<endl <<"手機號碼:"<<Phone_number<<" " <<"家庭地址:"<<Address<<endl<<endl; }
TXT檔案格式
學號 姓名 生日 性別 政治面貌 手機號 家庭住址
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45