学生成绩管理系统(C++代码)_第1页
学生成绩管理系统(C++代码)_第2页
学生成绩管理系统(C++代码)_第3页
学生成绩管理系统(C++代码)_第4页
学生成绩管理系统(C++代码)_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上 学生成绩管理系统 C+用C+编写一个学生成绩管理系统1、可以实现以下功能:cout<<" 1.增加学生成绩 "<<endl;cout<<" 2.显示学生成绩 "<<endl;cout<<" 3.排序统计成绩 "<<endl;cout<<" 4.查找学生成绩 "<<endl;cout<<" 5.删除学生成绩 "<<endl;cout<<&q

2、uot; 6.修改学生信息 "<<endl;cout<<" 0.安全退出系统 "<<endl;2、用链表存储信息* 程序头部的注释结束*/cpp 1. <SPAN style="FONT-SIZE: 16px"># include <iostream>  2. # include <fstream>   3. # include <string.h&

3、gt;   4. #include <conio.h>/用getch();   5. using namespace std;  6.   7. /Student类   8. class Student  9.   10. public:  11.  char name20;  12.  char Id20; 

4、60;13.  int Cnum;       /C+课程得分   14.  int Mnum;       /汇编课程得分   15.  int Enum;       /嵌入式操作系统课程得分   16.  int sum;  

5、;      /总分        17.  Student * Next;  18.  void Input()  19.    20.   cout<<"tt请输入学生的姓名:"  cin>>name;  21.   co

6、ut<<"tt请输入学生的学号:"  cin>>Id;  22.   cout<<"tt请输入C+课程的成绩:"  cin>>Cnum;  23.   cout<<"tt请输入汇编课程的成绩:"  cin>>Mnum;  24.   cout<<"tt请输入嵌入式操

7、作系统课程的成绩:"  cin>>Enum;  25.   sum=Cnum+Mnum+Enum;  26.    27.  void ReadFile(istream & in)  28.    29.   in>>name>>Id>>Cnum>>Mnum>>Enum>>su

8、m;  30.    31.  void Show()  32.    33.   cout<<"姓名:"<<name<<endl<<"学号:"<<Id<<endl<<"C+:"<<Cnum<<endl  34.    <<&qu

9、ot;汇编:"<<Mnum<<endl<<"嵌入式操作系统:"<<Enum<<endl<<"总成绩:"<<sum<<endl<<endl<<endl;  35.    36. ;  37.   38. /Studentmassage类   39. class Studentmassage  

10、;40.   41. public:  42.  Studentmassage();  43.  Studentmassage();  44.  void ShowMenu();  45.  void Find();  46.  void Save();  47.  void ModifyItem();  48.  void&#

11、160;RemoveItem();  49.  void Swap(Student *,Student *);  50.  void Sort();  51.  /void Unpass();   52.  int ListCount();  53.  /void Average();   54.  void Display() 

12、; 55.    56.   for(Student * p=Head->Next;p!=End;p=p->Next)  57.    p->Show();  58.   cout<<"输入任意字符!继续"  59.   getch();  60.    61.  void

13、60;AddItem()  62.    63.   End->Input();  64.   End->Next=new Student;  65.   End=End->Next;  66.   cout<<"添加成功!"<<endl;  67.   cout<<"输入任

14、意字符!继续"  68.   getch();  69.    70. private:  71.  Student * Head,* End;  72.  ifstream in;  73.  ofstream out;  74.  Student *FindItem(char * name)&#

15、160; 75.    76.   for(Student * p=Head;p->Next!=End;p=p->Next)/匹配成功则返回上一个指针,不成功就返回空   77.    if(!strcmp(p->Next->name,name)return p;  78.    return NULL;  79.    8

16、0.  Student *FindID(char * Id)  81.    82.   for(Student * p=Head;p->Next!=End;p=p->Next)/匹配成功则返回上一个指针,不成功就返回空   83.    if(!strcmp(p->Next->Id,Id)return p;  84.    retu

17、rn NULL;  85.    86. ;  87.   88. /构造函数   89. Studentmassage:Studentmassage()  90.   91.  Head=new Student;  92.  Head->Next=new Student;  93.  End=Head->Next; 

18、0;94.  in.open("sort.txt");  95.  if(!in)  96.   cout<<"这是一个新系统,无学生信息。请先输入。"<<endl;  97.  else  98.    99.   while(!in.eof()  100.     101.  &#

19、160; End->ReadFile(in);  102.    if(End->name0='0')break;  103.    End->Next=new Student;  104.    End=End->Next;  105.     106.   in.close();  1

20、07.   cout<<"tt读取学生信息成功!"<<endl;  108.    109.   110.   111. /析构函数   112. Studentmassage:Studentmassage()  113.   114.  Save();  115.  for(Student * temp;Head->

21、Next!=End;)  116.    117.   temp=Head->Next;  118.   Head->Next=Head->Next->Next;  119.   delete temp;  120.    121.  delete Head,End;  122.   123.  

22、; 124. /菜单   125. void Studentmassage:ShowMenu()                    126.   127.   cout<<"*"<<endl;  128.   cout<<

23、;"     学 生 成 绩 管 理 系  统       "<<endl;  129.   cout<<"                

24、60; "<<endl;  130.   cout<<"            1.增加学生成绩          "<<endl;  131.   cout<<"   &

25、#160;        2.显示学生成绩          "<<endl;  132.   cout<<"            3.排序统计成绩     

26、60;    "<<endl;  133.   cout<<"            4.查找学生成绩          "<<endl;  134.   cout<<"&

27、#160;           5.删除学生成绩          "<<endl;  135.   cout<<"            6.修改学生信息  

28、60;       "<<endl;  136.   cout<<"            0.安全退出系统          "<<endl;  137.   &

29、#160;138.  cout<<"nttntt请选择:"  139.   140.   141. /查找函数   142. void Studentmassage:Find()  143.   144.  char name20 ,Id10;  145.  int x;  146.  Student * 

30、p=NULL;  147.  cout<<"ntt*n"  148.  cout<<"tt 1.按学生的姓名查找ntt 2.按学生学号查找"  149.  cout<<"ntt*n请选择:"  150.  cin>>x;  151.  switch(x)  152.    

31、;153.  case 1:cout<<"tt请输入要查找的学生的姓名:"cin>>name;  154.   if(p=FindItem(name)  155.     156.    p->Next->Show();  157.    cout<<"输入任意字符!继续"  158. &#

32、160;  getch();  159.     160.   else  161.     162.    cout<<"tt没有找到该姓名的学生!"<<'n'<<endl;  163.    cout<<"输入任意字符!继续"  1

33、64.    getch();  165.     166.      break;  167.  case 2:  168.     169.    cout<<"tt请输入要查找的学生的学号:"cin>>Id;  170.    i

34、f(p=FindID(Id)  171.      172.     p->Next->Show();  173.     cout<<"输入任意字符!继续"  174.     getch();  175.      176.   &

35、#160;else  177.      178.     cout<<"tt没有找到该学好的学生!"<<'n'<<endl;  179.     cout<<"输入任意字符!继续"  180.     getch();  181.  

36、    182.   break;  183.    184.    185.   186.   187. /修改信息   188. void Studentmassage:ModifyItem()     /修改信息   189.   190.  char name20;

37、60; 191.  Student * p=NULL;  192.  cout<<"tt请输入要修改的人的姓名:"cin>>name;  193.  if(p=FindItem(name)  194.    195.   cout<<"tt已找到学生的信息,请输入新的信息!"<<endl;  196.  

38、60;p->Next->Input();  197.   cout<<"修改成功!"<<endl;  198.   cout<<"输入任意字符!继续"  199.   getch();  200.    201.  else  202.    203.   co

39、ut<<"tt没有找到!"<<endl;  204.   cout<<"输入任意字符!继续"  205.   getch();  206.    207.   208.   209. /删除信息   210. void Studentmassage:RemoveItem()    &

40、#160;    / 删除信息   211.   212.  char name20;  213.  Student * p=NULL,*temp=NULL;  214.  cout<<"tt请输入要删除的学生的姓名:"<<endl;cin>>name;  215.  if(p=FindItem(name) &#

41、160;216.    217.   temp=p->Next;  218.   p->Next=p->Next->Next;   219.   delete temp;  220.   cout<<"tt删除成功!"<<endl;  221.   cout<<"输入任意字符!继

42、续"  222.   getch();  223.    224.  else  225.    226.   cout<<"tt没有找到!"<<endl;  227.      cout<<"输入任意字符!继续"  228.   g

43、etch();  229.    230.   231.   232. /   233. void Studentmassage:Swap(Student *p1, Student *p2)/交换两个combox变量的数据域   234.   235.  Student *temp=new Student;   236.  strcpy(

44、temp->name,p1->name);  237.  strcpy(temp->Id,p1->Id);  238.  temp->Cnum=p1->Cnum;  239.  temp->Mnum=p1->Mnum;  240.  temp->Enum=p1->Enum;  241.  temp->sum=p1->sum;  242.  

45、60; 243.  strcpy(p1->name,p2->name);  244.  strcpy(p1->Id,p2->Id);  245.  p1->Cnum=p2->Cnum;  246.  p1->Mnum=p2->Mnum;  247.  p1->Enum=p2->Enum;  248.  p1->sum=p2->sum;  

46、;249.    250.  strcpy(p2->name,temp->name);  251.  strcpy(p2->Id,temp->Id);  252.  p2->Cnum=temp->Cnum;  253.  p2->Mnum=temp->Mnum;  254.  p2->Enum=temp->Enum;  255.  p2->s

47、um=temp->sum;  256.   257.   258. /   259. int Studentmassage:ListCount()/统计当前链表的记录总数,返回一个整数   260.   261.  if(! Head)  262.   return 0;  263.  int n=0;  264.  fo

48、r(Student * p=Head->Next;p!=End;p=p->Next)  265.    266.   n+;  267.    268.  return n;  269.   270.   271. /   272. void Studentmassage:Sort()/对当前链表进行排序   273

49、.    274.  cout <<"Sorting."<<endl;  275.  Student *p=NULL,*p1=NULL,*k=NULL;  276.  int n=Studentmassage:ListCount();  277.  if(n<2)   278.   return;  279. 

50、0;for(p=Head->Next;p!=End;p=p->Next)  280.   for(k=p->Next;k!=End;k=k->Next)  281.     282.    if(p->sum>k->sum)  283.      284.     Studentmassage:Swap(p,k);&

51、#160; 285.      286.     287.  cout <<"排序完成!"<<endl;  288.  getch();  289.  return;  290.   291.   292. /保存函数   293. void Studentmassage:Save()

52、  294.   295.  out.open("sort.txt");  296.  for(Student *p=Head->Next;p!=End;p=p->Next)  297.   out<<p->name<<"t"<<p->Id<<"t"<<p->Cnum<<"t" 

53、; 298.   <<p->Mnum<<"t"<<p->Enum<<"t"<<p->sum<<'n'  299.  out.close();  300.   301.   302. /主函数   303. int main()  304.   305.  int x,i=0;  306.  bool quit=fal

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论