学生成绩管理系统数据结构C语言版源代码Word下载.docx

上传人:b****1 文档编号:3669547 上传时间:2023-05-02 格式:DOCX 页数:39 大小:20.41KB
下载 相关 举报
学生成绩管理系统数据结构C语言版源代码Word下载.docx_第1页
第1页 / 共39页
学生成绩管理系统数据结构C语言版源代码Word下载.docx_第2页
第2页 / 共39页
学生成绩管理系统数据结构C语言版源代码Word下载.docx_第3页
第3页 / 共39页
学生成绩管理系统数据结构C语言版源代码Word下载.docx_第4页
第4页 / 共39页
学生成绩管理系统数据结构C语言版源代码Word下载.docx_第5页
第5页 / 共39页
学生成绩管理系统数据结构C语言版源代码Word下载.docx_第6页
第6页 / 共39页
学生成绩管理系统数据结构C语言版源代码Word下载.docx_第7页
第7页 / 共39页
学生成绩管理系统数据结构C语言版源代码Word下载.docx_第8页
第8页 / 共39页
学生成绩管理系统数据结构C语言版源代码Word下载.docx_第9页
第9页 / 共39页
学生成绩管理系统数据结构C语言版源代码Word下载.docx_第10页
第10页 / 共39页
学生成绩管理系统数据结构C语言版源代码Word下载.docx_第11页
第11页 / 共39页
学生成绩管理系统数据结构C语言版源代码Word下载.docx_第12页
第12页 / 共39页
学生成绩管理系统数据结构C语言版源代码Word下载.docx_第13页
第13页 / 共39页
学生成绩管理系统数据结构C语言版源代码Word下载.docx_第14页
第14页 / 共39页
学生成绩管理系统数据结构C语言版源代码Word下载.docx_第15页
第15页 / 共39页
学生成绩管理系统数据结构C语言版源代码Word下载.docx_第16页
第16页 / 共39页
学生成绩管理系统数据结构C语言版源代码Word下载.docx_第17页
第17页 / 共39页
学生成绩管理系统数据结构C语言版源代码Word下载.docx_第18页
第18页 / 共39页
学生成绩管理系统数据结构C语言版源代码Word下载.docx_第19页
第19页 / 共39页
学生成绩管理系统数据结构C语言版源代码Word下载.docx_第20页
第20页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

学生成绩管理系统数据结构C语言版源代码Word下载.docx

《学生成绩管理系统数据结构C语言版源代码Word下载.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统数据结构C语言版源代码Word下载.docx(39页珍藏版)》请在冰点文库上搜索。

学生成绩管理系统数据结构C语言版源代码Word下载.docx

/*修改菜单*/

voidSortmenu(>

/*排序菜单*/

voidmenu(>

/*主菜单*/

voidsecret(>

/*安全验证*/

structstudents*Input(>

/*新建学生信息*/

voidfprint(structstudents*head>

/*将信息导入文件可追加*/

voidfprint_(structstudents*head>

/*将信息导入文件并覆盖*/

voidBrowse(structstudents*head>

/*浏览全部学生信息*/

structstudents*create(structstudents*head

int*n>

/*从tushu_list中读取数据构建链表*/

voidFindofNum(structstudents*head>

/*按学号查询学生信息*/

voidFindofNname(structstudents*head>

/*按姓名查询学生信息*/

voidSortEnglish(structstudents*head>

/*按英语成绩排序*/

voidSortJava(structstudents*head>

/*按Java成绩排序*/

voidSortSjjg(structstudents*head>

/*按数据结构成绩排序*/

voidSortSzdl(structstudents*head>

/*按数字逻辑电路成绩排序*/

voidSortJsj(structstudents*head>

/*按计算机组成原理成绩排序*/

structstudents*Delete(structstudents*head

charm[15]>

/*按学号删除学生成绩信息*/

structstudents*Revise(>

/*修改学生信息<

按编号修改)*/

{

printf("

\n\n"

>

***************************************************\n"

学生成绩管理系统\n"

---------------------------------------------------\n"

1-添加新同学2-浏览学生信息\n"

3-按学号查询4-按姓名查询\n"

5-按成绩排序6-修改学生信息\n"

7-删除学生信息0-退出系统\n"

___________________________________________________\n"

}

按成绩排序\n"

1-大学英语2-JAVA编程\n"

3-数据结构4-数字逻辑电路\n"

5-计算机组成原理0-返回上级菜单\n"

\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"

1--修改学生姓名2--修改学生学号\n"

3--修改学生性别4--修改英语成绩\n"

5--修改JAVA成绩6--修改数据结构\n"

7--修改数字电路8--修改计算计\n"

0--返回上级菜单\n"

chara[20]。

**欢迎来到学生信息管理系统

进入系统前请先进行密码验证---"

"

do{

gets(a>

/*输入密码*/

system("

cls"

/*调用库函数清屏*/

printf("

对不起!

您输入的密码有误

请重新输入---"

}while(strcmp(a

"

0605"

!

=0>

/*单一密码"

*/

system("

structstudents*p1

*p2

*head。

/*建立辅助结点及头结点*/

charName。

intn=0

x。

\n请按对应项输入学生信息以#结束:

\n"

姓名学号性别英语Java数据结构数字电路计算机组成原理\n"

p1=(structstudents*>

malloc(sizeof(structstudents>

head=p2=p1。

do{/*使用dowhile语句输入学生信息*/

scanf("

%s"

&

p1->

Name>

if(strcmp(p1->

Name

#"

==0>

break。

/*判断结束符*/

else

scanf("

%s%s%lf%lf%lf%lf%lf"

p1->

Num

Sex

English

Java

Sjjg

Szdl

Jsj>

Name='

#'

p1=(structstudents*>

p2->

next=p1。

p2=p1。

n++。

}while(1>

p1->

next=NULL。

学生信息输入结束!

getchar(>

是否保存学生信息?

<

1.是/2.否):

scanf("

%d"

x>

if(x==1>

fprint(head>

/*调用函数保存至文件*/

else

\n文件没有被保存!

returnhead。

/*返回头指针*/

structstudents*p1。

if((fp=fopen("

students_list.txt"

a"

==NULL>

{

Fileopenerror!

exit(0>

}

for(p1=head。

next!

=NULL。

p1=p1->

next>

/*遍历*/

fprintf(fp

%s\t%s\t%s\t%.1lf\t%.1lf\t%.1lf\t%.1lf\t%.1lf\n"

/*将学生信息写入文件*/

fclose(fp>

/*关闭文件*/

\n学生信息已成功保存到文件students_list.txt中!

w"

p1!

/*关闭文件*/。

a+"

-------------------------------------------------------------\n"

姓名学号性别英语Java数据结构数字电路计算机\n"

while(!

feof(fp>

/*读取并输出*/{

fscanf(fp

%s%s%s%lf%lf%lf%lf%lf"

Name

}。

if(fclose(fp>

Cannotclosethefile!

structstudents*create(structstudents*head

structstudents*p

*p1

*p2。

(*n>

++。

p=(structstudents*>

p->

p->

if(head==NULL>

{

head=p。

p1=p。

}

p1->

next=p。

p2=p1。

p2->

free(p>

(*n>

--。

voidFindofName(structstudents*head>

inti=0

n=0。

charb[20]。

structstudents*p。

head=create(head

n>

p=head。

\n请输入要查询的学生姓名:

b>

while(p!

=NULL>

if(strcmp(p->

{

printf("

p->

i++。

p=p->

next。

if(i==0>

\n对不起!

没有找到名为"

的学生信息!

n。

\n请输入要查询的学生学号:

没有找到学号为"

学生信息!

structstudents*p

*tail。

/*定义中间变量*/

intn。

while(head->

/*利用选择法排序*/

tail=NULL。

English=p->

English。

/*将链表中第一个成绩赋给English*/

if((p->

English>

/*比较*/

English=p->

tail=p。

p=head。

while(p->

if(p->

English==English>

printf("

p->

if(p==head>

head=head->

else

tail->

next=p->

}

p=p->

if(p->

{/*分数相同时无需比较*/

tail->

}

}

/*将链表赋给结构体指针*/

p->

/*浏览排序后的信息*/

按英语成绩排序后输出如上<

注:

此过程不保存至文件):

return。

/*按JAVA成绩排序*/

Java=p->

Java。

/*将链表中第一个成绩赋给Java*/

Java>

Java=p->

Java==Java>

{/*成绩相同时无需比较*/

按Java成绩排序后输出如上<

/*按数据结构排序*/

Sjjg=p->

Sjjg。

/*将链表中第一个成绩赋给Sjjg*/

Sjjg>

Sjjg=p->

Sjjg==Sjjg>

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2