《C语言程序设计》实训报告——学生成绩管理系统
《C语言程序设计》实训报告——学生成绩管理系统一、课程设计题目《学生成绩管理系统》二、课程设计要求综合利用顺序、选择、循环等各种程序结构,使用自定义函数和二维数组,完成任务。三、课程设计思路3.1功能要求该系统运行在DOS环境下,人机界面为命令行文本界面。完成的任务是对若干人的成绩信息进行管理,且数据保存到文件中。实现的主要功能是:系统以用户名和密码进行登录学生信息和成绩输入功能查询学生信息及成绩
《C语言程序设计》实训报告——学生成绩管理系统
一、课程设计题目
《学生成绩管理系统》
二、课程设计要求
综合利用顺序、选择、循环等各种程序结构,使用自定义函数和二维数组,完成任务。
三、课程设计思路
3.1功能要求
该系统运行在DOS环境下,人机界面为命令行文本界面。完成的任务是对若干人的成绩信息进行管理,且数据保存到文件中。
实现的主要功能是:
系统以用户名和密码进行登录
学生信息和成绩输入功能
查询学生信息及成绩功能
打印学生信息及成绩功能
以稳健的形式进行保存
3.2 设计环境
所使用的语言采用标准C,开发工具可选用在DOS环境下的Turbo C
3.3分析问题
学生成绩管理系统的整体功能都包括:登录口令、学生成绩输入、学生成绩打印、学生成绩查询四大板块,而成绩输入有包括学号,C语言成绩,数据库成绩,网页成绩,四个模块。
(1)设计的数据对象包括整形:学号;字符型:姓名、3门课程成绩、总成绩、平均成绩。
(2)数据结构线性数据结构,定义人数上限为40.
3.4 数据结构
本系统是对学生成绩的信息进行管理,学生成绩信息采用C的结构体数据类型描述,定义如下:
struct students
{
int num; //学号-整型//
char C语言; //C语言-字符型//
char 数据库; //数据库-字符型//
char 网页; //网页-字
3.4模块设计
根据功能要求,本系统为五大主要模块,具体模块如表所示。
表 学生信息成绩管理系统的模块
main() | 主控函数 |
void luRu(int num) | 录入学生信息 |
void xueHaoChaXun(int num,int xueHao) | 查询学生信息 |
void daYin (int num) | 打印学生信息 |
四、课程流程图
五、课程设计源码
#include <stdio.h> //标准输入输出函数库
#include <stdlib.h> //标准函数库
#include <string.h> //字符串函数库
#include <conio.h> //屏幕操作函数库
#define HEADER "学号 C语言 数据库 网页\n"
#define FORMAT "%3d\t%3d\t%3d\t%3d\n"
#define N 40
int score[N][4];
int i,j;
void dengLu(); //登录函数声明
void luru();
void chengjiluru(int num);
void chengjichaxun(int num,int xueHao);
void chengjidayin (int num);
int main(void)
{
dengLu();
}
void dengLu()
{
char username[30];
char password[10];
printf("****************************************************\n");
printf("********** 学 生 成 绩 管 理 系 统 登 录 **********\n");
printf("****************************************************\n");
printf("-->请输入用户名:");
gets(username);
printf("-->请输入密码:");
gets(password);
if(strcmp(username, "JasonLi")== 0 && strcmp(password, "123456") == 0)
{
printf("欢迎登录!\n");
luru();
}
else
{
printf("-->用户名和密码错误,按任意键重试...\n");
getch();
system("cls"); //清屏
dengLu(); //递归调用dengLu
}
}
void luru()
{
int n;
int xueHao;
printf("请输入班级学生人数:");
scanf("%d",&n);
chengjiluru(n);
chengjidayin(n);
printf("请输入要查找的学号:");
scanf("%d", &xueHao);
chengjichaxun(n,xueHao);
}
void chengjiluru(int num)
{
printf("************************************\n");
printf("**** 学 生 成 绩 录 入 ****\n");
printf("************************************\n");
printf(HEADER);
for(i=0;i<num;i++)
{
printf("%3d\t",i+1);
score[i][0]=i+1;
for(j=1;j<4;j++)
scanf("%d",&score[i][j]);
}
}
void chengjichaxun(int num,int xueHao)
{
printf("************************************\n");
printf("**** 按 学 号 查 询 学 生 成 绩 ****\n");
printf("************************************\n");
for (i=0;i<num;i++)
{
if (xueHao==score[i][0]) //查找到符合条件的记录输入
{
printf(HEADER);
printf(FORMAT, score[i][0],score[i][1],score[i][2],score[i][3]);
break;
}
}
if(i==num)
{
printf("您输入的学号不存在!\n");
}
system("pause");
}
void chengjidayin (int num)
{
printf("************************************\n");
printf("**** 成 绩 打 印 ****\n");
printf("************************************\n");
printf(HEADER);
for(i=0;i<num;i++)printf(FORMAT,
score[i][0],score[i][1],score[i][2],score[i][3]);
}
六、运行界面截图
更多推荐
所有评论(0)