<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本文範例為大家分享了C++實現學生檔案管理系統的具體程式碼,供大家參考,具體內容如下
1.為學生檔案管理人員編寫一個學生檔案管理系統 ,用選單選擇方式完成下列功能:
2.學生檔案資訊新增:包括學號、姓名、性別、出生日期、學院、專業、班級、身份證號、政治面貌、籍貫、家庭住址、電話等。
3.學生檔案資訊查詢:分別按學號、姓名、性別、學院、專業、班級、政治面貌、籍貫等進行查詢。
4.學生檔案資訊的修改、刪除:按姓名+學號進行學生檔案資訊的修改和刪除。
1.學生檔案管理系主要功能為:新增學生檔案資訊,如:學號,姓名,出生日期,學院,專業,班級,身份證號碼,籍貫,家庭地址,電話等資訊,並可以編輯學生檔案資訊,方便修改刪減,還有按照一定要求排序學生檔案。
2.本系統將建立一個學生檔案管理系統的類,新增一些學生檔案的屬性和行為,進行學生檔案資訊的輸入和輸出。
3.該檔案管理系統的修改和刪除功能,分別可以由姓名和學號先進行查詢,然後輸出要修改的學生資訊,然後系統會提供相應的提示,讓你選要修改的學生資訊中具體的資訊,如單獨修改學號或專業資訊等。本系統的插入和刪除功能,都運用了單連結串列易於刪除和查詢的功能特點。
4.系統具體操作功能如下,首先程式執行後,顯示選單功能列表。然後輸入者根據選單選項進行輸入操作,可以新增自己的個人資訊,修改資訊,查詢所要的資訊。然後檔案管理員可以在後期查詢所需學生資訊,進行輸出修改。
#include<iostream> #include <string> using namespace std; class Student { private: string number;//學號 string name;//名字 string grade;//班級 string sex;//性別 int telephone;//手機號碼 int identify;//身份證號碼 string major;//專業 string political;//政治面貌 string address;//家庭地址 string nation;//籍貫 public: Student* next;//next指向下一個學生,構成連結串列 Student() { next = NULL; } Student(string n, string g, string num, string s, int tp, int i, string m, string p,string na,string a) { name = n; grade = g; number = num; sex = s; telephone = tp; identify = i; major = m; political = p; nation = na; address = a; next = NULL; };//建構函式 string getname() { return name; }//名字 string getgrade() { return grade; }//班別 string getnum() { return number; }//學號 string gets() { return sex; }//性別 int gettp() { return telephone; }// int geti() { return identify; }// string getm() { return major; } string getp() { return political; } string getna() { return nation; } string geta() { return address; } void setnum(string num) { number = num; }//修改學號 void setgrade(string g) { grade = g; }//修改班級 void setname(string n) { name = n; }//修改名字 void sets(string s) { sex = s; }//修改性別 void settp(int tp) { telephone = tp; }//修改手機號碼 void seti(int i) { identify = i; }//修改身份證 void setm(string m) { major = m; } void setp(string p) { political = p; } void setna(string na) {nation = na;} void seta(string a) { address = a; } }; class Operation { private: Student* head; public: Operation() { head = new Student; } void Menu();//選單 void Insert();//插入 void Search();//查詢 void Remove();//修改 void Delete();//刪除 void Print();//輸出 }; void Operation::Menu() { cout << "*******************************************************************************************" << endl; cout << "------------------------- xxx大學學生檔案管理系統 -------------------------" << endl; cout << "------------------------- *********************** -------------------------" << endl; cout << "------------------------- 1.增加學生資訊 -------------------------" << endl; cout << "------------------------- 2.顯示學生資訊 -------------------------" << endl; cout << "------------------------- 3.查詢學生資訊 -------------------------" << endl; cout << "------------------------- 4.刪除學生資訊 -------------------------" << endl; cout << "------------------------- 5.修改學生資訊 -------------------------" << endl; cout << "------------------------- 6.安全退出系統 -------------------------" << endl; } void Operation::Insert() //插入 { string name;//名字 string grade;//班級 string number;//學號 string sex;//性別 int telephone;//手機號 int identify;//身份證號碼 string major; string political; string nation; string address; Student* p = NULL; cout << "請輸入要新增學生的資訊:" << endl; cout << "請輸入姓名:"; cin >> name; cout << endl; cout << "請輸入班級:"; cin >> grade; cout << endl; cout << "請輸入學號:"; cin >> number; cout << endl; cout << "請輸入性別:"; cin >> sex; cout << endl; cout << "手機號碼:"; cin >> telephone; cout << endl; cout << "身份證號碼:"; cin >> identify; cout << endl; cout << "專業:"; cin >> major; cout << endl; cout << "政治面貌:"; cin >> political; cout << endl; cout << "籍貫:"; cin >> nation; cout << endl; cout << "家庭地址:"; cin >> address; cout << endl; Student* s = new Student(name, grade, number, sex, telephone, identify, major, political, nation, address); p = head; while (p->next != NULL && p->getnum() < s->getnum()) { p = p->next; } s->next = p->next; p->next = s; } void Operation::Delete()//刪除 { string name; Student* p = head->next, * q = head; cout << "請輸入要刪除學生資訊的姓名:" << endl; cin >> name; while (p != NULL) { if (p->getname() == name) { q->next = p->next; delete p; break; } p = p->next; q = q->next; } if (p != NULL) { cout << "刪除成功!" << endl; } if (p == NULL) { cout << "tt沒有找到!" << endl; } } void Operation::Search()//查詢 { Student* p = NULL; cout << "n** 查詢學生資訊 **n" << endl; cout << "請輸入查詢方式:" << endl; cout << "1.按學號查詢" << endl; cout << "2.按姓名查詢" << endl; cout << "3.返回" << endl; char c; cin >> c; switch (c) { case '1': {string n; cout << "請輸入你要查詢的學生的學號" << endl; cin >> n; for (p = head; p != NULL; p = p->next) { if (p->getnum() == n) { cout << "姓名:" << p->getname() << endl << "班別:" << p->getgrade() << endl << "學號:" << p->getnum() << endl << "性別:" << p->getgrade() << endl << "電話號碼:" << p->gettp() << endl << "身份證號碼:" << p->geti() << endl << "專業:" << p->getm() << endl << "政治面貌:" << p->getp() << endl << "籍貫:" << p->getna() << endl << "家庭地址:" << p->geta() << endl; } } break; } case '2': { string name; cout << "請輸入你要查詢的學生姓名" << endl; cin >> name; for (p = head; p != NULL; p = p->next) { if (name == p->getname()) { cout << "姓名:" << p->getname() << endl << "班級:" << p->getgrade() << endl << "學號:" << p->getnum() << endl << "性別:" << p->gets() << endl << "手機號碼:" << p->gettp() << endl << "身份證號碼:" << p->geti() << endl << "專業:" << p->getm() << endl << "政治面貌:" << p->getp() << endl << "籍貫:" << p->getna() << endl << "家庭地址:" << p->geta() << endl; } } break; } case '3': return; } } void Operation::Print() //輸出 { Student* p; cout << "姓名" << "t班級" << "t學號" << "t性別" << "t手機號碼" << "t身份證號碼" << "t專業" << "t政治面貌" << "t籍貫" << "t地址" << endl; for (p = head->next; p != NULL; p = p->next) cout << p->getname() << "t" << p->getgrade() << "t" << p->getnum() << "t" << p->gets() << "t" << p->gettp() << "tt" << p->geti() << "tt" << p->getm() << "t" << p->getp() << "tt" << p->getna() << "t" << p->geta() << endl; } void Operation::Remove() //修改 { string n;//修改項 string number;//學號 string grade;//班級 string name;//名字 string sex;//性別 int telephone;//手機號碼 int identity;//身份證號碼 int birth;//出生日期 string major; string political; string nation; string address; cout << "請輸入你要修改的學生姓名" << endl; cin >> n; Student* p; for (p = head->next; p != NULL; p = p->next) if (p->getname() == n) { cout << "請選擇您要修改的資訊項:" << endl; cout << "1、學號,2、班別,3、姓名,4、性別,5、手機號碼,6、身份證號碼,7、出生日期,8、專業,9、政治面貌,10、籍貫,11、家庭地址。" << endl; int in; cin >> in; switch (in) { case 1: cout << p->getnum() << "修改為:" << endl; cin >> number; p->setnum(number); break; case 2: cout << p->getgrade() << "修改為:" << endl; cin >> grade; p->setgrade(grade); break; case 3: cout << p->getname() << "修改為:" << endl; cin >> name; p->setname(name); break; case 4: cout << p->gets() << "修改為:" << endl; cin >> sex; p->sets(sex); break; case 5: cout << p->gettp() << "修改為:" << endl; cin >> telephone; p->settp(telephone); break; case 6: cout << p->geti() << "修改為:" << endl; cin >> identity; p->seti(identity); break; case 8: cout << p->getm() << "修改為:" << endl; cin >> major; p->setm(major); break; case 9: cout << p->getp() << "修改為:" << endl; cin >> political; p->setp(political); break; case 10: cout << p->getna() << "修改為:" << endl; cin >> nation; p->setna(nation); break; case 11: cout << p->geta() << "修改為:" << endl; cin >> birth; p->seta(address); break; default: cout << "輸入錯誤!" << endl; break; } } } int main() { Operation O; O.Menu(); while (1) { int n; cout << "nttntt請選擇:"; cin >> n; switch (n) { case 1://增加 O.Insert(); break; case 2://顯示 O.Print(); break; case 3://查詢 O.Search(); break; case 4://刪除 O.Delete(); break; case 5://修改 O.Remove(); break; case 6: cout << "******************************" << "n感謝您的使用!n" << "******************************" << endl; exit(0); } } return 0; }
1.主函數樣式
2.輸入輸出資訊
3.查詢資訊
4.刪除修改資訊
5.退出系統
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援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