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

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

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

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

学生成绩管理系统数据结构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();

/*修改学生信息(按编号修改)*/

voidmenu()

{

printf("

\n\n"

);

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

学生成绩管理系统\n"

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

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

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

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

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

___________________________________________________\n"

}

voidSortmenu()

按成绩排序\n"

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

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

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

voidRevisemenu()

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

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

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

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

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

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

voidsecret()

chara[20];

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

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

"

do{

gets(a);

/*输入密码*/

system("

cls"

/*调用库函数清屏*/

printf("

对不起!

您输入的密码有误

请重新输入---"

}while(strcmp(a

"

0605"

)!

=0);

/*单一密码"

*/

system("

structstudents*Input()

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*)malloc(sizeof(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;

/*返回头指针*/

voidfprint(structstudents*head)

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中!

voidfprint_(structstudents*head)

w"

p1!

/*关闭文件*/;

voidBrowse(structstudents*head)

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

int*n)

structstudents*p

*p1

*p2;

feof(fp))

(*n)++;

p=(structstudents*)malloc(sizeof(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->

b)==0){

printf("

p->

i++;

p=p->

next;

if(i==0)

\n对不起!

没有找到名为"

的学生信息!

voidFindofNum(structstudents*head)

n;

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

b)==0){

没有找到学号为"

学生信息!

voidSortEnglish(structstudents*head)

structstudents*p

*tail;

/*定义中间变量*/

intn;

while(head->

=NULL)/*利用选择法排序*/

tail=NULL;

English=p->

English;

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

=NULL)

if((p->

English)>

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->

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

tail->

}

}

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

p->

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

按英语成绩排序后输出如上(注:

此过程不保存至文件):

return;

/*按JAVA成绩排序*/

voidSortJava(structstudents*head)

Java=p->

Java;

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

Java)>

Java)/*比较*/

Java=p->

Java==Java){

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

按Java成绩排序后输出如上(注:

/*按数据结构排序*/

voidSortSjjg(structstudents*head)

Sjjg=p->

Sjjg;

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

Sjjg)>

Sjjg)/*比较*/

Sjjg=p->

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

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

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

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