C语言课程设计说明书--学生信息管理系统

更新时间:2024-03-23 03:17:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

内蒙古科技大学 本科生课程设计说明书

题 目:C语言课程设计 —— 学生管理系统 学生姓名:郭文杰 学 号:1567159106 专 业:软件工程 班 级:软件一班 指导教师:康懿

日 期: 2016 年 1月 3 日

内蒙古科技大学课程设计说明书

内蒙古科技大学课程设计任务书

课程名称 设计题目 指导教师 康懿 C语言课程设计 学生信息管理系统 时间 2016.1.5——2016.1.9 一、教学要求 1. 巩固和加深学生对C语言课程的基本知识的理解和掌握 2. 掌握C语言编程和程序调试的基本技能 3. 利用C语言进行基本的软件设计 4. 掌握书写程序设计说明文档的能力 5. 提高运用C语言解决实际问题的能力 二、设计资料及参数 每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。 某班学生基本信息管理,包括以下功能: ? 从键盘输入包括学号、姓名、性别、出生年月日、籍贯、所在院系、专业、奖惩信息等,并将其保存在磁盘文件里 ? 具有进行单项查询或多项查询的功能(即按照给定的关键字姓名等找出满足条件的纪录) ? 具有插入、修改和删除信息的功能 ? 具有输出文件数据信息的功能 三、设计要求及成果 1. 分析课程设计题目的功能需求(可选用数组或链表实现,可多人(最多3人)协作完成一个题目) 2. 写出详细设计说明(至少包括功能实现分析和模块流程图) 3. 编写程序代码,调试程序使其能正确运行(代码书写要规范,标示符要见名知意,要有必要的注释,每人至少500行代码,不包括注释和花括号) 4. 设计完成的软件要便于操作和使用 5. 设计完成后提交课程设计报告(请严格按照模板进行排版) 四、进度安排 第一天 选择课程设计题目,分析课题的要求 第二天 编程 第三天 编程及调试 第四天 写课程设计报告 第五天 提交课程设计报告(打印稿及电子稿) 五、评分标准 1. 根据平时上机考勤、表现和进度,教师将每天点名和检查 2. 根据课程设计完成情况,必须有可运行的软件。 3. 根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。 六、建议参考资料 1.《C语言程序设计》,谭浩强,清华大学出版社 2.《C语言程序设计课程设计》,刘振安,机械工业出版社

I

内蒙古科技大学课程设计说明书

II

内蒙古科技大学课程设计说明书

目 录

内蒙古科技大学课程设计任务书 ···························································· I 第一章 需求分析 ·············································································· 4

1.1 引言 ·················································································· 4 1.2 任务概述 ············································································ 4 1.3 数据描述 ············································································ 4 1.4 功能需求 ············································································ 4 1.5 性能需求 ············································································ 5 1.6 运行需求 ············································································ 5 1.7 任务计划 ············································································ 5 第二章 概要设计 ············································································ 6

2.1 总体设计 ············································································ 6 2.2 数据类型设计(或数据结构设计) ··········································· 6 2.3 接口设计 //函数声明 ·························································· 7 2.4 运行界面设计 ······································································ 8 第三章 详细设计 ··········································································· 12

3.1 输入模块设计 ····································································· 12 3.2 输出模块设计 ····································································· 13 3.3 查找模块设计 ····································································· 14 3.4 排序模块设计 ····································································· 16 3.5 保存及读取模块设计 ···························································· 17 第四章 测试分析 ··········································································· 19

4.1 测试程序执行情况 ······························································· 19 4.2 出现的问题和解决的方法 ······················································ 19 第五章 用户手册(可选) ······························································· 20

5.1 使用说明 ··········································································· 20 5.2 运行说明 ··················································· 错误!未定义书签。 第六章 课程设计总结 ····································································· 21 附录:程序代码 ················································································ 22 参考文献 ························································································· 39 致谢 ······························································································· 40

III

内蒙古科技大学课程设计说明书

第一章 需求分析

1.1 引言

随着学生人数的增多,学生信息管理变得越来越困难,为了方便学校对学生信息的管理,一个简易的学生信息管理系统可以解决一些简单的问题

1.2 任务概述

某班学生基本信息管理,包括以下功能:

? 从键盘输入包括学号、姓名、性别、出生年月日、籍贯、所在院系、专业、奖惩信息等,并将其保存在磁盘文件里 ? 具有进行单项查询或多项查询的功能(即按照给定的关键字姓名等找出满足条件的纪录)

? 具有插入、修改和删除信息的功能 ? 具有输出文件数据信息的功能

1.3 数据描述

需要输入的数据包括学生的学号、姓名、出生年月日、籍贯、所在院系、专业、奖惩信息系统会自动按学号排序存储信息,出生年月日为整型,其他数据为字符型

1.4 功能需求

学生信息管理系统存放了每个学生的学号、姓名、性别、年龄、出生年月日、

籍贯、专业、院系、奖罚信息的数据库。每个人的信息定义在一个结构体变量中。其结构如下:

系统通过显示程序、添加加程序、查询程序、删除程序、修改程序、排序程序来实现学生信息管理系统的改变颜色功能、显示功能、追加功能、查询功能、

4

内蒙古科技大学课程设计说明书

删除功能、修改功能、排序功能。各个功能的调用通过主函数中的switch语句来实现。

1.5 性能需求

1.6 运行需求

1.7 任务计划

1.程序可以根据使用者的合法操作实现已罗列的功能

2.在执行插入功能时,要输入成绩时再输入完最后一个数据后再输入‘-1’才能实现正常退出

3.在输入数字超出范围时,程序会做出提示

4.若想退出 查询,删除,修改,筛选 功能时,若想不进行操作退出功能,需要按任意键发返回主菜单

/*

5

内蒙古科技大学课程设计说明书

第二章 概要设计

2.1 总体设计

改变颜色 主函数

注册信息 学号查找 姓名查找 修改信息 插入信息 删除信息 输出信息 保存文件 读取文件 排序 退出

2.2 数据类型设计(或数据结构设计) 1.数据以顺序结构储存 2.存在两个结构体

typedef struct data {

int year; int month; int day; }DATA;

typedef struct student

6

结束 内蒙古科技大学课程设计说明书

{

char name[M]; char sex; DATA birthday; char num[20]; char jiguan[20]; char zhuanye[20]; char yuanxi[20]; char jianli[120];

}stu;

2.3 接口设计

表2.1:函数列表

函数名 main YanSe Menu DataSort ZhuCe XieRu DuQu Peint XueHao XingMing XiuGai ChaRu ShaChu 函数格式 //即函数首部 int main() int YanSe (void) int Menu(void) 函数功能 主函数 颜色菜单 主菜单 void DataSort(stu st[],int 排序 n); int ZhuCe(stu st[],int n); void XieRu(stu st[],int n); int DuQu(stu st[]); void Print(stu st[],int n); void XueHao(stu st[],int n); void XiuGai(stu st[],int n); int ChaRu(stu st[],int n); void ShaChu(stu st[],int n); 注册信息 写入信息到文件 读取文件信息 输出信息 按学好查找 修改信息 插入信息 删除信息 void XingMing(stu st[],int n); 按姓名查找

7

内蒙古科技大学课程设计说明书

2.4 运行界面设计

8

内蒙古科技大学课程设计说明书

9

内蒙古科技大学课程设计说明书

10

内蒙古科技大学课程设计说明书

11

内蒙古科技大学课程设计说明书

第三章 详细设计

3.1 输入模块设计

int ZhuCe (stu st[]) {

int i=-1;

system( \清屏

printf(\ printf(\ 1.更新成员信息 *\\n\ printf(\ do{

i++;

printf(\请输入姓名:\\n\ scanf(\ if(atoi(st[i].name)>=0) {

printf(\请输入性别(w/m):\\n\ scanf(\

printf(\请输入出生年月日:\\n\

scanf(\

printf(\请输入学生证号:\\n\ scanf(\ printf(\请输入个人籍贯:\\n\ scanf(\ printf(\请输入个人专业:\\n\ scanf(\ printf(\请输入所在院系:\\n\ scanf(\

12

内蒙古科技大学课程设计说明书

}

}

printf(\请输入简历:\\n\ scanf(\

printf(\编号%d数据添加成功!\\n\ printf(\输入姓名为负数结束输入!\\n\ printf(\

else

break;

}while(st[i].num>0);

printf(\ printf(\数据更新成功!\\n\ system(\ return i;

3.2 输出模块设计

程序通过一个printf函数把输出信息的表头打印出来,再通过一个for循环把每一个学生的信息输出,再输出的时候,通过定义数字、字符的长度大于本身的长度来实现输出信息的排版和隔开,使输出的信息排版美观。

void Print(stu st[],int n) { \\n\

13

int i;

system( \

printf(\printf(\编号姓名\\t性别\\t出生年月日\\t学生证号\\t籍贯\\t专业\\t院系\\t简历

内蒙古科技大学课程设计说明书

for(i=0;i

printf(\

i+1,st[i].name,st[i].sex,st[i].birthday.year,st[i].birthday.month,st[i].birthday.day,

st[i].num,st[i].jiguan,st[i].zhuanye,st[i].yuanxi,st[i].jianli);

}

}

3.3 查找模块设计

void XueHao(stu st[],int n) {

char x[20]; int i;

system( \

printf(\printf(\ 2.学生证号查找 *\\n\printf(\printf(\输入你要查询的身份证号:\scanf(\for(i=0;i

if(strcmp(st[i].num,x)==0) {

printf(\编号\\t姓名\\t性别\\t出生年月日\\t学生证号\\t籍贯\\t专业\\t

院系\\t简历\\n\

14

本文来源:https://www.bwwdw.com/article/05r8.html

Top