数据结构课设——学生成绩管理系统

项目描述:学生成绩管理系统为教师录入成绩、管理员进行信息维护等提供方便,为学校节省大量人力资源,该系统实现对若干个大学生的学习成绩进行管理,包括学生的学号、姓名、各科成绩等。

功能要求: 

1.使用中文菜单,界面设计和用户输入输出要人性化些;

2. 将学生信息保存在文本文档中,具体对学生信息进行插入删除查询操作时,将保

存在文本文档中的学生信息提取出来,保存在自己定义的数据结构中,然后再对该

数据结构进行操作,所有操作完成,或者在相应的命令后,再将学生信息保存到文

本文档中;

3.具有数据输入功能,输入的数据能最终保存在文件中;

4.具有数据删除功能,能最终从文件中删除;

5.排序功能,根据自己设计的数据结构,设计排序算法;

6.具有多种查询(如按学号查询、按姓名查询、按成绩查询等)及输出功能;

7.其它功能(如各种统计,统计每个学生所有课程的平均分,统计某门课程所有

学生的平均分等等);

8.  学生信息的修改(比如修改学生姓名,修改学生某门课程的成绩)。

一共有两个界面,第一个是登入界面,第二个是功能操作界面,如下图所示:

头文件代码如下:

#pragma once
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include <string.h>
#include<ctype.h>

void createHeadNode();
void createUserHeadNode();
void createDeleteHeadNode();

//读取学生数据
void initData(struct node* phead);
//读取用户的登入 判断用户的账号是否正确
void initDataUser(struct unode* uhead);

void Menu2();
void Menu();
//录入学生信息
void InputStudent(struct node* phead);
//删除学生信息
void DeleteStudent(struct node* phead);
//查找学生
void SearchStudent(struct node* phead);
//修改学生成绩
void UpdataStudent(struct node* phead);
//打印学生信息
void PrintStudent(struct node* phead);
void info_output(struct node* pfind);
//学成成绩排序(出现两个排序表 总分排序表、平均分排序表)
void SortStudent1(struct node* phead);
void SortStudent2(struct node* phead);

//写入学生信息
void FushData(struct node* phead);
//写入用户的注册
void FushDataUser(struct unode* uhead);


//找到需要的学生地址
struct node* findTheStudent(struct node* phead, int sid);
struct unode* findTheUser(struct unode* uhead, int fkey, int fname);
struct unode* findTheUser(struct unode* uhead, int uname);


//删除记录
void Dlenode(struct node* dhead,int did);
void FushDeleteRecord(struct node* dhead);
void initDataDeleteRecord(struct node* dhead);

//登入
void inputuser(struct unode* uhead);

//注册
void Code(struct unode* uhead);


//定义一个学生
struct student
{
	int sid;
	char  name[20];
	float discrete;   //离散成绩
	float linear;     //代数成绩
	float gaoshu;     //高数成绩
	float ave;        //平均分
	float total;      //总分
};


//链表结点
struct node
{
	student stu;//链表中存学生
	struct node* pnext;//指向下一个结点的指针
};
//定义头结点
struct node* phead = NULL;
int count = 0;//用来记录当前文件中数据的条数
struct node* dhead = NULL;


//使用者
struct user
{
	int uname;
	int key;

};
//链表存储用户信息
struct unode
{
	user use;
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值