C++学生成績管理システム
5002 ワード
機能:学生成績管理システム、各学生は1つの記録で、学号、名前、性別、3つの課程の成績を含む.システム
次の機能が必要です.
1、情報入力:学生の成績情報(学生番号、氏名、各科目の成績などを含む)を入力する.
2、情報検索:学号を入力し、学生の各科目の成績を検索し、表示する.
3、並べ替え:各科目の成績平均点で並べ替え、表示します.
4、情報の削除と修正——学号を入力し、その学生の成績情報を削除する.
段階的に実施:
1、全体的な設計を初歩的に完成し、フレームワークを構築し、ヒューマンマシン対話のインターフェースを確定し、関数の個数を確定する.
2、学生一人一人の情報をファイルに書き込み、画面に表示できるファイルを作成します.
3、上記の情報照会(学生番号、氏名など)、並べ替え、情報削除と修正機能を完了する.jkl_1.hヘッダファイル
main.cpp
Change.cppクエリー機能
次の機能が必要です.
1、情報入力:学生の成績情報(学生番号、氏名、各科目の成績などを含む)を入力する.
2、情報検索:学号を入力し、学生の各科目の成績を検索し、表示する.
3、並べ替え:各科目の成績平均点で並べ替え、表示します.
4、情報の削除と修正——学号を入力し、その学生の成績情報を削除する.
段階的に実施:
1、全体的な設計を初歩的に完成し、フレームワークを構築し、ヒューマンマシン対話のインターフェースを確定し、関数の個数を確定する.
2、学生一人一人の情報をファイルに書き込み、画面に表示できるファイルを作成します.
3、上記の情報照会(学生番号、氏名など)、並べ替え、情報削除と修正機能を完了する.jkl_1.hヘッダファイル
#ifndef JKL_1_H_INCLUDED
#define JKL_1_H_INCLUDED
#include
#include
#include
#include
#include
#include
using namespace std;
struct student
{
int number;
char name[40];
char sex[4];
int score[3];
int avg;
};
bool GreaterSort(student a,student b);
ostream &operator<
main.cpp
#include
#include "jkl_1.h"
#include
using namespace std;
const char*fileDat="c:/StudentDates";
int main()
{
char choice;
while(1)
{
system("cls");
cout<>choice;
switch(choice)
{
case'1':Input(fileDat); break;
case'2':Inquire(fileDat);break;
case'3':Change(fileDat);break;
case'4':Modify(fileDat);break;
// case'5':Add(fileDat);break;
case'6':Delete(fileDat);break;
case'7':Stusort(fileDat);break;
case'q':
case'Q':cout<
Change.cppクエリー機能
#include "jkl_1.h"
#include
int Change(const char*fileDat){
ifstream fin;
fin.open(fileDat);
if(!fin.is_open()){cout<>n;
if(n==1){
int num;
cout<>num;
student stu;
while(fin.read((char*)&stu,sizeof stu)) {
if(stu.number==num)
{ num=0;
cout<>name;
int num =1;
student stu;
while(fin.read((char*)&stu,sizeof stu)) {
if(!strcmp(name,stu.name))
{ num=0;
cout<
Delete.cpp
#include "jkl_1.h"
#include
ostream &operator< vec;
ifstream fin;
fin.open(fileDat);
if(!fin.is_open()){cout<>num;
if(Search(fileDat,num)) {
vector::iterator it =vec.begin();
for(;it!=vec.end();it++)
{
if(it->number==num)
{
vec.erase(it);
cout<
Input.cpp #include"jkl_1.h"
void Input(const char*fileDat)
{
ofstream fout;
student stu;
cout<>stu.number;
while(stu.number!=0){
if(Search(fileDat,stu.number)) cout<>stu.name;
cout<>stu.sex;
cout<>stu.score[0]>>stu.score[1]>>stu.score[2];
fout.open(fileDat,ios_base::out|ios_base::app|ios_base::binary);
if(!fout.is_open()){cout<>stu.number;
}
system("pause");
}
Inquire.cpp の #include "jkl_1.h"
#include
using namespace std;
void Inquire(const char*fileDat){
ifstream fin;
fin.open(fileDat);
if(!fin.is_open()){cout<
Modify.cppデータ #include "jkl_1.h"
void Modify(const char*fileDat){
int gps;
ifstream fin;
fin.open(fileDat,ios_base::in|ios_base::binary);
if(!fin.is_open()){cout<>num;
student stu;
while(!fin.eof())
{
gps=fin.tellg();
cout<>stu.score[0]>>stu.score[1]>>stu.score[2];
fstream fout;
fout.open(fileDat,ios_base::in|ios_base::out|ios_base::binary);
if(!fout.is_open()){cout<
Search.cpp #include "jkl_1.h"
bool Search(const char*fileDat,int num){
ifstream fin(fileDat,ios_base::in|ios_base::binary);
if(!fin.is_open()) cout<
Stusort.cppソート #include "jkl_1.h"
bool GreaterSort(student a,student b){return a.avg>b.avg;}
void Stusort(const char*fileDat){
vector vec;
ifstream fin;
fin.open(fileDat);
if(!fin.is_open()){cout<