数据结构之学生成绩管理系统Word文件下载.docx
- 文档编号:13699588
- 上传时间:2022-10-12
- 格式:DOCX
- 页数:16
- 大小:37.24KB
数据结构之学生成绩管理系统Word文件下载.docx
《数据结构之学生成绩管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《数据结构之学生成绩管理系统Word文件下载.docx(16页珍藏版)》请在冰豆网上搜索。
三、算法的思想与算法实现步骤
1.基本思想
通过链表数据类型进行基本操作,主要有三个模块:
分别是主函数模块、
主要操作函数及基本操作函数。
其中,主函数负责其他子函数的调用实现以及基本界面的操作
主要函数包括:
voidStuInput(Student*);
//学生成绩管理系统的输入函数,由主函数调用
voidStuSelect(Student*);
//学生成绩管理系统的查找函数,由主函数调用
voidStuAlter(Student*);
//学生成绩管理系统的修改函数,由主函数调用
voidStuInsert(Student*);
//学生成绩管理系统的插入函数,由主函数调用
voidStuDelect(Student*);
//学生成绩管理系统的删除函数,由主函数调用
voidStuSave(Student*);
//学生成绩管理系统的存储函数,由主函数调用
基本操作函数:
voidStuOutput(Student*p);
//输出函数
intStuImport(Student*head,Student*p);
//输入函数
voidStuInputHand(Student*head);
//学生成绩管理系统的手动输入函数,由输入函数调用
voidStuInputFile(Student*head);
//学生成绩管理系统的文件输入函数,由输入函数调用
voidStuSelectErg(Student*head);
//学生成绩管理系统的遍历函数,由查找函数调用
voidStuSelectNumFind(Student*head);
//学生成绩管理系统的按学号查找函数,由查找函数调用
voidStuSelectSubFind(Student*head);
//学生成绩管理系统的按科目查找函数,由查找函数调用
2.实现步骤
首先,分析题目要求划分实现模块,定义基本数据类型,诸如结构体、链表等;
其次,针对上述的基本操作实现具体需要进行的操作,具体实现每个环节需要进行的基本操作,即具体编写每个小函数实现功能;
最后,编写主函数对每个实现进行按需调用,实现操作。
3.流程图
四.代码:
#include<
stdio.h>
malloc.h>
string.h>
structStudent
{
charname[10];
charsubject[10];
intnum;
intgrade;
Student*next;
};
voidStuMain();
//学生成绩管理系统的主函数,由main函数调用
voidStuOutput(Student*p)//打印函数,将链表的该节点信息输出
printf("
学生姓名:
"
);
%s"
p->
name);
printf("
学生号:
%d"
num);
科目:
"
subject);
学生成绩:
%d\n"
grade);
}
intStuImport(Student*head,Student*p)
Student*Opinion=(Student*)malloc(sizeof(Student));
//用来判断输入节点中学生号是否有重复
Opinion=head->
next;
\n"
scanf("
%s"
scanf("
%d"
&
p->
if(Opinion!
=NULL)
{
if(Opinion->
num==p->
num&
&
!
strcmp(Opinion->
subject,p->
subject))
{
printf("
该学生这门科目已有成绩,请重新输入\n"
return1;
}
Opinion=Opinion->
}
return0;
voidmain()
StuMain();
voidStuMain()
chardecide='
y'
;
//定义while变量,函数是否继续进行
intnum=1;
//定义switch变量,函数跳转到哪个子函数
Student*head;
//定义链表的头指针
head=(Student*)malloc(sizeof(Student));
//给头指针开辟空间
head->
next=NULL;
//初始化头指针
while(decide!
='
n'
)
{
***************************************************\n"
**********1输入2查找3修改4插入********\n"
**********5删除6存储7退出********\n"
switch(num)
case1:
StuInput(head);
break;
case2:
StuSelect(head);
case3:
StuAlter(head);
case4:
StuInsert(head);
case5:
StuDelect(head);
case6:
StuSave(head);
default:
decide='
}
};
voidStuInput(Student*head)//学生成绩管理系统的输入函数,由主函数调用
**1手动输入2文件输入3退出**\n"
StuInputHand(head);
StuInputFile(head);
voidStuInputHand(Student*head)//学生成绩管理系统的手动输入函数,由输入函数调用
if(head->
next==NULL)
Student*point=(Student*)malloc(sizeof(Student));
//链表中最后一个节点,只在该函数中存在
point->
intdecide=1;
while(decide!
=0)
Student*p=(Student*)malloc(sizeof(Student));
p->
StuImport(head,p);
if(head->
head->
next=p;
point=p;
else
point->
point=p;
printf("
是否继续:
1/0\n"
scanf("
decide);
else
管理系统中已存在信息,若想输入学生信息,请转插入子系统"
voidStuInputFile(Student*head)//学生成绩管理系统的文件输入函数,由输入函数调用
next!
学生管理系统中已有信息,请跳转到插入选项\n"
return;
FILE*fp;
请输入文件名(包括物理地址)\n"
charfilename[10];
filename);
if((fp=fopen(filename,"
r"
))==NULL)
{
cannotopenfile
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 学生 成绩管理系统
![提示](https://static.bdocx.com/images/bang_tan.gif)