精华内容
下载资源
问答
  • 学生成绩管理系统(基于文件的MFC) mfc学生成绩管理系统 C++学生成绩管理系统
  • C++课程设计:学生成绩信息管理系统 该资源是鄙人的C++课程设计,论文包括源代码和截图,评分等级为优秀, 分享予大家参考学习,欢迎 广东海洋大学 的同胞们下载!!! 该 学生成绩信息管理系统 包括十大功能: 0、...
  • 学生成绩管理系统c++自己做的 完整版 学生成绩管理系统c++ 学生成绩管理系统c++
  • C++做的学生成绩信息管理系统,初学者可以看看
  • 学生成绩信息管理系统 功能:输入 存储 读取 成绩统计 分数段排序 分数段统计 插入 显示列表
  • 学生成绩管理系统C++

    2021-07-08 12:13:56
    系统实现学生成绩管理功能,可以...2.显示学生成绩信息。 3.按条件显示学生资料(条件有学号、姓名等) 4.按条件显示班级最高分数以及对应的学生姓名(比如课程名)。 5.计算所以学生的平均成绩。 6.保存到txt文件。
  • 计算机基础强化训练任务书 初始条件 理论学完计算机基础知识掌握 C++语言编程基础和 VC开发平台的使用 实践计算机科学系实验中心提供计算机及软件开发环境 要求完成的主要任务 : 1系统需求分析得到系统的数据需求和...
  • 学生成绩管理系统 C++

    千次阅读 多人点赞 2019-01-06 17:08:35
    /******************************************.../*程序名:学生成绩管理系统 作者:SDUQER */ /*主要功能:添加删除修改排序; */ /*编制时间:2018年12月13日 */ /*************************...

    在这里插入图片描述

    /************************************************************/
    /*程序名:学生成绩管理系统	 作者:SDUQER   			                	*/
    /*主要功能:添加删除修改排序;								*/
    /*编制时间:2018年12月13日 									*/
    /************************************************************/
    
    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <cstdlib>
    #include <fstream>
    #include <iomanip>
    using namespace std;
    
    #define PUT puts("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&")
    
    int order; // 用户输入的指令
    
    struct Student {
        string Name;
        string Id;
        long long Idnum;
        double Math;
        double English;
        double Algorithm;
        double Sum;
        Student *nxt;
    };
    
    void ShowMenu() // 展示菜单
    {
    	system("Cls");
    	puts("                 **************************************");
    	puts("                          学生成绩管理系统v1.0         ");
    	puts("                 --------------------------------------");
    	puts("                        请输入您要操作的指令<0-6>:    ");
    	puts("                 --------------------------------------");
    	puts("                              1.录入学生信息           \n");
    	puts("                              2.所有学生信息           \n");
    	puts("                              3.修改学生信息           \n");
    	puts("                              4.删除学生信息           \n");
    	puts("                              5.查询学生信息           \n");
    	puts("                              6.成绩数据分析           \n");
    	puts("                              0.退出系统               ");
    	puts("                 **************************************");
    }
    
    void ExitSystem() // 退出系统
    {
        system("Cls");
    	puts("\n\n\n                 **************************************");
    	puts("                               感谢您的使用!          ");
    	puts("                 **************************************\n\n\n");
    	system("pause");
    	exit(0);
    }
    
    void InputError() // 输入错误
    {
    	puts("\n                 **************************************");
    	puts("                      您输入的指令有误,请重新输入。   ");
    	puts("                 **************************************\n");
    }
    
    //void update(Student *nw)
    //{
    //	cout << "EXM " <<endl;
    //	nw->Sum = nw->Math + nw->English + nw->Algorithm;
    //	return;
    //}
    
    void Add() // 录入
    {
    	system("Cls");
    	puts("                 **************************************");
    	puts("                                录入学生信息           ");
    	puts("                 --------------------------------------");
    	puts("                               请输入学生信息          ");
    	puts("                 **************************************\n");
    	char x = 'Y';
    	ofstream fout("data.txt",ios::app);
    	if(!fout)
    	{
    		puts("数据文件打开失败!");
    		system("pause");
    		exit(0);
    	}
    	Student *nw;
    	nw = new Student; 
    	while(x == 'Y' || x == 'y')
    	{
    		printf("请输入姓名:"); cin >> nw->Name;
    		printf("请输入学号:"); cin >> nw->Id;
    		printf("请输入数学成绩:"); cin >> nw->Math;
    		while(nw->Math < 0 || nw->Math > 100)
    		{
    			puts("您输入的数据不合法,提示[0-100],请重新输入");
    			cin >> nw->Math;
    		}
    		printf("请输入英语成绩:"); cin >> nw->English;
    		while(nw->English < 0 || nw->English > 100)
    		{
    			puts("您输入的数据不合法,提示[0-100],请重新输入");
    			cin >> nw->English;
    		}
    		printf("请输入计算导论成绩:"); cin >> nw->Algorithm;
    		while(nw->Algorithm < 0 || nw->Algorithm > 100)
    		{
    			puts("您输入的数据不合法,提示[0-100],请重新输入");
    			cin >> nw->Algorithm;
    		}
    		puts("");
    		nw->Sum = nw->Math + nw->English + nw->Algorithm;///
    		fout << nw->Name << " " << nw->Id << " " << nw->Math << " " << nw->English << " " << nw->Algorithm << " " 
    			<< nw->Sum << endl;///
    		printf("学生信息添加成功!\n"); 
    		
    		puts("是否继续添加?(Y/N)");
    		cin >> x;
    		puts("");
    	}
    	fout.close();
    	system("pause");
    }
    
    void Display() // 显示所有学生信息 
    {
    	ifstream fin("data.txt");
    	if(!fin)
    	{
    		puts("数据文件打开失败!");
    		system("pause");
    		exit(0);
    	}
    	
    	system("Cls");
    	puts("*******************************************************");
    	puts("                    所有学生信息           ");
    	puts("*******************************************************\n");
    	cout << "序号\t姓名\t学号\t数学成绩\t英语成绩\t算法导论成绩\t总分\n";
    	Student *nw;
    	nw = new Student;
    	int cnt = 0;
    	while(fin >> nw->Name >> nw->Id >> nw->Math >> nw->English >> nw->Algorithm >> nw->Sum)
    	{
    		cnt ++;
    		cout << left << setw(8) << cnt 
    			<< left << setw(8) << nw->Name 
    			<< left << setw(8) << nw->Id 
    			<< left << setw(16) << nw->Math 
    			<< left << setw(16) << nw->English 
    			<< left << setw(16) << nw->Algorithm 
    			<< nw->Sum 
    			<< endl;
    	}
    	fin.close();
    	puts("");
    	system("pause");
    }
    
    void Mend() // 修改
    {
    	char x = 'Y';
    	string tmp;
    	system("Cls");
    	puts("*******************************************************");
    	puts("                    修改学生信息           ");
    	puts("*******************************************************\n");
    	
    	while(x == 'Y' || x == 'y')
    	{	
    		ifstream fin("data.txt");
    		ofstream fout("data2.txt");
    		if(!fin)
    		{
    			puts("数据文件打开失败!");
    			system("pause");
    			exit(0);
    		}
    		if(!fout)
    		{
    			puts("临时数据文件打开失败!");
    			system("pause");
    			exit(0);
    		}
    		
    		puts("         请先按照以下关键字之一查找学生:");
    		puts("--------------------------------------");
    		puts("            1.姓名\n");
    		puts("            2.学号\n");
    		puts("            0.返回上一级菜单");
    		printf("指令:"); scanf("%d", &order);
    		while((order<0)||(order>2))
    		{
    			puts("");
    			InputError();		
    			puts("         请先按照以下关键字之一查找学生:");
    			puts("--------------------------------------");
    			puts("            1.姓名\n");
    			puts("            2.学号\n");
    			puts("            0.返回上一级菜单");
    			printf("指令:"); scanf("%d", &order);
    		}
    		
    		if(order == 0)
    			return;
    		
    		if(order == 1) printf("请输入姓名:"), cin >> tmp;
    		else if(order == 2) printf("请输入学号:"), cin >> tmp;
    		
    		Student *nw;
    		nw = new Student;
    		bool isFind = false;
    		while(fin >> nw->Name >> nw->Id >> nw->Math >> nw->English >> nw->Algorithm >> nw->Sum)
    		{
    			if((tmp.compare(nw->Name)) && (tmp.compare(nw->Id)))
    			{
    				fout << nw->Name << " " << nw->Id << " " << nw->Math << " " << nw->English << " " << nw->Algorithm << " "
    					<< nw->Sum << endl;
    				continue;
    			}
    			isFind = true;
    			
    			cout << "\n姓名\t学号\t数学成绩\t英语成绩\t算法导论成绩\t总分\n";
    			cout << left << setw(8) << nw->Name 
    				<< left << setw(8) << nw->Id 
    				<< left << setw(16) << nw->Math 
    				<< left << setw(16) << nw->English  
    				<< left << setw(16) << nw->Algorithm 
    				<< nw->Sum 
    				<< endl;
    			
    			system("Cls");
    			puts("\n         请选择要修改学生信息类型:");
    			puts("--------------------------------------");
    			puts("            1.姓名\n");
    			puts("            2.学号\n");
    			puts("            3.数学成绩\n");
    			puts("            4.英语成绩\n");
    			puts("            5.算法导论成绩\n");
    			puts("            0.返回上一级菜单");
    			printf("指令:"); scanf("%d", &order);
    			while((order<0)||(order>5))
    			{
    				puts("");
    				InputError();		
    				puts("\n         请选择要修改学生信息类型:");
    				puts("--------------------------------------");
    				puts("            1.姓名\n");
    				puts("            2.学号\n");
    				puts("            3.数学成绩\n");
    				puts("            4.英语成绩\n");
    				puts("            5.算法导论成绩\n");
    				puts("            0.返回上一级菜单");
    				printf("指令:"); scanf("%d", &order);
    			}
    		
    			if(order == 0)
    				return;
    			
    			if(order == 1)
    			{
    				string NewName;
    				printf("请输入新姓名:"); cin >> NewName;
    			
    				// 防止用户输入错误
    				printf("\n确认修改?(Y/N) "); cin >> x;
    				if(x == 'N' || x == 'n') 
    				{
    					puts("\n取消修改成功!");
    					fout << nw->Name << " " << nw->Id << " " << nw->Math << " " << nw->English << " " << nw->Algorithm << " "
    						<< nw->Sum << endl;
    				}
    				else {
    					fout << NewName << " " << nw->Id << " " << nw->Math << " " << nw->English << " " << nw->Algorithm << " "
    						<< nw->Sum << endl;
    					puts("\n数据修改成功!");
    				}
    			}
    			else if(order == 2)
    			{
    				string NewId;
    				printf("请输入新学号:"); cin >> NewId;
    			
    				// 防止用户输入错误
    				printf("\n确认修改?(Y/N) "); cin >> x;
    				if(x == 'N' || x == 'n') 
    				{
    					puts("\n取消修改成功!");
    					fout << nw->Name << " " << nw->Id << " " << nw->Math << " " << nw->English << " " << nw->Algorithm << " "
    						<< nw->Sum << endl;
    				}
    				else {
    					fout << nw->Name << " " << NewId << " " << nw->Math << " " << nw->English << " " << nw->Algorithm << " "
    						<< nw->Sum << endl;
    					puts("\n数据修改成功!");
    				}
    			}
    			else if(order == 3)
    			{
    				double NewMath;
    				printf("请输入新数学成绩:"); cin >> NewMath;
    				while(NewMath < 0 || NewMath > 100)
    				{
    					puts("您输入的数据不合法,提示[0-100],请重新输入");
    					cin >> NewMath;
    				}
    			
    				// 防止用户输入错误
    				printf("\n确认修改?(Y/N) "); cin >> x;
    				if(x == 'N' || x == 'n') 
    				{
    					puts("\n取消修改成功!");
    					fout << nw->Name << " " << nw->Id << " " << nw->Math << " " << nw->English << " " << nw->Algorithm << " "
    						<< nw->Sum << endl;
    				}
    				else {
    					nw->Sum = NewMath + nw->English + nw->Algorithm;
    					fout << nw->Name << " " << nw->Id << " " << NewMath << " " << nw->English << " " << nw->Algorithm << " "
    						<< nw->Sum << endl;
    					puts("\n数据修改成功!");
    				}
    			}
    			else if(order == 4)
    			{
    				double NewEng;
    				printf("请输入新英语成绩:"); cin >> NewEng;
    				while(NewEng < 0 || NewEng > 100)
    				{
    					puts("您输入的数据不合法,提示[0-100],请重新输入");
    					cin >> NewEng;
    				}
    			
    				// 防止用户输入错误
    				printf("\n确认修改?(Y/N) "); cin >> x;
    				if(x == 'N' || x == 'n') 
    				{
    					puts("\n取消修改成功!");
    					fout << nw->Name << " " << nw->Id << " " << nw->Math << " " << nw->English << " " << nw->Algorithm << " "
    						<< nw->Sum << endl;
    				}
    				else {
    					nw->Sum = nw->Math + NewEng + nw->Algorithm;
    					fout << nw->Name << " " << nw->Id << " " << nw->Math << " " << NewEng << " " << nw->Algorithm << " "
    						<< nw->Sum << endl;
    					puts("\n数据修改成功!");
    				}
    			}
    			else if(order == 5)
    			{
    				double NewAlgor;
    				printf("请输入新算法导论成绩:"); cin >> NewAlgor;
    				while(NewAlgor < 0 || NewAlgor > 100)
    				{
    					puts("您输入的数据不合法,提示[0-100],请重新输入");
    					cin >> NewAlgor;
    				}
    			
    				// 防止用户输入错误
    				printf("\n确认修改?(Y/N) "); cin >> x;
    				if(x == 'N' || x == 'n') 
    				{
    					puts("\n取消修改成功!");
    					fout << nw->Name << " " << nw->Id << " " << nw->Math << " " << nw->English << " " << nw->Algorithm << " "
    						<< nw->Sum << endl;
    				}
    				else {
    					nw->Sum = nw->Math + nw->English + NewAlgor;
    					fout << nw->Name << " " << nw->Id << " " << nw->Math << " " << nw->English << " " << NewAlgor << " "
    						<< nw->Sum << endl;
    					puts("\n数据修改成功!");
    				}
    			}
    		}
    		
    		if(!isFind)
    			puts("\n未找到该信息!");
    		
    		
    		fin.close();
    		fout.close();
    		
    		remove("data.txt");
    		rename("data2.txt","data.txt"); 
    		
    		puts("\n是否继续修改?(Y/N)");
    		cin >> x;
    		puts("");
    	}
    	
    	puts("");
    	system("pause");
    }
    
    void Delete() // 删除
    {
    	char x = 'Y';
    	string tmp;
    	system("Cls");
    	puts("*******************************************************");
    	puts("                    删除学生信息           ");
    	puts("*******************************************************\n");
    	
    	while(x == 'Y' || x == 'y')
    	{	
    		ifstream fin("data.txt");
    		ofstream fout("data2.txt");
    		if(!fin)
    		{
    			puts("数据文件打开失败!");
    			system("pause");
    			exit(0);
    		}
    		if(!fout)
    		{
    			puts("临时数据文件打开失败!");
    			system("pause");
    			exit(0);
    		}
    		
    		puts("         请选择要删除学生信息的关键字:");
    		puts("--------------------------------------");
    		puts("            1.姓名\n");
    		puts("            2.学号\n");
    		puts("            0.返回上一级菜单");
    		printf("指令:"); scanf("%d", &order);
    		while((order<0)||(order>2))
    		{
    			puts("");
    			InputError();
    			puts("         请选择要删除学生信息的关键字:");
    			puts("--------------------------------------");
    			puts("            1.姓名\n");
    			puts("            2.学号\n");
    			puts("            0.返回上一级菜单");
    			printf("指令:"); scanf("%d", &order);
    		}
    		
    		if(order == 0)
    			return;
    		
    		if(order == 1) printf("请输入姓名:"), cin >> tmp;
    		else if(order == 2) printf("请输入学号:"), cin >> tmp;
    		
    		Student *nw;
    		nw = new Student;
    		bool isFind = false;
    		while(fin >> nw->Name >> nw->Id >> nw->Math >> nw->English >> nw->Algorithm >> nw->Sum)
    		{
    			if((tmp.compare(nw->Name)) && (tmp.compare(nw->Id)))
    			{
    				fout << nw->Name << " " << nw->Id << " " << nw->Math << " " << nw->English << " " << nw->Algorithm << " "
    					<< nw->Sum << endl;
    				continue;
    			}
    			isFind = true;
    			
    			cout << "\n姓名\t学号\t数学成绩\t英语成绩\t算法导论成绩\t总分\n";
    			cout << left << setw(8) << nw->Name 
    				<< left << setw(8) << nw->Id 
    				<< left << setw(16) << nw->Math 
    				<< left << setw(16) << nw->English 
    				<< left << setw(16) << nw->Algorithm 
    				<< nw->Sum 
    				<< endl;
    			
    			// 防止用户输入错误
    			printf("\n确认删除?(Y/N) "); cin >> x;
    			if(x == 'N' || x == 'n') 
    			{
    				puts("\n取消删除成功!");
    				fout << nw->Name << " " << nw->Id << " " << nw->Math << " " << nw->English << " " << nw->Algorithm << " "
    					<< nw->Sum << endl;
    				continue; 
    			}
    			puts("\n数据删除成功!");
    		}
    		
    		if(!isFind)
    			puts("\n未找到该信息!");
    		
    		
    		fin.close();
    		fout.close();
    		
    		remove("data.txt");
    		rename("data2.txt","data.txt"); 
    		
    		puts("\n是否继续删除?(Y/N)");
    		cin >> x;
    		puts("");
    	}
    	
    	puts("");
    	system("pause");
    }
    
    void Query() // 查询
    {
    	char x = 'Y';
    	string tmp;
    	system("Cls");
    	puts("*******************************************************");
    	puts("                    查询学生信息           ");
    	puts("*******************************************************\n");
    	
    	while(x == 'Y' || x == 'y')
    	{	
    		ifstream fin("data.txt");
    		if(!fin)
    		{
    			puts("数据文件打开失败!");
    			system("pause");
    			exit(0);
    		}
    		
    		puts("                  请选择查询方式:");
    		puts("--------------------------------------");
    		puts("                  1.姓名\n");
    		puts("                  2.学号\n");
    		puts("                  3.返回上一级菜单");
    		printf("指令:"); scanf("%d", &order);
    		while((order<1)||(order>3))
    		{
    			puts("");
    			InputError();
    			puts("                  请选择查询方式:");
    			puts("--------------------------------------");
    			puts("                  1.姓名\n");
    			puts("                  2.学号\n");
    			puts("                  3.返回上一级菜单");
    			printf("指令:"); scanf("%d", &order);
    		}
    		
    		if(order == 3)
    			return;
    		
    		if(order == 1) printf("请输入要查询的姓名:"), cin >> tmp;
    		else if(order == 2) printf("请输入要查询的学号:"), cin >> tmp;
    		Student *nw;
    		nw = new Student;
    		bool isFind = false;
    		int cnt = 0;
    		while(fin >> nw->Name >> nw->Id >> nw->Math >> nw->English >> nw->Algorithm >> nw->Sum)
    		{
    			if(order == 1)
    			{
    				if(!nw->Name.compare(tmp))
    				{
    					if(!isFind)
    						cout << "\n序号\t姓名\t学号\t数学成绩\t英语成绩\t算法导论成绩\t总分\n";
    					isFind = true;
    					cnt ++;
    					cout << left << setw(8) << cnt 
    						<< left << setw(8) << nw->Name 
    						<< left << setw(8) << nw->Id 
    						<< left << setw(16) << nw->Math 
    						<< left << setw(16) << nw->English 
    						<< left << setw(16) << nw->Algorithm 
    						<< nw->Sum 
    						<< endl; 
    				}
    			}
    			else if(order == 2)
    			{
    				if(!nw->Id.compare(tmp))
    				{
    					if(!isFind)
    						cout << "\n序号\t姓名\t学号\t数学成绩\t英语成绩\t算法导论成绩\t总分\n";
    					isFind = true;
    					cnt ++;
    					cout << left << setw(8) << cnt 
    						<< left << setw(8) << nw->Name 
    						<< left << setw(8) << nw->Id 
    						<< left << setw(16) << nw->Math 
    						<< left << setw(16) << nw->English 
    						<< left << setw(16) << nw->Algorithm 
    						<< nw->Sum 
    						<< endl; 
    				}
    			}
    		}
    		if(!isFind)
    			puts("\n未找到该信息!");
    		fin.close();
    		puts("\n是否继续查询?(Y/N)");
    		cin >> x;
    		puts("");
    	}
    	
    	puts("");
    	system("pause");
    }
    
    void Sort_Tongji() // 统计分数区间 
    {
    	
    	char x = 'Y';
    	string tmp;
    	system("Cls");
    	puts("*******************************************************");
    	puts("                    统计学生信息           ");
    	puts("*******************************************************\n");
    	
    	double l, r; 
    	while(x == 'Y' || x == 'y')
    	{	
    		ifstream fin("data.txt");
    		if(!fin)
    		{
    			puts("数据文件打开失败!");
    			system("pause");
    			exit(0);
    		}
    		
    		system("Cls");
    		puts("                  请选择需要统计的科目:");
    		puts("--------------------------------------");
    		puts("                  1.数学\n");
    		puts("                  2.英语\n");
    		puts("                  3.算法导论\n");
    		puts("                  0.返回上一级菜单");
    		printf("指令:"); scanf("%d", &order);
    		if(order == 0)
    			return;
    		puts("请输入两个数字代表要统计的区间,如60 100:");
    		cin >> l >> r;
    		while((order<0)||(order>3))
    		{
    			puts("");
    			InputError();
    			puts("                  请选择需要统计的科目:");
    			puts("--------------------------------------");
    			puts("                  1.数学\n");
    			puts("                  2.英语\n");
    			puts("                  3.算法导论\n");
    			puts("                  0.返回上一级菜单");
    			printf("指令:"); scanf("%d", &order);
    			if(order == 0)
    				return;
    			puts("请输入两个数字代表要统计的区间,如60 100:");
    			cin >> l >> r;
    		}
    		
    		if(order == 0)
    			return;
    		
    		Student *Head = NULL, *nw;
    		nw = new Student;
    		int cnt = 0;
    		while(fin >> nw->Name >> nw->Id >> nw->Math >> nw->English >> nw->Algorithm >> nw->Sum)
    		{
    			if(order == 1 && nw->Math >= l && nw->Math <= r)
    			{
    				cnt ++;
    				nw->nxt = NULL;
    					//空 
    				if(Head == NULL)
    				{
    					Head = nw;
    					nw = new Student;
    					continue;
    				}
    					//第一个就更da
    				if(Head->Math <= nw->Math)
    				{
    					nw->nxt = Head;
    					Head = nw;
    					nw = new Student;
    					continue;
    				}
    					// 开始找
    				Student *lst = Head, *p = Head->nxt; // lst 是p 的上一个
    				while(p != NULL)
    				{
    					if(nw->Idnum < p->Idnum)
    					{
    						lst = p;
    						p = p->nxt;
    					}
    					else // 找到了要插入的这个刚好不大于的点,这个点位于 r,q之间 
    						break;
    				}
    				// 执行完之后 p->Id >= nw->id, lst->Id <= nw->Id 
    				nw->nxt = p;
    				lst->nxt = nw;
    	
    				nw = new Student;
    			}
    			else if(order == 2 && nw->English >= l && nw->English <= r)
    			{
    				cnt ++;
    			//	Insert(Head, nw);
    				nw->nxt = NULL;
    					//空 
    				if(Head == NULL)
    				{
    					Head = nw;
    					nw = new Student;
    					continue;
    				}
    					//第一个就更da
    				if(Head->English <= nw->English)
    				{
    					nw->nxt = Head;
    					Head = nw;
    					nw = new Student;
    					continue;
    				}
    					// 开始找
    				Student *lst = Head, *p = Head->nxt; // lst 是p 的上一个
    				while(p != NULL)
    				{
    					if(nw->English < p->English)
    					{
    						lst = p;
    						p = p->nxt;
    					}
    					else // 找到了要插入的这个刚好不大于的点,这个点位于 r,q之间 
    						break;
    				}
    				nw->nxt = p;
    				lst->nxt = nw;
    	
    				nw = new Student;
    			}
    			else if(order == 3 && nw->Algorithm >= l && nw->Algorithm <= r)
    			{
    				cnt ++;
    				nw->nxt = NULL;
    					//空 
    				if(Head == NULL)
    				{
    					Head = nw;
    					nw = new Student;
    					continue;
    				}
    					//第一个就更da
    				if(Head->Algorithm <= nw->Algorithm)
    				{
    					nw->nxt = Head;
    					Head = nw;
    					nw = new Student;
    					continue;
    				}
    					// 开始找
    				Student *lst = Head, *p = Head->nxt; // lst 是 p 的上一个
    				while(p != NULL)
    				{
    					if(nw->Algorithm < p->Algorithm)
    					{
    						lst = p;
    						p = p->nxt;
    					}
    					else // 找到了要插入的这个刚好不大于的点,这个点位于 r,q之间
    						break;
    				}
    				// 执行完之后 p->Id >= nw->id, lst->Id <= nw->Id 
    				nw->nxt = p;
    				lst->nxt = nw;
    	
    				nw = new Student;
    			}
    			
    		}
    		
    		//print
    		system("Cls");
    		Student *rs = Head;
    		puts("*******************************************************");
    		if(order == 1)
    		{
    			puts("              统计学生信息-----数学        ");
    			cout << "           分数段" << l << "~" << r << "的总人数为 " << cnt << endl;
    		}
    		else if(order == 2)
    		{
    			puts("              统计学生信息-----英语        ");
    			cout << "           分数段" << l << "~" << r << "的总人数为 " << cnt << endl;
    		}
    		else if(order == 3)
    		{
    			puts("              统计学生信息-----算法导论        ");
    			cout << "           分数段" << l << "~" << r << "的总人数为 " << cnt << endl;
    		}
    		puts("*******************************************************\n"); 
    		cout << "\n序号\t姓名\t学号\t数学成绩\t英语成绩\t算法导论成绩\t总分\n";
    		cnt = 0;
    		while(rs != NULL)
    		{
    			cnt ++;
    			cout << left << setw(8) << cnt 
    				<< left << setw(8) << rs->Name 
    				<< left << setw(8) << rs->Id 
    				<< left << setw(16) << rs->Math 
    				<< left << setw(16) << rs->English 
    				<< left << setw(16) << rs->Algorithm 
    				<< rs->Sum 
    				<< endl;
    			rs = rs->nxt;
    		}
    		//*******************************************************
    		
    		fin.close();
    		puts("\n是否继续统计?(Y/N)");
    		cin >> x;
    		puts("");
    	}
    	
    	puts("");
    	system("pause");
    }
    
    
    void Sort_fenxi() // 统计分数
    {
    	
    	char x = 'Y';
    	string tmp;
    	system("Cls");
    	puts("*******************************************************");
    	puts("                    分析成绩信息           ");
    	puts("*******************************************************\n");
    	
    	while(x == 'Y' || x == 'y')
    	{	
    		ifstream fin("data.txt");
    		if(!fin)
    		{
    			puts("数据文件打开失败!");
    			system("pause");
    			exit(0);
    		}
    		
    		system("Cls");
    		puts("                  请选择需要分析的科目:");
    		puts("--------------------------------------");
    		puts("                  1.数学\n");
    		puts("                  2.英语\n");
    		puts("                  3.算法导论\n");
    		puts("                  4.自由选择分数区段\n");
    		puts("                  0.返回上一级菜单");
    		printf("指令:"); scanf("%d", &order);
    		while((order<0)||(order>4))
    		{
    			puts("");
    			InputError();
    			puts("                  请选择需要统计的科目:");
    			puts("--------------------------------------");
    			puts("                  1.数学\n");
    			puts("                  2.英语\n");
    			puts("                  3.算法导论\n");
    			puts("                  4.自由选择分数区段\n");
    			puts("                  0.返回上一级菜单");
    			printf("指令:"); scanf("%d", &order);
    		}
    		
    		if(order == 0)
    			return;
    		if(order == 4)
    		{
    			Sort_Tongji();
    			return;
    		}
    		
    		Student *Head = NULL, *nw;
    		nw = new Student;
    		int cnt = 0, Math_60 = 0, Math_90 = 0, English_60 = 0, English_90 = 0, Algorithm_60 = 0, Algorithm_90 = 0;
    		double Math_Max = 0, English_Max = 0, Algorithm_Max = 0;
    		double Math_Min = 100, English_Min = 100, Algorithm_Min = 100;
    		double Math_average = 0, English_average = 0, Algorithm_average = 0;
    		while(fin >> nw->Name >> nw->Id >> nw->Math >> nw->English >> nw->Algorithm >> nw->Sum)
    		{
    			cnt ++;
    			Math_60 += (int)(nw->Math>=60); Math_90 += (int)(nw->Math>=90);
    			English_60 += (int)(nw->English>=60); English_90 += (int)(nw->English>=90);
    			Algorithm_60 += (int)(nw->Algorithm>=60); Algorithm_90 += (int)(nw->Algorithm>=90);
    			
    			Math_Min = min(Math_Min, nw->Math);
    			English_Min = min(English_Min, nw->English);
    			Algorithm_Min = min(Algorithm_Min, nw->Algorithm);
    			
    			Math_Max = max(Math_Max, nw->Math);
    			English_Max = max(English_Max, nw->English);
    			Algorithm_Max = max(Algorithm_Max, nw->Algorithm);
    			
    			Math_average += nw->Math;
    			English_average += nw->English; 
    			Algorithm_average += nw->Algorithm;
    		}
    		
    		Math_average /= (double)cnt;
    		English_average /= (double)cnt;
    		Algorithm_average /= (double)cnt;
    		
    		//print
    		system("Cls");
    		Student *rs = Head;
    		puts("*******************************************************");
    		if(order == 1)
    		{
    			puts("              分析学科信息-----数学        ");
    			puts("*******************************************************\n"); 
    			cout << "       最高分 : " << Math_Max << endl << endl; 
    			cout << "       最低分 : " << Math_Min << endl << endl;
    			cout << "       平均分 : " << Math_average << endl << endl; 
    			cout << "         极差 : " << Math_Max-Math_Min << endl << endl;
    			cout << "及格人数(>60) : " << Math_60 << endl << endl;
    			cout << "       及格率 : " << ((double)Math_60/(double)cnt)*100.0 << "%" << endl << endl;
    			cout << "优秀人数(>90) : " << Math_90 << endl << endl;
    			cout << "       优秀率 : " << ((double)Math_90/(double)cnt)*100.0 << "%" << endl << endl;
    		}
    		else if(order == 2)
    		{
    			puts("              分析学科信息-----英语        ");
    			puts("*******************************************************\n"); 
    			cout << "       最高分 : " << English_Max << endl << endl; 
    			cout << "       最低分 : " << English_Min << endl << endl;
    			cout << "       平均分 : " << English_average << endl << endl; 
    			cout << "         极差 : " << English_Max-English_Min << endl << endl;
    			cout << "及格人数(>60) : " << English_60 << endl << endl;
    			cout << "       及格率 : " << ((double)English_60/(double)cnt)*100.0 << "%" << endl << endl;
    			cout << "优秀人数(>90) : " << English_90 << endl << endl;
    			cout << "       优秀率 : " << ((double)English_90/(double)cnt)*100.0 << "%" << endl << endl;
    		}
    		else if(order == 3)
    		{
    			puts("              分析学科信息-----算法导论        ");
    			puts("*******************************************************\n"); 
    		//	cout << Algorithm_Max << " " << Algorithm_Min << endl;
    			cout << "       最高分 : " << Algorithm_Max << endl << endl; 
    			cout << "       最低分 : " << Algorithm_Min << endl << endl;
    			cout << "       平均分 : " << Algorithm_average << endl << endl; 
    			cout << "         极差 : " << Algorithm_Max-Algorithm_Min << endl << endl;
    			cout << "及格人数(>60) : " << Algorithm_60 << endl << endl;
    			cout << "       及格率 : " << ((double)Algorithm_60/(double)cnt)*100.0 << "%" << endl << endl;
    			cout << "优秀人数(>90) : " << Math_90 << endl << endl;
    			cout << "       优秀率 : " << ((double)Algorithm_90/(double)cnt)*100.0 << "%" << endl << endl;
    		}
    		//*******************************************************
    		
    		fin.close();
    		puts("\n是否继续分析?(Y/N)");
    		cin >> x;
    		puts("");
    	}
    	
    	puts("");
    	system("pause");
    }
    
    void Sort() // 数据分析 
    {
    	
    	char x = 'Y';
    	string tmp;
    	system("Cls");
    	puts("*******************************************************");
    	puts("                    分析学生信息           ");
    	puts("*******************************************************\n");
    	
    	while(x == 'Y' || x == 'y')
    	{	
    		ifstream fin("data.txt");
    		if(!fin)
    		{
    			puts("数据文件打开失败!");
    			system("pause");
    			exit(0);
    		}
    		
    		system("Cls");
    		puts("                  请选择分析方式:");
    		puts("--------------------------------------");
    		puts("                  1.学号从小到大\n");
    		puts("                  2.数学成绩从大到小\n");
    		puts("                  3.英语成绩从大到小\n");
    		puts("                  4.算法导论成绩从大到小\n");
    		puts("                  5.总成绩从大到小\n");
    		puts("                  6.查看各科合格率、优秀率等分析数据\n");
    		puts("                  0.返回上一级菜单");
    		printf("指令:"); scanf("%d", &order);
    		while((order<0)||(order>6))
    		{
    			puts("");
    			InputError();
    			puts("                  请选择分析方式:");
    			puts("--------------------------------------");
    			puts("                  1.学号从小到大\n");
    			puts("                  2.数学成绩从大到小\n");
    			puts("                  3.英语成绩从大到小\n");
    			puts("                  4.算法导论成绩从大到小\n");
    			puts("                  5.总成绩从大到小\n");
    			puts("                  6.查看各科合格率、优秀率等分析数据\n");
    			puts("                  0.返回上一级菜单");
    			printf("指令:"); scanf("%d", &order);
    		}
    		
    //		cout << "!@#^*()" << order << endl;
    		
    		if(order == 0)
    		{
    //			cout << "EXM" <<endl; 
    			return;
    		} 
    		if(order == 6)
    		{
    			Sort_fenxi();
    			Sort();
    			return;
    		}
    		
    		Student *Head = NULL, *nw;
    		nw = new Student;
    		// Insert;
    		while(fin >> nw->Name >> nw->Id >> nw->Math >> nw->English >> nw->Algorithm >> nw->Sum)
    		{
    			if(order == 1)
    			{
    				int len = nw->Id.length();
    				nw->Idnum = 0;
    				for(int i = 0; i < len; ++ i)
    				{
    					nw->Idnum += (long long)(nw->Id[i]-'0');
    					nw->Idnum *= 10;
    				}
    				nw->Idnum /= 10;
    			}
    			nw->nxt = NULL;
    				//空 
    			if(Head == NULL)
    			{
    				Head = nw;
    				nw = new Student;
    				continue;
    			}
    				//第一个就更小 
    			if(order == 1 && Head->Idnum >= nw->Idnum)
    			{
    			//	cout << Head->Idnum << " " << nw->Idnum << endl;
    				nw->nxt = Head;
    				Head = nw;
    				nw = new Student;
    				continue;
    			}
    				//第一个就更da
    			if(order == 2 && Head->Math <= nw->Math)
    			{
    				nw->nxt = Head;
    				Head = nw;
    				nw = new Student;
    				continue;
    			}
    				//第一个就更da
    			if(order == 3 && Head->English <= nw->English)
    			{
    				nw->nxt = Head;
    				Head = nw;
    				nw = new Student;
    				continue;
    			}
    				//第一个就更da
    			if(order == 4 && Head->Algorithm <= nw->Algorithm)
    			{
    				nw->nxt = Head;
    				Head = nw;
    				nw = new Student;
    				continue;
    			}
    				//第一个就更da
    			if(order == 5 && Head->Sum <= nw->Sum)
    			{
    				nw->nxt = Head;
    				Head = nw;
    				nw = new Student;
    				continue;
    			}
    				// 开始找
    			Student *lst = Head, *p = Head->nxt; // lst 是p 的上一个
    			while(p != NULL)
    			{
    				if(order == 1)
    				{
    					if(nw->Idnum > p->Idnum)
    					{
    						lst = p;
    						p = p->nxt;
    					}
    					else // 找到了要插入的这个刚好不大于的点,这个点位于 r,q之间 
    						break;
    				}
    				else if(order == 2)
    				{
    					if(nw->Math < p->Math)
    					{
    						lst = p;
    						p = p->nxt;
    					}
    					else // 找到了要插入的这个刚好不大于的点,这个点位于 r,q之间 
    						break;
    				}
    				else if(order == 3)
    				{
    					if(nw->English < p->English)
    					{
    						lst = p;
    						p = p->nxt;
    					}
    					else // 找到了要插入的这个刚好不大于的点,这个点位于 r,q之间 
    						break;
    				}
    				else if(order == 4)
    				{
    					if(nw->Algorithm < p->Algorithm)
    					{
    						lst = p;
    						p = p->nxt;
    					}
    					else // 找到了要插入的这个刚好不大于的点,这个点位于 r,q之间 
    						break;
    				}
    				else if(order == 5)
    				{
    					if(nw->Sum < p->Sum)
    					{
    						lst = p;
    						p = p->nxt;
    					}
    					else // 找到了要插入的这个刚好不大于的点,这个点位于 r,q之间 
    						break;
    				}
    			}
    			// 执行完之后 p->Id >= nw->id, lst->Id <= nw->Id 
    			nw->nxt = p;
    			lst->nxt = nw;
    
    			nw = new Student;
    		}
    		
    		//print
    		system("Cls");
    		Student *r = Head;
    		puts("*******************************************************");
    		if(order == 1)
    			puts("              分析学生信息-----学号从小到大        ");
    		else if(order == 2)
    			puts("              分析学生信息-----数学成绩从大到小    ");
    		else if(order == 3)
    			puts("              分析学生信息-----英语成绩从大到小    ");
    		else if(order == 4)
    			puts("              分析学生信息-----算法导论成绩从大到小");
    		else if(order == 5)
    			puts("              分析学生信息-----总成绩从大到小");
    		puts("*******************************************************\n"); 
    		cout << "\n序号\t姓名\t学号\t数学成绩\t英语成绩\t算法导论成绩\t总分\n";
    		int cnt = 0; 
    		while(r != NULL)
    		{
    			cnt ++;
    			cout << left << setw(8) << cnt 
    				<< left << setw(8) << r->Name 
    				<< left << setw(8) << r->Id 
    				<< left << setw(16) << r->Math 
    				<< left << setw(16) << r->English 
    				<< left << setw(16) << r->Algorithm 
    				<< r->Sum 
    				<< endl;
    			r = r->nxt;
    		}
    		//*******************************************************
    		
    		fin.close();
    		puts("\n是否继续查看?(Y/N)");
    		cin >> x;
    		puts("");
    	}
    	
    	puts("");
    	system("pause");
    }
    
    void MenuOrderAction() // 执行命令
    {
    	if(order == 1) {
    		Add();
    	}
    	else if(order == 2){
    		Display();
    	}
    	else if(order == 3){
    		Mend();
    	}
    	else if(order == 4){
    		Delete();
    	}
    	else if(order == 5){
    		Query();
    	}
    	else if(order == 6){
    		Sort();
    	}
    	else if(order == 0){
    		ExitSystem();
    	}
    //	cout << "ahha" << endl;
    }
    
    int main()
    {
    	while(1)
    	{
    	 	ShowMenu();
    		printf("指令:"); scanf("%d", &order);
    		while((order<0)||(order>6))
    		{
    			ShowMenu();
    			InputError();
    			printf("指令:"); scanf("%d", &order);
    		}
    		MenuOrderAction();
    	}
    	return 0;
    }
    
    
    展开全文
  • C++版课程设计 学生成绩管理系统 C++版课程设计 学生成绩管理系统 ... C++版课程设计 学生成绩管理系统 C++版课程设计 学生成绩管理系统 C++版课程设计 学生成绩管理系统 C++版课程设计 学生成绩管理系统
  • 学生信息管理系统 C++

    2013-11-02 21:42:01
    C++做了个简单的学生信息管理系统,实现对学生信息的增删改查。 增加信息:输入学生信息后,用二进制方式写入到文件 读取信息:用二进制方式从指定文件读入信息 修改信息:可以修改文件中的学生姓名、性别、班级、...
  • 学生信息管理系统C++

    2019-01-13 15:10:46
    学生信息管理系统,包括管理员和学生两大模块,管理员具有班级管理,教师管理,学生管理,课程管理,学生选课,成绩管理六个模块功能,学生具有修改密码,课程浏览,选课浏览,个人选课,成绩查询,个人信息六个模块...
  • C++学生成绩信息管理系统!!!文件交互方式存储成绩信息 功能:各科的成绩信息录入与查询,学生信息的录入与查询,各科课程信息的录入与查询。学生信息与课程信息与各科成绩信息相关联!
  • 要求:根据以上功能说明,设计学生成绩信息系统的存储结构、设计程序完成功能。根据要存入一个数据文件中永久保存。 提示: 1.数据的存储结构可以采用线性结构 2.每次系统运行前先从文件中取数据,运行结束...
  • C++ 学生成绩管理系统

    万次阅读 多人点赞 2019-10-04 20:26:09
    c++实现学生成绩管理系统,此系统可以提供成绩的录入,可以按学生成绩进行排名,求总分和平均分以及提供成绩查询功能等。 实现功能 提供成绩录入 统计每个学生的总分和平均分 按总分由大到小排出名次 提供成绩...

    用c++实现学生成绩管理系统,此系统可以提供成绩的录入,可以按学生成绩进行排名,求总分和平均分以及提供成绩查询功能等。

    实现功能

    1. 提供成绩录入
    2. 统计每个学生的总分和平均分
    3. 按总分由大到小排出名次
    4. 提供成绩查询,就是输入一个学号,查出该学生的成绩信息

    系统的实现

    代码主要分为三个部分,一部分是结构和变量定义部分,另一部分是主函数部分,最后一部分是功能函数部分。具体代码如下:

    结构和变量定义部分:

    //结构和变量定义部分
    #include "pch.h"
    #include"out.h"
    #include <iostream>
    #include<fstream>
    #include <string>
    #include<iomanip>
    #include <fstream>
    #include<strstream>
    #include <vector>
    #include<cstdio>
    
    using   namespace   std;
    const int Max = 30;		//学号和字符串的大小
    //函数的声明
    class Student;
    void setData(Student &s);
    void count(Student &s);
    void sort(Student S[], int N);
    double getAverage(Student S[], int N);
    void print(Student &s);
    int search(Student S[], int N, char *n);
    class Student
    {
    public:		//定义类的公有成员
    	char number[Max];	//学号
    	char name[Max];		//姓名
    	double chinese;		//语文
    	double math;		//数学
    	double english;		//英语
    	double total;		//总分
    	double average;		//平均分
    	int rank;			//排名
    };
    

    主函数部分:

    //主函数部分
    int main()
    {
    	const int M = 3;	//定义常量,假设为3位同学
    	Student S[M];		//创建对象数组
    	for (int i = 0; i < M; i++)
    	{
    		cout << "输入下面第" << i + 1 << "位同学的数据:" << endl;
    		setData(S[i]);		//调用数据输入函数
    		count(S[i]);
    		cout << endl;
    	}
    	sort(S, M);
    	int order = 1;
    	while (order != 4)
    	{
    		cout << "****************************命令菜单****************************" << endl;
    		cout << "1.查询所有排名" << endl;
    		cout << "2.查询成绩在全班平均分以上的学生名单和信息" << endl;
    		cout << "3,任意输入一个学号,查找该学生的排名和考试成绩" << endl;
    		cout << "4.退出系统" << endl;
    		cout << "****************************************************************" << endl;
    		cout << "请输入命令:";
    		cin >> order;
    		switch (order)
    		{
    		case 1:
    		{
    			for (int j = 0; j < M; j++)
    				print(S[j]);	//输出对象数组
    		}
    		break;
    		case 2:
    		{
    			double compare = getAverage(S, M);		//获取平均分,之后将大于平均分的同学输出
    			for (int k = 0; k < M; k++)
    				if (S[k].average > compare)
    					print(S[k]);
    		}
    		break;
    		case 3:
    		{
    			char code[Max];
    			cout << "输入您要查找的学号:";
    			cin >> code;
    			int result = search(S, M, code);
    			if (result == -1)
    				cout << "您输入的学号不存在!" << endl;
    			else
    				print(S[result]);
    		}
    		break;
    		case 4:
    			break;
    		default:
    			cout << "输入错误,请重新输入" << endl;
    		}
    	}
    }
    

    功能函数部分:

    //功能函数部分
    void setData(Student &s)
    {
    	cout << "输入学号,姓名,语文,数学,英语成绩:";
    	cin >> s.number >> s.name >> s.chinese >> s.math >> s.english;		//分别将输入的数据赋给类的成员
    	//成员的初始化
    	s.total = 0;
    	s.average = 0;
    	s.rank = 0;
    }
    
    void count(Student &s)
    {
    	s.total = s.chinese + s.math + s.english;		//求总分
    	s.average = s.total / 3;		//求平均分
    }
    
    void sort(Student S[], int N)		//插入法排序
    {
    	int index;
    	Student inserter;
    	for (int i = 1; i < N; i++)		//依次比较所有学生
    	{
    		inserter = S[i];		//取出元素i
    		index = i - 1;
    		while (index >= 0 && inserter.average > S[index].average)
    		{		//该元素大于第i-1个元素
    			S[index + 1] = S[index];
    			index--;
    		}
    		S[index + 1] = inserter;		//插入
    	}
    	for (int j = 0; j < N; j++)
    		S[j].rank = j + 1;		//设置排名
    }
    
    double getAverage(Student S[], int N)
    {
    	double Average = 0;
    	for (int i = 0; i < N; i++)
    		Average += (S[i].chinese + S[i].math + S[i].english);
    	Average /= (N * 3);
    	return Average;
    }
    
    void print(Student &s)
    {
    	cout << "排名" << "\t" << "学号" << "\t" << "姓名" << "\t" << "语文" << "\t" << "数学" << "\t" << "英语"
    		<< "\t" << "总分" << "\t" << "平均分" << endl;
    	cout <<s.rank<< "\t" << s.number << "\t" << s.name << "\t" << s.chinese << "\t" <<s.math << "\t" << s.english
    		<< "\t" << s.total << "\t" << s.average << endl;
    }
    
    int search(Student S[], int N, char *n)
    {
    	for (int i = 0; i < N; i++)
    	{
    		if (strcmp(S[i].number, n) == 0)		//比较字符,如果n(用户输入的学号)与系统中学号相等,strcmp(S[i].number, n)值为0
    			return i;		//返回下标
    	}
    	return -1;
    }
    

    将以上三个部分合起来就能运行程序了哦!

    程序运行结果

    输入3(3是数组的大小,可修改)位同学的数据后就能进入系统了,
    在这里插入图片描述
    查询排名情况:
    在这里插入图片描述
    查询高于平均分的同学:
    在这里插入图片描述
    输入学号查看学生信息:
    在这里插入图片描述
    最后是退出:
    在这里插入图片描述
    功能已全部实现,虽然目前程序还很简陋,但我们可以开发更多的功能去进一步完善它。只要功夫深,铁杵磨成针,希望能帮助到有需要的小伙伴,互相学习,一起进步!
    在这里插入图片描述

    展开全文
  • 学生成绩管理系统C++的作业,来分享哈
  • (1) 信息维护: 要求:学生信息数据要以文件的形式保存,能实现学生信息的 维护,此模块包括子模块有:增加学生信息、删除学生信息、修改学生信息 (2) 信息查询: 要求:查询时可实现按姓名查询、按学号查询 (3) ...
  • 学生信息管理系统c++

    2010-06-21 23:00:24
    C++语言实现一个C++课程设计管理系统,通过对学生信息(包括姓名、学号、班级、C++成绩、题目、指导老师、电话、课时、学分)的输入、查询、删除、修改等,使之便于老师更好、更方便的掌握学生课程设计相关的基本...
  • 范 学 院 课 程 设 计 课 程 C++程序设计 题 目 学生考勤信息管理系统 院 系 计算机与信息技术学院 专业班级 2013 级软件工程 学生姓名 学生学号 指导教师 20 16 年 1 月2 日 课程设计成绩评价表 课程名称 C++程序...
  • 阳 师 范 学 院 课 程 设 计 课 题 院 程 目 系 C++程序设计 学生考勤信息管理系统 计算机与信息技术学院 专业班级 学生姓名 学生学号 指导教师 2013级软件工程 2016年 1月2 日 课程设计成绩评价表 课程名称 C++程序...
  • 用到c++语言 文件读写 学生信息管理系统适合初学者做课程设计
  • c++ MFC 学生成绩管理系统

    热门讨论 2011-12-21 21:00:45
    c++ MFC 数据库 学生成绩管理系统
  • C++学生成绩管理系统

    2018-07-07 21:10:17
    c++学生成绩管理系统,一个学生基本信息管理系统,实现对学生信息的综合管理。
  • 要求用C++语言编写学生成绩管理系统要求能进行添加删除修 改输入输出等的操作并能使用面相对像原理对此系统进行实现 学生成绩管理系统分析 8 学生成绩管理系统分为 个模块分别是添加学生信息输出 学生成绩查找学生...
  • 学生成绩管理系统:  在实验三的基础上,实现数据的文件存贮,将所录入的信息存入文件。  并要求学生信息的显示、查找、删除及修改都必须对文件直接操作,不允许一次将所有数据读取到数组或动态分配的内存中再...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,922
精华内容 3,168
关键字:

学生成绩信息管理系统c++

c++ 订阅