《C语言程序设计》实训报告——学生成绩管理系统

《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]);
 }

六、运行界面截图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 14
    点赞
  • 159
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
这个C 作业主要是编写一个学生成绩管理系统,资料中包括了实验文档报告和项目源代码,项目代码并不多,对学习有帮助。   1.设计目的:用计算机完成对学生成绩的管理。包括对计算机所储存信息的查询、修改、删除、统计等。利用简单容易操作的菜单界面,方便学校、教师等利用计算机的高效、智能化以及存储的便捷性对学生成绩进行管理,可以节省人力时间,安全便捷。   2.总体设计学生成绩管理系统提供三大模块,即学生成绩信息维护,学生成绩信息查询,学生成绩统计。其中信息维护包括对学生信息的修改,删除和增加,信息查询实现通过学生学号或姓名查询成绩的功能。学生成绩统计则对不同科目不同分数段的学生进行统计,方便用户对学生成绩获得总体的了解和把握。   3.详细设计:首先为用户提供方便的菜单,利用数据输入输出流和规范化输出等实现。再由控制结构实现用户选择与系统功能的对应。利用文件输入输出使C 程序与其数据的存储所在得txt文件联系起来,并进行读写操作。利用2个string类型的数组存储学生姓名和学号,再利用3个int类型数组用来存储学生的三科成绩。   函数实现系统的功能。首先,通过一个getRow函数获得系统中目前存储的学生人数。再通过一个getID函数,将txt文件中的学生信息录入到之前声明的五个数组中。然后即可对学生数据进行操作。searchGrade可实现用户对学生成绩的查询,changeGrade可帮助用户修改学生的各项信息,addGrade可以向计算机存储中增加新的学生信息,countGrade可统计不同科目不同分数段的学生分布情况。另外,enterChoice函数用来帮助信息维护的用户对不同的维护选项进行选择,而saveResult则在用户对数据进行维护后进行文件的保存,完成C 程序与txt文件的数据交流。main函数主要进行控制结构的安排和变量的声明。   在全部功能实现并正常编译后,对程序进行了新的修改。在countGrade中提供了更多学生信息,完善了错误反馈机制。并对菜单进行了美化调整。对几个函数的位置作了调整。   经调试,程序能够快速准确的执行设计目的中的各项要求和期望,达到设计初衷。   所有这些资料,你都可以通过压缩包中的课程设计报告.doc文档来了解。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jason Li808

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值