学生成绩管理系统源代码Word下载.docx
- 文档编号:19588458
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:27
- 大小:169.06KB
学生成绩管理系统源代码Word下载.docx
《学生成绩管理系统源代码Word下载.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统源代码Word下载.docx(27页珍藏版)》请在冰豆网上搜索。
配置数据源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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩管理系统 源代码