C语言实验报告学生成绩管理系统.docx

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

C语言实验报告学生成绩管理系统.docx

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

C语言实验报告学生成绩管理系统.docx

C语言实验报告学生成绩管理系统

 

XX大学

CSU

C语言程序设计实践报告

 

题目学生成绩管理系统

学生姓名剽悍的小白兔

指导教师TZ

学院信息科学与工程学院

专业班级电气信息类XXXX班

完成时间20XX年X月

 

一、设计目的

通过课程设计使学生综合使用所学过的C语言程序设计知识,掌握结构化程序设计的基本思路和法,在所掌握的基本知识和技能的基础上,进一步提高自学能力和查找资料的能力,解决一定程度的复杂的结构化程序设计问题,加深对所学知识的理解与掌握,增强学生我们利用自己所学知识解决实际问题的能力,为以后的程序开发打下基础。

二、系统分析

随着科学技术的不断发展,对人们的工作水平要求也越来越高,然而计算机就成了帮助人们解决这个问题的工具,熟练的运用计算机,它能为人们解决多工作上的难题。

对与一个管理人员来说,快而迅速的了解各种信息是很关键的。

使用计算机在C语言环境下编写相关的管理系统就能达到对相关信息的录入、显示;对记录的查询极其修改等目的。

基于同样的C语言环境,对其提供的头文件*h(stdio.h,stdlib.h,string.h,malloc.h,mem.h,ctype.h,conio.h等)的不同组合,能为我们解决多多的问题,因此,用它来编写成绩管理管理系统是可行的。

三、学生成绩管理系统主要功能

✧数据的录入:

如录入学生的基本信息,以及该学生选修课程的基本信息;

✧数据的修改:

如修改指定学号、或者指定姓名的学生信息,或者修改其选修课程信息;

✧数据的插入:

插入某个学生信息;

✧数据的查询:

如按学号查询、按姓名查询等;

✧数据的删除:

如删除指定学号、或者指定姓名的学生及其选修课程信息;

✧平均成绩的计算:

计算每个学生各门功课的平均成绩,并按平均成绩从高到低的次序输出学生信息;

✧列出不及格学生清单(学号、姓名、不及格的课程和成绩)。

 

四、功能的实现与要求

1.数据录入:

数据录入的功能是将需要的数据进行录入,用于后面的各项操作。

实现:

用输入函数对数据进行录入,先确定学生的个数,再用一个循环进行输入,选修课程数量亦然。

2.数据修改:

数据修改的主要功能是为修改数据输入出现的错误,实现:

先指定该生的学号,找到该生,再输出该生当前的信息,用一个if语句对数据进行修改,再用一个循环语句对选修课信息进行修改。

3.数据插入:

数据插入的主要功能是在数据录入之后,为防止数据输入的遗漏,实现:

分为两个部分,第一个是插入第一个位置,第二是插入第一个位置之后,把当前的位置赋给后面的加以实现。

4.数据查询:

数据查询的主要功能是在数据输入之后进行分类再现,实现:

分为输出所有数据,按学号查询,按姓名查询,当输入的数据满足条件时即输出所要求的。

5.数据删除:

数据删除的主要功能是在数据录入、数据插入和数据修改完成之后对无用数据进行删除,实现:

输入学号,满足条件时即把后一个数值赋给前一个数值,达到删除的目的。

6.平均值计算:

平均值计算的主要功能是求平均值,再对其进行排序,实现:

用公式进行计算求平均值,之后便是排序问题,求最大值,然后依次输出各最大值,即实现了排序功能。

7.列出不及格学生清单:

这部分的主要功能是列出不及格学生清单,实现:

用一个判断语句,当分数小于60时,即输出相应的学生信息即可。

 

五、系统框图

 

六、系统流程图

 

七、界面设计

·系统运行界面(部分)如下:

图1——主界面

图2——主菜单

图3——录入数据

图4——修改数据

图5——插入数据

图6——数据查询

图7——计算平均成绩

图8——不及格学生统计

八、程序代码

#include

#include

#include

#include

main()

{

inti,w=0,u/*被选中学生的下标*/,f/*科目数量*/;into=0/*学生总数*/,p=0,g[50]/*每个学生的选修课程数量*/,a,x,b/*新增学生个数*/,xx/*当前学生班级*/;charxm[50]/*当前学生姓名*/,h[10];charoo/*判断是否继续*/,q;floats[50]/*平均成绩*/,max,al[50];longqq;

structstudent

{

inti;/*班级*/

longj;/*学号*/

charm[30];/*姓名*/

charn[10];/*性别*/

intx;/*年龄*/

}c[50];

structscore

{

intq;/*课程编号*/

charw[50];/*课程名称*/

floate;/*学分*/

floatr;/*考试成绩*/

floatt;/*平时成绩*/

doubley;/*综合成绩*/

}z[50][10];

printf("\n\n*******************************************************************************\n\n\n欢迎进入\n\n学生成绩管理系统\n\n\n设计者:

剽悍的小白兔090909XXXX\n\n指导教师:

TZ\n\nXX大学信息科学与工程学院电气09XX班\n\n\n2010年7月\n\n\n*******************************************************************************\nPressEntertoContinue");

getchar();system("CLS");

while

(1)

{

system("CLS");

printf("\n\n*******************************************************************************\n系统主菜单\n\n1.录入数据\n\n2.修改数据\n\n3.插入数据\n\n4.数据查询\n\n5.删除数据\n\n6.平均成绩计算\n\n7.列出不及格学生清单\n\n8.退出系统\n\n");

printf("请输入一个数字来选择目录:

\n\n");

scanf("%d",&i);

system("CLS");

if(i==1)/*1.录入数据*/

{

printf("录入数据\n\n");

while

(1)

{

printf("\n请输入要录入的学生个数:

\n");

scanf("%d",&b);

if(b<1)printf("\n输入错误!

\n请输入要录入的学生个数\n");

elseif(b>=1)

{

for(a=0;a

{

printf("\n请输入第%d个学生的基本信息:

\n\n班级学号姓名性别年龄\n",a+1);

scanf("%d%ld%s%s%d",&c[o+a].i,&c[o+a].j,&c[o+a].m,&c[o+a].n,&c[o+a].x);

printf("\n请输入此学生选修课程数量:

\n");

scanf("%d",&f);

g[o+a]=f;

for(i=0;i

{

printf("\n请输入该学生第%d门选修课程信息:

\n\n课程编号课程名称学分考试成绩平时成绩\n",i+1);

scanf("%d%s%f%f%f",&z[o+a][i].q,&z[o+a][i].w,&z[o+a][i].e,&z[o+a][i].r,&z[o+a][i].t);

}

}

}

o=p+b;

p=b;

getchar();

printf("\n是否继续输入y/n?

\n");

scanf("%s",&h);

if(strcmp(h,"n")==0)break;

elseif(strcmp(h,"y")==0)system("CLS");

}

}

elseif(i==2)/*2.修改数据*/

{

printf("修改数据\n");

if(o==0)printf("\n系统没有学生信息");

else

{

while

(1)

{

printf("\n请输入要修改数据的学生的学号:

\n");

scanf("%ld",&qq);w=0;

for(a=0;a

{

if(qq==c[a].j)

{

printf("该学生当前信息:

班级:

%d学号:

%ld姓名:

%s性别:

%s年龄:

%d\n",c[a].i,c[a].j,c[a].m,c[a].n,c[a].x);

u=a;w=w+1;

}

}

if(w==0){printf("输入错误!

");break;}

while

(1)

{

printf("\n请输入数字选择要修改的数据:

\n1.班级2.学号3.姓名4.性别5.年龄6.选修课程信息\n");

scanf("%d",&i);

if(i!

=6)printf("\n请输入修改后数据:

\n");

if(i==1)scanf("%d",&c[u].i);

elseif(i==2)scanf("%ld",&c[u].j);

elseif(i==3)scanf("%s",&c[u].m);

elseif(i==4)scanf("%s",&c[u].n);

elseif(i==5)scanf("%d",&c[u].x);

elseif(i==6)

{

printf("\n该学生选修课当前信息:

");

for(i=0;i

{

printf("课程编号:

%d课程名称:

%s学分:

%3.1f考试成绩:

%3.1f平时成绩:

%3.1f\n",z[u][i].q,z[u][i].w,z[u][i].e,z[u][i].r,z[u][i].t);

}

printf("\n请输入要修改的数据的当前选修课程编号:

\n");

scanf("%d",&x);w=0;

for(i=0;i

{

if(x==z[u][i].q)

{

printf("\n请输入数字选择要修改的数据:

1.课程编号2.课程名称3.学分4.考试成绩5.平时成绩\n");

scanf("%d",&xx);

printf("\n请输入修改后数据:

\n");

if(xx==1)scanf("%d",&z[u][i].q);

elseif(xx==2)scanf("%s",&z[u]

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

当前位置:首页 > 解决方案 > 学习计划

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

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