学生成绩管理系统源代码Word下载.docx

上传人:b****6 文档编号:19588458 上传时间:2023-01-08 格式:DOCX 页数:27 大小:169.06KB
下载 相关 举报
学生成绩管理系统源代码Word下载.docx_第1页
第1页 / 共27页
学生成绩管理系统源代码Word下载.docx_第2页
第2页 / 共27页
学生成绩管理系统源代码Word下载.docx_第3页
第3页 / 共27页
学生成绩管理系统源代码Word下载.docx_第4页
第4页 / 共27页
学生成绩管理系统源代码Word下载.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

学生成绩管理系统源代码Word下载.docx

《学生成绩管理系统源代码Word下载.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统源代码Word下载.docx(27页珍藏版)》请在冰豆网上搜索。

学生成绩管理系统源代码Word下载.docx

配置数据源11

详细设计13

设计总结22

参考文献23

C语言程序课程设计一学生成绩管理系统

1.设计目的

通过数据库大作业课程设计的操作与实践,使学生了解关系数据库的相关理论知识和有关工具软件的使用技巧,在一定程度上提高应用程序的综合开发能力和创新意识、创新能力。

2.问题描述

1.学生信息维护;

2.教师信息维护;

4.学生选课信息;

三•需求分析

“学生成绩管理信息系统”包括四个模块:

成绩录入、班级统计、年级统计、系统功能。

这四个模块既相互联系又相互独立,班级统计、年级统计模块必须以成绩录入为基础。

(1)成绩录入模块:

主要功能用来对学生的成绩进行收集和修改。

具体包括学生成绩录入、修改、增加、删除、查询等功能,成绩录入需要分班级、分年级以及某个时间考试的各门功课的成绩。

修改要与成绩录入相对应。

增加、删除是

对基本表的操作。

查询条件设置应该齐全,可以班级查询,年级查询,也可以姓

名查询,学号查询等等。

(2)班级统计模块:

主要功能用来对学生的成绩以班级为单位进行处理。

具体包括各班学生总成绩、平均成绩、班级排名及统计班级某分数段内的学生人数;

各个学生该科成绩、班级排名及统计班级某分数段内的学生人数。

各项统计仅对于某学期某次考试而言。

(3)年级统计模块:

主要功能用来对学生的成绩以年级为单位进行处理。

具体包括各年级学生

总成绩、年级排名统计年级某分数段内的学生人数;

各个学生该科成绩、年级排

名及统计、年级某分数段内的学生人数。

各项统计仅对于某学期某次考试而言,在统计时,还应注意各年级考试科目不同。

(4)系统功能模块:

关于系统及退出系统。

四.概要设计

在概要设计里,根据系统需求设计系统EI图,程序流图,系统功能模块图

等信息,并配置了数据源。

 

图1系统EI图

图2学生信息

图3功能模块图

查询■*

数据库

1

r

显示结果

退出

图4查询模块流程图

图5班级与学生成绩流图

(一)、系统的功能分析

该学生成绩管理系统是基于网络在线的学生成绩管理系统,在系统中分为大

的两个方面:

一是教师登录页面、二是学生登录页面。

(1)教师进入学生成绩管理系统的主要功能是:

实现添加用户、添加成绩、学籍信息修改、修改密码、查询课程、选课、查询成绩、学籍信息查询、打印等基本功能。

(2)学生进行学生成绩管量系统的主要功能是:

实现修改密码、查询课程、选课、查询成绩、学籍信息查询、打印等基本功能。

(二八系统功能模块图

图6教师功能模块图

教师在学生成绩管理系统中能够对所有学生的成绩查看,对学生按学号进行精确查询、按学生姓名进行模糊查询,可以修改自己的登录密码,添加用户,添加学生的成绩,打印学生的学籍信息。

图7学生功能模块

学生在系统中的基本功能是对自己所有成绩的查询,课程的查询,个人登录密码的修改,基本信息的查看,选课,打印自己的学籍信息。

七.代码

#inelude<

stdio.h>

string.h>

#include<

stdlib.h>

windows.h>

structstudent//结构体定义{

intnum;

charname[10];

charbirthday[10];

intCyuyan;

intshujujiegou;

structstudent*next;

};

structstudent*creat_by_input();

structstudent*get_last_student(structstudent*head);

structstudent*Print_menu_main()//主菜单

{

structstudent*print_table_head()

printf("

++++++\n"

)・

printf("

|学号|姓名|出生日期|c成绩|数据结构成绩

|\n"

);

structstudent*print_table_row(structstudent*p)

|%10d|%10s|%10s|%10d|%10d|\n"

p->

num,p->

name,p->

birthday,p->

Cyuyan,p_>

shujujiegou);

}

voidprint_table_bottom()

structstudent*Creat_stu_record()//建立链表

structstudent*plaststu=NULL,*pnewstu;

charcontinue_input='

N'

;

structstudent*head=NULL;

while

(1)

{if(head==NULL)

{head=creat_by_input();

print_table_head();

print_table_row(head);

print_table_bottom();

else

pnewstu=creat_by_input();

print_table_head();

print_table_row(pnewstu);

plaststu=get_last_student(head);

plaststu->

next=pnewstu;

是否继续输入学生信息?

(Y继续,N返回菜单)\n"

getchar();

continue』put=getchar();

if(continue_input=='

n'

||continue_input=='

system("

cls"

Print_menu_main();

break;

returnhead;

structstudent*creat_by_input()

structstudent*pnewstu=(structstudent*)malloc(sizeof(structstudent));

printf("

请输入学生信息\n"

学号:

"

scanf("

%d"

&

pnewstu->

num);

姓名:

%s"

pnewstu->

name);

出生年月:

birthday);

请输入学生成绩\n"

C语言:

,&

(pnewstu->

Cyuyan));

数据结构:

shujujiegou));

pnewstu->

next=NULL;

returnpnewstu;

structstudent*get_last_student(structstudent*p)

if(p->

next==NULL)

returnp;

returnget_last_student(p->

next);

voidPrint_Stu_Doc(structstudent*head)

structstudent*p;

charr;

if(head==NULL)

\nNoRecords'

”'

);

for(p=head;

p;

p=p->

next)

|%1Od|%1Os|%1Os|%1Od|%1Od|\n"

birthday,p-

>

)・}

(按Enter键返回主菜单)\n"

r=getchar();

if(r!

='

1'

按姓名查找

structstudent*search_by_name(structstudent*head)〃{

structstudent*p=head;

charcontinue_input;

/*intisfound=0;

*/

请输入要查找的姓名:

scanf("

name);

查找%s\n"

name);

while(p!

=NULL)

if(strcmp(p->

name,name)==0)

print_table_row(p);

next;

/*isfound=1;

*/

printf(”是否继续查找?

(Y继续;

N返回主菜单)\n"

getchar();

||continue_input=='

search_by_name(head);

按学号查找

structstudent*search_by_id(structstudent*head)//

intid;

请输入要查找的学号:

scanf("

id);

查找%d\n"

id);

num==id)

/*isfound=1;

是否继续查找?

(Y继续;

search_by_id(head);

structstudent*modify_record_by_id(structstudent*head)〃按学号修改

请输入要修改的学生的学号:

\n"

if(p==NULL)

抱歉,没有学号为%d的学生\n"

请输入学生信息:

\n"

(p->

num));

name));

birthday));

请输入学生成绩:

print_table_row(p);

print_table_bottom();

继续修改学生信息吗?

Y继续;

N返回主菜单\n"

y'

Y'

creat_by_input();

按姓名修改

structstudent*modify_record_by_name(structstudent*head)〃

structstudent*p=head;

请输入要修改的学生的姓名:

抱歉,没有姓名为%s的学生\n"

}printf("

structstudent*insert_record(structstudent*head)〃插入

structstudent*ptr1;

structstudent*ptr,*stud;

structstudent*ptr2=head;

请输入一个学号,在此之前插入学生信息:

stud=creat_by_input();

ptr=stud;

head=ptr;

head->

elseif(head->

ptr->

next=head;

while(ptr2!

ptr1=ptr2;

ptr2=ptr1->

if(ptr2->

num==id)

ptr1->

next=ptr;

ptr->

next=ptr2;

break;

print_table_row(ptr);

是否继续插入学生信息?

(Y继续N返回主菜单)\n"

returninsert_record(head);

structstudent*Delete_record_by_id(structstudent*head)〃按学号删除

structstudent*p=head,*ppre=NULL;

请输入要删除的学号:

”);

抱歉,没有该学号的学生信息!

确定要删除学号为%d的学生的信息吗?

(Y确定;

N返回主菜单)

\n“,p_>

num);

ppre=head;

if(ppre==p)

head=p->

free(p);

while(ppre!

if(ppre_>

next==p)

ppre_>

next=p->

ppre=ppre_>

删除成功!

//Print_menu_main();

继续删除学生信息吗?

N返回主菜单)"

Delete_record_by_id(head);

return0;

structstudent*Delete_record_by_name(structstudent*head)〃按姓名删除

请输入要删除的姓名:

name,name)==0)break;

抱歉,没有该姓名的学生信息!

gotoend;

确定要删除姓名为%s的学生的信息吗?

name);

pp

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1