![學生信息管理系統(tǒng)源代碼_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/10/642bdd5e-0c90-4016-a80f-724d9f7e60c0/642bdd5e-0c90-4016-a80f-724d9f7e60c01.gif)
![學生信息管理系統(tǒng)源代碼_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/10/642bdd5e-0c90-4016-a80f-724d9f7e60c0/642bdd5e-0c90-4016-a80f-724d9f7e60c02.gif)
![學生信息管理系統(tǒng)源代碼_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/10/642bdd5e-0c90-4016-a80f-724d9f7e60c0/642bdd5e-0c90-4016-a80f-724d9f7e60c03.gif)
![學生信息管理系統(tǒng)源代碼_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/10/642bdd5e-0c90-4016-a80f-724d9f7e60c0/642bdd5e-0c90-4016-a80f-724d9f7e60c04.gif)
![學生信息管理系統(tǒng)源代碼_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/10/642bdd5e-0c90-4016-a80f-724d9f7e60c0/642bdd5e-0c90-4016-a80f-724d9f7e60c05.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、C+課程設(shè)計參考程序源碼1main.cpp/* 課程設(shè)計題目:學生信息管理系統(tǒng) 班級:0901 學號:200905112 姓名:xxx */使用數(shù)組存儲學生信息順序存儲#include "studentinfo.h"int main() Student sMAXNUM; /定義保存學生數(shù)據(jù)的數(shù)組 Load(s); /載入學生數(shù)據(jù) char ch='9' ShowMenu(); /顯示菜單 cout<<"選擇對應(yīng)數(shù)字進行操作:" while(1) cin>>ch; system("cls"); /
2、清除屏幕 ShowMenu(); /顯示菜單 DoMenu(s,ch); /執(zhí)行菜單 ShowTip(); /顯示提示 studentinfo.h#ifndef STUDENTINFO_H_INCLUDED#define STUDENTINFO_H_INCLUDED#include<iostream>#include<cstdlib>#include<string>#include<fstream>#include<sstream>#include<iomanip>using namespace std;struct St
3、udent int id; /學號 string name; /姓名;extern const int MAXNUM; /聲明MAXNUM變量void Insert(Student *S); /插入學生數(shù)據(jù)void Delete(Student *S,int n); /刪除學號為n的學生數(shù)據(jù)void Clear(Student *S);/清除所有學生數(shù)據(jù)int Search(Student *S,int n);/查找學號為n的學生,返回其索引號(數(shù)組下標)void Find(Student *S,int n);/查找并顯示學號為n的學生的信息void View(Student *S);/查看所
4、有學生的信息void Load(Student *S);/從文件中載入學生信息void Save(Student *S);/將學生信息保存到文件void Exit(Student *s); /安全退出void ShowMenu();/顯示菜單void ShowTip();/顯示操作提示void DoMenu(Student *S,char n);/執(zhí)行相應(yīng)菜單項功能#endif / STUDENTINFO_H_INCLUDEDstudentinfo.cpp#include "studentinfo.h"/數(shù)組S的0號單元不用int num; /學生人數(shù)bool flag=t
5、rue; /數(shù)據(jù)是否修改過的標志const int MAXNUM=100; /學生人數(shù)允許的最大值void Insert(Student *S) /插入學生數(shù)據(jù) Student t; cout<<"學號為整數(shù),輸入0終止錄入"<<endl; while(1) if(num=(MAXNUM-1) cout<<"學生人數(shù)已達最大值!"<<endl; return; cout<<"請輸入學號:" if(!(cin>>t.id) /輸入的不是數(shù)字,重新提示輸入 cout&
6、lt;<"學號應(yīng)為整數(shù)!"<<endl; cin.clear(); /清除狀態(tài)標志,參考教材P430 cin.sync(); /清空輸入緩沖區(qū) continue; if(Search(S,t.id)>0) /查找此學號是否已存在 cout<<"此學號已存在!"<<endl; continue; if(t.id=0) /輸入0結(jié)束錄入 cout<<"錄入結(jié)束。"<<endl; return; cin.sync(); /清空輸入緩沖區(qū) cout<<&quo
7、t;請輸入姓名:" getline(cin,); /讀取一行 if(="") /如讀取的為空串,則設(shè)name為null ="null" +num; /學生人數(shù)增1 Snum=t; /將新錄入的學生加入數(shù)組中 flag=true; /數(shù)據(jù)已改動 void Delete(Student *S) /刪除學生 if(num=0) cout<<"無學生!"<<endl; else int n,m=0; cout<<"請輸入要刪除的學生的學號:"
8、 cin>>n; m=Search(S,n); /查找學號為n的學生的索引號(在數(shù)組中的下標) if(m=0) /Search()返回0表示沒找到 cout<<"找不到要刪除的學生!" return; /結(jié)束刪除操作 for(int i=m; i<num; i+) /刪除Sm處的學生 Si=Si+1; -num; /人數(shù)減1 flag=true; /數(shù)據(jù)已改動 cout<<"成功刪除學號為"<<n<<"的學生"<<endl; void Clear(Stude
9、nt *S)/清除所有學生數(shù)據(jù) num=0; /設(shè)置學生人數(shù)為0int Search(Student *S,int n)/查找學號為n的學生,返回其索引號(數(shù)組下標) for(int i=1; i<=num; i+) if(Si.id=n) return i; /返回找到的學生的索引號(數(shù)組下標) return 0; /沒找到,返回0,void Find(Student *S)/查找并顯示學生的信息 int n; cout<<"請輸入要查找的學生的學號:" cin>>n; int i=Search(S,n); /查找學號為n的學生,返回其索引號
10、(數(shù)組下標) if(i=0) cout<<"查無此人!"<<endl; else cout<<setw(6)<<"學號"<<" "<<setw(10)<<"姓名"<<endl; cout<<setw(6)<<Si.id<<" "<<setw(10)<<S<<endl; void View(Student *S)/查看所
11、有學生的信息 if(num=0) cout<<"無學生記錄!" else cout<<"共有"<<num<<"條學生記錄"<<endl; for(int i=1; i<=num; i+) cout<<setw(6)<<"學號"<<" "<<setw(10)<<"姓名"<<endl; cout<<setw(6)<<Si
12、.id<<" "<<setw(10)<<S<<endl; void Load(Student *S)/從文件中載入學生信息 Student t; ifstream infile("data.txt"); /創(chuàng)建文件輸入流,文件位于項目文件夾中 if(!infile) cerr<<"錯誤:數(shù)據(jù)文件不能打開!n" else for(int i=1; infile>>Si.id; i+) /從文件中讀取保存的學生數(shù)據(jù) infile>>Si.nam
13、e; num+; flag=false; /設(shè)置數(shù)據(jù)沒改動 infile.close(); /關(guān)閉文件void Save(Student *S)/將學生信息保存到文件 ofstream outfile("data.txt"); /創(chuàng)建文件輸出流 if(!outfile) cerr<<"錯誤:數(shù)據(jù)文件不能打開!n" else for(int i=1; i<=num; i+) /將學生數(shù)據(jù)寫入文件 outfile<<Si.id<<' '<<S<<endl; flag
14、=false; /設(shè)置數(shù)據(jù)沒改動 cout<<"保存成功!"<<endl; void Exit(Student *S) /安全退出 char s='y' if(flag) /判斷數(shù)據(jù)是否修改 cout<<"數(shù)據(jù)已經(jīng)改變,是否保存?(y/n):" cin>>s; if(s='y'|s='Y') Save(S); /保存數(shù)據(jù) cout<<"已安全退出," system("pause"); /程序暫停,按任意鍵繼續(xù)
15、 exit(0); /結(jié)束程序void ShowMenu() /顯示菜單 cout<<"|-|"<<endl; cout<<"| 學生信息管理系統(tǒng) |"<<endl; cout<<"|-|"<<endl; cout<<"| 1.清空:清除所有學生數(shù)據(jù) |"<<endl; cout<<"| 2.添加:插入一條學生數(shù)據(jù) |"<<endl; cout<<"| 3
16、.刪除:刪除指定學生數(shù)據(jù) |"<<endl; cout<<"| 4.查找:查找指定學生數(shù)據(jù) |"<<endl; cout<<"| 5.顯示:顯示所有學生數(shù)據(jù) |"<<endl; cout<<"| 6.保存:保存所有學生數(shù)據(jù) |"<<endl; cout<<"| 0.退出:安全的退出本系統(tǒng) |"<<endl; cout<<"|-|"<<endl<<endl;void ShowTip() /顯示操作提示 cout<<endl; cout<<"-操作完成-"<<endl; cout<<"-選擇05繼續(xù)-"<<endl; cout<<"請選擇:"void DoMenu(Student *S,char n) /執(zhí)行相應(yīng)菜單項功能 switch(n) case '1':
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《13潔凈的水域》說課稿-2023-2024學年科學六年級下冊蘇教版
- Unit 2 Months of a Year Lesson Three(說課稿)-2024-2025學年重大版英語六年級上冊
- Unit 6 Chores Lesson 4 Let's spell(說課稿)-2024-2025學年人教新起點版英語五年級上冊001
- 2025水泥磚銷售合同范文
- 2024年七年級數(shù)學下冊 第10章 一元一次不等式和一元一次不等式組10.4一元一次不等式的應(yīng)用說課稿(新版)冀教版
- 中型臭氧設(shè)備購買合同范例
- 8 安全地玩(說課稿)-部編版道德與法治二年級下冊
- 農(nóng)業(yè)設(shè)備供貨合同范例
- 冷庫設(shè)備購銷合同范例
- 個人借還款合同范例
- 《 西門塔爾牛臉數(shù)據(jù)集的研究》范文
- 八年級上冊 第三單元 11《簡愛》公開課一等獎創(chuàng)新教學設(shè)計
- 真實世界研究指南 2018
- 2024年燃氣輪機值班員技能鑒定理論知識考試題庫-上(單選題)
- 中小商業(yè)銀行數(shù)字化轉(zhuǎn)型現(xiàn)狀及對策研究
- 2024-2030年中國車載冰箱行業(yè)市場發(fā)展調(diào)研及投資戰(zhàn)略分析報告
- 親子非暴力溝通培訓講座
- 保險投訴處理流程培訓
- (正式版)SHT 3046-2024 石油化工立式圓筒形鋼制焊接儲罐設(shè)計規(guī)范
- JJG 707-2014扭矩扳子行業(yè)標準
- 2024-2029年中國電力工程監(jiān)理行業(yè)市場現(xiàn)狀分析及競爭格局與投資發(fā)展研究報告
評論
0/150
提交評論