学生成绩管理系统源代码Word格式文档下载.docx
- 文档编号:3281349
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:24
- 大小:18.63KB
学生成绩管理系统源代码Word格式文档下载.docx
《学生成绩管理系统源代码Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统源代码Word格式文档下载.docx(24页珍藏版)》请在冰点文库上搜索。
}
structstudent*print_table_head()
{
printf("
+----------+----------+----------+----------+-------------+\n"
|学号|姓名|出生日期|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_row(pnewstu);
plaststu=get_last_student(head);
plaststu->
next=pnewstu;
printf("
是否继续输入学生信息?
(Y继续,N返回菜单)\n"
getchar();
continue_input=getchar();
if(continue_input=='
n'
||continue_input=='
)
system("
cls"
Print_menu_main();
break;
returnhead;
structstudent*creat_by_input()
structstudent*pnewstu=(structstudent*)malloc(sizeof(structstudent));
请输入学生信息\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;
else
returnget_last_student(p->
next);
voidPrint_Stu_Doc(structstudent*head)
structstudent*p;
charr;
print_table_head();
if(head==NULL)
\nNoRecords\n"
for(p=head;
p;
p=p->
next)
(按Enter键返回主菜单)\n"
getchar();
r=getchar();
if(r!
='
1'
)
system("
else
structstudent*search_by_name(structstudent*head)//按姓名查找
structstudent*p=head;
charcontinue_input;
/*intisfound=0;
*/
请输入要查找的姓名:
scanf("
name);
查找%s\n"
while(p!
=NULL)
if(strcmp(p->
name,name)==0)
{
print_table_row(p);
p=p->
next;
/*isfound=1;
*/
print_table_bottom();
是否继续查找?
(Y继续;
N返回主菜单)\n"
getchar();
continue_input=getchar();
if(continue_input=='
system("
Print_menu_main();
search_by_name(head);
structstudent*search_by_id(structstudent*head)//按学号查找
intid;
请输入要查找的学号:
id);
查找%d\n"
id);
{
if(p->
num==id)
/*isfound=1;
是否继续查找?
search_by_id(head);
returnhead;
}
structstudent*modify_record_by_id(structstudent*head)//按学号修改
请输入要修改的学生的学号:
\n"
num==id)
p=p->
if(p==NULL)
抱歉,没有学号为%d的学生\n"
请输入学生信息:
(p->
num));
name));
birthday));
请输入学生成绩:
print_table_head();
print_table_row(p);
print_table_bottom();
继续修改学生信息吗?
Y继续;
N返回主菜单\n"
continue_input=getchar();
y'
Y'
creat_by_input();
structstudent*modify_record_by_name(structstudent*head)//按姓名修改
structstudent*p=head;
请输入要修改的学生的姓名:
抱歉,没有姓名为%s的学生\n"
else
structstudent*insert_record(structstudent*head)//插入
structstudent*ptr1;
structstudent*ptr,*stud;
structstudent*ptr2=head;
charcontinue_input='
请输入一个学号,在此之前插入学生信息:
stud=creat_by_input();
ptr=stud;
head=ptr;
head->
elseif(head->
ptr->
next=head;
while(ptr2!
ptr1=ptr2;
ptr2=ptr1->
if(ptr2->
{
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确定;
ppre=head;
if(ppre==p)
head=p->
\n"
free(p);
while(ppre!
if(ppre->
next==p)
{
ppre->
next=p->
free(p);
break;
}
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的学生的信息吗?
if(continue_input=='
else
printf("
//elsePrint_menu_main();
end:
getchar();
continue_input=getchar();
Delete_record_by_name(head);
else
system("
Print_menu_main();
returnhead;
return0;
structstudent*Sorting_record_by_id(structstudent*head)//按学号排序
inti=0,j,k,r;
structstudent*pt1,*pt2,*pt,m;
if(head==NULL)
现在无同学记录\n"
pt1=head;
pt2=head->
for(pt=head;
pt;
pt=pt->
i++;
for(j=1;
j<
i;
j++)
pt2=head->
for(k=1;
k<
i-j+1;
k++)
if(pt1->
num>
pt2->
num)
{
m=*pt1;
*pt1=*pt2;
*pt2=m;
pt2->
next=pt1->
pt1->
next=pt2;
pt1=pt2;
pt2=pt1->
print_table_head();
for(pt=head;
{
printf("
|%10d|%10s|
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩管理系统 源代码