当前位置:首页 > 代码 > 正文

班级管理系统源代码(c语言班级成绩管理系统源代码)

admin 发布:2022-12-19 17:03 133


今天给各位分享班级管理系统源代码的知识,其中也会对c语言班级成绩管理系统源代码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

基于java设计一个学生成绩管理系统,要求有界面,且有增加,查询,修改,删除,退出功能,代码如何写?

我给你一些参考资料,希望会对你有用

学员管理系统数据报表

数据名称(StudentManager)

用户信息表(UserInfo)

字段 类型 说明 大小 是否为空

UserName(主键) varchar 学员姓名 20 NOT NULL

PassWord varchar 密码 20 NOT NULL

Power int 权限 4 NOT NULL

课程信息表(CourseInfo)

字段 类型 说明 大小 是否为空

CourseID(主键) int 课程编号 4 NOT NULL

CourseName varchar 课程名称 20 NOT NULL

SpecialtyID int 专业编号 4 NOT NULL

学员基本信息表(StuInfo)

字段 类型 说明 大小 是否为空

StuID(主键) varchar 学号 20 NOT NULL

StuName varchar 姓名 20 NOT NULL

Sex char 性别 10 NOT NULL

Birthday varchar 出生日期 20 IS NULL

NativePlace varchar 籍贯 20 IS NULL

SchoolAge varchar 学历 20 IS NULL

Address varchar 地址 100 IS NULL

Postcode varchar 邮政编码 20 IS NULL

Tel varchar 联系方式 20 IS NULL

Remark varchar 备注 100 IS NULL

ClassID int 班级编号 4 NOT NULL

成绩信息表(GradeInfo)

字段 类型 说明 大小 是否为空

StuID varchar 学号 20 NOT NULL

CourseID int 课程编号 4 NOT NULL

Grade varchar 成绩 20 IS NULL

班级信息表(ClassInfo)

字段 类型 说明 大小 是否为空

ClassID(主键) Int 班级编号 4 NOT NULL

ClassName varchar 班级名称 20 NOT NULL

Sort varchar 班级类别 20 NOT NULL

Number int 班级人数 4 IS NULL

Teacher varchar 辅导员 20 IS NULL

SpecialtyID int 专业编号 IS NOT NULL

专业信息表(SpecialtyInfo)

字段 类型 说明 大小 是否为空

SpecialtyID(主键) int 专业编号 4 NOT NULL

SpecialtyName varchar 专业名称 20 NOT NULL

四、 系统功能模块:

菜单栏:操作、管理、工具、帮助。

操作:

修改密码;

切换用户;

退出系统。

管理:

用户管理:添加用户、删除用户;

学员管理:添加学员、删除学员、修改学员、

移动学员;

专业管理:添加专业、删除专业、修改专业;

课程管理:添加课程、删除课程、修改课程;

班级管理:添加班级、删除班级、修改班级;

成绩管理:添加成绩、删除成绩、修改成绩。

工具:

查看成绩;

辅助工具:计算器、记事本。

帮助:

帮助说明;

版本信息;

关于我们。

快捷工具栏:添加学员、删除学员、修改学员、移动学员、

查看成绩、辅助工具。

五、 系统数据模块:

系统用户信息:用户名、密码、用户权限;

学员基本信息:学号、姓名、性别、出生年月、籍贯、学历、

住址、邮政编码、联系方式、备注、班级编号;

专业信息:专业编号、专业名称;

课程信息:课程编号、课程名称、专业编号;

班级信息:班级编号、班级名称、班级类别、班级人数、

辅导员、专业编号;

成绩信息:学号、课程编号、成绩;

学生管理系统php源码谁有

php学生管理系统源码,供大家参考,具体内容如下

功能:

1.添加/删除/修改

2.数据存储.

界面分布:

index.php

---主界面

add.php ---stu添加

action --- sql中add/del/update

(处理html表单--mysql的数据存储 && 页面跳转)

edit.php ---stu修改

menu.php

--首页

1. index.php

!DOCTYPE html

html lang="en"

head

meta charset="UTF-8"

title学生信息管理/title

script

function doDel(id) {

if(confirm('确认删除?')) {

window.location='action.php?action=delid='+id;

}

}

/script

/head

body

center

?php

include ("menu.php");

?

h3浏览学生信息/h3

table width="500" border="1"

tr

thID/th

th姓名/th

th性别/th

th年龄/th

th班级/th

th操作/th

/tr

?php

// 1. 链接数据库

try{

$pdo = new PDO("uri:mysqlPdo.ini","root","1");

}catch (PDOException $e) {

die('connection failed'.$e-getMessage());

}

//2.执行sql

$sql_select = "select * from stu";

//3.data 解析

foreach ( $pdo-query($sql_select) as $row) {

echo "tr";

echo "th{$row['id']} /th";

echo "th{$row['name']}/th";

echo "th{$row['sex']} /th";

echo "th{$row['age']} /th";

echo "th{$row['classid']}/th";

echo "td

a href='edit.php?id={$row['id']}'修改/a

a href='javascript:void(0);' onclick='doDel({$row['id']})'删除/a

/td";

echo "/tr";

}

?

/table

/center

/body

/html

2. add.php

!DOCTYPE html

html lang="en"

head

meta charset="UTF-8"

title学生管理系统/title

/head

body

center

?php include ('menu.php'); ?

h3增加学生信息/h3

form action="action.php?action=add" method="post"

table

tr

td姓名/td

tdinput type="text" name="name"/td

/tr

tr

td年龄/td

tdinput type="text" name="age"/td

/tr

tr

td性别/td

tdinput type="radio" name="sex" value="男"男/td

tdinput type="radio" name="sex" value="女"女/td

/tr

tr

td班级/td

tdinput type="text" name="classid"/td

/tr

tr

!-- td /td--

tda href="index.php"返回/td

tdinput type="submit" value="添加"/td

tdinput type="reset" value="重置"/td

/tr

/table

/form

/center

/body

/html

3. action.php

?php

/**

* Created by PhpStorm.

* User: hyh

* Date: 16-7-7

* Time: 下午9:37

*/

//1. 链接数据库

try{

$pdo = new PDO("uri:mysqlPdo.ini","root","1");

}catch (PDOException $e) {

// echo 'Connection failed: ' . $e-getMessage();

die('connection failed'.$e-getMessage());

}

//2.action 的值做对操作

switch ($_GET['action']){

case 'add'://add

$name = $_POST['name'];

$sex = $_POST['sex'];

$age = $_POST['age'];

$classid = $_POST['classid'];

$sql = "insert into stu (name, sex, age, classid) values ('{$name}', '{$sex}','{$age}','{$classid}')";

$rw = $pdo-exec($sql);

if ($rw 0){

echo "scriptalter('添加成功');/script";

}else{

echo "scriptalter('添加失败');/script";

}

header('Location: index.php');

break;

case 'del'://get

$id = $_GET['id'];

$sql = "delete from stu where id={$id}";

$rw = $pdo-exec($sql);

if ($rw 0){

echo "scriptalter('删除成功');/script";

}else{

echo "scriptalter('删除失败');/script";

}

header('Location: index.php');

break;

case 'edit'://post

$id = $_POST['id'];

$name = $_POST['name'];

$age = $_POST['age'];

$classid = $_POST['classid'];

$sex = $_POST['sex'];

// echo $id, $age, $age, $name;

$sql = "update stu set name='{$name}', age={$age},sex='{$sex}',classid={$classid} where id={$id};";

// $sql = "update myapp.stu set name='jike',sex='女', age=24,classid=44 where id=17";

print $sql;

$rw = $pdo-exec($sql);

if ($rw 0){

echo "scriptalter('更新成功');/script";

}else{

echo "scriptalter('更新失败');/script";

}

header('Location: index.php');

break;

default:

header('Location: index.php');

break;

}

4.edit.php

!DOCTYPE html

html lang="en"

head

meta charset="UTF-8"

title学生管理系统/title

/head

body

center

?php include ('menu.php');

//1. 链接数据库

try{

$pdo = new PDO("uri:mysqlPdo.ini","root","1");

}catch (PDOException $e) {

die('connection failed'.$e-getMessage());

}

//2.执行sql

$sql_select = "select * from stu where id={$_GET['id']}";

$stmt = $pdo-query($sql_select);

if ($stmt-rowCount() 0) {

$stu = $stmt-fetch(PDO::FETCH_ASSOC); // 解析数据

}else{

die("no have this id:{$_GET['id']}");

}

?

h3修改学生信息/h3

form action="action.php?action=edit" method="post"

input type="hidden" name="id" value="?php echo $stu['id'];?"

table

tr

td姓名/td

tdinput type="text" name="name" value="?php echo $stu['name'];?"/td

/tr

tr

td年龄/td

tdinput type="text" name="age" value="?php echo $stu['age'];?"/td

/tr

tr

td性别/td

td

input type="radio" name="sex" value="男" ?php echo ($stu['sex'] == "男")? "checked":"";? 男

/td

td

input type="radio" name="sex" value="女" ?php echo ($stu['sex'] == "女")? "checked":"";? 女

/td

/tr

tr

td班级/td

tdinput type="text" name="classid" value="?php echo $stu['classid']?"/td

/tr

tr

td /td

tdinput type="submit" value="更新"/td

tdinput type="reset" value="重置"/td

/tr

/table

/form

/center

?php

?

/body

/html

5. menu.php

!DOCTYPE html

html lang="en"

body

h2学生管理系统/h2

a href="index.php" 浏览学生/a

a href="add.php" 添加学生/a

hr

/body

/html

用C编写班级成绩管理系统

C语言课程设计报告—班级成绩管理系统

需要分析:

学生成绩管理系统有13种功能。把这13个功能做成13个子函数。在主函当数中设计一个菜单对这13个子数进行管理。来实现对整个系统的操作。

根据课题的要求。每一个学生的包括姓名(char)、学号(char)、M门课程的成绩(float).再加上系统功能上的要求每一学生的信息还要总分和名次等。所以自然的想到要用结构体来定义每一个学生的信息结构。然后用链表把它们组成一个有序的整体。用对链表的操作来实现对所有学生信息的统一管理(成绩显示、成绩排序、成绩修改等)。最后为了以后按照处理后的顺序保存到文件中。

. 各函数的功能:

概要设计:

程序的模块组成:

主 函 数: int main()

新建函数:STUDENT *init()

输入函数 :STUDENT *create()

显示函数: void print(STUDENT *head)

删除函数: STUDENT *delete(STUDENT *head)

按名字寻找函数: void lookup(STUDENT *head)

保存函数: void save(STUDENT *head)

按总分排序函数: STUDENT *sort(STUDENT *head)

计算总分和均分函数: void computer(STUDENT *h)

修改函数: STUDENT *Modify(STUDENT *head,STUDENT *new)

按学号排序函数: STUDENT *index(STUDENT *h)

菜单函数:int menu_select()

各个函数的主要功能:

输入函数: 随时输入数据。

菜单函数:显示系统主菜单。

显示函数: 显示所有学生的信息。

寻找函数: 方便学生查找自己的成绩。

删除函数: 删除某学生的信息。

排序函数: 按总成绩排序。

按学号排序函数: 按学号排序。

插入函数: 可以插入新的信息。

保存函数: 保存好学生成绩,以免丢失。

统计函数:

l 显示每门课程成绩最高的学生的基本信息。

l 显示每门课程的平均成绩。

l 显示超过某门课程平均成绩的学生人数。

课题的功能模块的划分:

开始

菜单界面

功能选择

初始化函数

输入学生信息

删除学生信息

显示学生信息

查找学生信息

按成绩排序

保存到文件

从文件读数据

插入学生成绩

分类合计

退出系统

结束

详细设计: 整个系统除了主函数外,另外还有14个函数,实现八大功能:输入功能、显示功能、查找功能、排序功能、插入功能、保存功能、读取功能。各个函数的详细设计说明分别如下:

主函数 main()

利用无限次循环for(;;)和swithch()实现各函数的调用,系统根据输入的数字选项来调用相应的函数。

菜单选择函数 int menu_select()

这是一个无参函数,主要实现“功能选择”的界面,在这个界面里有显示系统的九大功能,根据每个功能前面的序号进行选择。等执行完每一个函数功能后,返回菜单。

代码设计: 初始化函数 STUDENT *init()

这是一个无参函数,里面只有两个语句,它的作用是使链表初始化,使head的值为NULL和一个清屏语句。比如:没有这个函数的话,在你没有输入任何数据的情况下,去执行显示功能的时候会显示一些乱码!

输入记录函数 STUDENT *create() 这是一个无参函数,用来执行学生成绩记录的输入,当学生为@时停止输入,函数结束后,带回一个链表头的指针指向一下个学生的信息插在表头。

N-S流程图如下:

head=NULL无条件循环

指针p指向新开辟的单元

指针p是否为空

是 否

输入学号p-num

输出 p-num是否为@

内存 是 否

溢出 输入姓名p-name

停止 for(i=0;i3;i++)

输入 输入成绩

返回 p-sum=s;

菜单 p-average=(float)s/3;

显示记录函数 void print(STUDENT *head)

这是一个不返回值的有参函数,形参为“链表头的指针”,负责对全部学生成绩记录的输出,不足之处就是不能对学生成绩进行分页显示。

算法:先将p结点的指针指向第一个结点,将p结点(即第一个结点)的数据输出。然后再将p结点的指针指向p指针的的指针(即下一结点),将p结点(即第一结点)的数据输出。重复执行此步聚直到p指针指向NULL为止。

N-S流程图如下:

p=head,使指向第一个结点

输出p所指向的结点

p指向一下个结点

当p指的不是表尾

程序调试:

由于本课题中的许多知识点都没有学过都要靠自己到课外的资料中去查找。在用的时候难免出现这样那样的错误。如开始设计出来的菜单不是预想的那样,而是总个窗中出现混乱。解决的这个问题的办法是调整。最后还是老师帮我帮我们找到了问题的所在——for 循环的次超过了链表中结点的数量。再就是自定义函数时由于课本的概念不清楚,多写了空格键,以至函数调用不出来。又如:在设计修改学生信息时的密密码时。当用户发现输入密码错误按了退格键后,因为“*”并没有消去。导致用户再次按退格键,又出现前面的情况。最终导致输入密码错误。所以用了两次退格键:

在对链表操作时,要特别链表指针的移动(p=p-next)和链表尾的判断 (p= =NULL)。没有指针的移动,就很容易出现死循环。而在运行过程中不能控制。所以你就会认为是死机。如果没有链表尾的判断。就会在运行过程出现想不到的错误。如:在显示链表信息时,后面就会出现乱码。

一个系统的菜单和提示信息非常重要。如果没有这些用户根本不知道怎么用你设计的这个系统。在设计的调试过程中也无法顺利的完成调试工作。有了一个清晰简单的菜单和一些提示信息这后,调试过程完成的非常顺利。

予我耐心解答的老师和同学,是他们为我小程序的成功起到了关键性的作用,那么多个日夜,如此多的困难,同学们勤恳塌实,从开始到结束,没有显出一点倦意,始终热情高涨,我感谢这种氛围,感谢学校提供的良好条件。

回顾起此次课程设计,至今我仍感慨颇多,的确,从拿到题目到完成整个编程,从理论到实践,在整整半个学期的日子里,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体……通过这次课程设计之后,一定把以前所学过的知识重新温故。

本次课程设计结束了,对于我的影响很大。我通过这次实践学到了许多知识。学到了设计一个简单的系统。要注意哪些方面。也使我知道自己哪些方面做得还不够。

但我出总结出了一点点的经验如下:

1、要对系统的功能和要求做出详细的分析,并合理分解任务。

2、把分解出来的子任务,做给一个相对独立的模块。

3、在设计一个模块之前,要简单构想一下总界面的显视情况。

4、针对构想出来的界面进行程序的编写。

最后,感谢老师您对我的指导和从百忙中抽空看我的设计,谢谢!

附件:

源程序:

#include "stdio.h" /*I/O函数*/

#include "stdlib.h" /*其它说明*/

#include "string.h" /*字符串函数*/

#include "conio.h" /*屏幕操作函数*/

#include "mem.h" /*内存操作函数*/

#include "ctype.h" /*字符操作函数*/

#include "alloc.h" /*动态地址分配函数*/

#include "dos.h"

#define N 4 /*定义常数*/

typedef struct z1 /*定义数据结构*/

{

char no[12];

char name[20];

int score[N];

float sum;

float average;

int order;

struct z1 *next;

}STUDENT;

/*以下是函数原型*/

STUDENT *init(); /*初始化函数*/

STUDENT *create(); /*创建链表*/

STUDENT *delete(STUDENT *h); /*删除记录*/

void print(STUDENT *h); /* 显示所有记录*/

void lookup(STUDENT *h); /*查找*/

void save(STUDENT *h); /*保存*/

STUDENT *load(); /*读入记录*/

void computer(STUDENT *h); /*计算总分和均分*/

STUDENT *Modify(STUDENT *h); /*修改记录*/

void append(); /*追加记录*/

STUDENT *sort(STUDENT *h); /*按总分排序*/

STUDENT *index(STUDENT *h); /*按学号排序*/

int menu_select(); /*菜单函数*/

/******主函数开始*******/

main()

{

int i;

STUDENT *head; /*链表定义头指针*/

printf("\n\n\n\n\n\n\n\n\n");

printf(" * * ******* * ***** ***** * * ******* \n");

printf(" * * * * * * * ** * * * \n");

printf(" * * * * ******* * * * * * *** * ******* \n" );

printf(" * * * * * * * * * * * * * \n");

printf(" * * ******* ******* ***** * *** * * * ******* \n");

printf("\n");

printf("\n");

printf("\n");

sleep(2);

head=init(); /*初始化链表*/

clrscr(); /*清屏*/

for(;;) /*无限循环*/

{

switch(menu_select()) /*调用主菜单函数,返回值整数作开关语句的条件*/

{ /*值不同,执行的函数不同,break 不能省略*/

case 0:head=init();break; /*执行初始化*/

case 1:head=create();break; /*创建链表*/

case 2:print(head);break; /*显示全部记录*/

case 3:head=delete(head);break; /*删除记录*/

case 4:lookup(head);break; /*按名字查找记录*/

case 5:save(head);break; /*保存文件*/

case 6:head=load(); break; /*读文件*/

case 7:computer(head);break; /*计算总分和均分*/

case 8:head=Modify(head); break; /*修改记录,一般会插在表尾*/

case 9:head=sort(head);break; /*按部分排序*/

case 10:append();break; /*追加记录*/

case 11:head=index(head);break; /*按学号排序*/

case 12: exit(0); /*如菜单返回值为14程序结束*/

}

}

}

/*菜单函数,返回值为整数*/

menu_select()

{

char *menu[]={"***************MENU***************", /*定义菜单字符串数组*/

" 00. init list", /*初始化*/

" 01. Enter list", /*输入记录*/

" 02. print list ", /*显示单链表中所有记录*/

" 03. Delete a record from list", /*从表中删除记录*/

" 04. Search record on name", /*按照姓名查找记录*/

" 05. Save the file", /*将单链表中记录保存到文件中*/

" 06. Load the file", /*从文件中读入记录*/

" 07. compute the score", /*计算所有学生的总分和均分*/

" 08. Modify an information ", /*修改某学号的信息*/

" 09. sort to make new file", /*排序*/

" 10. append record to file", /*追加记录到文件中*/

" 11. index on nomber", /*按学号排序*/

" 12. Quit"}; /*退出*/

char s[3]; /*以字符形式保存选择号*/

int c,i; /*定义整形变量*/

gotoxy(1,1); /*移动光标*/

textcolor(YELLOW); /*设置文本显示颜色为黄色*/

textbackground(BLUE); /*设置背景颜色为蓝色*/

gotoxy(10,2); /*移动光标*/

putch(0xc9); /*输出左上角边框┏*/

for(i=1;i44;i++)

putch(0xcd); /*输出上边框水平线*/

putch(0xbb); /*输出右上角边框 ┓*/

for(i=3;i20;i++)

{

gotoxy(10,i);putch(0xba); /*输出左垂直线*/

gotoxy(54,i);putch(0xba);

} /*输出右垂直线*/

gotoxy(10,20);putch(0xc8); /*输出左上角边框┗*/

for(i=1;i44;i++)

putch(0xcd); /*输出下边框水平线*/

putch(0xbc); /*输出右下角边框┛*/

window(11,3,53,19); /* 制作显示菜单的窗口,大小根据菜单条数设计*/

clrscr(); /*清屏*/

for(i=0;i16;i++) /*输出主菜单数组*/

{

gotoxy(10,i+1);

cprintf("%s",menu[i]);

}

textbackground(BLACK); /*设置背景颜色为黑色*/

window(1,1,80,25); /*恢复原窗口大小*/

gotoxy(10,21); /*移动光标*/

do{printf("\n make by wenwei");

printf("\n Enter you choice(0~13):"); /*在菜单窗口外显示提示信息*/

scanf("%s",s); /*输入选择项*/

c=atoi(s); /*将输入的字符串转化为整形数*/

}while(c0||c14); /*选择项不在0~14之间重输*/

return c; /*返回选择项,主程序根据该数调用相应的函数*/

}

STUDENT *init()

{ clrscr();

return NULL;

}

/*创建链表*/

STUDENT *create()

{

int i; int s;

STUDENT *h=NULL,*info; /* STUDENT指向结构体的指针*/

clrscr();

for(;;)

{

info=(STUDENT *)malloc(sizeof(STUDENT)); /*申请空间*/

if(!info) /*如果指针info为空*/

{

printf("\nout of memory"); /*输出内存溢出*/

return NULL; /*返回空指针*/

}

inputs("enter no:",info-no,11); /*输入学号并校验*/

if(info-no[0]=='@') { clrscr();break; } /*如果学号首字符为@则结束输入,清屏后返回*/

inputs("enter name:",info-name,15); /*输入姓名,并进行校验*/

printf("please input %d score \n",N); /*提示开始输入成绩*/

s=0; /*计算每个学生的总分,初值为0*/

for(i=0;iN;i++) /*N门课程循环N次*/

{

do{

printf("score%d:",i+1); /*提示输入第几门课程*/

scanf("%d",info-score[i]); /*输入成绩*/

if(info-score[i]100||info-score[i]0) /*确保成绩在0~100之间*/

printf("bad data,repeat input\n"); /*出错提示信息*/

}while(info-score[i]100||info-score[i]0);

s=s+info-score[i]; /*累加各门课程成绩*/

}

info-sum=s; /*将总分保存*/

info-average=(float)s/N; /*求出平均值*/

info-order=0; /*未排序前此值为0*/

info-next=h; /*将头结点做为新输入结点的后继结点*/

h=info; /*新输入结点为新的头结点*/

clrscr();

}

return(h); /*返回头指针*/

}

/*输入字符串,并进行长度验证*/

inputs(char *prompt, char *s, int count)

{

char p[255];

do{

printf(prompt); /*显示提示信息*/

scanf("%s",p); /*输入字符串*/

if(strlen(p)count)printf("\n too long! \n"); /*进行长度校验,超过count值重输入*/

}while(strlen(p)count);

strcpy(s,p); /*将输入的字符串拷贝到字符串s中*/

}

/*输出链表中结点信息*/

void print(STUDENT *h)

{

int i=0; /* 统计记录条数*/

STUDENT *p; /*移动指针*/

clrscr(); /*清屏*/

p=h; /*初值为头指针*/

printf("\n\n\n*********************************STUDENT************************************\n");

printf("|rec|nO | name | sc1| sc2| sc3| sc4| sum | ave |order|\n");

printf("|---|----------|---------------|----|----|----|----|--------|--------|-----|\n");

while(p!=NULL) /*只要p不是尾结点,就输出记录*/

{

i++;

printf("|%3d|%-10s|%-15s|%4d|%4d|%4d|%4d| %6.2f | %6.2f | %3d |\n", i, p-no,p-name,p-score[0],p-score[1],p-score[2],p-score[3],p-sum,p-average,p-order);

p=p-next;

}

printf("***********************************end**************************************\n");

getch(); /*输入任一键返回主菜单*/

clrscr(); /*清屏*/

}

/*删除记录*/

STUDENT *delete(STUDENT *h)

{

STUDENT *p,*q; /*p为查找到要删除的结点指针,q为其前驱指针*/

char s[12]; /*存放学号*/

char *pass="wenwei28";

char a[20],b=NULL;

int i=0;

clrscr();

printf("Input your password:");

while((i20)(b!='\r'))

{ b=getch(); /*无回显输入*/

if(b==8)

{ if(i0)

{a[--i]=NULL;

putchar(8); /*退格键*/

putchar(' '); /*以空格代替*/

putchar(8);

}

else putchar(7); /*没有任何字符的退格,响铃警告*/

}

else if(b!='\r')

{ a[i++]=b; /*只要不是退格和回车就接受*/

putchar('*');

}

else

{a[i]=NULL; break; /*密码输入完了,记得加个NULL到后面*/

}

}

if(strcmp(a,pass)!=0)

{clrscr();

printf("Password is mistake Tow seconds to return!");

sleep(2);clrscr();return h;

}

else {printf("Password is OK! Welcome to come!"); sleep(3);

}

clrscr(); /*清屏*/

printf("please deleted no\n"); /*显示提示信息*/

scanf("%s",s); /*输入要删除记录的学号*/

q=p=h; /*给q和p赋初值头指针*/

while(strcmp(p-no,s)p!=NULL) /*当记录的学号不是要找的,或指针不为空时*/

{

q=p; /*将p指针值赋给q作为p的前驱指针*/

p=p-next; /*将p指针指向下一条记录*/

}

if(p==NULL) /*如果p为空,说明链表中没有该结点*/

{ printf("\nlist no %s student\n",s);sleep(2);clrscr();return h;}

else /*p不为空,显示找到的记录信息*/

{

printf("*********************************have found********************************\n");

printf("|no | name | sc1| sc2| sc3| sc4| sum | ave |order|\n");

printf("|------------|---------------|----|----|----|----|--------|--------|-----|\n");

printf("|%-12s|%-15s|%4d|%4d|%4d|%4d| %6.2f | %6-5.2f | %3d |\n", p-no,

p-name,p-score[0],p-score[1],p-score[ q=p; /*保存当前结点的指针,作为下一结点的前驱*/

p=p-next; /*指针后移,新读入数据链到当前表尾*/

}

q-next=NULL; /*最后一个结点的后继指针为空*/

fclose(fp); /*关闭文件*/

printf("---You have success read data from file!!!---\n");

getch(); /*按任意键返回主菜单*/

clrscr();

return h; /*返回头指针*/

}

/*成绩统计*/

void computer(STUDENT *h)

{

STUDENT *p,*t,*q; /*定义移动指针*/

float saverage[N]={0}; /*均分初值为0*/

int i;

clrscr();

for (i=0;iN;i++)

{ int n=0,j=0; /*保存记录条数初值为0*/

long s=0; /*总分初值为0*/

p=h; /*从头指针开始*/

while(p!=NULL) /*当p不为空时处理*/

{

s+=p-score[i]; /*累加总分*/

j++; /*统计记录条数*/

p=p-next; /*指针后移*/

h; /*返回头指针

班级管理系统源代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言班级成绩管理系统源代码、班级管理系统源代码的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/14696.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载