学生信息管理系统-C语言结课作业掺杂了一点c++

最近C语言学完了,学了一点点c++,做了一个结课作业,用的c++的头文件和输入输出方式,其中的信息排序方式也是用c++的sort排序函数写的。

// 学生信息管理系统.cpp : Defines the entry point for the console application.
//

//#include "stdafx.h"		
#include			//
#include			//清空文件操作未写
#include				//
#include
#include
#include
#include
#define NUM 100
using namespace std;

void save();
void yanshi(char *p);
void menu();
void load();
void search_No();
void maxTOTAL();
void minTOTAL();
void search();
void loading();
void deletefile();
void deletething();
void SORT();
void sortsum();
void sortmath();
void sorteng();
void top();
void sortno();
void deleteRec();

typedef struct student
{
	char No[10];
	char Name[20];
	char Sex[3];
	char ClassName[20];
	int Age;
	double Math;
	double Physics;
	double English;
	double Total;
	double Average;
}student;

//定义全局变量
student s[NUM];//存放学生的数组
int n=0;//数组中当前存放的学生数

void printfstudent(student s);

bool compare_totals(student a,student b){
	return (a.Total b.Total );	
}

bool compare_maths(student a,student b){
	return(a.Math b.Math );
}

bool compare_phys(student a,student b){
	return(a.Physics  b.Physics  );
}

bool compare_engs(student a,student b){
	return(a.English  b.English  );
}

//删除给定条件的记录
void deleteRec(){
	system("cls");
	cout<<"确认删除某一学生信息?(y/n)"<>k;
	if(k=='y'||k=='Y'){
	int pos=-1;//初始化删除位置
	char key[20];
	system("cls");
	cout<>key;
	loading();
	for(int i=0;i>a;
	if(a=='y'||a=='Y'){
	if(pos!=-1){//表示查找到要删除的学生
		for(;pos>k;
	if(k==1){
	sort(s,s+n,compare_phys);
	cout<<"_____________________________________________________________________________________________"<>k;
	if(k==1){
	sort(s,s+n,compare_totals);
	cout<<"_____________________________________________________________________________________________"<>k;
	if(k==1){
	sort(s,s+n,compare_maths);
	cout<<"_____________________________________________________________________________________________"<>k;
	if(k==1){
	sort(s,s+n,compare_engs);
	cout<<"_____________________________________________________________________________________________"<0)
				swap(s[j].Name,s[j+1].Name);
		}
	}
	top();
	for(int i=0;i0)
				swap(s[j].No,s[j+1].No);
		}
	}
	top();
	for(int i=0;i>i;
	switch(i){
	case 6:
		sortname();
		break;
	case 5:
		sortno();
		break;
	case 1:
		sortsum();
		break;
	case 2:
		sortmath();
		break;
	case 3:
		sorteng();
	case 4:
		sortphy();
		break;
	default:
		cout<>m;
	switch(m){
	default:
		menu();
		break;
	case 1:
		search_No();
		break;
	}
}
void maxTOTAL(){
	system("cls");
	double max=s[0].Total;
	int k=0;
	for(int i=1;imax)
			max=s[i].Total;
			k=i;
	}
}

void minTOTAL(){
	system("cls");
	loading();
	double min=s[0].Total;
	int k=0;
	for(int i=1;i>key;
	loading();
	for(int i=0;i>key;
	loading();
	for(int i=0;i>b;*/
	system("cls");
	cout<0){
		i++;
	}
	n=i;//把读出的记录数赋给n
	cout<>i;
	switch(i){
	case 2:
		deletefile();
		break;
	}
}

void deletefile(){//按文件名删除文件
    system("cls");
	char fileNAME[80];
    printf("\n The file to delete:\n");
    cin>>fileNAME;
	system("cls");
	cout<>a;*/
	system("cls");
	cout<>ans;
	if(ans=='n'||ans=='N')
		menu();
	while(ans=='y'||ans=='Y')
	{
		system("cls");
		printf("学号:");
		cin>>s[n].No;
		printf("姓名:");
		cin>>s[n].Name;
		printf("性别:");
		cin>>s[n].Sex;
		printf("班级:");
		cin>>s[n].ClassName;
		printf("年龄:");
		cin>>s[n].Age;
		printf("数学成绩:");
		cin>>s[n].Math;
		printf("物理成绩:");
		cin>>s[n].Physics;
		printf("英语成绩:");
		cin>>s[n].English;
		//计算该学生的总成绩,平均成绩
		s[n].Total=s[n].Math+s[n].Physics+s[n].English;
		s[n].Average=s[n].Total/3;
		n++;
		printf("是否继续添加?(y/n):");
		getchar();//按任意键停留
		scanf("%c",&ans);
	}
	cout<>ans;
	if(ans=='y'||ans=='Y'){
		save();
	}
	else{//有问题,需要修改,若输入非Y非N则返回主菜单,会丢失之前录入的数据
		cout<<"信息未保存,即将返回!"<>select;
	switch(select){
	case 8:
		deleteRec();
		break;
	case 5:
		SORT();
		break;
	case 4:
		deletething();
		break;
	case 3:
		search();
		break;
	case 2:
		load();//加载/读取磁盘数据
		break;
	case 9:
		save();//保存所有信息
		break;
	case 7:
		display();
		break;
	case 1:
		add();
		break;
	case 0:
		cout<

你可能感兴趣的:(学生信息管理系统-C语言结课作业掺杂了一点c++)