欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C++学生管理系统代码.doc

    • 资源ID:23950893       资源大小:157KB        全文页数:140页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C++学生管理系统代码.doc

    Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateC+学生管理系统代码#include<iostream>#include<iostream> #include<fstream> #include<string> #include <iomanip> #include<windows.h> #include<ctime> using namespace std; const int NAME_NUM=30; struct student char  nameNAME_NUM;     float num; float chinaNum;  float englishNum; float mathNum; float average; float result; int   pos; student *next; ; void Print(student *head);     void InsertFront(student* &head, student *pNew); void InsertRear(student* &head, student *pNew); student* Find(student *head, char *findStr, char type); student* Read(); void Write(student* head); void ShowList(student* head); int GetLength(student* head); void Delete(student* &head, char *delStr,int delNum); void FindMaxOrMin(student *head,char type,char maxOrMin); void Reword(student *pStd); void Sort(student *&head, char type,char maxOrMin); void Count(student *&head); void DeleteAll(student *&head); bool Enter(char type); void SetTitle(bool isLoad); void AboutMe(); void ChaXun(string str,student *head); void PaiMing(string str, student* head); void ShanChu(string str, student *&head); void XianShi(string str, student *head); void XuiGai(string str, student *&head); void ZengJia(string str, student* &head); int Run(); bool Enter(char type) ofstream out("Password.pwd",ios:app); ifstream in("Password.pwd");      string s2; int num=0; string zhangHao; string miMa; while(!in.eof() in>>snum; num+; if(num=2) break; if(s0.compare("")=0 | type='2' ) if(s0.compare("")=0 && type!='2') cout<<"你是第一次使用本程序,请设置帐号和密码."<<endl; else bool isLoad=false; isLoad=Enter('1'); if(isLoad=true) cout<<"修改用户."<<endl; out.close(); out.open("Password.pwd",ios:trunc); else cout<<"你输入的密码错误."<<endl; cout<<"你不是管理员不能修改密码."<<endl;                 return false; cout<<"请输入您的新帐号: " cin>>s0; cout<<"请输入您的新密码: " cin>>s1; string s1,s2; for(int i=0; i<s0.size(); i+) s1+=char(int(s0i)+11); for( i=0; i<s1.size(); i+) s2+=char(int(s1i)+11); s0=s1; s1=s2; for( i=0; i<=1; i+) out<<si<<" " out.close();     string s1,s2; for(int i=0; i<s0.size(); i+) s1+=char(int(s0i)-11); for( i=0; i<s1.size(); i+) s2+=char(int(s1i)-11); cout<<"请输入您的帐号: " cin>>zhangHao;     cout<<"请输入您的密码: "     cin>>miMa; if(zhangHpare(s1)=0 && miMpare(s2)=0) return true; else return false; return false; void Print(student *head) student *pHead=head; int num=strlen(head->name); while(head) if(num<strlen(head->name) num=strlen(head->name); head=head->next; head=pHead; cout<<setw(num)<<head->name<<setw(8) <<head->num<<setw(10)<<head->chinaNum <<setw(10)<<head->mathNum<<setw(10) <<head->englishNum<<setw(8)<<head->result <<setw(8)<<head->average<<setw(5)<<head->pos<<endl;  void ShowList(student* head) cout<<"姓名:"<<setw(8)<<"座号:"<<setw(10) <<"语文分数:"<<setw(10) <<"数学分数:" <<setw(10)<<"英语分数:"<<setw(8)<<"总分数:" <<setw(8)<<"平均分:"<<setw(6)<<"名次:"<<endl<<endl;  while(head) Count(head); Print(head); head=head->next; cout<<endl; void Write(student* head) ofstream out("Student.dat",ios:trunc); while(head) Count(head); out.write(char*)head,sizeof(student); head=head->next; out.close(); student* Read() ifstream in("Student.dat"); student *head; student *pP; student *pEnd; pP=new student; pEnd=head=pP; student *pS=new student; memset(pS->name,0,NAME_NUM); in.read(char*)pS,sizeof(student); if(strcmp(pS->name,"0")=0) return NULL;     strcpy(pP->name,pS->name);    pP->num=pS->num;                  pP->chinaNum=pS->chinaNum;     pP->englishNum=pS->englishNum; pP->mathNum=pS->mathNum; while(!in.eof() in.read(char*)pS,sizeof(student); pEnd->next=pP; pEnd=pP; pP=new student; strcpy(pP->name,pS->name);    pP->num=pS->num;              pP->chinaNum=pS->chinaNum; pP->englishNum=pS->englishNum; pP->mathNum=pS->mathNum; pEnd->next=NULL; delete pP; return head;    student* Find(student *head,char *findStr, char type) /*参数说明:  type='1' 按 名字   查找  type='2' 按 座号   查找  type='3' 按 语文   查找  type='4' 按 数学   查找 type='5' 按 英语   查找 type='6' 按 总分   查找 type='7' 按 平均分 查找 type='8' 按 排名   查找  /没有实现   */     bool isFind=false; student *firstStd=NULL;      cout<<"姓名:"<<setw(8)<<"座号:"<<setw(10) <<"语文分数:"<<setw(10) <<"数学分数:" <<setw(10)<<"英语分数:"<<setw(8)<<"总分数:" <<setw(8)<<"平均分:"<<setw(5)<<"名次:"<<endl<<endl;  while(head) if(type='1') if(strcmp(head->name,findStr)=0)   if(firstStd=NULL) firstStd=head; Print(head); isFind=true;   if(head->next=NULL) return firstStd; else if(type='2')             if(int(head->num)=int(atof(findStr)   if(firstStd=NULL) firstStd=head; Print(head); isFind=true;   if(head->next=NULL) return firstStd; else if(type='3')             if(int(head->chinaNum)=int(atof(findStr)  if(firstStd=NULL) firstStd=head; Print(head); isFind=true;   if(head->next=NULL) return firstStd; else if(type='4')             if(int(head->mathNum)=int(atof(findStr)  if(firstStd=NULL) firstStd=head; Print(head); isFind=true;   if(head->next=NULL) return firstStd; else if(type='5')             if(int(head->englishNum)=int(atof(findStr)   if(firstStd=NULL) firstStd=head; Print(head); isFind=true;   if(head->next=NULL) return firstStd; else if(type='6')             if(int(head->result)=int(atof(findStr)   if(firstStd=NULL) firstStd=head; Print(head); isFind=true;   if(head->next=NULL) return firstStd; else if(type='7')             if(int(head->average)=int(atof(findStr)  if(firstStd=NULL) firstStd=head; Print(head); isFind=true;   if(head->next=NULL) return firstStd; else if(type='8')             if(int(head->pos)=int(atof(findStr)    if(firstStd=NULL) firstStd=head; Print(head); isFind=true;   if(head->next=NULL) return firstStd; head=head->next;     if(isFind=false) cout<<"找不到你要找的记录."<<endl; return NULL; return firstStd; void InsertRear(student* &head,student *pNew) student *pEnd,*pHead,*pS=new student; if(head=NULL) InsertFront(head,pNew); return  pHead=head; while(head) pEnd=head; if(head->next=NULL) break; head=head->next;     strcpy(pS->name,pNew->name);  pS->num=pNew->num;            pS->chinaNum=pNew->chinaNum;     pS->englishNum=pNew->englishNum; pS->mathNum=pNew->mathNum;     pS->next=NULL; pEnd->next=pS; head=pHead; void InsertFront(student* &head, student *pNew) student *pHead=new student; strcpy(pHead->name,pNew->name);   pHead->num=pNew->num;          pHead->chinaNum=pNew->chinaNum;     pHead->englishNum=pNew->englishNum; pHead->mathNum=pNew->mathNum; pHead->next=head; head=pHead; int GetLength(student *head) int len=0; while(head) len+; head=head->next; return len; void Delete(student* &head, char *delStr,int delNum) student* pDel,*pNew,*pHead;     bool isFind=false; pHead=head; if(strcmp(head->name,delStr)=0) pNew=head->next; delete head; head=pNew; if(delNum=2) cout<<endl<<"因为要删除的记录在前面,所有只删除第一记录."<<endl; return  while(head->next) if(delNum=2) if(strcmp(head->next->name,delStr)=0) pNew=head->next->next; pDel=head->next; delete pDel; head->next=pNew; head=pHead; isFind=true;          else if(strcmp(head->next->name,delStr)=0) pNew=head->next->next; pDel=head->next; delete pDel; head->next=pNew; head=pHead; return  head=head->next;     head=pHead; if(isFind=false) cout<<"找不到你要删除的记录."<<endl; else cout<<"删除记录成功."<<endl; void FindMaxOrMin(student *head,char type,char maxOrMin) /*参数说明:  type='1' 按 语文   查找  type='2' 按 数学   查找 type='3' 按 英语   查找 type='4' 按 总分   查找 type='5' 按 平均分 查找 type='6' 按 排名   查找    */ int maxNum; student *pHead=head; if(type='1') maxNum=int(head->chinaNum); else if (type='2') maxNum=int(head->mathNum); else if (type='3') maxNum=int(head->englishNum); else if (type='4') maxNum=int(head->result); else if (type='5') maxNum=int(head->average); else if (type='6') maxNum=head->pos; else  cout<<"你输入错误,请重新输入."<<endl; return  while(head) if(maxOrMin='1') if(type='1') if(maxNum<int(head->chinaNum) maxNum=int(head->chinaNum); else if (type='2') if(maxNum<int(head->mathNum) maxNum=int(head->mathNum); else if (type='3') if(maxNum<int(head->englishNum) maxNum=int(head->englishNum); else if (type='4') if(maxNum<int(head->result) maxNum=int(head->result); else if (type='5') if(maxNum<int(head->average) maxNum=int(head->average); else if (type='6') if(maxNum<head->pos) maxNum=head->pos; else if(type='1') if(maxNum>int(head->chinaNum) maxNum=int(head->chinaNum); else if (type='2') if(maxNum>int(head->mathNum) maxNum=int(head->mathNum); else if (type='3') if(maxNum>int(head->englishNum) maxNum=int(head->englishNum); else if (type='4') if(maxNum>int(head->result) maxNum=int(head->result); else if (type='5') if(maxNum>int(head->average) maxNum=int(head->average); else if (type='6') if(maxNum>head->pos) maxNum=head->pos; head=head->next;     head=pHead; cout<<"姓名:"<<setw(8)<<"座号:"<<setw(10) <<"语文分数:"<<setw(10) <<"数学分数:" <<setw(10)<<"英语分数:"<<setw(8)<<"总分数:" <<setw(8)<<"平均分:"<<setw(5)<<"名次:"<<endl<<endl;  while(head) if(type='1') if(int(head->chinaNum)=maxNum) Print(head); else if (type='2') if(int(head->mathNum)=maxNum) Print(head); else if (type='3') if(int(head->englishNum)=maxNum) Print(head); else if (type='4') if(int(head->result)=maxNum) Print(head); else if (type='5') if(int(head->average)=maxNum) Print(head); else if (type='6') if(head->pos=maxNum) Print(head); head=head->next; void Reword(student *pStd) if(pStd!=NULL) cout<<"请输入学生的新名字:"<<endl; cin>>pStd->name; cout<<"请输入学生的座号"<<endl; cin>>pStd->num; cout<<"请输入学生的语文分数"<<endl; cin>>pStd->chinaNum; cout<<"请输入学生的数学分数"<<endl; cin>>pStd->mathNum; cout<<"请输入学生的英语分数"<<endl; cin>>pStd->englishNum;      else return    void Sort(student *&head, char type,char maxOrMin)   /*参数说明:  type='1' 按 语文   排列  type='2' 按 数学   排列 type='3' 按 英语   排列 type='4' 按 总分   排列 type='5' 按 平均分 排列 type='6' 按 座号   排列    */ student *pHead,*pH;     pHead=pH=head; int len=GetLength(head);     float *array=new floatlen; int i; int x=0; float num=0; while(head)   Count(head); if(type='1')   num=head->chinaNum; else if(type='2')   num=head->mathNum; else if(type='3') num=head->englishNum; else if(type='4') num=head->result; else if(type='5') num=head->average; else if(type='6') num=head->num; arrayx=num; x+; head=head->next; head=pHead; if(maxOrMin='1') for( i=1; i<len; i+) for(int j=0; j<len-i; j+) if(arrayj<arrayj+1) float num; num=arrayj; arrayj=arrayj+1; arrayj+1=num;      else  for( i=1; i<len; i+) for(int j=0; j<len-i; j+) if(arrayj>arrayj+1) float num; num=arrayj; arrayj=arrayj+1; arrayj+1=num; int pos=1; for(i=0; i<len; i+) head=pHead; while(head)   if(type='1') num=head->chinaNum; else if(type='2') num=head->mathNum; else if(type='3') num=head->englishNum; else if(type='4') num=int(head->result); else if(type='5') num=int(head->average); else if(type='6') num=int(head->num); int n=0; if(int(arrayi)=int(num)    if(int(arrayi)!=int(arrayi+1)         if(n=0)    n=pos;       head->pos=pos; pos+;      else    head->pos=n;   head=head->next; head=pH; delete array; void Count(student *&head) head->result=head->chinaNum+head->englishNum+head->mathNum; head->average=head->result/3; void DeleteAll(student* &head) student *cp,*np;     cp=head; while(cp)        np=cp->next;    delete cp;    cp=np; head=NULL; void ChaXun(string str,student *head) Sort(head,'4','1'); cout<<"欢迎使用查询功能"<<endl<<endl; cout<<"请输入你要按什么查询    1->一般查询     2->查找最多    3->查找最少"<<endl; string s; cin>>s; while(s0!='1'&&s0!='2'&&s0!='3') cout<<"你输入错误,请重新输入."<<endl; cin>>s; if(s0='1') cout<<"按什么查询?"<<endl; cout<<"1->姓名 2->座号 3->语文成绩 4->数学成绩 " <<"5->英语成绩 6->总分 7->平均分 8->排名"<<endl; cin>>str; while(str0!='1' && str0!='2' && str0!='3' && str0!='4' && str0!='5' && str0!='6' && str0!='7' && str0!='8' ) cout<<"你输入错误,请重新输入."<<endl; cin>>str; char findStr30; cout<<"请输入要查找的关键字或关键数:"<<endl; cin>>findStr; switch(str0) case '1': Find(head,findStr,'1'); break; case '2': Find(head,findStr,'2'); break; case '3': Find(head,findStr,'3'); break; case '4': Find(head,findStr,'4'); break; case '5': Find(head,findStr,'5'); break; case '6': Find(head,findStr,'6'); break; case '7': Find(head,findStr,'7'); break; case '8': Find(head,findStr,'8'); break; else if(s0='2') cout<<"请输入要按什么查询?"<<endl; cout<<"1->语文成绩 2->数学成绩 " <<"3->英语成绩 4->总分 5->平均分 6->排名"<<endl; string s; cin>>s; switch(s0) case '1': FindMaxOrMin(head,'1','1'); break; case '2': FindMaxOrMin(head,'2','1'); break; case '3': FindMaxOrMin(head,'3','1'); break; case '6': FindMaxOrMin(head,'6','1'); break;         case '5': FindMaxOrMin(head,'5','1'); break; default: FindMaxOrMin(head,'4','1'); break; else if(s0='3') cout<<"请输入要按什么查询?"<<endl; cout<<"1->语文成绩 2->数学成绩 " <<"3->英语成绩 4->总分 5->平均分 6->排名"<<endl; string s; cin>>s; switch(s0) case '1': FindMaxOrMin(head,'1','2'); break; case '2': FindMaxOrMin(head,'2','2'); break; case '3': FindMaxOrMin(head,'3','2'); break; case '6': FindMaxOrMin(head,'6','2'); break; case '5': FindMaxOrMin(head,'5','2'); break; default: FindMaxOrMin(head,'4','2'); break; void ZengJia(string str, student* &head) student *pNew=new student; cout<<"欢迎使用增加功能"<<endl<<endl; cout<<"请输入新学生的名字 :"<<endl; cin>>pNew->name; cout<<"请输入新学生的座号 :"<<endl; cin>>pNew->num; cout

    注意事项

    本文(C++学生管理系统代码.doc)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开