当前位置:文档之家› 学生成绩管理系统C语言(附完整源代码)

学生成绩管理系统C语言(附完整源代码)

学生成绩管理系统C语言(附完整源代码)
学生成绩管理系统C语言(附完整源代码)

学生成绩管理系统C语言(附完整源代码)课程设计报告

学生成绩管理系统

院系: 专业: 班级: 完成日期: 2009年1月03日

设计题目:学生成绩管理系统

目录

1、题目描述

2、算法设计/设计思想

3、结构框图、各模块的功能描述

4、主体思想:

5、程序的,,,流程图

6、源代码

1.题目描述

设计一个简单的学生成绩管理系统,要求有简单的界面,程序段要分清模块,该程序应该:

(1)输入学生成绩,求总分,平均分,以及排序。

(2)查询学生单科成绩,总分和平均成绩;

(3)添加、修改学生成绩具有下列功能:

(4)实现保存与查看功能

2.算法设计/设计思想

利用二维数组——定义stu[][]存储学生学号、各科成绩,总分,平均分,名次,利用文件来存

储,读取数据。

具体分工是:

: 负责inputx(),print1(),input();

:负责文件的存储和读取,main(),System(),Idea()以及各调用函数之间的连;

: 负责find1(),find2(),find3(),find31(),Find();

: 负责del(),add(),change1(),Change();

后期调试由小组共同负责。

3. 结构框图、各模块的功能描述

3.1 创建成绩表

3.1.1 input()功能是输入学生的信息,便于以后的查询、浏览。 3.2 添加

3.2.1 add( )功能是向inputy()添加新的内容。

3.3.2 chance( )对单科成绩进行修改。

3.3 查询

3.3.1 可根据学号,科目,名次,进行查询。

3.3.2 查询内容包括:该学生的各课成绩、、平均分。

3.4 删除

3.4.1可以输入学号删除一名学生的一课成绩。。

3.5 浏览成绩单

3.5.1 通过此print1()可以查看所有学生的各课成绩、总分、平均分和名次。

3.6 文件()

3.6.1 保存以上所输入的信息以达到既是关闭窗口信息也不会丢失信息的目的。 3.6.2 随时打开,修改文件。

3.7.退出功能是退出

主菜单

退出系意见评述功能菜单统

输入添加及改查找功能退出功能菜单成绩功能

查输排查找学学添修某某生生加改段生成成成某成成绩绩科绩绩绩成绩

按按按名学科次号目查查查找找找

四、主体思想:

1、考虑到此程序量大代码多,所以用函数调用,分几个人去完成。

2、在输入学生成绩的时候,想到学生人数不固定,所以在程序开头定义一个符号常量代表学生人数,可以随时更改。

3、考虑到查找模块和添加修改模块要用到输出成绩模块所以要建文件进行保存并能被其

他模块调用所以要用指针。

4、要反复回到主菜单,所以用到GOTO功能,壁景的好看用到了CONIO.H 函数。

5、在成绩输入和排序时,要用FOR循环,甚至,,,的三重嵌套。

6、为了给读者带来方便,所以关于提示语全用中文。

五、程序的,,,流程图

1、学生成绩的求和求平均,及名次

定义 i ,j, t, k, m

For i=0 to stu-1

a[i][6]=0

For j=1to 5

a[i][6]+=a[i][j]

a[i][7]=a[i][6]/5

For i=0 to stu-1

K=I a[i][8]=i+1

For j=i+1 to stu

If a[j][6]>a[k][6] k=j

For m=0 to 7

t=a[k][m] a[k][m]=a[i][m] a[i][m]=t 输出学生成绩

2、删除学生成绩

定义 i j m

读写文件

输入要删的学号m

For i=0 to stu-1

If a[i][0]=m

For j=0;j<9;j++

a[i][j]=0 调用print1

输出成绩表

3添加学生成绩

定义n, i

读写文件

输入添加人数n

For i=stu to stu+n

For j=o to 6

输入添加的各科成绩a[i][j]

J++

I++

调用print1

重新输入人数stu

重新输出成绩

4 修改学生某科成绩

定义m,b,c,

输入要修改的学号m

输入要修改的科目b For i=0 to stu-1

if (m!=a[i][0]) n++ Else {n++;break}

a[n][b+1]=c

调用print1输出学生成绩5查询成绩

按名次查询

定义 n,I,j

输入名次:n

i=0

i

n==a[i][8]

no yes

i++ For J=0 to 7

输出a[i][j]

J++

按学号查询

定义:i j n

输入学号:&n

i=0

i

n==a[i][0]

否是

i++ j=0

j<8

六源代码

/****头文件*****/

#include

#include

#include

/**************变量的定义**************/ int

b,c,i,j,k,m,n,t,w,z,stu,a[100][10];

long num;

int *p;

char ch,filename[10]; FILE *fp,*fp1;

/******************函数的声明*******************/ main(); /*主函数*/

System(); /*功能菜单*/

Input(); /*函数的输入*/

inputx(); /*成绩的输入*/

Find(); /*成绩的查询*/

find1(); /*按名次查询*/

find2(); /*按学号查询*/

find3(); /*选择查询科目*/

find31(); /*按分数段查询*/

Change(); /*添加、修改*/

add(); /*成绩的添加*/

del(); /*成绩的删除*/

change(); /*成绩的修改*/

Idea(); /*意见评述*/

/***************程序代码***************/

/******************输入学生成绩***************/ inputx()

{ textbackground(5);

textcolor(2);

clrscr();

gotoxy(25,9);

printf("Please input the filename:");

scanf("%s",filename);

gotoxy(27,13);

printf("请输入你们班学生人数:");

scanf("%d",&stu);

if((fp=fopen(filename,"w"))==NULL)

{printf("Cannot open the file");

exit(0);

}

clrscr();

gotoxy(30,2);

printf("请输入学生成绩");

putchar('\n') ;

printf(" 学号高数外语 C言组装中医\n");

for(i=0;i<=stu-1;i++)

{for(j=0;j<=5;j++)

{gotoxy(8*(j+1),i+4);

scanf("%6d",&a[i][j]);

fputc(a[i][j],fp);

}

printf("\n");

}

}

/*******输出成绩表,并求总分,平均成绩*******/ print1()

{ for(i=0;i<=stu-1;i++) /*求总分和平均分*/ { a[i][6]=0;

for(j=1;j<=5;j++)

a[i][6]+=a[i][j];

a[i][7]=a[i][6]/5;

}

for(i=0;i

{ k=i;

a[i][8]=i+1;

for(j=i+i;j<=stu;j++)

if(a[j][6]>a[k][6])

k=j;

for(m=0;m<=7;m++)

{t=a[k][m];

a[k][m]=a[i][m];

a[i][m]=t;

}

}

for(i=0;i<=stu-1;i++)

{for(j=0;j<=8;j++)

printf("%7d",a[i][j]);

printf("\n");

}

fprintf(fp," 学号高数外语 C言组装中医总分平均分排名\n"); for(i=0;i<=stu;i++)

{for(j=0;j<=8;j++)

fprintf(fp,"%4d",a[i][j]);

fputc(a[i][j],fp);

fprintf(fp,"\n");

}

fclose(fp);

}

/********************各科总分及平均分**********************/ Input()

{ inputx();

clrscr();

printf(" 输出学生成绩");

gotoxy(3,2);

for(i=1;i<=65;i++)

printf("%");

putchar('\n');

printf(" 学号高数外语 C言组装中医总分平均分名次\n"); print1();

getch();

clrscr();

gotoxy(35,13);

printf("谢谢使用此程序\n") ;

getch();

}

/*************按名次查询*******************/

find1()

{ printf("请输入名次\n");

scanf("%d",&n);

printf(" 学号高数外语 C言组装中医总分平均分排名\n"); for(i=0;i

if(n==a[i][8])

for(j=0;j<=8;j++)

printf("%6d",a[i][j]);

getch();

Find();

}

/******************按学号查询**********************/

find2()

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

scanf("%d",&n);

printf(" 学号高数外语 C言组装中医总分平均分排名\n"); for(i=0;i

if(n==a[i][0])

for(j=0;j<=8;j++)

printf("%6d",a[i][j]);

getch();

Find();

}

/**********************按科目查询**************************/ find31()

{ printf("请输入你要查询的成绩段\n");

scanf("%d %d",&m,&z);

printf(" 学号高数外语 C言组装中医总分平均分排名\n"); for(i=0;i

if(a[i][n]>=m && a[i][n]<=z)

{for(j=0;j<=8;j++)

printf("%6d",a[i][j]);

printf("\n");

}

getch();

Find();

}

/**************查询的科目*****************/

find3()

{ printf("现有五种科目共查询:\n") ;

printf("1 高数 2 外语 3 C言 4组装 5 中医\n") ; printf("请选择:");

scanf("%d",&n); /*选择科目*/

switch(n)

{case 1: find31();

case 2: find31();

case 3: find31();

case 4: find31();

case 5: find31();

default: clrscr();

gotoxy(35,8);

printf("Errors");

gotoxy(22,14);

printf("Please press any keyboard to back");

Find();

}

getch();

}

/*****************成绩的查询********************/ Find()

{ textbackground(14);

textcolor(13);

clrscr();

gotoxy(35,3);

printf("查询菜单\n");

gotoxy(25,7);

printf(" 1 按学生名次查询");

gotoxy(25,9);

printf(" 2 按学生学号查询");

gotoxy(25,11);

printf(" 3 查询单科成绩段");

gotoxy(25,13);

printf(" 0 退回到功能菜单");

for(t=1;t<=40;t++)

{{gotoxy(20+t,5);

printf("\001");}

{gotoxy(20+t,15);

printf("\001");}

}

putchar('\n');

printf("Please input your choice:");

scanf("%d",&m);

if(m==1)

find1();

else if(m==2)

find2();

else if(m==3)

find3();

else if(m==0)

System();

else if(m!=1 && m!=2 && m!=3 && m!=0)

Find();

}

/****************成绩的添加*********************/ add() /*成绩的添加*/

{ fp=fopen(filename,"rb"); /*打开刚才输入的成绩*/ printf("请输入你要添加的人数:");

scanf("%d",&n);

printf("请输入你要添加的成绩\n");

printf(" 学号高数外语 C言组装中医\n");

for(i=stu;i<(stu+n);i++)

{for(j=0;j<6;j++)

{gotoxy(8*(j+1),i+8);

scanf("%4d",&a[i][j]);

}

printf("\n");

}

clrscr();

gotoxy(30,12);

printf("请输入你们班学生人数:");

scanf("%d",&stu);

clrscr();

printf(" 重新输出学生成绩\n");

printf(" 学号高数外语 C言组装中医总分平均分排名\n"); print1();

getch();

clrscr();

Change();

}

/***************成绩的删除*******************/

del()

{ clrscr();

fp=fopen(filename,"rb");

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

scanf("%d",&m);

for(i=0;i

if(a[i][0]==m)

for(j=0;j<=9;j++)

a[i][j]=0;

printf(" 重新输出学生成绩\n");

printf(" 学号高数外语 C言组装中医总分平均分排名\n"); print1();

getch();

Change();

}

/*****************成绩的修改*********************/

change1(n)

{ int p;

fp=fopen(filename,"rb");

printf("输入学号:");

scanf("%d",&m);

printf("请输入你改的成绩:");

scanf("%d",&p);

for(i=0;i

if(a[i][0]==m)

a[i][n]=p;

clrscr();

printf(" 重新输出学生成绩\n");

printf(" 学号高数外语 C言组装中医总分平均分排名\n");

print1();

getch();

Change();

}

change() /*选择修改方式*/

{ int n;

clrscr();

printf("你可以有以下修改方式 1 高数 2 外语 3 C言 4 组装 5 中医\n"); printf("请选择修改方式:");

scanf("%d",&n);

change1(n);

}

/****************添加、修改菜单**********************/

Change()

{ clrscr();

printf("\n现在您将会遇到以下几种情况:\n");

printf("1 添加; 2 删除; 3 修改; 0 返回;\n");

printf("请您根据需要按键选择:");

scanf("%d",&n); /*选择菜单*/

if(n==1)

add();

else if(n==2)

del();

else if(n==3)

change();

else if(n==0)

System(); }

/******************功能菜单*******************/ System()

{ B:

{

textbackground(10);

textcolor(12);

clrscr();

gotoxy(25,3);

for(i=1;i<=30;i++)

printf("$");

gotoxy(36,6);

printf("功能菜单");

gotoxy(32,9);

printf("<1>: 成绩的输入");

gotoxy(32,12);

printf("<2>; 成绩的查询");

gotoxy(32,15);

printf("<3>; 添加、修改");

gotoxy(32,18);

printf("<0>; 退回主菜单");

gotoxy(15,21);

for(i=1;i<=53;i++)

printf("$");

gotoxy(25,23);

printf("Please input your choice:");

scanf("%d",&j);

}

switch(j)

{case 1: Input(); goto B;

case 2: Find(); goto B;

case 3: Change(); goto B;

case 0: break;

default: clrscr();

gotoxy(35,8);

printf("Errors");

gotoxy(22,14);

printf("Please press any keyboard to continue"); getch();

goto B;

}

}

/*********************意见评述********************/ Idea()

{ textbackground(14);

textcolor(10);

clrscr();

gotoxy(25,13);

{printf("Please input your filename:"); scanf("%s",filename);

}

if((fp1=fopen(filename,"w"))==NULL)

{printf("Cannot open file\n");

exit(0);

}

clrscr();

gotoxy(36,3);

printf("意见评述");

putchar('\n');

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

printf("^");

gotoxy(40,5);

printf("(请用English书写,以#号键结束)\n"); getch();

do

{ch=getchar();

if(ch=='#')

continue;

fputc(ch,fp1);

}while(ch!='#');

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

计算机学院 C语言程序设计报告书设计名称:学生成绩管理系统 专业:软件工程 指导老师: 班级: 姓名: 学号: 座号: 2011-6-15

一、实验目的 1.在编辑应用程序过程中,逐步加深对C语言编程的理解; 2.加强实践的能力,动手能力,同时进一步对所学的知识 进行巩固; 3.培养初步编程的能力,为以后的学习奠定基础。 二、实验内容 运用所学的C语言知识编辑一个应用程序:学习成绩管理系统 三.系统软件环境: 本程序主要运行在:Visual C++ 6.0 Turbo C/C++ 3.0 四.课程设计题目: 学生成绩管理系统 程序说明:有N个学生,每个学生的数据包含学号(不重复)、姓名、三门课的成绩及平均成绩,试设计一学生成绩管理系统,使之能提供以下功能: (1)主菜单

(2)各菜单项功能 ①成绩录入:输入学生的学号、姓名及三门课的成绩; ②成绩查询: *按学号查询学生记录。 ③成绩统计: *计算学生的平均分; *根据学生的平均分高低,对学生的数据进行排序后输出; ④退出系统:退出整个系统(即主菜单) 。 五.数据结构设计描述: ↓ ↓

六.各变量的定义和作用 int num; /*定义学号,变量为整型*/ char name; /*定义姓名,变量为字符型*/ int score; /*定义课程的成绩,变量为整型*/ float average; /*定义平均分,变量为浮点型*/ 七.系统各函数的功能,、相互调用关系 1.函数实现功能说明: (1)menu函数 是定义一个菜单函数,其功能在于输出菜单界面供使用者选择。 (2)input函数 是定义用于输入学生信息。 (3)select 函数 是定义用于查询学生信息。包括学号、姓名及各科成绩。(4)statistics 函数 计算学生的平均分。 根据学生的平均分高低,对学生的数据进行排序输出。2.相互调用关系: Main函数调用menu函数。 Menu 函数可以调用input 函数、select函数和statistics函数八.心得体会

c语言学生成绩管理系统含源代码

C 语言程序设计作业 一设计项目:学生成绩管理系统 二总体设计: 2:模块功能说明: 1 输入功能:输入学生姓名学号及成绩。 2 查看功能:输出姓名学号及各科成绩。 3 查询功能:通过学号查询学生姓名及各科成绩。 4 统计功能:统计班级学生及格率,优秀率,各个学生成绩方差等。 5 修改功能:通过输入学号修改指定学生的错误信息。 6添加功能:添加学生信息。 7删除功能:通过输入学号输入指定学生信息。 8保存功能:将学生信息保存。 9 退出系统。 3:主要函数之间的调用关系及各自功能: 主要函数的函数原型 void inputscore(void); void savescore(void); void avergescore(void); void modifyscore(void); void lookscore(void); void searchscore(void); void statistic(void); void add(void); void modify(void);

void delscore(void); void menu(void); i.在菜单界面输入1,调用函数inputscore( )实现输入学生成绩信息功能。ii.在菜单界面2,调用函数lookscore( )实现学生成绩按平均分高低排序输。 出,同时lookscore()函数调用avergescore()函数实现各个学生平均分的计 算。 iii.在菜单界面输入3,调用searchscore()函数实现通过学号查找学生成绩信息功能。 iv.在菜单界面输入4,调用statistic()函数输出班级及格率,优秀率,学生成绩方差,不及格学生名单。 v.在菜单界面输入5,调用modify()函数实现通过学号修改学生成绩的功能vi.在菜单界面输入6,调用add()函数实现添加学生成绩。 vii.在菜单界面输入7,调用delscore()函数实现删除指定学生成绩。 viii.在菜单界面输入8,调用savescore()函数将学生成绩信息保存。 ix.在菜单界面输入9,退出成绩管理系统。

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

//代码版权所有,不要 #include "stdio.h" #include "stdlib.h" #include "string.h" #include "conio.h" copy,仅供参考学习。//标准输入输出函数库 //标准函数库 //字符串函数库 //屏幕操作函数库 #define p->data.num,p->https://www.doczj.com/doc/9c4029473.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语言课程设计学生成绩管理系统

目录 ——学生成绩管理程序题目要求 (2) 设计目的 (2) 总体设计 (3) 详细设计 (3) 调试与测试 (12) 源程序 (14) 总结 (30)

学生成绩管理程序 一.题目要求 1.问题描述: 对在校学生几门课程的考试成绩进行统一管理.每个学生记录包括学号,姓名,年龄,数学,英语,物理成绩,默认以学号为序存放. 2.要求: (1)一个文件按以班为单位存储学生记录. (2)将允许的操作分为四种,以A,B ,C,D,E,F为标志: A:插入一个学生记录; B:修改学生记录; C:删除一个学生记录; D:查找一个学生记录; E:浏览学生成绩: F:退出 3.计算学生的总成绩. 4.按学号排序输出全班学生成绩表 . 二.设计目的 根据题目要求,由于学生信息是存放在文件中,所以应提供文件的输入,输出等操作;在程序中需要浏览学生的信息,应提供显示,查找,排序等操作;另外还应提供键盘式选择菜单实现功能选择.

三.总体设计 根据上面的需求分析,可以将这个系统分为以下模块:输入模块,修改模块,删除模块,查找模块,显示模块. 四.详细设计 1.主函数: 主函数一般设计得比较简单,只提供输入,处理和输出部分的函数调用,其中各功能模块用菜单方式选择. 流程图:

[程序]: //#include "head.h" int menu_select() { char c; printf("\n\n"); printf(" | 1. 增加学生记录 5.统计信息|\n"); printf(" | 2. 查询学生记录 6.打开文件|\n"); printf(" | 3. 修改学生记录7.保存文件|\n"); printf(" | 4. 学生纪录排序8.显示记录|\n"); printf(" | 0. 退出系统|\n"); printf("\n\n"); printf("请选择(0-8):"); c=getchar(); getchar(); return (c-'0'); } 2.输入模块: [分析]: 单独看各数据信息,学号,姓名是字符型,可以采用字符型数组;分数为整数,采用整数;数据信息存放在文件中,一条记录对应一个学生,既符合习惯又方便信息管理. 如果要存放若干学生信息就用结构体数组: void addrecord(student stud[]) { int i=0,j,num; char str[5]; if(numstus!=0) {

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

青岛农业大学 课程设计报告 题目:学生成绩管理系统 姓名:田世强元成张斌 学院:工程系 专业:电子信息工程技术 班级:2班 学号:200806013 200806015 200806023 指导教师:曹红波 2010年9月16日 六详细设计(各功能模块的具体实现算法——流程图) (3)

一设计目的 进一步加深、巩固所学专业课程(《C语言程序设计》)的基本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。掌握运用C语言独立地编写、调试应用程序和进行其它相关设计的技能。 二课程设计的内容 对学生信息(包括学号、语文、数学、英语、平均分)进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出.将学生的成绩信息进行记录,信息内容包含:(1)学生的学号(2)学生的姓名(3)学生的成绩。假设,现收集到了一个班学生的所有成绩信息,要求用C语言编写一个简单的成绩管理系统,可进行录入、查询、修改和浏览等功能。学习相关开发工具和应用软件,熟悉系统建设过程。 三课程设计的要求与数据 1、用C语言实现系统; 2、对学生信息(包括学号、姓名、语文、数学、英语、平均分)进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出. 3、学生信息包括:其内容较多,为了简化讨论,要求设计的管理系统能够完成以下功能: (1) 每一条记录包括一个学生的学号、姓名、3门课成绩 (2)、成绩信息录入功能:(成绩信息用文件保存,可以一次完成若干条记 录的输入。) (3)、成绩信息显示浏览功能:完成全部学生记录的显示。 (4)、查询功能:完成按姓名查找学生记录,并显示。 (5)成绩信息的删除:按学号进行删除某学生的成绩. (6)、排序功能:按学生平均成绩进行排序。 (7)、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!

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

学生成绩管理系统实验报告 ㈠实验名称: 学生成绩管理系统 ㈡实验目的: 1)利用所学的三种程序基本结构以及数组、用户自定义函数进行一个简单管理系统的设计,进一步理解和掌握c语言的语法以及三种基本程序结构的综合应用。 2)通过程序中设计到的排序、查找、求和等操作加深对算法、程序设计思路、常用程序设计技巧的理解与掌握,逐步培养学生的程序开发能力。 ㈢实验要求: 设某班有n位同学,每位同学的数据包括一下内容:学号(长整型)、姓名(字符号)、数学成绩(整型)、程序设计成绩(整型)。设计程序完成以下5项功能:新建数据档案、添加数据、删除数据、对输入的数据进行排序和查询。 ㈣算法内容: ①程序运行,利用printf函数显示主菜单,并提示输入相应的数字来进行相关操作。 显示主菜单如下: 1.新建数据 2.添加数据 3.删除数据 4.排序 5.查询 6.退出 ②若输入1,则进入新建数据界面。根据提示依次输入学生人数、学生的学号、姓名、数学成绩和程序设计程序。 S1:输入学生人数n, S2: 0->i,(把0放在变量i中) S3:输入第i+1个学生的数据(学号,姓名,学数学成绩,程序设计成绩) S4:i+1->i S5:若i

③输入2,进入添加数据界面。 S1:原有学生人数n加1,即n+1=>n S2:输入学生数据 S3:0->i S4:输出第i+1个学生的数据 S5:若ii,0->j S3:若学生的学号stu[i].num,转到S6,否则继续 S4:i+1->i S5:若i n S7: 把要删除的数据覆盖 stu[i].num=>stu[j].num;stu[i].name=>stu[j].name; stu[i].math=stu[j].math;stu[i].C=stu[j].C;j++; S8:若ii S10:输出第i+1个学生的数据 S11:若ii S2:i+1->j S3:若a[i]j S5:若ji S7:若ii S3:若stu[i].num=a[10],输出该生数据并结束 S4:i+1->i S5:若ii,0->j S3:若std[i].math=m,转到S6 S4:i+1->i

c语言学生成绩管理系统代码

#include #include #include #define MAXN 100 //一个班最多的人数 #define MAXM 2 //成绩的课程门数 int R; void input(); //1.学生成绩新建 void sort(); //2.学生成绩插入 void load(); //3.学生成绩修改 void print(); //4.学生成绩删除 void total(); //5.学生成绩统计 void search(); //6.学生成绩查询 void save(); //7.学生成绩保存 void end(); //8.结束 struct student { char name[20]; //保存全班姓名 char num[12]; //保存全班学号 float score[MAXM]; //保存全班所有课程成绩 float sum; //保存全班每个人的总成绩 float avg; //保存每个人的平均成绩 }; struct student s[MAXN]; struct http { char subject[20]; //保存全班所有课程 }; struct http c[MAXM]; void main() //欢迎首界面 { int select,l; system("color fC"); printf("\n"); printf("\n"); printf("\n"); printf("\n"); printf(" ¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥\n"); printf(" * *\n"); printf(" * *\n"); printf(" * 欢迎进入终极一班学生管理系统 *\n"); printf(" * *\n"); printf(" * ︻┳═一 cf ... *\n"); printf(" * ┈━═☆甘总管的多塔生活∝╬══→ *\n");

c语言课程设计报告+学生成绩信息管理系统+源代码

实验报告 一、问题陈述及其需求分析 (一)问题陈述 学生信息管理系统是对学生信息的基本管理,其中包括以下及模块: (1)增加一个学生的信息(需输入要增加学生的所有信息); (2)统计本班学生总人数及男女生人数。 (3)分别按照学号查找学生的信息;若找到则输出该学生全部信息,否则输出查找不到的提示信息。 (4)按学号对所有学生信息排序,并输出结果; (5)删除一个学生的信息(需指定要删除学生的学号);同时显示删除后的结果。( 二) 功能需求分析 学生信息管理系统设计 学生信息包括:学号,姓名,性别,出生年月,电话 使之提供以下功能: 1、系统以菜单方式工作 2、建立链表并显示 3、插入新的学生信息 4、删除某学号的学生信息 5、查找某学号的学生信息 6、对学生信息排序 7、统计学生人数 8、输出学生信息 二总体设计 (一)模块 依据程序的数据结构,描述该程序的层次结构,如下图:

1、建立链表并显示 void createlist(struct stucode **r); 2、插入新的学生信息 void insert(struct stucode **r); 3、删除某学号的学生信息 void del(struct stucode **r); 4、查找某学号的学生信息 void search1(struct stucode *r); 5、对学生信息排序 void sort(struct stucode **r); 6、统计学生人数 void search2(struct stucode *r); 7、输出学生信息 void out(struct stucode *r);

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

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

HUNAN UNIVERSITY 程序设计训练 报告 题目学生成绩管理系统 学生姓名 学生学号 专业班级 指导老师 湖南大学程序设计训练报告

目录 一程序功能简介 (3) 二本人完成的主要工作 (3) 三设计方案 (3) 1)设计分析 (3) 2)模块的功能及程序分析 (4) 3)核心算法流程图 (7) 4)核心源程序模块 (8) 5)操作方法简

介 (8) 6)实验结果 (9) 8)设计体会 (11) 四附录 (12) 一、程序功能简介; 本程序作为一个学生成绩管理系统,用户能够首先使用管

理员模式初始化该系统。初始化完成之后,用户能够选择使用成绩记录人模式进入系统,对学生成绩进行记录。系统自动储存所记录的学生成绩,然后用户可根据不同需要来选择不同的功能来使用程序,其中包括成绩查询与增减,成绩排序,成绩分析等功能。 二、本人完成的主要工作; 程序设计分析,绘制程序流程图,写出大致结构算法以及各个核心算法模块,写出核心源程序,对源程序进行算法优化,对源代码进行多次试验验证其正确性,完成源代码的测试以及代码书写规范检测。 三、设计方案; 1)设计分析; 首先拿到这个题目,我就开始思考如何将这个看似简单的系统做的较为完善,而不是简简单单的学生成绩管理 系统,学生管理系统自然是这个题目的核心,从中发散思 维,我想到了几个比较细小的地方。例如:如何很好的将 程序中的功能步骤化,系统化以及便利化。基于C语言程 序的特点,我还联想到了对信息的保存问题。这些问题都 随着代码的一步一步完善而解决。管理员系统与查询系统 的选择很好的解决了这些问题。 2)模块的功能及程序说明;

C语言实现学生成绩管理系统

武汉理工大学华夏学院课程设计报告书 课程名称:数据结构 题目:用C语言实现成绩统计程序的设计 系名:信息工程系 专业班级:软件工程1121 姓名: 指导教师:黄启荃 2013 年 6月 28日

课程设计任务书 设计题目:用C语言实现成绩统计程序的设计 设计目的 1.巩固和加深课堂所学知识、学会分析研究数据对象的特性及数据的组织方法; 2.选择合适的数据的逻辑结构和存储结构以及相应操作,实现一个班的成绩统计 3. 提高程序设计能力、加强查阅、运用资料的能力、算法分析与程序设计素质培养;设计任务(在规定的时间内完成下列任务) 〔问题描述〕给出n个学生的m门课程的考试成绩信息,每条信息由姓名、课程代号与分数组成,要求设计算法: (1)输入每个人的各门课程的成绩,计算每人的平均成绩; (2)按平均成绩的高低次序,打印出出个人的名次,平均成绩相同的为同一名次; (3)按名次列出每个学生的姓名和各科成绩; 〔基本要求〕学生的考试成绩必须通过键盘输入,且需对输出进行格式控制; 〔算法提示〕可以用选择排序、冒泡排序等多种排序算法求解; 具体要完成的任务是: A. 编制完成上述问题的C语言程序、进行程序调试并能得出正确的运行结果。 B. 写出规范的课程设计报告书; 时间安排:6月24日---28日 具体要求 1. 课程设计报告按统一通用格式书写,具体内容如下: ①设计任务与要求 ②总体方案与说明 ③软件主要模块的流程图 ④源程序清单与注释 ⑤问题分析与解决方案(包括调式报告,即在调式过程中遇到的主要问题、解决方法及改进设想); ⑥小结与体会 附录:①源程序(必须有简单注释)②使用说明③参考资料2.每位学生应独立完成各自的任务且每天至少在设计室工作半天; 指导教师签名: 2013 年 6月 22日 教研室主任(或责任教师)签名: 2013年 6月 24日

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

实验题目:学生成绩管理系统 一、课程设计目的 1、进一步掌握和利用C语言进行程设计的能力; 2、进一步理解和运用结构化程设计的思想和方法; 3、初步掌握开发一个小型实用系统的基本方法; 4、学会调试一个较长程序的基本方法; 5、学会利用流程图或N-S图表示算法; 6、掌握书写程设计开发文档的能力(书写课程设计报告); 二、课程设计内容 1、每一条记录包括一个学生的学号、姓名、性别、4门课成绩、平均成绩。 2、输入功能:可以一次完成若干条记录的输入。 3、输出功能:完成全部学生记录的显示。 4、查找功能:完成按姓名查找学生记录,并显示。 5、新增功能:完成对任意学生信息的增加。 6、删除功能:完成对任意学生信息的删除。 7、统计功能:完成对学生四门成绩最高分、最低分、平均成绩的统计。 8、排序功能:完成学生四门成绩由高到低的排序,并显示。

9、将学生记录存在文件student中。 10、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观! 三、需求分析 1、用C语言实现系统; 2、利用结构体数组实现学生成绩的数据结构设计; 3、系统具有增加,查询,插入,排序等基本功能; 4、系统的各个功能模块要求用函数的形式实现; 5、完成设计任务并书写课程设计报告。 6、将学生成绩信息存在文件中。 四、概要设计 1、方案设计 对系统进行分析,给出结构图 分析:系统要求实现许多的功能,因此遵循结构化程序设计思想来进行本系统的设计—自顶向下、逐步细化,将系统设计任务分解出许多子功能模块进行设计 结构图如下:

2、模块功能说明 对各个模块进行功能的描述 (1)、输入模块: 录入需要管理的学生信息并将信息保存于文件中,以方便日后进行打印、读取、修改等操作。 (2)、输出模块: 将所有学生信息或想要查询的学生信息显示于屏幕,用于打印学生信息或查找某些学生信息。

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

《学生成绩管理系统》课程设计报告

2010-7-9 一、程序整体规划: 1.系统的基本功能 数据的录入:如录入学生的基本信息,以及该学生选修课程的基本 信息; 数据的修改:如修改指定学号、或者指定姓名的学生信息,或者修 改其选修课程信息; 数据的插入:插入某个学生信息; 数据的查询:如按学号查询、按姓名查询等; 数据的删除:如删除指定学号、或者指定姓名的学生及其选修课程 信息; 平均成绩的计算:计算每个学生各门功课的平均成绩,并按平均成 绩从高到低的次序输出学生信息; 考虑用文件把数据保存起来 2、首先是结构体的定义: typedef struct message_student char number[6];

char name[20]; char sex[4]; float subject[numsubs]; float score; float average; int index; }student; int numstus; 定义学生数目 student *pointer; 指向结构体数组 int lens; 次迟到时候分配内存 3、部分重要函数声明: int menu_select(); 决定主界面的函数int openfile(student stu[]); 打开文件的函数int findrecord(student stud[]); 查找信息的函数int writetotext(student stud[]); 保存文件的函数void sort(student stu[]); 查找信息的函数void deleterecord(student stu[],int i); 删除信息的函数void addrecord(student stud[]); 增加学生信息的函数void display(student stud[],int n1,int n2); 数据的显示函数

学生成绩管理系统c语言代码(供参考)

C程序学生管理系统 以下是用c语言编写的学生成绩管理系统的简单代码,可以用vc运行(供参考)#include"stdio.h" #include"stdlib.h" #include"string.h" typedef struct student//定义学生 { char name[10]; int number; char sex[2]; int math; int eglish; int clanguge; int average; }student; typedef struct unit//定义接点 { student date; struct unit *next; }unit; unit* build()//建立链表并返回指针 { unit *p; if((p=(unit*)malloc(sizeof(unit)))==NULL) { printf("=>初始化失败!"); return 0; } else {p->next=NULL; p->date.number=0;//头结点存放学生人数 printf("初始化成功!\n"); return p; } } void add(unit *head)//增加学生

{ unit *p,*q; int m,n=0; q=head->next; p=(unit*)malloc(sizeof(unit)); printf("=>请输入新生姓名!\n"); gets(p->https://www.doczj.com/doc/9c4029473.html,);fflush(stdin); printf("=>请输入学号!\n"); while(n==0) { scanf("%d",&m);fflush(stdin); if(q==NULL) n=1; while(q) { if(q->date.number==m) { printf("=>你输入的学号与已有同学的学号相同,请重新输入!\n"); q=head->next; break; } else { q=q->next; if(q==NULL) n=1; } } } p->date.number=m; printf("=>请输入性别!\n"); gets(p->date.sex);fflush(stdin); printf("=>请输入数学成绩\n"); scanf("%d",&m);fflush(stdin); p->date.math=m; printf("=>请输入英语成绩\n"); scanf("%d",&m);fflush(stdin); p->date.eglish=m; printf("=>请输入c语言成绩\n"); scanf("%d",&m);fflush(stdin); p->date.clanguge=m; p->date.average=(p->date.math+p->date.eglish+p->date.clanguge); q=head->next; head->next=p;

学生成绩管理系统代码(c语言编写)

C程序学生管理系统 /* Note:Your choice is C IDE */ #include"stdio.h" #include"stdlib.h" #include"string.h" typedef struct student//定义学生 { char name[10]; int number; char sex[2]; int math; int eglish; int clanguge; int average; }student; typedef struct unit//定义接点 { student date; struct unit *next; }unit; unit* build()//建立链表并返回指针 { unit *p; if((p=(unit*)malloc(sizeof(unit)))==NULL) { printf("=>初始化失败!"); return 0; } else {p->next=NULL; p->date.number=0;//头结点存放学生人数 printf("初始化成功!\n"); return p; } } void add(unit *head)//增加学生

{ unit *p,*q; int m,n=0; q=head->next; p=(unit*)malloc(sizeof(unit)); printf("=>请输入新生姓名!\n"); gets(p->https://www.doczj.com/doc/9c4029473.html,);fflush(stdin); printf("=>请输入学号!\n"); while(n==0) { scanf("%d",&m);fflush(stdin); if(q==NULL) n=1; while(q) { if(q->date.number==m) { printf("=>你输入的学号与已有同学的学号相同,请重新输入!\n"); q=head->next; break; } else { q=q->next; if(q==NULL) n=1; } } } p->date.number=m; printf("=>请输入性别!\n"); gets(p->date.sex);fflush(stdin); printf("=>请输入数学成绩\n"); scanf("%d",&m);fflush(stdin); p->date.math=m; printf("=>请输入英语成绩\n"); scanf("%d",&m);fflush(stdin); p->date.eglish=m; printf("=>请输入c语言成绩\n"); scanf("%d",&m);fflush(stdin); p->date.clanguge=m; p->date.average=(p->date.math+p->date.eglish+p->date.clanguge); q=head->next; head->next=p;

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

重庆科技学院 《C语言程序设计》 课程设计报告 学院:_电气与信息工程学院_ 专业班级:自动化2013-03 学生姓名:高跃跃学号: 2013443321 设计地点(单位)_____ 计算机基础自主学习中心_____ __ 设计题目: 《学生成绩管理系统》的设计与实现 完成日期: 2014 年 09 月 25 日 指导教师评语: ______________________ _________________ __________________________________________________________________________________ __________________________________________________________________________________ 成绩(五级记分制):______ __________ 指导教师(签字):________ ________

课程设计任务书设计题目:《学生成绩管理系统》的设计与实现

摘要 学生成绩管理系统是为了实现学校对学生成绩管理的系统化、规范化和自动化,从而提高学校管理效率而设计的。它完全取代了原来一直用人工管理的工作方式,避免了由于管理人员的工作疏忽以及管理质量问题所造成的各种错误,为及时、准确、高效的完成学生成绩管理提供了强有力的工具和管理手段。学生成绩管理系统是一个中小型数据库管理系统,它界面美观、操作简单、安全性高,基本满足了学生成绩管理的要求。 本系统是在以Microsoft Visual C++ 6.0作为后台来开发的。学生成绩管理系统在运行阶段,效果好,数据准确性高,提高了工作效率,同时也实现了学生成绩管理计算机化。 关键词:成绩管理系统 C语言

学生成绩管理系统C语言(附完整源代码)

学生成绩管理系统C语言(附完整源代码)课程设计报告 学生成绩管理系统 院系: 专业: 班级: 完成日期: 2009年1月03日 设计题目:学生成绩管理系统 目录 1、题目描述 2、算法设计/设计思想 3、结构框图、各模块的功能描述 4、主体思想: 5、程序的,,,流程图 6、源代码 1.题目描述 设计一个简单的学生成绩管理系统,要求有简单的界面,程序段要分清模块,该程序应该: (1)输入学生成绩,求总分,平均分,以及排序。 (2)查询学生单科成绩,总分和平均成绩; (3)添加、修改学生成绩具有下列功能: (4)实现保存与查看功能 2.算法设计/设计思想 利用二维数组——定义stu[][]存储学生学号、各科成绩,总分,平均分,名次,利用文件来存 储,读取数据。

具体分工是: : 负责inputx(),print1(),input(); :负责文件的存储和读取,main(),System(),Idea()以及各调用函数之间的连; : 负责find1(),find2(),find3(),find31(),Find(); : 负责del(),add(),change1(),Change(); 后期调试由小组共同负责。 3. 结构框图、各模块的功能描述 3.1 创建成绩表 3.1.1 input()功能是输入学生的信息,便于以后的查询、浏览。 3.2 添加 3.2.1 add( )功能是向inputy()添加新的内容。 3.3.2 chance( )对单科成绩进行修改。 3.3 查询 3.3.1 可根据学号,科目,名次,进行查询。 3.3.2 查询内容包括:该学生的各课成绩、、平均分。 3.4 删除 3.4.1可以输入学号删除一名学生的一课成绩。。 3.5 浏览成绩单 3.5.1 通过此print1()可以查看所有学生的各课成绩、总分、平均分和名次。 3.6 文件() 3.6.1 保存以上所输入的信息以达到既是关闭窗口信息也不会丢失信息的目的。 3.6.2 随时打开,修改文件。 3.7.退出功能是退出 主菜单 退出系意见评述功能菜单统

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

河南理工大学 计算机科学与技术学院 课程设计报告 200 — 200 学年第学期 课程名称 设计题目 学生姓名 学号 专业班级 指导教师 年月日 一、设计目的 (3)

二、课程设计的要求与数据 (3) 三、成绩管理系统主要功能 (4) 四、界面设计 (4) 五、程序源码 (5) 六、心得体会 (16) 一、设计目的 进一步加深、巩固学生所学专业课程(《C语言》)的基本理论知识,理论联系实际,进一步培养学生综合分析问题和解决问题的能力。掌握运用C语言独立地编写、调试应用程序和进行其它相关设计的技能。 二、课程设计的要求与数据

1、用C语言实现系统; 2、对学生信息(包括学号、姓名、性别、高数、英语、C语言、 平均分)进行管理,包括学生成绩的信息输入、显示、添加、删除、修改、查询、退出.. 3、学生信息包括:其内容较多,为了简化讨论,要求设计的管理系统能够完成以下功能: (1)每一条记录包括一个学生的学号、姓名、性别、3门课成绩。 (2)成绩信息显示浏览功能:完成全部学生记录的显示。 (3)可以添加后来学生的信息。 (4)成绩信息的删除:按学号进行删除某学生的成绩。 (5)可以修改某学生的信息。 (6)查询功能:完成按姓名查找学生记录,并显示。 (7)应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观! 三、成绩管理系统主要功能 1. 输入记录 2. 用指定格式显示全部记录 3. 根据姓名查找记录 4. 根据姓名删除记录 5. 保存记录到文件 6. 按序号显示记录

7. 按姓名由小到大的顺序排序 四、界面设计 此系统界面采用图形和数字化菜单设计。 主界面设计如下: ----------------------------------------------------------------------------------------- 欢迎进入 学生成绩管理系统 -----制作者:河南理工大学信息管理 *********************** *主菜单* ********************* 1. 登记学生资料 2. 删除学生资料 3. 查找学生资料 4. 修改学生资料 5. 保存学生资料 6. 退出系统 ********************************************************* 五、程序代码 #include "stdio.h" #include "stdlib.h" #include "string.h" int shoudsave=0; /* */ struct student { char num[10];/* 学号*/ char name[20]; char sex[4]; int cgrade;

c语言学生成绩管理系统

摘要利用所学过的C语言知识,采用结构化程序设计方法,设计一个学生成绩管理档案程序,该程序的主要功能为: 0将表格初始化,1建立学生成绩表格,2从表中删除原有纪录,3显示单链表中所有记录,4按照姓名查找纪录,5计算所有学生的总分和均分,6插入纪录到表中,7复制文件,8将所有学生成绩排序,9分类合计,10退出。该系统功能完善,界面友好,短小经用,使用方便,即使是不熟悉计算机也可以自如的使用该系统。通过上机调试运行与模拟操作,完成对学生成绩的管理,减轻管理人员的劳动强度,提高一个学校的自动化管理水平。 关键词:学生成绩管理;结构化程序设计;调试运行;功能完善 目录 第一章概述....................................................... 1.1项目背景 .................................................. 1.2工作环境 .................................................. 第二章系统分析................................................... 2.1系统需求分析 .............................................. 2.2 系统功能分析.............................................. 2.2.1模块实现算法........................................ 2.2.2进入主菜单。........................................ 2.2.3 建立学生表格 ....................................... 2.2.4从表中删除原有纪录.................................. 2.2.5显示单链表中所有记录................................ 2.2.6按照姓名查找纪录.................................... 2.2.7计算所有学生的总分和均分............................ 2.2.8插入纪录到表中...................................... 2.2.9复制文件............................................ 将所有学生成绩排序 ....................................... 分类合计: ............................................... 退出 ..................................................... 第三章总体设计................................................... 3.1软件描述 .................................................. 3.2设计方法 .................................................. 3.3软件结构 .................................................. 3.4文件及函数组成 ............................................ 第五章使用说明...................................................

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

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

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

相关主题
文本预览
相关文档 最新文档