教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 高等教育 >

学籍管理系统实验报告

来源:网络收集 时间:2026-02-22
导读: C语言实训报告、、 JI ANGXI AGRICULTURAL UNIVERSITY 《C程序设计》实训实验报告 题目: 学籍管理系统 学 院: 软件学院 姓 名: 张新香 学 号: 20111913 专 业: 软件工程+英语 年 级: 大一年级 指导教师: 邓泓 C语言实训报告、、 一、系统简介 设计一

C语言实训报告、、

JI ANGXI AGRICULTURAL UNIVERSITY

《C程序设计》实训实验报告

题目: 学籍管理系统

学 院: 软件学院 姓 名: 张新香 学 号: 20111913 专 业: 软件工程+英语 年 级: 大一年级 指导教师: 邓泓

C语言实训报告、、

一、系统简介

设计一个基于结构体数组的学生学籍管理系统,能实现对学生学籍信息进行录入、修改、删除、查询和输出等基本操作。

二、需求分析

学籍管理系统应实现以下功能:

1、能录入学生的基本信息,包括学号、姓名、专业、年级、性别和出生日期信息,保存到结构体数组中。

2、能根据输入的学号查找学生,进行信息的修改。 3、能根据输入的学号从结构体数组中删除学生的记录。

4、实现查询功能,能根据输入的学号或年级在屏幕上显示相应的学生信息。 5、能在屏幕上以列表的方式输出所有学生的信息。

三、概要设计

1、系统功能结构图

根据项目的开发要求,本系统划分成六个主功能模块:录入学生信息模块、修改学生信息模块、删除学生信息模块、查询信息模块、输出模块和系统退出模块。系统功能结构图如下:

C语言实训报告、、

2、函数设计

学籍管理系统程序采用了结构化程序设计的思想,由1个.h头文件和3个.c源文件组成。程序中除了主函数外,共设计了以下14个函数,分别包含在3个.c源文件中。以下是这些函数的函数原型及功能设计。

(1) void SysInfo(void);

函数功能:在屏幕上输出系统及版权信息并等待用户响应。 (2) void MenuOfMain(struct StuMessage stu[]);

函数功能: 在屏幕上显示主菜单,接收用户选择并响应用户相应操作。 (3) void Append(struct StuMessage stu[]);

函数功能: 录入一条学生记录到记录数组的末尾。 (4) void Modify(struct StuMessage stu[]);

函数功能: 通过输入学号查询学生的相应记录信息,如果存在在屏幕上输出相应学生记录并通过重新输入的方法修改该学生的记录,否则输出没有找到相关记录。

(5) void Delet(struct StuMessage stu[]);

函数功能: 通过输入学号查询学生的相应记录信息,如果存在在屏幕上输出相应学生记录,用户确认删除后调用 DelList() 函数将其删除,否则输出没有找到相关记录。

(6) void MenuOfSear(struct StuMessage stu[]);

函数功能: 在屏幕上显示查询子主菜单,接收用户选择并响应用户操作。 (7) void ListAll(struct StuMessage stu[]);

函数功能: 在屏幕上以列表方式输出所有学生的信息。调用 PrintHead() 输出表头,再调用 ListOne() 函数逐一输出各条记录。

(8) void Quit(void);

函数功能: 退出菜单系统,并调用exit(0) 系统函数结束程序运行。 (9) void SearNum(struct StuMessage stu[]);

函数功能: 通过输入学号调用 NumOfSear() 函数查询学生的相应记录信息,如果存在调用 PrintHead() 函数和 ListOne() 函数在屏幕上输出相应学生记录,否则输出没有找到相关记录。

(10) void SearGrade(struct StuMessage stu[]);

C语言实训报告、、

函数功能: 通过输入年级查询学生的相应记录信息,如果存在在屏幕以列表方式输出相应学生记录,并输出统计满足条件的学生个数,否则输出没有找到相关记录。

(11) int NumOfSear(struct StuMessage stu[], char stuNum[]);

函数功能: 根据接收到的学生学号,在相应记录数组中进行查询,如果存在相应记录,返加相应的数组下标,否则返回-1。

(12) void PrintHead(void);

函数功能: 在屏幕上显示输出列表的表头。 (13) void ListOne(struct StuMessage list);

函数功能: 在屏幕上以行的方式显示输出一个学生的相关信息。 (14) int DelList(struct StuMessage stu[], int i);

函数功能: 如果数组中存在下标为 i 的记录,删除该记录并返回 1,否则返回 0。

3、重要数据的数据结构设计

学生学籍的记录项用结构体StuMessage 表示,包括6个属性,stuNo、name、spec、grade、sex、birthday 分别代表学生的学号、姓名、专业、年级、性别和出生日期,其中 birthday 类型为自定义的结构体类型 Date。

struct StuMessage {

char stuNo[11]; //学号 char name[9]; //姓名 char spec[21]; //专业 int grade; //年级 char sex; //性别 struct Date birthday; //出生日期 };

日期类型 Date 包括三个属性,分别代表年、月、日。 struct Date {

C语言实训报告、、

int year; //年 int month; //月 int day; //日 };

四、详细设计

1、系统主函数 main()设计

C语言实训报告、、

2.主菜单模块函数MenuOfMain()设计

C语言实训报告、、

3.删除学生信息功能模块函数Delete()设计

C语言实训报告、、

4. 录入学生信息功能模块函数Append()设计

C语言实训报告、、

6.输出学生信息功能模块函数ListAll()设计

C语言实训报告、、

7.查询菜单模块函数MenuOfSear()设计

C语言实训报告、、

8.按学号查询功能模块函数 SearNum()设计开始

清屏

接收查询学号

i=0

i<length 且不等 于学号 Y i++

N

Y

i<length

N

输出表头

没有找到相关记录

输出第 i 条记录

按任意键继续

Getch()

返回

C语言实训报告、、

9.按年级查询功能模块函数 SearGrade()设计开始 清屏 接收查询年级

输出表头 i=0,count=0

i<length Y 等于年级 Y 输出第 i 条记录

N

N

Count++

i++

Y Count>0

N

共找到 n 条记录

没有找到相关记录

按任意键继续

Getch()

返回

C语言实训报告、、

10.输出学生信息功能模块函数ListAll()设计

C语言实训报告、、

五、调试分析

本系统在VC6下编译调试通过,可顺利运行,各项功能达到设计要求。 本系统程序由一个.h头文件和三个.c源文件构成。系统调试主要在VC6下进行,采用分模块调试的方法进行编译,即完成一个函数功能模块就编译一个功能模块,最后再进行整体编译并生成可执行文件 Student.exe。

在调试的过程中,主要碰到了以下问题:

1、清屏函数在 TC 中使用的 clrsrc() 函数,但在VC6中没有该函数也没有相应的函数。查资料,发现在VC中可使用 system() 函数调用系统命令 cls 实现。

2、在使用C语言系统函数进行数据输入的时候,发现使用getchar()和gets()函数输入字符和字符串的时候,系统经常跳过相应的输入语句,无法输入数据。查资料,是C系统的输入处理的输入缓存问题,解决方法是在进行字符和字符串输入的时候,先使用fflush(stdin) 函数清除输入缓存,即可正常输入字符和字符串。 六、用户手册

本系统是WIN32控制台 …… 此处隐藏:1892字,全部文档内容请下载后查看。喜欢就下载吧 ……

学籍管理系统实验报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/124304.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)