C++学生成績管理システム

5002 ワード

機能:学生成績管理システム、各学生は1つの記録で、学号、名前、性別、3つの課程の成績を含む.システム
次の機能が必要です.
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<