资源简介
这是一个用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
- 上一篇:纯C语言实现工资管理系统
- 下一篇:c语言矩阵运算程序
相关资源
- 国际象棋的qt源代码
- C++中头文件与源文件的作用详解
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- VC++MFC小游戏实例教程(实例)+MFC类库
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- C++ mqtt 用法
- 商品库存管理系统 C++ MFC
- c++ 多功能计算器
- C++17 In Detail
- 嵌入式QtC++编程课件
- 颜色识别形状识别STM103嵌入式代码
- c++ 邮件多附件群发
- c++ 透明代理(hookproxy)
- mfc 调用redis
- FTP客户端源码(c++)
- c++ 画图(14Qt-XPS)
- c++多边形交并差运算
评论
共有 条评论