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

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

Logo

快速构建 Web 应用程序

更多推荐