• 大小: 8KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-19
  • 语言: C/C++
  • 标签: c++  

资源简介

这是一个用c++写的学生管理系统: 一、程序的主要功能 程序分为四个模块: 1.建立哈希表:有三个功能 (1)插入一个学生信息; (2)删除一个学生信息; (3)修改一个学生信息。 2.查询模块:有四个功能 (1)查询全部学生信息; (2)按学号查询学生信息; (3)按姓名查询学生信息; (4)按性别查询学生信息。 3.排序模块:有四个功能 (1)按学号排序; (2)按年龄排序; (3)按各科成绩排序; (4)按总成绩排序。 4.统计模块:有三个功能 (1)统计男女生人数; (2)统计每个人的平均成绩; (3)统计各科平均成绩。 二、用户操作方法 一共有七个源文件,一个头文件,六个cpp文件。 将它们打开编译后即可运行。 运行后按照提示操作即能实现预期的各种功能。 或者双击debug图标。

资源截图

代码片段和文件信息

//*****************************************************************
//* 程序作者:张鑫
//* 学    号:040630420
//* 完成日期:2007年5月24日
//* 课程设计:学生成绩管理系统 
//*****************************************************************
   #include 
   #include 
   #include 
   #include “HashTable.h“

   void studentManage(HashTable &);
   void seek(HashTable &);
   void testInput(char & char &);
   void copy(StudentInfo & StudentInfo &);
   void writeFile(HashTable &);
   void primary(HashTable &);
   void statistics(HashTable &);
   void sequence(HashTable &);

    void main()
{
HashTable    H;
H.count=0;
fstream      file;
StudentInfo  student;
H.elem=(StudentInfo*)malloc(11*sizeof(StudentInfo));
int   k t j;
char  n[10] No[9];      

file.open(“student.txt“ ios::in|ios::out|ios::binary);
while(file.read((char *)&student sizeof(student)))
{
k=0;
strcpy(nstudent.num);
for(t=8j=1; t>4; t--)
{
k+=int(n[t]-48)*j;
j=j*10;
}
k%=11;
  while(H.elem[k].mark==1 && strcmp(H.elem[k].numNo)!=0 && k<11)

k++;
    k%=11;
}
if(k!=11)
{
H.count++;
copy(H.elem[k] student);
H.elem[k].score=(ScoreInfo*)malloc(sizeof(ScoreInfo));
                file.read((char *)&(*H.elem[k].score) sizeof(ScoreInfo));
H.elem[k].score->next=(ScoreInfo*)malloc(sizeof(ScoreInfo));
                file.read((char *)&(*H.elem[k].score->next) sizeof(ScoreInfo));

}
file.close();

primary(H);

}
    void primary(HashTable &H)
{
char inPut i=‘5‘; 
system(“cls“);
cout<<“\t\t\t学生成绩管理系统\n“
<<“\t\t\t     主菜单\n\n“
<<“\t\t\t  1. 成绩管理“< <<“\t\t\t  2. 成绩查询 “< <<“\t\t\t  3. 学生统计“< <<“\t\t\t  4. 排序“< <<“\t\t\t  5. 退出系统“<
        testInput(inPut i);

        switch(inPut)
{
            case 1 :    studentManage(H);  
                break;
      case 2 :    seek(H);   
                break;
    case 3 :    statistics(H);   
                break;
    case 4 :    sequence(H);   
                break;
    case 5 :    system(“cls“);
writeFile(H);
cout< <<“\t\t\t  谢谢您使用本系统!“
<           exit(0);   
}
  }
  void writeFile(HashTable &H)
  {
  fstream file1;
  int k;
  file1.open(“student.txt“ ios::out|ios::binary);
  for(k=0; k<11; k++)
  {
  if(H.elem[k].mark==1)
  {
  file1.write((char *)&H.elem[k] sizeof(H.elem[k]));
  file1.write((char *)&(*H.elem[k].score) sizeof(ScoreInfo));
  file1.write((char *)&(*H.elem[k].score->next) sizeof(ScoreInfo));
  file1.flush();
  }
  }
  file1.close();
  }

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        429  2007-12-27 13:40  学生成绩管理系统\HashTable.h

     文件       2853  2007-12-29 11:06  学生成绩管理系统\主函数.cpp

     文件       5666  2007-12-29 11:06  学生成绩管理系统\查询.cpp

     文件       7119  2007-12-29 11:08  学生成绩管理系统\排序.cpp

     文件       5527  2007-12-29 11:46  学生成绩管理系统\成绩管理.cpp

     文件       6757  2007-12-29 11:45  学生成绩管理系统\函数.cpp

     文件       2810  2007-12-29 11:08  学生成绩管理系统\统计.cpp

     目录          0  2007-12-29 12:50  学生成绩管理系统

----------- ---------  ---------- -----  ----

                31161                    8


评论

共有 条评论