栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

(c++)简易学生成绩管理系统(超简单)

Java 更新时间:发布时间: 百科书网 趣学号

摘要:一个简单的学生成绩管理系统自然要包括增删改查。学生成绩管理是学校教务部门日常工作的重要组成部分,其处理信息量很大。此代码是对学生成绩管理的简单模拟,用菜单选择方式完成下列功能:输入学生数据;输出学生数据;学生数据查询;添加学生数据;修改学生数据;删除学生数据。

        本管理系统数据是一组学生的成绩信息,每条学生的成绩信息由学号、姓名和成绩组成,这组学生的成绩信息具有相同特性,属于同一数据对象。由此可以看出,这些数据具有线性表中数据元素的性质,所以该系统的数据采用线性表来存储。

        顺序表是线性表的顺序存储结构,是指用一组连续的内存单元依次存放线性表的数据元素。在顺序存储结构下,逻辑关系相邻的两个元素在物理位置上也相邻,这是顺序表的特点。本项目可以采用顺序表的线性表顺序存储结构。

利用最简单的结构体数组来完成:

先说几个比较重要的模块:

录入信息模块:

    void Logging_data();//录入学生信息
    

void List::Logging_data()//录入学生信息
{
	if(len==Listlen)
	{
		cout << "表已满 !"<>Elem[len+1].id; 
	if(id_ifnd(Elem[len+1].id) >=0 )
	{
		cout << "该学号已存在!"<>Elem[len+1].name;

	cout <<"请输入学生成绩 "<>Elem[len+1].score;
	if(Elem[len+1].score <0 || Elem[len+1].score>100)
	{
		cout << "输入有误!" < 


    int id_ifnd(char *fin_id);//按学号查找返回查找到的位置或者没查找到的; 
    
    void dele_stuinfo(); //删除学生信息 
    删除信息模块:

void List::dele_stuinfo() //删除学生信息 
{
	if(is_empty())
	{
		cout << "表为空 !"<>dele_id;
	for(i=0;i 


    int is_empty();  //表为空 
    
    int is_full() ; //表为满 
    
    void print_list();  //普通打印 

打印模块:

void List::print_list()  //普通打印 
{
	int i;
	if(is_empty())
	{
		cout << "表为空 !"< 


    
    void score_sort_low(); //成绩排序 (不及格) 
    
    void score_sort_up(); //按成绩升序(从低到高)排序   
    
    void id_sort(); //按学号升序排序   

按学号升序排序 模块:

void List::id_sort() //按学号升序排序   ok 
{

	if(is_empty())
	{
		cout << "表为空 !"<0)
			{
				temp=Elem[j];
				Elem[j]=Elem[j+1];
				Elem[j+1]=temp;
			}
		}
	}
}


    
    void score_sort_donw(); //按成绩降序(从高到低)排序   

成绩排序模块:

void List::score_sort_donw() //按成绩降序(从高到低)排序  ok  
{

	if(is_empty())
	{
		cout << "表为空 !"< 


    
    void id_find_info(); //按学号查找学生信息; 

按学号查找学生信息模块:

void List::id_find_info() //按学号查找学生信息; 
{		
	cout << "请输入要查询的学生学号 : " ;
	char buf[15]={0};
	cin>>buf;
	
	int i,k;
	k=0;
	for(i=0;i 


    
    void name_find_info(); //按姓名查找学生信息; 
    
    void amend_info();//修改学生信息 

修改学生信息模块:

void List::amend_info()//修改学生信息
{
	if(is_empty())
	{
		cout << "表为空 !"<>amend_id;
	for(i=0;i>buf1; 
			if(strcmp(buf1,Elem[i].id) != 0 && id_ifnd(buf1) >=0 )
			{
				cout << "该学号已存在!请重新输入"<>buf2;
			strcpy(Elem[i].name,buf2);
			print_list();
BBB:			cout <<"请输入学生新成绩 "<>k;
			if(k <0 || k>100)
			{
				cout << "输入有误!请重新输入:" < 

完整代码:

#include
#include
#define Listlen 100   //这里可以修改数组的大小,目前可以记录一百个学生成绩信息

using namespace std;

typedef struct ElemType{
	char id[15];		//学号
	char name[15]; 		//姓名
	float score;		//成绩
}STU;

class List{
public:
	List()
	{
		Elem[Listlen]={0}; 
		len=-1;
	}
	~List(){
	}
	void Logging_data();//录入学生信息
	
	int id_ifnd(char *fin_id);//按学号查找返回查找到的位置或者没查找到的; 
	
	void dele_stuinfo(); //删除学生信息 
	
	int is_empty();  //表为空 
	
	int is_full() ; //表为满 
	
	void print_list();  //普通打印 
	
	void score_sort_low(); //成绩排序 (不及格) 
	
	void score_sort_up(); //按成绩升序(从低到高)排序   
	
	void id_sort(); //按学号升序排序   
	
	void score_sort_donw(); //按成绩降序(从高到低)排序   
	
	void id_find_info(); //按学号查找学生信息; 
	
	void name_find_info(); //按姓名查找学生信息; 
	
	void amend_info();//修改学生信息 
		 
private:
	STU Elem[Listlen];  //定义结构体数组 
	int len;  

};

int main(void)
{
	List a;
	int k; 
	char quits[6]={0};
	strcpy(quits,"quit");
		cout<>k;
		char buf1[6]={0};
		char buf2[6]={0};
		char buf3[6]={0};
	switch(k)
	{
		case 1:
			
			for(k=0;k<100;k++)
			{
				a.Logging_data();
				cout <<"继续录入请按任意键,录入结束请输入quit:";
				cin>>buf1;
				if(strcmp(buf1,quits)==0)
				{
					cout<<"录入结束表为 :"<>buf2;
				if(strcmp(buf2,quits)==0)
				{
					cout<<"删除结束表为 :"<>buf3;
				if(strcmp(buf3,quits)==0)
				{
					cout<<"修改结束表为 :"<>m;
			switch(m) 
			{
				case 1:
					a.id_find_info();
					goto FIND;
				case 2:	
					a.name_find_info();
					goto FIND;
				case 3:
					a.score_sort_low();
					goto FIND;
				case 4:
					a.score_sort_donw();
					a.print_list();
					goto FIND;
				case 5:
					a.score_sort_up();
					a.print_list();
					goto FIND;
				case 0:	
					goto LIST;
				default:
					cout <<"输入有误 请重新输入!"<>Elem[len+1].id; 
	if(id_ifnd(Elem[len+1].id) >=0 )
	{
		cout << "该学号已存在!"<>Elem[len+1].name;

	cout <<"请输入学生成绩 "<>Elem[len+1].score;
	if(Elem[len+1].score <0 || Elem[len+1].score>100)
	{
		cout << "输入有误!" <>dele_id;
	for(i=0;iElem[j+1].score)
			{
				temp=Elem[j];
				Elem[j]=Elem[j+1];
				Elem[j+1]=temp;
			}
		}
	}
} 
void List::id_sort() //按学号升序排序   ok 
{

	if(is_empty())
	{
		cout << "表为空 !"<0)
			{
				temp=Elem[j];
				Elem[j]=Elem[j+1];
				Elem[j+1]=temp;
			}
		}
	}
}
void List::score_sort_donw() //按成绩降序(从高到低)排序  ok  
{

	if(is_empty())
	{
		cout << "表为空 !"<>buf;
	
	int i,k;
	k=0;
	for(i=0;i>buf;
	
	int i,k;
	k=0;
	for(i=0;i>amend_id;
	for(i=0;i>buf1; 
			if(strcmp(buf1,Elem[i].id) != 0 && id_ifnd(buf1) >=0 )
			{
				cout << "该学号已存在!请重新输入"<>buf2;
			strcpy(Elem[i].name,buf2);
			print_list();
BBB:			cout <<"请输入学生新成绩 "<>k;
			if(k <0 || k>100)
			{
				cout << "输入有误!请重新输入:" < 

运行结果:随便输入点瞅瞅

 

 有兴趣的小火把可以拿来玩玩!今天的分享就到此结束了,感谢各位读者姥爷个观看,下次见!!芜湖!!

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/1072123.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号