学生信息系统

已实现功能:添加学生,列出学生信息列表,删除学生,退出,学号重复检查,排序功能, 多科成绩录入(求平均成绩,及总平均成绩),保存记录,读取记录,修改功能; 待实现功能:查询......
1创建文件,开始编写,增加添加学生函数,增加列出学生函数,增加删除学生函数,退出 版本1.0
2修改内容:增加学号重复检查函数,修复显示内容时程序终止,输出列表函数优化,添加学生函数优化 1.1
3修改内容:增加排序函数,删除函数内部优化,main函数内部改动,添加学生函数优化 1.2
4修改内容:增加多科目录入,添加函数优化,新增总成绩与平均成绩显示,排序函数优化,输出函数改动 1.3,更新到此告一段落,继续学习去(^_^)
5修改内容:新增保存函数,读取函数,主程序修改,新增链表清除函数1.4 修改内容:新增修改函数,新增宏定义MAX_SCORE and MAX_SNO,方便程序的修改,修改程序中所有warning,一些bug修正1.5
#include
#include
#include
#include
#define bool int
#define true 1
#define LEN sizeof(struct ryb)
#define DATAFILE "DATAFILE.WL"
#define MAX_SCORE 150
#define MAX_SNO 200
struct ryb * del_item_ryb (struct ryb * head,int sno,int * del_message);
struct ryb * create_item_ryb (struct ryb * head);
void put_ryb (struct ryb * head);
bool is_sno(struct ryb * head, int sno );
false
struct ryb * order(struct ryb * head, enum ordertype type, int fs );
bool save_data(struct ryb * head);
struct ryb * read_data(void);
void clear(struct ryb * head);
void amend_ryb(struct ryb * head, int sno);
struct ryb { //定义链表数据结构
int sno; //学号
char name[9]; //姓名
int chinese; //语文
int math; //数学
int english; //英语
int clanguage; //C语言
int tiyu; //体育
int score; //总成绩
struct ryb *next;
};
enum ordertype{//定义排序枚举类型
asc,desc
};
int main ( void )
{
struct ryb * head,* temp_h;//链表头,临时链表
bool exit = false;
short int value;//接受输入信息1,2,3,4 1表示添加信息,2显示信息,3删除信息,4排序,5退出
int sno, del_message = 0;//学号,删除函数处理结果(1为删除成功,0为删除失败)
int pxfs,pxlx;//排序方式,排序类型(方式asc\desc);(类型 1学号,2成绩)
char is_quit;//表示是否退出,y或Y表示退出,否则不退出
char is_save;//表示是否保存数据,y或Y表示保存,否则不保存
char is_read;//表示是否读取数据,y或Y表示读取,否则不读取
bool ssave;//表示是否保存成功,true表示成功,false表示保存失败
int amend_sno; //表示要修改的学号
head = (struct ryb *) malloc(LEN);//创建初始链表
head->sno =0;//链表赋初值
head->next = NULL;
do
{
printf("蔚蓝学生管理系统v1.6(C语言版) \n\n");
printf("①添加学生\n②显示成绩列表\n③删除学生\n④排序\n⑤保存数据\n⑥读取数据\n⑦修改\n⑧退出系统\n\n");
printf("等待命令输入:");
fflush(stdin);//清空键盘缓冲区
scanf("%d",&value);
if(value == 1)//添加
{
head = create_item_ryb(head);//添加信息
printf("录入信息结束!\n");
system("pause");
}else if (value == 2)//显示
{
put_ryb(head); //显示信息
system("pause");
}
else if(value == 3)//删除
{
printf("请输入要删除的学生学号:");
fflush(stdin);//清空键盘缓冲区
scanf("%d",&sno);
head = del_item_ryb(head,sno, &del_message); //删除
if(del_message == 1)
{
printf("删除成功!!!\n");
}
else
{
printf("删除失败!!!\n");
}
system ("pause");
}
else if(value == 4)//排序
{ r:
printf ("请请输入排序方式(1升序,2降序):");
fflush(stdin);
scanf("%d",&pxfs);
printf ("请输入排序类型(1按学号,2按成绩):");
fflush(stdin);
scanf("%d",&pxlx);
if (pxfs >2 || pxfs <0 || pxlx > 2 || pxlx <0 )
{
printf ("排序方式或排序类型输入不符合规定!!!请重新输入!!!\n");
system ("pause");

时间: 2024-12-29 11:48:08

学生信息系统的相关文章

基于java语言简单版的学生信息系统

功能简介: a:可以对学生信息增删改查, b:每一种操作都是使用容器进行 c:使用自己写的工具类,可以实现多次调用,实现代码的复用,增加可读性 d:语法使用嵌套循环,一般使用while,swich..case,for 代码实现: //测试类 package com.xinboedu.www.test; public class TestSystem { public static void main(String[] args) { StudentSystem studentSystem = n

Java使用JDBC连接SQL Server数据库|实现学生信息系统

Java实验四 JDBC 使用SQL Server数据库或者MySQL数据库各自的客户端工具,完成如下任务: (1)创建数据库students: (2)在数据students中创建表scores,包括如下字段:学号.姓名.性别.得分,字段类型自行定义.学号为主键. 接着使用JDBC编写Java程序,完成如下任务: (1)在表格scores插入5条记录,代表5个学生,三位男生二位女生,各字段内容自定("得分"字段填入自定分数): (2)显示5位学生的所有信息: (3)将三位男生的得分减去

学生信息系统错误分析1

一.     用户定义类型未定义 在登录的时候一直显示用户定义类型未定义,然后错误显示在定义cnn为ADODB.Connection时 解决办法: 这个问题其实直接看就是没有引用ADO的问题,然后我就把ADO2.X(各种版本都试了个遍),但是还是没有解决掉.最后引用了ADO2.8和Microsoftactive data object(multi-dimensional) 2.8,但是一般别人只需要引用ADO2.x就可以了,我的理解是ADO版本不同,所以造成了我的引用是需要多一个即multi-d

java集合学生管理系统

//student.java package com.sran.www; import java.util.Arrays; import java.util.Scanner; public class Student implements Comparable<Student>{ int num; String name; int age; double[]s; double sum; //存储学生的总分 public Student() { s=new double[3]; } public

学生管理系统课设报告

一. 课程设计概述 1.1任务背景 学生信息管理是学校管理中异常重要的一个环节,作为学校,除了育人,就是育知,学生信息管理的计算机化是整个学校教务管理中的重要一部分,能否实现这一步关系到学校办学整体效率的高低,由于它的重要性,学生信息管理系统的开发与应用就逐渐提入议程,并占着越来越重要的份量.  运用学生信息管理系统可以减轻学院教学人员的工作量,缩小开支,提高工作效率与准确率,能够合理安排时间,能够尽快的知道自己的考试成绩,投入新的课程的学习或复习这次没有考过的课程.而学生信息管理系统的应用也为

学生信息录入系统

目录 学生信息存储系统的设计与实现 1 一.摘要: 1 二. 需求分析 2 2.1可行性分析 2 2.1.1 2 2.1.2 2 2.2 需求分析 2 2.2.1 2 2.2.2 2 三. 总体设计 2 3.1系统功能结构图 3 3.2UI设计图 4 3.3数据库存储 5 3.3.1添加信息(学生信息和账号密码) 5 3.3.2删除信息 6 3.3.3修改信息 6 四. 系统测试 7 4.1登录注册(可存储账号密码) 7 4.2添加信息 8 4.3删除信息 9 4.4修改信息 9 4.5查询信息

机房重构——泛型集合

敲三层的时候就听师傅说过泛型,只不过当时没有特别的注意.当敲用户登录窗体时,我遇到这样的问题,就是我们需要经过验证输入的信息的正误之后才能登录或者不能登录.判断时,需要返回我们从数据库中查到的信息,那么问题就来了,如何返回呢? 一开始我一直用的是DataTable返回数据的,但是当去判断的时候我不知道如何下手了,按照以往的经验,我们可以使用table.rows()或table.field(),具体的实现方法可以自己试验一下.这种方法虽然可以实现,可是里面重复的内容太多了,尤其是每次使用一个字段时

Python爬虫实战七之计算大学本学期绩点

大家好,本次为大家带来的项目是计算大学本学期绩点.首先说明的是,博主来自山东大学,有属于个人的学生成绩管理系统,需要学号密码才可以登录,不过可能广大读者没有这个学号密码,不能实际进行操作,所以最主要的还是获取它的原理.最主要的是了解cookie的相关操作. 本篇目标 1.模拟登录学生成绩管理系统 2.抓取本学期成绩界面 3.计算打印本学期成绩 1.URL的获取 恩,博主来自山东大学~ 先贴一个URL,让大家知道我们学校学生信息系统的网站构架,主页是 http://jwxt.sdu.edu.cn:

真的是最后一次作业了!!!!

一串数字最小的 #include<stdio.h>/*编译预处理命令*/ #include<string> int main()/*定义主函数main*/ { int i;/*定义整数类型(int)的变量i*/ char sx[80],smax[80];/*定义2个长度为80的数组*/ scanf("%s",sx);/*输入x*/ strcpy(smax,sx);/*将x中的内容复制到max中*/ for(i=1;i<5;i++){/*循环5此*/ sca