大一期间学C++ 课程,做的课设,供大家学习交流!
各种功能的简单介绍
增加记录功能:用于增加学生各门成绩信息,数学,语文及英语,并将各门成绩信息存于系统界面文件当中,从而显示在系统主界面上。
查询记录功能:用于查询之前已输入的学生各门成绩信息,通过函数调用将该生的成绩信息查找出来,并用窗口提示的方式告知用户。
删除记录功能:用于删除已录入学生的各门成绩的信息,使用之后,该生的全部个人信息将从界面文件系统里消失。
更新记录功能:即可以实现对某一学生的信息进行修改,修改之后系统将自动存入修改后该生新的各门成绩的信息。
平均分排序功能:即对主界面显示列表上的学生成绩的平均分进行排序,可以按由高到低的方式进行排序。
以上就是本系统的一些简单功能。
/*********************************头文件**************************************/
#include <iostream>
#include <conio.h> //屏幕操作函数,用于getch(),这是C的操作
#include <iomanip>
using namespace std;
int INDEX[100]; //可以存储100个数据
/*********************************结构体*************************************/
struct Student
{
int id; //学号
char name[20]; //姓名
char sex; //M男性 F女性
float chinese,math,English; //3门成绩
float sum; //总分
float average; //平均分
};
/********************************全局变量**********************************/
const int count=1; //记录学生总人数
struct Student students[count]; //记录学生信息
/********************************函数声明*********************************/
void menu( ); //菜单页面
void page_title(char *menu_item); //清屏输出函数,变量指针
void computer( ); //计算函数
void student_new( ); //录入学生基本信息
void student_print( ); //输出学生基本信息
int search_id( ); //查询学生记录
void sort_aver( ); //按成绩平均分排序
void student_del( ); //删除学生信息
void score_edit( ); //修改成绩
void return_confirm( ); //按键返回函数
/*******************************主函数**********************************/
void main( )
{ //主函数体所在的第一页是主菜单
menu: page_title("Menu"); //主菜单所在的页面,且返回主菜单要清除之前的屏
menu( );
switch(getch())
{
case '1': student_new( );break; //录入学生基本信息
case '2': search_id( );break; //查询学生记录
case '3': sort_aver( );break; //按成绩平均分排序
case '4': student_del( );break; //删除学生信息
case '5': score_edit( );break; //修改成绩
case '0' : exit(0);
}
goto menu; //操作完毕跳转主菜单
// menu在首行menu: page_title("Menu"); 中被定义了
}
/**************************-------函数定义------**************************/
/********************************菜单页面*********************************/
void menu(void)
{
cout<<"请用数字键选择操作:"<<endl;
cout<<" 1 录入并显示学生基本信息"<<endl;
cout<<" 2 查询学生基本信息"<<endl;
cout<<" 3 对学生成绩进行排序"<<endl;
cout<<" 4 删除学生基本信息"<<endl;
cout<<" 5 修改成绩"<<endl;
cout<<" 0 exit"<<endl;
cout<<"温馨提示:男性-M,女性-F"<<endl;
cout<<endl<<"请输入数字:";
}
/*********************************清屏和显示页面标题函数*****************************/
void page_title(char *menu_item)
{
system("CLS"); // //清除屏幕内容,接着打印内容,即是所谓的跳转
cout<<"------------------------->>学生信息管理系统<<<<-----------------------------";
cout<<endl<<endl<<menu_item<<endl<<endl;
}
/********************************按键返回函数*********************************/
void return_confirm(void) //不至于界面立刻返回,按键后才返回
{
cout<<"\n\n---请输入任意键进行返回:";
getch( ); //输入任意键
}
/*********************************计算函数*********************************/
void computer( )
{
int n;
for(n=0;n<count;n++)
{
students[n].sum=students[n].chinese+students[n].math+students[n].English;
students[n].average=(students[n].chinese+students[n].math+students[n].English)/3;
}
}
/*********************************录入学生基本信息*************************/
void student_new(void)
{
int n;
page_title("录入学生基本信息");
for(n=0;n<count;n++)
{
cout<<"id=";
cin>>students[n].id;
cout<<"Name=";
cin>>students[n].name;
cout<<"Sex=";
cin>>students[n].sex;
cout<<"chinese=";
cin>>students[n].chinese;
cout<<"math=";
cin>>students[n].math;
cout<<"English=";
cin>>students[n].English;
cout<<endl;
}
cout<<"录入效果:"<<endl;
student_print( );
return_confirm();
}
/**************************************输出学生基本信息************************/
void student_print(void)
{
cout<<setw(4)<<"id"<<setw(15)<<"name"<<setw(6)<<"sex"<<setw(10)<<"chinese"<<setw(7)<<"math"<<setw(10)<<"English";
cout<<setw(10)<<"sum"<<setw(10)<<"average"<<endl;
computer( );
int n;
for(n=0;n<count;n++)
{
cout<<setw(4)<<students[n].id;
cout<<setw(15)<<students[n].name<<setw(6)<<students[n].sex <<setw(10)<<students[n].chinese<<setw(7)<<students[n].math;
cout<<setw(10)<<students[n].English<<setw(10)<<students[n].sum<<setw(5);
cout<<setw(10)<<students[n].average;
cout<<endl;
}
}
/************************************查询学生成绩******************************/
int search_id(void)
{
page_title("查询学生成绩");
computer( );
cout<<"请输入学生的学号:";
int i,n;
cin>>i; //输入学号,查询学生各门课程的成绩,并显示。
for(n=0;n<count;n++)
{
if(i==students[n].id)
{
cout<<setw(4)<<students[n].id;
cout<<setw(15)<<students[n].name<<setw(6)<<students[n].sex <<setw(10)<<students[n].chinese<<setw(7)<<students[n].math;
cout<<setw(10)<<students[n].English<<setw(10)<<students[n].sum<<setw(5);
cout<<setw(10)<<students[n].average;
cout<<endl;
return_confirm(); //在结束之前进行“按键”操作
return n; //如果匹配,就提前结束,返回值为n
}
}
cout<<endl<<" ----sorry,没有找到该学生成绩信息----"<<endl<<endl;
return_confirm();
return -1;
}
/**************************************按成绩平均分排序*****************************/
void sort_aver(void)
{
page_title("按成绩平均分排序");
struct Student t; //定义一个结构体类型t
//冒泡法排序
computer( );
int i,j;
for(i=0;i<count-1;i++)
{
for(j=0;j<count-1-i;j++)
{
if (students[j].average<students[j+1].average) //升序> 降序<
{
t=students[j]; //交换的是整体(结构体)
students[j]=students[j+1];
students[j+1]=t;
}
}
}
cout<<"排序后学生成绩的排名情况:"<<endl;
//排序后输出
student_print( );
return_confirm();
}
/***********************************************删除学生信息****************************/
void student_del(void)
{
page_title("删除学生成信息");
computer( );
int i,n;
cout<<"删除学生基本信息,请输入学号:";
cin>>i;
for(n=0;n<count;n++)
{
if(i==students[n].id) //输入学号与某一信息匹配
{
students[n].id=0; //学号归零
students[n].sex='0';
students[n].chinese=0;
students[n].math=0;
students[n].English=0;
students[n].sum=0;
students[n].average=0;
cout<<"-----该学生的信息已被删除"<<endl;break;
}
}
cout<<"删除后的效果:"<<endl;
student_print( );
return_confirm();
}
/***********************************************修改成绩********************************/
void score_edit(void)
{
page_title("修改学生的成绩");
int i,n; //找到某一学生信息,重新录入
cout<<"修改学生成绩,请输入学号:";
cin>>i;
for(n=0;n<count;n++)
{
if(students[n].id==i) //注意等号"=="
{
cout<<" id="<<students[n].id<<" ";
cout<<"Chinese="<<students[n].chinese<<" ";
cout<<"math="<<students[n].math<<" ";
cout<<"English:"<<students[n].English<<endl;
cout<<"请输入该学生新的信息:"<<endl;
cout<<"Chinese=";
cin>>students[n].chinese;
cout<<"Math=";
cin>>students[n].math;
cout<<"English=";
cin>>students[n].English;
cout<<"修改后成绩信息:"<<endl;
cout<<" id:"<<students[n].id<<" ";
cout<<"Chinese:"<<students[n].chinese<<" ";
cout<<"math:"<<students[n].math<<" ";
cout<<"English:"<<students[n].English<<endl;
}
}
return_confirm();
}
完毕,终结!--- 谢谢观看