当前位置:文档之家› C语言程序设计报告_学生成绩管理系统

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

4 数据结构
结构体 :
程序设计中用到的结构体类型: 学生信息结构体类型:
struct student {
int num; char nam[20]; char clas[20]; float math; float english; float computer; }stu[SIZE];
5 中心算法代码说明说明
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);
printf("输入 0 退出\n");
for(j=0;j<SIZE;j++)
{
if(j==-1)
goto loop;
else break;
}
}
else
{for(i=0;i<SIZE;i++)
{printf("原数据为:\n");
10
学生成绩管理系统
printf(" 学 号 %d, 姓 名 %s, 班 级 %s, 数 学 成 绩 %4.1f, 英 语 成 绩 %4.1f, 计 算 机 成
索引关键字
关键词:源程序代码,学生成绩管理,流程框图
2
学生成绩管理系统
内容目录
1 题目要求------------------------------------4
1.1 内容要求--------------------------------------------------4 1.2 设计要求--------------------------------------------------4

4
2 设计思想
学生成绩管理系统
1.在设计时考虑以下几个方面: 操作简单。因为使用者多为非计算机专业人员,所以该系统要求设计的界面美观, 操作方便。要充分考软件界面友好和操作方便,便愈使用人员快速上手。 易于维护。一个软件的好坏,关键在于产品的可靠,稳定,便于维护。
2.开发语言的选择
针对世界上流行的大量软件和开发工具,经过认真分析其优缺点,结合目前的软硬
**************************** 删 除 学 生 信 息
******************************\n");
printf("请输入要删除学生的学号:\n");
scanf("%d",&i);
j=search(i);
if(j==-1)
{loop:printf("该学生不存在,请重新输入!\n");
C 语言是完全模块化和结构化的语言。用函数作为程序的模块单位,便于实现程
序的模块化。
5
语法限制不太严格,程序设计自由度大。
6
生成目标代码质量高,程序执行效率高。
7
用 C 语言编写的程序可移植性好。
综上所述,Visual C++可以满足学生成绩管理的要求,所以用来开发学生成绩管理
系统是非常合适的。
3 功能模块及流程图
件开发环境,选用微软 WINDOWS 平台下的 Visual C++作为软件开发工具。选用工具有几
下几方面优点:
1
C 语言简洁、紧凑、使用方便、灵活。有 32 个关键字。C 语言程序比其他许多高
级语言简练,源程序短,因此输入程序时工作量小。
2
运算符丰富。
3
数据类型丰富,具有现代语言的各种数据结构。
4
1. void save() {
FILE *fp; int j; if((fp=fopen("stu_list","wb"))==NULL) {
printf("cannot open file\n"); return; } for(j=0;j<SIZE;j++) if(fwrite(&stu[j],sizeof(struct student),1,fp)!=1)
1.1 内容要求
要求能够实现输入记录、查询记录、更新记录、统计记录、输出记录等功 能。
1. 输入记录。对每个学生的学号、姓名、班级、数学、英语、计算机成绩 进行输入并存储,在程序的运行过程中,数据的存储可以采用结构体数组或者 链表,但是最终应该存储在文件中。
2. 维护记录。能够实现添加、删除、修改学生记录,但是一定要将最终数 据存储到文件中。
绩%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;
save();
printf("完成本次操作!!!\n");
k=getchar();
if(k=='y')
continue;
/*判断*/
else
break;}
}
printf("是否返回主菜单 y/n:\n");
scanf("%c",&a);
if(a=='y')
xt2();
else
function2();
#include <stdio.h>
#include <string.h>
#define SIZE 34
struct student
{
int num;
char nam[20];
char clas[20];
float math;
float english;
float computer;
}stu[SIZE];
return -1;
}
void function1()
/*添加记录*/
{
void xt2();
int i;
char k;
printf("
**************************** 添 加 学 生 信 息
********************************\n");
for(i=0;i<SIZE;i++)
void save()
/*将数据储存于文件*/
{
FILE *fp;
int j;
if((fp=fopen("stu_list","wb"))==NULL)
8
学生成绩管理系统
{
printf("cannot open file\n");
return;
}
for(j=0;j<SIZE;j++)
if(fwrite(&stu[j],sizeof(struct student),1,fp)!=1)
6.1 程序代码-------------------------------------------------8 6.2 系统使用-------------------------------------------------21 6.3 运行效果说明---------------------------------------------21
7 总结---------------------------------------24 8 致谢词-------------------------------------25 9 参考文献-----------------------------------25
3
.正文
1 题目要求
学生成绩管理系统
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("
系统主菜单
学生操作
教师操作
教务处操作










































































相关主题