学生成绩管理系统2教学文稿Word格式文档下载.docx

上传人:b****4 文档编号:14336921 上传时间:2022-10-22 格式:DOCX 页数:25 大小:139.79KB
下载 相关 举报
学生成绩管理系统2教学文稿Word格式文档下载.docx_第1页
第1页 / 共25页
学生成绩管理系统2教学文稿Word格式文档下载.docx_第2页
第2页 / 共25页
学生成绩管理系统2教学文稿Word格式文档下载.docx_第3页
第3页 / 共25页
学生成绩管理系统2教学文稿Word格式文档下载.docx_第4页
第4页 / 共25页
学生成绩管理系统2教学文稿Word格式文档下载.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

学生成绩管理系统2教学文稿Word格式文档下载.docx

《学生成绩管理系统2教学文稿Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统2教学文稿Word格式文档下载.docx(25页珍藏版)》请在冰豆网上搜索。

学生成绩管理系统2教学文稿Word格式文档下载.docx

(5)实现学生成绩成绩统计

(a)按班级统计学生的总分、平均分

(b)按班级、课程对学生的总分进行排序

(6)实现学生成绩信息浏览

2.3流程图

 

2.4关键问题

难点:

指针p、函数。

解决:

head=NULL无条件循环

指针p指向新开辟的单元

指针p是否为空

是否

输入学号p->

num

输出p->

num是否为@

内存是否

溢出输入姓名p->

name

停止for(i=0;

i<

3;

i++)

输入输入成绩

返回p->

sum=s;

菜单p->

average=(float)s/3;

主函数:

intmain()

新建函数:

infor*init()

输入函数:

infor*creat()

显示函数:

structinfor*view(structinfor*head)

删除函数:

infor*delete(infor*head)

按名字寻找函数:

voidlookup(infor*head)

保存函数:

voidsave(infor*head)

按总分排序函数:

infor*sort(infor*head)

计算总分和均分函数:

voidzong(structinfor*head)

修改函:

voidchange(structinfor*head)

按学号排序函数:

infor*index(infor*h)

3系统实现

3.1题目一

(源代码)

#include<

stdio.h>

stdlib.h>

#include<

string.h>

#defineN4

structinfor

{

intterm;

//定义学期(1或2)

intno;

//学号

intclas;

//定义班级(1或2班)

charname[9];

//姓名

floatchinese;

//定义四门成绩

floatenglish;

floatmath;

floatcomputer;

structinfor*link;

};

intn=0;

//******************************************************************************

//函数功能:

创建链表,录入学生的相关信息,此函数返回一个指向链表头的指针

structinfor*creat()

structinfor*head=NULL,*p=NULL,*q=NULL;

charc;

fflush(stdin);

printf("

是否要输入信息(y/n):

"

);

scanf("

%c"

&

c);

p=q=(structinfor*)malloc(sizeof(structinfor));

q=head;

while(p!

=NULL&

&

c=='

y'

{

n++;

p=(structinfor*)malloc(sizeof(structinfor));

请输入要录入学生信息的学期:

fflush(stdin);

%d"

p->

term);

//学期只能为1或2

while(p->

term!

=1&

=2)

getchar();

printf("

输入错误!

请重新输入:

//若学期不为1或2,则输入有误

scanf("

}

请输入要录入学生成绩信息的班级:

//班级只能为1或2

clas);

clas!

}

请输入该班的学生信息!

\n"

//输入学生信息(包括学号、四门成绩)

请输入学生学号:

no);

请输入学生姓名:

%s"

p->

name);

//输入学生姓名

请输入语文成绩(0-100):

//输入四门成绩

%f"

chinese);

请输入数学成绩(0-100):

math);

请输入英语成绩(0-100):

english);

请输入计算机成绩(0-100):

computer);

if(n==1)//创建新结点

head=p;

else

q->

link=p;

q=p;

是否还要输入信息(y/n):

q->

link=NULL;

//链表结尾

return(head);

//链表返回头指针

}

实现对学生信息的修改

structinfor*p=head;

charch,m;

//定义一个数组,存储学生的姓名

intnum;

if(p==NULL)printf("

出错!

请先输入学生信息!

while

(1)//设置循环控制

\t\t\t请选择要修改的信息!

\t\n"

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

//输出要修改的信息

\t\t\ta、学号:

\n"

\t\t\tb、姓名:

\t\t\tc、班级:

\t\t\td、成绩:

//清盘

ch);

if(ch=='

a'

{

你要修改的信息是:

学号!

//按姓名修改学号

请输入你要修改的学生姓名:

name);

if(strcmp(name,p->

name)==0)

printf("

请输入该学生新的学号:

//输入新学号

}

elseprintf("

无法查找到该学生!

//找不到信息

elseif(ch=='

b'

)//按学号修改该班级学生的信息

姓名!

请输入你要修改的学生的学号:

num);

if(num==p->

no)//输入学号,判断条件

{

请输入该学生的姓名:

//输入要做修改的学生姓名

}

elseprintf("

}

c'

班级!

//按学号修改班级

no)

请输入该学生的班级:

//输入要做修改的班级

scanf("

//找不到信息

elseif(ch=='

d'

成绩!

//按学号修改成绩

no)//输入学号

请输入该学生新的语文成绩:

请输入该学生新的数学成绩:

//输入新的四门成绩

请输入该学生新的英语成绩:

请输入该学生新的计算机成绩:

无法查找该学生的信息!

p=p->

link;

是否还要继续修改信息(y/n):

//判断,是否还要修改信息,跳出循环

if((m

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

当前位置:首页 > 考试认证 > 司法考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1