C语言课程设计 学生成绩管理系统.docx

上传人:b****2 文档编号:591525 上传时间:2022-10-11 格式:DOCX 页数:20 大小:328.22KB
下载 相关 举报
C语言课程设计 学生成绩管理系统.docx_第1页
第1页 / 共20页
C语言课程设计 学生成绩管理系统.docx_第2页
第2页 / 共20页
C语言课程设计 学生成绩管理系统.docx_第3页
第3页 / 共20页
C语言课程设计 学生成绩管理系统.docx_第4页
第4页 / 共20页
C语言课程设计 学生成绩管理系统.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

C语言课程设计 学生成绩管理系统.docx

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

C语言课程设计 学生成绩管理系统.docx

C语言课程设计学生成绩管理系统

青岛农业大学

课程设计报告

题目:

学生成绩管理系统

姓名:

田世强元成张斌

学院:

工程系

专业:

电子信息工程技术

班级:

2班

学号:

353

***********

 

2010年9月16日

 

一设计目的…………………………………………………………….1

二课程设计的内容........................................2

三课程设计的要求与数据..................................3

四课程设计应完成的工作..................................4

五总体设计(包含几大功能模块)...........................5

六详细设计(各功能模块的具体实现算法——流程图)………….6

七调试分析(包含各模块的测试用例,及测试结果)…………….7

八总结………………………………………………………………...8

十参考资料…………………………………………………………….9

 

一设计目的

进一步加深、巩固所学专业课程(《C语言程序设计》)的基本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。

掌握运用C语言独立地编写、调试应用程序和进行其它相关设计的技能。

二课程设计的内容

对学生信息(包括学号、语文、数学、英语、平均分)进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出.将学生的成绩信息进行记录,信息内容包含:

(1)学生的学号

(2)学生的姓名(3)学生的成绩。

假设,现收集到了一个班学生的所有成绩信息,要求用C语言编写一个简单的成绩管理系统,可进行录入、查询、修改和浏览等功能。

学习相关开发工具和应用软件,熟悉系统建设过程。

三课程设计的要求与数据

1、用C语言实现系统;

2、对学生信息(包括学号、姓名、语文、数学、英语、平均分)进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出.

3、学生信息包括:

其内容较多,为了简化讨论,要求设计的管理系统能够完成以下功能:

(1)每一条记录包括一个学生的学号、姓名、3门课成绩

(2)、成绩信息录入功能:

(成绩信息用文件保存,可以一次完成若干条记录的输入。

(3)、成绩信息显示浏览功能:

完成全部学生记录的显示。

(4)、查询功能:

完成按姓名查找学生记录,并显示。

(5)成绩信息的删除:

按学号进行删除某学生的成绩.

(6)、排序功能:

按学生平均成绩进行排序。

(7)、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!

四课程设计应完成的工作

(1)编写算法;

(2)算法测试,并有具体的测试结果和结果分析;

(3)撰写课程设计报告。

内容包括:

1)封面扉页

2)设计任务书

3)目录

4)总体设计方案(包括流程图)

5)使用说明及运行实例(包括界面)

6)成员设计内容简介

7)项目源程序代码(注意注释的使用)

8)指导教师评语

五总体设计(包含几大功能模块)

1、成绩录入功能

2、成绩输出功能

3、成绩查询功能

4、删除模块

5、排序功能

6、统计功能

7、退出系统

六详细设计(各功能模块的具体实现算法——流程图)

各函数的功能和实现

1、输入初始的学生信息:

输入信息包括学生的姓名、学号以及学生的成绩等相关信息;可用函数voidinput(STUDENT*data,int*len)来实现此操作。

2、成绩输出模块:

输出学生的信息以及成绩voidoutput(STUDENT*data,intlen):

通过学生的姓名来查看学生的相关成绩,同时也可以分别通过caverage()?

、maverage()?

、eaverage()?

和comaverage()?

来输出成绩的平均分数、最高和最低分数。

3、成绩查询模块:

可用voidfind(STUDENT*data,intlen)?

来实现。

找到就输出此学生全部信息。

4、删除模块:

用函数voiddelete_item(STUDENT*data,int*len)来实现

5、排序模块:

用函数voidsort(STUDENT*data,intlen)来实现

6、统计功能能:

用函数voidstat(STUDENT*data,intlen)来实现

7、退出系统:

可用一个函数exit()来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。

如图

七调试分析(包含各模块的测试用例,及测试结果)

源程序

#include<>

#include<>

#include<>

#defineMAXN35

#defineMAX_NAME256

typedefstructstudent;

printf("%s\n","格式:

\n学号\n");

printf("%s\n","姓名语文数学英语");

putchar('\n');

printf("如:

\n");

printf("1\n");

printf("杨江彬939589\n");

scanf("%d",&no);

while(no!

=-1){

data[*len].no=no;

scanf("%s%lf%lf%lf",data[*len].name,&data[*len].Chinese,&data[*len].math,&data[*len].English);data[*len].mark_ave=(data[*len].Chinese+data[*len].math+data[*len].English)/;data[*len].mark_tot=data[*len].Chinese+data[*len].math+data[*len].English;

(*len)++;

scanf("%d",&no);

}

/*---------------输出信息子程序---------------*/

voidoutput(STUDENT*data,intlen)

{

inti;

system("cls");

printf("%8s","学号");

printf("%8s","姓名");

printf("%8s","语文");

printf("%8s","数学");

printf("%10s","英语");

printf("%12s","平均分");

printf("%10s","总分");

putchar('\n');

for(i=0;i<80;i++)

putchar('=');

putchar('\n');

for(i=0;i

{

printf("%8d",data[i].no);

printf("%8s",data[i].name);

printf("%",data[i].Chinese);

printf("%",data[i].math);

printf("%",data[i].English);

printf("%",data[i].mark_ave);

printf("%",data[i].mark_tot);

putchar('\n');

}

for(i=0;i<80;i++)

putchar('=');

putchar('\n');

printf("按回车键继续.");

getchar();

getchar();

}

/*--------------排序子程序------------*/

voidsort(STUDENT*data,intlen)

{

inti,j,k;

STUDENTtemp;

for(i=0;i

for(k=i,j=i+1;j

if(data[k].mark_ave>data[j].mark_ave)k=j;

if(k!

=i){

temp=data[i];

data[i]=data[k];

data[k]=temp;

}

}

}

/*--------------------搜索子程序-----------------------*/

voidfind(STUDENT*data,intlen)

{

intfind_no,result;

inti;

lab:

result=0;

printf("%s\n","请输入需要查找的学生的学号,退出当前菜单请输入-1.");

scanf("%d",&find_no);

if(find_no==-1)return;/*exitthefinesubprogram*/

while(data[result].no!

=find_no&&result

if(result>=len){

printf("%s\n","未查询到相关信息");

gotolab;

}

else{

system("cls");

printf("%s\n","查询信息如下:

");

for(i=0;i<80;i++)

putchar('=');

putchar('\n');

printf("%8s","学号");

printf("%8s","姓名");

printf("%8s","语文");

printf("%8s","数学");

printf("%10s","英语");

printf("%12s","平均分");

printf("%10s","总分");

putchar('\n');

printf("%8d",data[result].no);

printf("%8s",data[result].name);

printf("%",data[result].Chinese);

printf("%",data[result].math);

printf("%",data[result].English);

printf("%",data[result].mark_ave);

printf("%",data[result].mark_tot);

putchar('\n');

for(i=0;i<80;i++)

putchar('=');

putchar('\n');

gotolab;

}

}

/*-----------------插入子程序-------------*/

voidinsert(STUDENT*data,int*len)

{

intno,pos;

doubleChinese,math,English,mark_ave,mark_tot;

inti;

charname[MAX_NAME];

lab:

printf("%s\n",

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

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

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

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