当前位置:编程学习 > C/C++ >>

C++编写学生成绩管理系统

/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称: 《C++编写 学生成绩管理系统》
* 作 者: 刘江波
* 完成日期: 2012 年 6 月 26 日
* 版 本 号: v.626

* 对任务及求解方法的描述部分
* 问题描述:

用C++编写一个学生成绩管理系统

1、可以实现以下功能:

cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 1.增加学生成绩 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 2.显示学生成绩 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 3.排序统计成绩 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 4.查找学生成绩 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 5.删除学生成绩 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 6.修改学生信息 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 0.安全退出系统 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;


2、用链表存储信息

* 程序头部的注释结束
*/

[cpp]
<span style="font-size:16px;"># include <iostream> 
# include <fstream> 
# include <string.h> 
#include <conio.h>//用getch(); 
using namespace std; 
 
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Student类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ 
class Student 

public: 
 char name[20]; 
 char Id[20]; 
 int Cnum;       //C++课程得分 
 int Mnum;       //汇编课程得分 
 int Enum;       //嵌入式操作系统课程得分 
 int sum;        //总分      
 Student * Next; 
 void Input() 
 { 
  cout<<"\t\t请输入学生的姓名:";  cin>>name; 
  cout<<"\t\t请输入学生的学号:";  cin>>Id; 
  cout<<"\t\t请输入C++课程的成绩:";  cin>>Cnum; 
  cout<<"\t\t请输入汇编课程的成绩:";  cin>>Mnum; 
  cout<<"\t\t请输入嵌入式操作系统课程的成绩:";  cin>>Enum; 
  sum=Cnum+Mnum+Enum; 
 } 
 void ReadFile(istream & in) 
 { 
  in>>name>>Id>>Cnum>>Mnum>>Enum>>sum; 
 } 
 void Show() 
 { 
  cout<<"姓名:"<<name<<endl<<"学号:"<<Id<<endl<<"C++:"<<Cnum<<endl 
   <<"汇编:"<<Mnum<<endl<<"嵌入式操作系统:"<<Enum<<endl<<"总成绩:"<<sum<<endl<<endl<<endl; 
 } 
}; 
 
//﹌﹌﹌﹌﹌﹌﹌﹌﹌Studentmassage类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ 
class Studentmassage 

public: 
 Studentmassage(); 
 ~Studentmassage(); 
 void ShowMenu(); 
 void Find(); 
 void Save(); 
 void ModifyItem(); 
 void RemoveItem(); 
 void Swap(Student *,Student *); 
 void Sort(); 
 //void Unpass(); 
 int ListCount(); 
 //void Average(); 
 void Display() 
 { 
  for(Student * p=Head->Next;p!=End;p=p->Next) 
   p->Show(); 
  cout<<"输入任意字符!继续……"; 
  getch(); 
 } 
 void AddItem() 
 { 
  End->Input(); 
  End->Next=new Student; 
  End=End->Next; 
  cout<<"添加成功!"<<endl; 
  cout<<"输入任意字符!继续……"; 
  getch(); 
 } 
private: 
 Student * Head,* End; 
 ifstream in; 
 ofstream out; 
 Student *FindItem(char * name) 
 { 
  for(Student * p=Head;p->Next!=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空 
   if(!strcmp(p->Next->name,name))return p; 
   return NULL; 
 } 
 Student *FindID(char * Id) 
 { 
  for(Student * p=Head;p->Next!=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空 
   if(!strcmp(p->Next->Id,Id))return p; 
   return NULL; 
 } 
}; 
 
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌构造函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ 
Studentmassage::Studentmassage() 

 Head=new Student; 
 Head->Next=new Student; 
 End=Head->Next; 
 in.open("sort.txt"); 
 if(!in) 
  cout<<"这是一个新系统,无学生信息。请先输入。"<<endl; 
 else 
 { 
  while(!in.eof()) 
  { 
   End->ReadFile(in); 
   if(End->name[0]=='\0')break; 
   End->Next=new Student; 
   End=End->Next; 
  } 
  in.close(); 
  cout<<"\t\t读取学生信息成功!"<<endl; 
 } 

 
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌析构函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ 
Studentmassage::~Studentmassage() 

 Save(); 
 for(Student * temp;Head->Next!=End;) 
 { 
  temp=Head->Next; 
  Head->Next=Head->Next->Next; 
  delete temp; 
 } 
 delete Head,End; 

 
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌菜单﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ 
void Studentmassage::ShowMenu()                   

  cout<<"********************************************************************************"<<endl; 
  cout<<"〓〓〓〓〓〓〓〓〓〓  ☆   学 生 成 绩 管 理 系  统     ☆  〓〓〓〓〓〓〓〓〓〓"<<endl; 
  cout<<"〓〓〓〓〓〓〓★★★★★         ★★★★★★★         ★★★★★〓〓〓〓〓〓〓"<<endl; 
  cout<<"〓〓〓〓〓〓〓〓〓★  ☆          1.增加学生成绩        ☆  ★〓〓〓〓〓〓〓〓〓"<<endl; 
  cout<<"〓〓〓〓〓〓〓〓〓★  ☆          2.显示学生成绩        ☆  ★〓〓〓〓〓〓〓〓〓"<<endl; 
  cout<<"〓〓〓〓〓〓〓〓〓★  ☆          3.排序统计成绩   &nb

补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,