c语言程序设计报告学生成绩管理系统

c语言程序设计报告学生成绩管理系统
c语言程序设计报告学生成绩管理系统

课程设计报告书

学生成绩管理系统

单位:分院

班级:

学号:

姓名:

指导老师:

完成日期:2010年7月14日

内容摘要

摘要:本次课程设计的课题是学生成绩管理系统,本文介绍课程设计课题的选题意义,说明了本系统提供的主要功能,对设计思路、功能模块、流程图、功能模块、中心算法进行了详细的说明,并画出流程框图。本文提供了完整的源程序代码,并展示了系统使用和运行效果。最后给出了在小学期高级语言程序设计过程中的总结,其中包含本程序独特设计,作者的设计收获、设计中遇到的困难和问题,以及作者对设计题目及功能的改进意见,查阅的参考文献等方面的内容。

索引关键字

关键词:源程序代码,学生成绩管理,流程框图

内容目录

1题目要求------------------------------------4

1.1内容要求--------------------------------------------------4

1.2设计要求--------------------------------------------------4 2设计思想------------------------------------5 3功能模块及流程图----------------------------5 4数据结构------------------------------------7 5中心算法代码说明----------------------------7 6系统实现------------------------------------8

6.1程序代码-------------------------------------------------8

6.2系统使用-------------------------------------------------21

6.3运行效果说明---------------------------------------------21 7总结---------------------------------------24 8致谢词-------------------------------------25 9参考文献-----------------------------------25

.正文

1题目要求

1.1内容要求

要求能够实现输入记录、查询记录、更新记录、统计记录、输出记录等功能。

1. 输入记录。对每个学生的学号、姓名、班级、数学、英语、计算机成绩进行输入并存储,在程序的运行过程中,数据的存储可以采用结构体数组或者链表,但是最终应该存储在文件中。

2. 维护记录。能够实现添加、删除、修改学生记录,但是一定要将最终数据存储到文件中。

3. 查询记录。根据班级、学号、科目等查询学生的成绩。如果查询时学生数据并没有读入到结构体数组或者链表中,则应该先从文件中读出数据并存储在结构体数组或者链表中,然后在结构体数组或者链表中查询满足条件的数据。

4. 统计记录。完成对各门功课最高分和不及格人数的统计。

1.2设计要求

①各级菜单及功能间必须建立必要的联系,要定义参照完整性规则。

②使用二进制文件方式存储数据。

③要求有菜单界面,结果显示时应达到界面友好。

④将完成的全部内容连编成一个.exe文件。

2设计思想

1.在设计时考虑以下几个方面:

操作简单。因为使用者多为非计算机专业人员,所以该系统要求设计的界面美观,操作方便。要充分考软件界面友好和操作方便,便愈使用人员快速上手。

易于维护。一个软件的好坏,关键在于产品的可靠,稳定,便于维护。

2.开发语言的选择

针对世界上流行的大量软件和开发工具,经过认真分析其优缺点,结合目前的软硬件开发环境,选用微软WINDOWS平台下的Visual C++作为软件开发工具。选用工具有几下几方面优点:

①C语言简洁、紧凑、使用方便、灵活。有32个关键字。C语言程序比其他许多高

级语言简练,源程序短,因此输入程序时工作量小。

②运算符丰富。

③数据类型丰富,具有现代语言的各种数据结构。

④C语言是完全模块化和结构化的语言。用函数作为程序的模块单位,便于实现程

序的模块化。

⑤语法限制不太严格,程序设计自由度大。

⑥生成目标代码质量高,程序执行效率高。

⑦用C语言编写的程序可移植性好。

综上所述,Visual C++可以满足学生成绩管理的要求,所以用来开发学生成绩管理系统是非常合适的。

3功能模块及流程图

学生成绩管理系统对学校加强学生基本情况及学生成绩管理有着重要的作用。为了能使该系统具有更为广泛的功能:应该将该系统细分为学生操作系统、教师操作系统、教务处操作系统,以满足不同身份的人的需求。总体来说,该系统应分为输入模块、维护模块、查询模块以及统计模块。

由于本软件为学校中多个身份的人的定制开发的。我们经过反复论证,最终确定了学生成绩管理系统的设计方案,主要流程图如下所示:

通过系统主菜单,可以使学校中不同身份的人选择不同的操作系统,从而合理的使用不同的功能。

4数据结构

结构体:

程序设计中用到的结构体类型:

学生信息结构体类型:

struct student

{

int num;

char nam[20];

char clas[20];

float math;

float english;

float computer;

}stu[SIZE];

5中心算法代码说明说明

1. void save()

{

FILE *fp;

int j;

if((fp=fopen("stu_list","wb"))==NULL)

{

printf("cannot open file\n");

return;

}

for(j=0;j

if(fwrite(&stu[j],sizeof(struct student),1,fp)!=1)

printf(" error\n");

fclose(fp);

}

以上代码将数据存入文件中,操作起来避免了直接对内存进行操作,可对文件进行操作。

2. for(i=0;i

for(j=0;j

{ if(stu[i].math>stu[i+1].math)

{

t=stu[i].math;

stu[i].math=stu[i+1].math;

stu[i+1].math=t;

}

}

for(j=0,i=0;i

{ if(stu[i].math<60)

j=j+1;

}

统计函数中使用起泡法排序再统计的方法

6.系统实现

6.1 程序代码

代码如下:

#include

#include

#define SIZE 34

struct student

{

int num;

char nam[20];

char clas[20];

float math;

float english;

float computer;

}stu[SIZE];

void save() /*将数据储存于文件*/

{

FILE *fp;

int j;

if((fp=fopen("stu_list","wb"))==NULL)

{

printf("cannot open file\n");

return;

}

for(j=0;j

if(fwrite(&stu[j],sizeof(struct student),1,fp)!=1)

printf(" error\n");

fclose(fp);

}

search(int n) /*查询学号函数*/

{ int j;

for(j=0;j

if(n==stu[j].num)

return j; /*将j的值返回,通过search带回调用处*/

if(j>SIZE)

return -1;

}

void function1() /*添加记录*/

{

void xt2();

int i;

char k;

printf(" ****************************添加学生信息********************************\n");

for(i=0;i

{

printf("请输入该生学号:\n");

scanf("%d",&stu[i].num);

printf("请输入该生姓名:\n");

scanf("%s",&stu[i].nam);

printf("请输入该生所在班级:\n");

scanf("%s",&stu[i].clas);

printf("请输入该生数学成绩:\n");

scanf("%f",&stu[i].math);

printf("请输入该生英语成绩:\n");

scanf("%f",&stu[i].english);

printf("请输入该生计算机成绩:\n");

scanf("%f",&stu[i].computer);

getchar();

printf("完成本次操作!!!\n");

printf("是否返回上一菜单?y/n:\n");

k=getchar();

if(k=='n')

continue; /*判断*/

else

break;

}

save();

xt2();

}

void function2() /*删除学生记录*/

{

void xt2();

int i,j;

char a,k;

printf(" ****************************删除学生信息******************************\n");

printf("请输入要删除学生的学号:\n");

scanf("%d",&i);

j=search(i);

if(j==-1)

{loop:printf("该学生不存在,请重新输入!\n");

printf("输入0退出\n");

for(j=0;j

{

if(j==-1)

goto loop;

else break;

}

}

else

{for(i=0;i

{printf("原数据为:\n");

printf("学号%d,姓名%s,班级%s,数学成绩%4.1f,英语成绩%4.1f,计算机成绩%4.1f\n",stu[j].num,stu[j].nam,stu[j].clas,stu[j].math,stu[j].english,stu[j].computer);

stu[j].num=0;

stu[j].nam[20]=0;

stu[j].clas[20]=0;

stu[j].math=0;

stu[j].english=0;

stu[j].computer=0;

printf("删除结果为\n");

printf("学号%d,姓名%s,班级%s,数学成绩%4.1f,英语成绩%4.1f,计算机成绩%4.1f\n",stu[j].num,stu[j].nam,stu[j].clas,stu[j].math,stu[j].english,stu[j].computer);

save();

printf("完成本次操作!!!\n");

k=getchar();

if(k=='y')

continue; /*判断*/

else

break;}

}

printf("是否返回主菜单y/n:\n");

scanf("%c",&a);

if(a=='y')

xt2();

else

function2();

}

void function3() /*修改*/

{ char name[20],phy[10];

void xt2();

printf("请输入要修改的学生姓名:");

scanf("%s",name);

printf("\n");

int i;

float t;

for(i=0;i

change:if(strcmp(stu[i].nam,name)==0)

{

printf("请输入要修改的科目:");

scanf("%s",phy);

if(strcmp("math",phy)==0)

{

printf("输入成绩:");

scanf("%f",&t);

stu[i].math=t;

printf("成绩为:%4.2f\n",stu[i].math);

}

else if(strcmp("english",phy)==0)

{

printf("输入成绩:");

scanf("%f",&t);

stu[i].english=t;

printf("成绩为:%4.2f\n",stu[i].english);

}

else if(strcmp("computer",phy)==0)

{

printf("输入成绩:");

scanf("%f",&t);

stu[i].computer=t;

printf("成绩为:%4.2f\n",stu[i].computer);

}

else

{

printf("错误,请重新输入:");

goto change;}

}

save();

printf("完成本次操作!!!\n");

xt2();

}

void way1() /*按班级查询*/

{

void function4();

int i;

char clas[20];

char a;

loop:printf("请输入要查询学生的班级:\n");

scanf("%s",clas);

for(i=0;i

{

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

printf("学号%d,姓名%s,班级%s,数学成绩%f,英语成绩%f,计算机成

绩%f\n",stu[i].num,stu[i].nam,stu[i].clas,stu[i].math,stu[i].english,stu[i].computer);

if(i==SIZE)

{printf("您所查询的信息不存在,请重新输入");

goto loop;}

}

printf("完成本次操作!!!\n");

scanf("%c",&a);

if(a=='y')

way1();

else

function4();

}

void way2() /*按学号查询*/

{

void function4();

int i;

int number;

char a;

loop:printf("请输入要查询学生的学号:\n");

scanf("%d",&number);

for(i=0;i

{

if(number==stu[i].num)

printf("学号%d,姓名%s,班级%s,数学成绩%f,英语成绩%f,计算机成绩%f\n",stu[i].num,stu[i].nam,stu[i].clas,stu[i].math,stu[i].english,stu[i].computer);

if(i==SIZE)

{printf("您所查询的信息不存在,请重新输入\n");

goto loop;}

}

printf("完成本次操作!!!\n");

scanf("%c",&a);

if(a=='y')

way2();

else

function4();

}

void check1() /*按学生数学成绩查询*/

{

void way3();

int i;

char a;

char name[20];

loop:printf("请输入要查询的学生姓名\n");

scanf("%s",name);

for(i=0;i

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

printf("%s的数学成绩是%f\n",name,stu[i].math);

}

printf("完成本次操作!!!\n");

scanf("%c",&a);

if(a=='y')

goto loop;

else

way3();

}

void check2() /*按学生英语成绩查询*/

{

void way3();

int i;

char a;

char name[20];

loop:printf("请输入要查询的学生姓名\n");

scanf("%s",name);

for(i=0;i

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

printf("%s的英语成绩是%f\n",name,stu[i].english);

}

printf("完成本次操作!!!\n");

scanf("%c",&a);

if(a=='y')

goto loop;

else

way3();

}

void check3() /*按学生计算机成绩查询*/

{

void way3();

int i;

char a;

char name[20];

printf("请输入要查询的学生姓名\n");

scanf("%s",name);

for(i=0;i

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

printf("%s的计算机成绩是%f\n",name,stu[i].computer);

}

printf("完成本次操作!!!\n");

scanf("%c",&a);

if(a=='y')

check3();

else

way3();

}

void way3() /*按科目查询*/

{

void function4();

int check;

printf(" ***************************请输入要查询的科目:**********************\n");

printf(" 1按学生数学成绩查询\n");

printf(" 2按学生英语成绩查询\n");

printf(" 3按学生计算机成绩查询\n");

printf(" 4.返回上一菜单\n");

printf("请选择:\n");

scanf("%d",&check);

switch(check)

{

case 1:check1();break;

case 2:check2();break;

case 3:check3();break;

case 4:function4();break;}

}

void function4() /*查询记录*/

{

void main();

int way;

printf(" **************************查询学生成绩********************************\n");

printf(" 1按班级查询\n");

printf(" 2按学号查询\n");

printf(" 3按科目查询\n");

printf(" 4返回主菜单\n");

printf("

**********************************************************************\n");

printf("请选择:\n");

scanf("%d",&way);

switch(way)

{

case 1:way1();break;

case 2:way2();break;

case 3:way3();break;

case 4:main();break;}

}

void function5() /*统计*/

{

void main();

char phy[10];

int a;

printf("请输入要统计的科目:");

shuru:scanf("%s",phy);

if(strcmp("math",phy)==0)

{

int i,j;

float t;

for(i=0;i

for(j=0;j

{ if(stu[i].math>stu[i+1].math)

{

t=stu[i].math;

stu[i].math=stu[i+1].math;

stu[i+1].math=t;

}

}

for(j=0,i=0;i

{{ if(stu[i].math<60)

j=j+1;

}}

printf("数学最高分为%4.1f,不及格人数为%d\n",stu[SIZE].math,j);

}

if(strcmp("english",phy)==0)

{

int i,j;

float t;

for(i=0;i

for(j=0;j

{ if(stu[i].english>stu[i+1].english)

{

t=stu[i].english;

stu[i].english=stu[i+1].english;

stu[i+1].english=t;

}

}

for(j=0,i=0;i

{ if(stu[i].english<60)

{

j=j+1;

}

}

printf("英语最高分为%4.1f,不及格人数为%d\n",stu[SIZE].english,j); }

if(strcmp("computer",phy)==0)

{

int i,j;

float t;

for(i=0;i

for(j=0;j

{ if(stu[i].computer>stu[i+1].computer)

{

t=stu[i].computer;

stu[i].computer=stu[i+1].computer;

stu[i+1].computer=t;

}

}

for(j=0,i=0;i

if(stu[i].computer<60)

{

j=j+1;

}

printf("计算机最高分为%4.1f,不及格人数为%d\n",stu[SIZE].computer,j);

}

printf("1,继续统计\n");

printf("2,返回主菜单\n");

printf("请选择:\n");

scanf("%d",&a);

switch(a)

{

case 1:function5();break;

case 2:main();break;

}

}

void xt1()

{

void main();

printf(" ************************学生操作系统**********************************\n");

printf(" 1.查询记录\n");

printf(" 2.返回上一菜单\n");

printf("

**********************************************************************\n");

printf("\n");

int function;

printf("请输入要选择的功能:");

scanf("%d",&function);

switch(function)

{

case 1:function4();break;

case 2:main();break;}

}

void xt2()

{

void main();

printf(" *************************教师操作系统**********************************\n");

printf(" 1.添加记录\n");

printf(" 2.删除记录\n");

printf(" 3.修改记录\n");

printf(" 4.查询记录\n");

printf(" 5.统计记录\n");

printf(" 6.返回上一菜单\n");

printf("

***********************************************************************\n");

printf("\n");

int function;

printf("请输入要选择的功能:");

scanf("%d",&function);

switch(function)

{

case 1:function1();break;

case 2:function2();break;

case 3:function3();break;

case 4:function4();break;

case 5:function5();break;

case 6:main();break;

}

C语言程序设计第三版习题库答案

C 语言程序设计(第三版)习题库 1、设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include<> main(){ floatr,h,C1,Sa,Sb,Va,Vb; scanf(__”%f ”__,&r); scanf(”%d ”,__&h _);; C1=2**r; Sa=*r*r; Sb=4*Sa; Va=4**r*r*r/3; Vb=Sa*h; printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb ); } 2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include<> main(){ floatF,c; scanf("%f",&F); ____c=5*(F-32)/9______; printf("c=%.2f",c); } 3、有一函数:?? ???≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。 #include<> main(){ intx,y; printf("输入x :"); scanf("%d",&x); if(x<1){/*x<1*/ y=x; printf("x=%3d,y=x=%d\n",x,y);

}elseif(____x<10_______){/*1≤x-10*/ _____y=2*x-1_______; printf("x=%3d,y=2*x-1=%d\n",x,y); }else{/*x≥10*/ y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d\n",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }scanf("%d",&x);

学生成绩管理系统详细操作过程

学生成绩管理系统 我将把我的实现步骤完整的写出来,我是在VC 6.0版本下用MFC实现的。 我创建的基于单文档的应用程序,过程不介绍,大家都会。下面的是我系统菜单: 思路: 刚进入系统时,只有“登录”菜单可用,其他三个菜单项都是灰色不可用的。当用户点“进入系统”菜单项时,用户输入用户名、密码和用户类型,系统将根据相应的用户权限使相应的菜单可用,并且“进入系统”菜单项变为不可用。如:如果用户类型是学生,那么只有学生权限菜单可用,而“教师权限”和“管理员权限”都不可用,同时“进入系统”变为不可用。 “学生权限”下只有“查询成绩”,因为学生只可以查询自己相应的成绩;“教师权限”下有“查询学生成绩”和“增改删学生成绩”两个菜单项,因为教师除了可以查询学生成绩还可以增加、修改和删除学生成绩;“管理员权限”下有“管理学生”和“管理教师”两个菜单项。 整体设计: 因为我们要设置系统菜单的状态,所以必须在CMainFrame中添加相应的函数和代码,具体步骤如下: 【步骤1】由于系统要使用ODBC类操作数据库,所以需要在stdafx.h中加入代码: #include 【步骤2】在CMainFrame中的OnCreat()中添加代码如下,实现菜单的初始化工作,当用户没进入系统之前,只有“登陆”菜单下的“进入系统”菜单项可用,而“退出系统”和其他3个权限菜单都不可用,即都是灰色的。 int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { //使“退出系统”和其他3个权限菜单都不可用,即都是灰色的 GetMenu()->GetSubMenu(0)-> EnableMenuItem(1,MF_BYPOSITION | MF_DISABLED | MF_GRAYED); GetMenu()-> EnableMenuItem(1,MF_BYPOSITION | MF_DISABLED | MF_GRAYED); GetMenu()-> EnableMenuItem(2,MF_BYPOSITION | MF_DISABLED | MF_GRAYED); GetMenu()-> EnableMenuItem(3,MF_BYPOSITION | MF_DISABLED | MF_GRAYED); } 【步骤3】在CMainFrame中添加自己定义的函数void SetMenuSta(int type),此函数在登陆对话框的OnOK()中被调用,即当用户进入系统后使“进入系统”

c简单学生成绩管理系统c课程设计

c简单学生成绩管理系统 c课程设计 The document was prepared on January 2, 2021

C++学生成绩管理系统 要求用C++语言编写学生成绩管理系统,要求能进行添加删除修改输入输出等的操作,并能使用面相对像原理对此系统进行实现。 学生成绩管理系统分析: 学生成绩管理系统分为8个模块,分别是:添加学生信息,输出学生成绩,查找学生成绩,修改学生成绩,删除学生成绩,学生成绩排序,保存数据到文件和读取文件中学生成绩的模块。 各个子函数功能及其流程:

1.首先定义一个学生类Class Student;并定义其各个私有变量和公有函数 2.Student();构造函数,用于初始化学生类中的各个变量并记录 3.Add();函数:用于添加学生信息的函数包括学号姓名成绩等的内容 4.Output();函数:用于输出学生信息,包括学号姓名各科及总分平均成绩 5.Find();函数:用于查找学生各项信息。

6.modify();函数:用于修改学生各项信息。 7.delete();函数:用于删除学生信息。

();函数:对学生各项信息进行排序操作。 8.save()和load();函数:将学生信息保存到文件中,并在需要的时候调用该文 件将其中的学生信息显示出来

9.“=”“<<”“>>”符号的重载:在各个函数处理数据过程中对这些的调用处理函数源代码: 此函数源代码在VisualC++环境下编译通过。具体如下: #include"" #include"" #include"" #include"" #include"" #include"" #include"" class student ame,n1)==0) { temp=stu[j]; f3=1; } } if(f3==0) cout<<"对不起,没有你要查找的学生成绩"<

C语言程序设计报告

河南理工大学万方科技学院 C语言课程设计报告题目简单计算器编程 姓名何美美 学号072130026 专业07通信 班级一班 指导教师董玉杰 2008年09 月05日

目录 一、设计目的 (1) 二、本组课题及本人任务 (2) 三、主体内容 (3) (1)流程图 (2)源程序 (3)上机调试 (4)实验结果 四、设计体会 (6)

设计目的 1 复习、巩固C语言的基础知识,进一步加深对C语言的理解和掌握; 2 课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力; 3 培养学生在项目开发中团队合作精神、创新意识及能力 本组课题及本人任务 1 设计一个简单计算器能完成基本的加、减、乘、除计算,尽量模仿Windows计算器。系统界面不做强制要求。 2在本次设计中,由何永美、刘艳玲、贺清隆三人共同完成,由于知识掌握不牢,因此每一步都要共同商量,其中源程序由我们参考大量资料而成。 3本人负责程序调试及其他有关工作。

流程图主要内容 简单计算器

程序代码如下: /*代码文件名:E4_6.C*/ /*计算器的模拟*/ #include #include double add (double a,double b) {return a+b;} double sub (double a,double b) {return a-b;} double multi(double a,double b) {return a*b;} double divis(double a,double b) {return a/b;} Void main() { double x,y; int select; printf("input two numbers:"); scanf("%lf,%lf",&x,&y); printf("1------add\n"); printf("2------sub\n"); printf("3------multi\n");

C语言程序设计试题集与答案解析

一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。

13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.

学生成绩管理信息系统1

1 学生成绩管理信息系统 学生成绩管理系统 一.系统分析

1.现状分析 随着计算机应用的普及和迅雷般的飞速发展,信息化必然成为世界发展的潮流和趋势。信息化正在以前所未有的速度影响着人类 的方方面面,同时对传统教育的改革也起到了推动作用。 在今天的中国,信息化迅速发展,信息化必然走进校园。在学校众多管理工作中,学生的成绩管理原来越重要。然而传统的工作方

式如手工修改和查询成绩是一项非常繁重 而枯燥的工作,经常耗费很大财力和人力。数据量大时,将不可避免的出现失误。因此,学生成绩管理工作的信息化是十分必要的。学生成绩管理系统是利用现代的信息技术,实现学生信息资源的共享,实现学生信息与社会其他信息的有机联系,促进学生成绩管理工作的科学化、现代化,提高学生管理工作的效率。 2.系统需求分析 通过调查,要求系统具有以下功能: 1) 任课教师可以录入所教课程的成绩 2) 成绩的上传和下载 3) 教务处即系导员能够统计成绩

4) 成绩的发布和查询 5) 用户权限的限定 3系统的可行性分析 1)技术可行性分析 该系统选择微软公司的Visual Basic 6.0作为系统开发工具,主要是因为它是一个快速可视化程序开发工具软件且功能强大,主要表现为:所见即所得的界

面设计,尤其是数据窗口能方便而间接操纵数据库的智能化对象,基于对象的设计方法,极短的软件开发周期,较易的代码维护,同时还有众多的Active控制,提高了软件的使用效率。 连接采用SQL Server数据库,SQL Server是一种关系数据库工具,关系数据库已开发的最通用的数据库之一。该数据库能汇集各种信息以供查询、存储和检索。它是一种使用广泛的数据库管理系统,具有许多优点:易用性、适合分布组织科伸缩性、用于决策支持的数据库功能等。. 2)经济可行性分析 从经济角度分析,学生成绩系统所耗费的资源非常的少。目前,计算机越来越普及,大部分

C语言课程设计-学生成绩管理系统-完整版

#include<> #include<> #include<> #include<> /* strcmp函数原型包含*/ #define N 100 /*定义最大学生人数为100*/ struct student /*学生结构体定义*/ { char no[11]; /*学号,10位*/ char name[10];/*姓名,3个汉字*/ char grade[10];/*班级*/ char pro[20];/*专业*/ float score[5];/*储存5门功课的成绩*/ float ave;/*储存平均分*/ int year;/*入学年*/ }stu[N]; int num; void panduani(int); /*通过i的值,判断信息要查找的信息是否存在*/ void output(); /*输出学生成绩函数(公共函数)*/ void init(); /*系统初始化函数*/ void newfile(); /*建立新的数据文件*/ void read1(); /*从数据文件中读取数据*/ void weihu(); /*维护界面函数*/ void new1(); /*新增一个学生成绩函数*/ void xiugai(); /*修改学生成绩*/ void xgcj(int); /*修改成绩*/

void delete1(); /*删除学生信息函数*/ void tongji(); /*统计界面函数*/ void tongji1(); /*计算每个学生平均分*/ void tongji2(); /*计算每门课程的平均分*/ void paixu1(); /*排序函数*/ void paino(); /*按学号排序*/ void paiave(); /*按平均分排序*/ void paidkcj(); /*按单科成绩排序*/ void change(int,int); /*交换结构体数组中的两个记录*/ void outputx(int); /*选择输出单科成绩*/ void find1(); /*查找界面函数*/ int find(char sno[]); /*按学号查找*/ int findname(char cname[]);/*按姓名查找*/ void findyear(int cyear); /*按入学年查找*/ void save(); /*保存文件*/ void stop(); /*停顿函数*/ void stop() /*停顿函数(公共函数)*/ { printf("Press Any Key To Continue...\n"); getchar(); } void output() /*输出学生成绩函数(公共函数)*/ { int i,j;

C语言程序设计实验报告(数组)

C语言程序设计实验报告(数组) 1实验目的 (1)熟练掌握一维数组,二维数组的定义,初始化和输入、输出方法; (2)熟练掌握字符数组和字符串函数的使用; (3)掌握与数组有关的常用算法(查找、排序等)。 2实验内容 编写函数catStr(char str1[],char str2[])用于进行两个字符串的连接,编写函数lenStr(char str[])用于统计一个字符串的长度,并在主函数中调用。 要求: 1、不允许用strcat()和strlen()字符处理库函数; 2、在主函数以直接初始化的方式输入两个字符串str1和str2.调用函数 strlen()计算并返回两个字符串的长度; 3、调用函数catstr()连接两个字符串(将str2连接在str1后面); 4、调用函数lenstr()计算并返回连接后字符串的长度; 5、在主函数中输入两个原始的字符串及几个字符串的长度,以及处理后字 符串及其长度。

3算法描述流程图

4源程序 #include #include void catStr(char str1[],char str2[]) { int i,j; for (i=0;str1[i]!='\0';i++); for(j=0;str2[j]!='\0';j++) str1[i+j]=str2[j]; str1[i+j]='\0'; } lenStr(char m[] ) {int i;

for (i=0;m[i]!='\0';i++); printf("%d",i); } void main() {char s1[50]="forever",s2[50]="more"; printf("s1=%s,s2=%s",s1,s2); printf("\ns1的长度:"); lenStr(s1); printf("\ns2的长度:"); lenStr(s2); catStr(s1,s2); printf("\n连接后的字符:"); printf("%s\n",s1); printf("连接后字符的长度:"); lenStr(s1); printf("\n"); } 5测试数据 s1=forever, s2=more 6运行结果 7出现问题及解决方法 在输入程序时,少写了半边引号,调试时发现存在错误,找到了错误并加以改正。无论什么事,细心都是必不可少的,认真是解决问题的关键。 8实验心得 通过本次实验,对于函数的定义和声明,数组以及循环语句有了进一步的认识,掌握了字符数组和字符串函数的使用,以及与数组有关的常用算法。此次实验不是调用strlen()和strcat()函数,而是通过自己设计程序来进行字符串的连接以及计量字符串的长度,由此我学会了如何去理清自己的思路来设计程序。

c语言程序设计第五版习题答案

习题解析与答案 第1章C语言概述 一.简答题 1.概述C语言的主要特点。 【解答】 (1)语言简洁、紧凑,使用方便、灵活。 (2)数据类型丰富,表达能力强。 (3)运算符多样。C语言中的运算符包含的范围非常广泛。 (4)具有结构化的控制语句。如if…else语句、while语句、do while语句、switch 语句、for语句。 (5)允许直接访问物理地址。C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。 (6)所生成的目标代码质量高,可移植性好。 2.构成C语言程序的基本单位是什么?它由哪几部分组成? 【解答】函数是构成C语言程序的基本单位。一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。 3.C语言程序的运行一般要经过哪几个步骤? 【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。 二.运行程序写结果 1.输入下面程序并运行。 main() { int a1,a2,x; a1=100; a2=50; x=a1-a2; printf(″x=%d\n″,x); } 【解答】运行结果为:x=50 2.输入下面程序并运行。 main() { int a1,a2,x; a1=10; a2=20; x=a1*a2; printf(″a1=%d,a2=%d\n″,a1,a2); printf(″x=%d\n″,x); } 【解答】运行结果为:a1=10,a2=20 x=200 3.输入下面程序并运行。

#include main() { printf("******\n"); printf(" *****\n"); printf(" ****\n"); printf(" ***\n"); printf(" **\n"); printf(" *\n"); } 【解答】运行结果为:****** ***** **** *** ** * 思考:可以修改程序,使之输出平行四边形,等腰三角形等图形。 三.编程题 1.参照本章例题,编写一个C程序,用于显示如下信息: ************************* I love C programs! ************************* 【分析与提示】 ①要有文件包含语句#include 。C语言中没有数据的输入、输出等功能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf等来实现的。这些函数的说明都包括在stdio.h文件中。 ②main是主函数的名称。用{}括起来的内容是函数体,函数体由若干条语句组成,这是计算机要执行的部分,每条语句以分号“;”结束。 ③注意显示的信息有三行,所以要用到换行符“\n”。 参考代码: #include main() { printf("************************\n"); printf(" I love C programs! \n"); printf("************************\n"); }

学生成绩管理系统基本C语言编写

//代码版权所有,不要 #include "stdio.h" #include "stdlib.h" #include "string.h" #include "conio.h" copy,仅供参考学习。//标准输入输出函数库 //标准函数库 //字符串函数库 //屏幕操作函数库 #define p->data.num,p->https://www.360docs.net/doc/c011057271.html,,p->data.egrade,p->data.mgrade,p->data.cgrade,p->data.total,p->data.a ve,p->data.mingci int saveflag=0; //是否需要存盘的标志变量 //定义与学生有关的数据结构 typedef struct student { char num[12]; char name[15]; int cgrade; int mgrade; int egrade; int total; float ave; int mingci; }sqlist; //定义每条记录或结点的数据结构,标记为:node typedef struct node { struct student data;// 数据域 struct node *next; //指针域 }Node,*Link; //Node 为node 类型的结构变量,*Link 为node 类型的指针变量 void menu() //主菜单 { system("cls"); //调 用 DOS 命令,清屏.与clrscr() 功能相同 printf(" \n"); printf(" 学生成绩管理信息系统主菜单\n\n"); printf(" **************************************************\n"); printf(" $ 1 、添加记录6、统计记录$\n"); #define HEADER1 " ********************** ***** 学生成绩信息 ****************************** \n\n" #define HEADER2 " 学号姓名计算机数学英语总分平均分名次\n\n" #define FORMAT " %-10s %-10s %5d %5d %5d %5d %.3f %4d \n" DATA //标记为student //学号 //姓名//计 算机成绩// 数学成绩// 英语成绩 //总分 //平均分 //名次

(完整版)C语言程序设计练习及答案

《C语言程序设计》练习及答案 得分评卷人复查人 一、单选题,每小题1分,共60分(将正确答案的序号写在题目的括号中)。 1、结构化程序设计的三种基本控制结构是(D )。 A、主程序、子程序、函数 B、输入、处理、输出 C、调用,返回,转移 D、顺序、选择、循环 2、下列关于C程序变量的叙述, ( D )是错误的。 A、变量名必须由字母或下划线开头。 B、程序中的变量必须在被使用之前定义。 C、不同的基本类型的变量之间可以混合运算。 D、变量的数据类型决定变量的"作用域"。 3、能将C语言编写的源程序转换为目标程序的软件是(C )。 A、编辑程序 B、汇编程序 C、编译程序 D、解释程序 4、以下符号中,合法的用户标识符是( D )。 A、-p B、int C、3ab D、_xt_ 5、以下选项中,与m=n++完全等价的表达式是( C )。 A、m=++n B、m+=n+1 C、m=n, n=n+1 D、n=n+1,m=n 6、若有定义:int aa[8];。则以下表达式中不能代表数组元aa[1]的地址的是(C )。 A、&aa[0]+1 B、&aa[1] C、&aa[0]++ D、aa+1 7、表达式!5&(7+3)&&(4+5)的值是(A)。 A、0 B、1 C、5 D、9 8、以下选项中非法的C语言表达式是(A )。 A、x+1=x+1 B、0<=x<100 C、i=j==0 D、(char)(65+3) 9、在TURBO C中, int类型变量所占字节数是(B )。 A、1 B、2 C、4 D、8 10、C语言中基本的数据类型包括(B)。 A、整型,实型,逻辑型 B、整型,实型,字符型

学生成绩管理系统代码 (1)

C程序学生管理系统 /* Note:Your choice is C IDE */ #include"" #include"" #include"" typedef struct student示所有\t2.按姓名查找\n\t\t\t3.按学号查找\t4.返回主菜单\n"); scanf("%d",&m); fflush(stdin); switch(m) { case 1:printf("\n=>该系统拥有%d名学生!\n\n",head->; p=head->next; printf("\t姓名\t学号\t性别\t数学\t英语\tc语言\t综合\n\n"); while(p) { printf("\t%s\t%d\t%s\t%d\t%d\t%d\t%d\n",p->,p->,p->,p->, p->,p->,p->; p=p->next; } break; case 2:printf("=>请输入查找姓名!\n"); gets(N); fflush(stdin); p=head->next; while(p) { if(strcmp(p->,N)==0) { printf("\t姓名\t学号\t性别\t数学\t英语\tc语言\t 综合\n"); printf("\t%s\t%d\t%s\t%d\t%d\t%d\t%d\n",p->,p->,p->,p->, p->,p->,p->; break; } else {

p=p->next; if(p==NULL) printf("=>你要查的学生不存在!"); } } break; case 3: printf("=>请输入查找学号!\n"); scanf("%d",&m); fflush(stdin); p=head->next; while(p) { if(p->==m) { printf("\t姓名\t学号\t性别\t数学\t英语\tc语言\t 综合\n"); printf("\t%s\t%d\t%s\t%d\t%d\t%d\t%d\n",p->,p->,p->,p->, p->,p->,p->; break; } else { p=p->next; if(p==NULL) printf("=>你要查的学生不存在!\n"); } } break; case 4:n=1;break; } } return 1; } int range(unit *head)学号\t2.按成绩\n\n"); printf("=>请选择操作!\n》"); scanf("%d",&n); fflush(stdin); if(q==NULL) { printf("=>无学生可排序!\n");

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

航空航天大学 课程设计报告 大作业名称:C语言课程设计 大作业题目:学生成绩管理系统设计 院(系):计算机学院 专业:计算机科学与技术 班级: 学号: 姓名: 指导教师: 完成日期:2016年12月24日

目录 第1章概要设计 (1) 1.1题目的容与要求 (1) 1.2总体结构 (1) 第2章详细设计 (2) 2.1主模块 (2) 2.2输入模块 (3) 2.3显示模块 (3) 2.4修改模块 (4) 2.5删除模块 (4) 2.6查询模块 (5) 2.7统计模块 (6) 第3章调试分析 (7) 第4章使用说明 (8) 参考文献 (12) 附录(程序清单) (14)

第1章概要设计 1.1题目的容与要求 容: 学生成绩信息包括:姓名、学号、语文、数学、英语。 实现的主要功能有: 1)信息维护。包括学生成绩的输入、按学号删除、按学号修改等。 2) 信息查询。输入学号或姓名,显示出该生三个科目的成绩,计算出三科总分 并显示,按总分将所有学生成绩排序,显示出该生的名次。 3)成绩统计。先输入任意一个科目,接着选择a或b来分别显示平均分或统计分数段学生,若选择a,则直接显示出该科目的平均分;若选择b,则提示用户输入一个分数段,显示所有该科目属于该分数段的学生信息,并给出学生总数。 要求: 1)系统以菜单方式工作。在不同的界面为用户给出具体提示。 2)系统利用C语言实现,源程序要有适当的注释。 3)采用VC环境进行运行调试。 1.2总体结构 本程序主要分为七个模块(功能模块图见图1.1):结构体模块,输入模块,显示模块,修改模块,删除模块,查询模块,统计模块。 结构体模块:建立一个结构体模块,为链表存信息用。输入模块:键盘输入

c语言程序设计》课程设计报告

《C语言程序设计》课程设计报告 (2013—2014学年第3学期) 题目:C语言课程设计 专业:软件工程 班级:软件工程技术2班 姓名学号:1 林燕萍 指导教师:吴芸 成绩: 计算机科学与技术系 2014年6月23日

目录 一、课程设计的目的与要求 (1) 二、方案实现与调试 (3) 掷骰子游戏 (5) 射击游戏 (7) 计算存款本息之和 (8) 肇事逃逸 (10) 礼炮 (12) 汽车加油 (14) 大优惠 (16) 金币 (19) 三、课程设计分析与总结 (23) 附录程序清单 (25) 一、课程设计的目的与要求(含设计指标) C语言是一种编程灵活,特色鲜明的程序设计语言。C语言除了基知识,如概念,方法和语法规则之外更重要的是进行实训,以提高学习者的动手和编程能力,从应试课程转变为实践工具。这是学习语言的最终目的。结合多年来的教学经验,根据学生的学习情况,为配合教学过程,使“项目教学法”能在本质上促使学生有更大进步,特编写了该《C语言程序设计任务书》,以在实训过程中给学生提供帮助。达到如下目的: 1.在课程结束之前,让学生进一步了解C程序设计语言的编程功能;

2.让学生扎实掌握C程序设计语言的相关知识; 3.通过一些有实际意义的程序设计,使学生体会到学以致用,并能将程序设计的知识与专业知识有效地结合,更全面系统地了解行业知识。 编写程序要求遵循如下基本要求: ①模块化程序设计 ②锯齿型书写格式 ③必须上机调试通过 二、方案实现与调试 掷骰子游戏 2.1.1题目内容的描述 1) 两人轮流掷骰子,每次掷两个,每人最多掷10次。 2) 将每人每次的分值累加计分 3) 当两个骰子点数都为6时,计8分;当两个点数相等且不为两个6时,计7分;当两个点数不一样时,计其中点数较小的骰子的点数。 4) 结束条件:当双方都掷10次或经过5次后一方累计分数多出另一方的30%及以上。最后显示双方分数并判定优胜者。 2.1.2输入数据类型、格式和内容限制和输出数据的说明 数据类型:整型;内容限制:随机数的产生;输入数据结果:胜利的一方 2.1.3主要模块的算法描述 本算法的思路过程:首先要随机产生随机数,然后进行算法输出数值,执行条件判断输入结果,最后比较结果,判断胜利的一方。

C语言程序设计第二版习题参考答案

C语言程序设计第二版 习题参考答案 Document serial number【LGGKGB-LGG98YT-LGGT8CB-LGUT-

C语言程序设计习题参考答案 习题 1 一、判断题 1.在计算机中,小数点和正负号都有专用部件来保存和表示。 2.二进制是由0和1两个数字组成的进制方式。 3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。 4.在整数的二进制表示方法中,0的原码、反码都有两种形式。 5.有符号数有三种表示法:原码、反码和补码。 6.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。 解:1.F2.T 3.T 4.T 5.T 6.T 二、单选题 1.在计算机中,最适合进行数值加减运算的数值编码是。 A. 原码 B. 反码 C. 补码 D. 移码 2.已知英文小写字母m的ASCII码为十进制数109,则英文小写字母y的ASCII 码为十进制数。 A. 112 B. 120 C. 121 D. 122 3.关于ASCII码,在计算机中的表示方法准确地描述是。 A. 使用8位二进制数,最右边一位为1 B. 使用8位二进制数,最左边一位为1 C. 使用8位二进制数,最右边一位为0 D. 使用8位二进制数,最左边一位为0 4.设在机器字长4位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是 ___________。 A. X∧Y=1000 B. X∨Y=1111 C. X⊕Y=0011 D. ˉY=1000 5.下列叙述中正确的是()。 A.高级语言就是机器语言 B.汇编语言程序、高级语言程序都是计算机程序,但只有机器语言程序才是计算机可以直接识别并执行的程序 C.C语言因为具有汇编语言的一些特性,所以是汇编语言的一种 D.C源程序经过编译、连接,若正确,执行后就能得到正确的运行结果6.用C语言编写的源程序经过编译后,若没有产生编译错误,则系统将()。 A.生成可执行文件B.生成目标文件 C.输出运行结果D.自动保存源文件 7.下列叙述中不正确的是()。 A.main函数在C程序中必须有且只有一个 B. C程序的执行从main函数开始,所以main函数必须放在程序最前面 C. 函数可以带参数,也可以不带参数。

C学生成绩管理系统

C#课程设计 姓名: 班级: 学号: 指导老师: 简介 该系统是用VisuaStudio2010和Access2007,通过C#语言进行相关代码的编写,生成相关程序。学生成绩管理系统是构建于VisualC#.NET平台上的Windows应用程序。本文描述的是基于Windows环境的学生成绩管理系统,主要工具MicrosoftVisualStudio2010设计窗体,Access2007建立数据库,学生成绩管理管理系统为用户提供充足的信息和快捷的查询手段,实现学生基本信息、成绩的录入,删除,查询,维护以及成绩的统计分析等几方面的功能,是现实问题的迫切要求。 本篇报告介绍一个学生信息管理系统的从分析到设计最后到开发的全过程为,给出了学生信息管理系统的设计和技术实现的过程,特别在细节上分析功能和函数的实现思想。涉及到学生信息管理的基本功能在本报告中都有相应的描述。管理信息系统正在向着网络化、智能化和集成化等趋势发展。学生成绩管理系统是为了更好的管理学生考试成绩而开发的数据管理软件。它对于一个学校是不可缺少的重要部分,它的内容对于学校的决策者和管理者来说都至关重要。 在这次的课程设计中,让我了解到Microsoft Visual Studio 2010,同时学

习了Access数据库的建立和连接与导入。能在Visual C#.NET平台上进行Access数据库的修改与控制,将C#语句与SQL语句混合使用,成功的完成了学生成绩管理系统的整体设计,加深巩固了选择的条件语句,还有曾经学习过的基本运算语句,同时也为以后的进一步学习垫下了了良好的基础。 目录 第一章绪论 (4) 设计目的 (4) 开发工具选择 (4) 开发环境 (4) 第二章需求分析 (5) 系统目标 (5) 功能需求分析 (6) 性能需求分析 (6) 第三章总体设计 (7) 设计概述 (7) 功能模块设计 (7) 第四章数据库设计 (8) 数据库需求分析 (8) 数据库表设计 (9) 第五章详细设计 (10) 系统程序流程图 (11) 系统主要功能模块 (13)

c语言程序设计报告4

课程设计报告 课程名称C语言程序设计 课题名称运动会分数统计系统 专业机械设计及其自动化 班级1185班 学号201113090526 姓名谭信 指导教师王颖 2012年6月22日

湖南工程学院 课程设计任务书 课程名称C语言程序设计 课题运动会分数统计系统 专业班级机械设计1185 学生姓名谭信 学号201113090526 指导老师王颖 审批王颖 任务书下达日期2012年6月1日 任务完成日期2012年6月22日

现代科学飞速发展,世界也不断的变化,人类的生活随着科技的发展也发生着惊天动地的变化。作为新时代的大学生,我们应该不断努力学习科学文化知识,以适应社会的发展要求,以现代化的科学知识为祖国做贡献。而C 语言作为一种计算机语言,无疑是我们将来工作不可缺少的一门技能,所以我们应该认真学好C语言。但只是课本上的知识是不够的,我们应该将从课本上学到的理论知识应用到实践中,通过不断的实践,在实践中发现错误解决错误,并不断创新,最后能熟练的运用所学的知识,充分掌握这种工具。就现有知识水平、经验来看,对我来说,本程序的算法设计上已经是最精简的了。C语言知识博大精深,有必要对C语言的专著进行研究学习,多阅读别人的程序代码、多动手实践操作与设计,这样便对程序算法精简改进提供了可能。想学的更深更透彻的话就必须进一步掌握运用C进行程序设计的能力;进一步理解和运用面向过程程序设计的思想和方法;初步掌握开发一个小型实用系统的基本方法;学会调试一个较长程序的基本方法;学会利用互联网查找相关的知识并学习;学海之路何其宽广,有必要让我们孜孜不倦的求索下去。

绪论 (1) 第一章需求分析 1.1程序的功能及要求 (5) 1.2系统的性能要求 (5) 1.3测试数据 (6) 第二章概要设计 2.1结构体 (6) 2.2主程序(main) (6) 2.3模块的功能 (6) 2.4程序模块机之间的调用关系 (7) 第三章详细设计 3.1宏定义 (8) 3.2数据类型定义 (8) 3.3函数之间的调用关系图 (8) 3.4算法设计 (9) 第四章调试分析 4.1不足之处 (10) 4.2错误规范 (10) 4.3算法的时空分析 (10) 4.4存在的问题 (10) 第五章测试结果 (11) 第六章用户使用手册 6.1运行环境 (12) 6.2用户界面 (12) 6.3操作过程 (13) 第七章参考文献 (14) 第八章设计体会 (15) 第九章附录 (17) 课程设计评分表 (29)

学生成绩管理系统1.0

本程序初始化学生人数为3人,请在header文件中将#define STU_NUM 3改为#define STU_NUM 你将输入的学生数目Function.c /* 学生成绩管理系统V1.0(使用数组) 功能要求: 1、输入学号和成绩(格式化输入) 2、计算平均成绩(求和统计) 3、按成绩从高到低排序(冒泡法、选择法) 4、按成绩从低到高排序(冒泡法、选择法) 5、按学号从小到大排序(冒泡法、选择法) 6、按学号查询成绩名次(顺序查找) 7、统计成绩分布(统计计数) 8、输出学号和成绩(格式化输出) 0、退出系统 */ #include #include #include"header.h" int menu() { int result;

while(1) { system("cls"); printf("学生成绩管理系统V1.0\n"); printf("1 输入学号和成绩\n"); printf("2 计算平均成绩\n"); printf("3 按成绩从高到低排序\n"); printf("4 按成绩从低到高排序\n"); printf("5 按学号从小到大排序\n"); printf("6 按学号查询成绩名次\n"); printf("7 统计成绩分布\n"); printf("8 输出学号和成绩\n"); printf("0 退出系统\n"); if(scanf("%d",&result)!=1) { fflush(stdin); continue; } if(result>=0&&result<=8) break; }

相关文档
最新文档