C语言课程设计方案学生成绩管理系统Word下载.docx

上传人:b****6 文档编号:21325455 上传时间:2023-01-29 格式:DOCX 页数:14 大小:50.67KB
下载 相关 举报
C语言课程设计方案学生成绩管理系统Word下载.docx_第1页
第1页 / 共14页
C语言课程设计方案学生成绩管理系统Word下载.docx_第2页
第2页 / 共14页
C语言课程设计方案学生成绩管理系统Word下载.docx_第3页
第3页 / 共14页
C语言课程设计方案学生成绩管理系统Word下载.docx_第4页
第4页 / 共14页
C语言课程设计方案学生成绩管理系统Word下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

C语言课程设计方案学生成绩管理系统Word下载.docx

《C语言课程设计方案学生成绩管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《C语言课程设计方案学生成绩管理系统Word下载.docx(14页珍藏版)》请在冰豆网上搜索。

C语言课程设计方案学生成绩管理系统Word下载.docx

这不但能使教务人员从复

杂的成绩管理中解脱出来,而且对于推动教案的发展也起到非常重要的作用。

学校学生成绩管理工作都是采用传统的手工管理,这各传统人工的管理方式存在着许多缺点,如:

率低,保密性差,一方面导致教师,学生成绩情况不了解,教师对成绩管理工作倍感头痛,因为时间一长将产生大量的文件和数据,这对于查找,更新和维护都带来了不少的困难,耗费大量劳动力,难于避免错误

的产生。

题目要求

有N个学生,每个学生的数据包含学号(不重复)、姓名、三门课的成绩及平均成绩,试设计一学生成绩管理系统,使之能提供以下功能:

(1)主菜单

1、成绩录入

2、成绩查询

3、成绩统计 

4、成绩排名

5、退出

(2)各菜单项功能

①成绩录入:

输入学生的学号、姓名及三门课的成绩;

②成绩查询:

查询不及格学生的记录。

③成绩统计:

l计算学生的平均分;

2根据学生的平均分高低,对学生的数据进行排序后输出;

(3)设计要求

1、用C语言实现系统;

2、利用结构体数组实现学生成绩统计管理的数据结构设计;

3、系统具有增加,查询,排序等基本功能;

4、系统的各个功能模块要求用函数的形式实现;

二、功能设计

程序是数值计算型算法设计,设计出了学生成绩管理系统的基本功能,并设计了简单的界面。

本程序主要考察对自定义函数的熟悉程度,本程序主要使用的是结构体的相关操作,包括结构体数组的输入、输出、查找、删除、修改、计算等。

这个学生成绩管理系统也初步实现了学生成绩信息的显示、删除、查找、添加、修改等必要的功能。

三、程序介绍

学生成绩管理系统由8个函数组成,包括main函数、input函数、display函数、look函数、delete函数,其中change函数又包括一个sumandave子函数,paixu函数。

main函数主要是打印选择界面,选择并调用其他几个函数。

input函数是输入学生信息函数(包括姓名、学号、性别、5门学科的成绩)。

完成后调用display函数并返回界面选择。

display函数的功能是对输入学生的信息进行界面输出。

完成后返回main函数进行下一个功能的选择。

并返回界面选择。

look函数的功能是查找。

按提示信息输入学号和姓名两种方式可实现查找。

完成后调用display函数输出结果。

delete函数的功能是删除学生的信息,根据想删除的学号进行删除功能,删除的结果会显示在屏幕上。

然后再调用display函数显示结果。

Change函数功能是实现学生成绩的修改,其中对于每个想修改的工程(学号、性别、名字、分数)都有是否修改的提示。

选择并完成后再调用display函数输出修改后的结果。

Sumandave函数是计算每个学生成绩的总分、平均分。

完成后调用display函数输出所求结果。

Paixu函数是将所有学生成绩的总分降序排列,再是调用display函数。

四、程序设计NS图

1.学生信息的输入

Main函数调用input函数()

For(i=0;

i<

5。

i++)

依次输入学生5门课成绩

输入多个学生信息(学号、姓名、性别)

完成后返回display()函数输出结果

2.学生信息的输出

调用display函数()

输出学生信息

(学号、姓名、性别、成绩、总分、平均分)

3.学生成绩的求和与排序

调用sumandave()函数

k。

for(j=0。

j<

j++)

累计学生5门课成绩并求平均

4.查找学生信息

调用look()函数

按学号查找

按姓名查找

for(i=0。

比较字符串

if(strcmp(stu[i].num,a)==0)

if(strcmp(stu[i].name,a)==0)

输出所查学生信息

调用change()函数

输入需要修改的学生学号

For(i=0。

输入想修改的学号、姓名、性别、分数、并在每步修改之前确认修改,并输入相应信息。

完成后调用display()函数输出修改结果

5.修改学生信息

6.删除学生信息

调用delete()函数

确认修改

比较字符串scanf("

%s"

ch)。

if(strcmp(ch,"

y"

)==0||strcmp(ch,"

Y"

)==0)

输入需要删除的学生学号

if(strcmp(c,stu[i].num)==0)break。

for(j=i。

=2。

stu[j]=stu[j+1]。

/*以后一个学生信息取代前一个*/

完成后调用display()函数输出结果

7.按平均分的排序

调用paixu()函数

for(i=0。

k-1。

for(j=i+1。

if(stu[i].sum<

stu[j].sum)

{T=stu[i]。

stu[i]=stu[j]。

/*交换顺序*/

stu[j]=T。

}

五、程序代码

#include<

stdio.h>

string.h>

conio.h>

structstudent

{charnum[10]。

charname[20]。

charsex[5]。

intgrade[5]。

floatv。

intsum。

}stu[50]。

intk=0。

voidinput()。

voiddisplay()。

voidlook()。

voidchange()。

voiddelete()。

voidsumandave()。

voidpaixu()。

voidmain()

{

inta。

do

printf("

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

)。

*"

printf("

\t\欢迎进入学生管理系统"

\t*"

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

\t1.访问学生信息"

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

\t2.查找学生信息"

\t3.修改学生信息"

\t4.

删除学生信息"

\t5.通过学号输出学生信息"

\t\t*\n"

\t6.exit"

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

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

Enteryouchoice:

"

scanf("

%d"

&

a)。

switch(a)

case1:

\n"

input()。

break。

case2:

look()。

case3:

change()。

case4:

delete()。

case5:

paixu()。

case6:

exit(0)。

default:

\nThechoiceisbetween1to6.\n"

}while(a!

=0)。

voidinput()

{intj。

charch[20]。

\nenterstudentinformation:

{printf("

\nnum:

stu[k].num)。

\nname:

stu[k].name)。

\nsex:

stu[k].sex)。

for(j=0。

\ngrade%d:

j+1)。

stu[k].grade[j])。

}

k++。

\nifwantcontinueinputstudentinformation(y/n):

}while(strcmp(ch,"

)==0)。

sumandave()。

display()。

voiddisplay()

{inti。

thestudentinformationis:

%-10s%-10s%-5s%2d%2d%2d%2d%2d%5d%5f\n"

stu[i].num,stu[i].name,stu[i].sex,stu[i].grade[0],stu[i].grade[1],stu[i].grade[2],stu[i].grade[3],stu[i].grade[4],stu[i].sum,stu[i].v)。

voidsumandave()

{inti,j。

{stu[i].sum=0。

stu[i].sum=stu[i].sum+stu[i].grade[j]。

stu[i].v=stu[i].sum/5.0。

}

voidlook()

{{inti。

chara[20]。

\nenteryouwantlookstudentnum:

"

a)。

if(strcmp(stu[i].num,a)==0)printf("

%-10s%-10s%-5s%2d%2d%2d%2d%2d%5d%5f\n"

\nenteryouwantlookstudentname:

if(strcmp(stu[i].name,a)==0)printf("

voidchange()

chara[20],ch[10]。

\nenteryouwantchangestudentnum:

scanf("

if(strcmp(stu[i].num,a)==0)

\nyousurewantchangestudentnum(y/n):

)==0){printf("

stu[i].num)。

\nyousurewantchangestudentname(y/n):

stu[i].name)。

\nyousurewantchangestudentsex(y/n):

stu[i].sex)。

\nyousurewantchangestudentgrade(y/n):

{for(j=0。

stu[i].grade[j])。

stu[i].sum=0。

}}

voiddelete()

charch[10],c[20]。

\nyousurewantdeletestudentinformation(y/n):

if(strcmp(ch,"

{printf("

\nenteryouwantdeletenum:

\n"

num:

c)。

if(strcmp(c,stu[i].num)==0)break。

\t\t\tyouhaddelete%s\n"

c)。

k--。

display()。

voidpaixu()

{structstudentT。

inti,j。

T=stu[i]。

}}

六丶运行结果图

七、C语言程序设计总结

C语言是一种计算机程序设计语言,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。

因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言。

它把高级语言的基本结构和语句与低级语言的实用性结合起来,功能齐全,因此发展极其迅速。

在这次的课程设计的实践中,更加深了对c的了解,对c的一些基本的掌握,比如它的基本结构、关键字、数组、函数的调用等,学习一种语言,一定要做到脚踏实地,认真细心,切忌浮躁,在开始的阶段,学习该课程并不是要求能用C设计一个复杂的东西,最主要是掌握一种结构化设计的编程思想,对编程不再恐惧陌生,该课程的知识点通俗的讲解要易懂,这样才能一步步学得更多更深。

参考书目

1.任正云,C语言程序设计

2.谭浩强,C语言课程设计教程

3.黄超,新编C语言程序设计

4.明日科技,C语言从入门到精通

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

当前位置:首页 > 高等教育 > 工学

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

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