c语言大作业学生信息管理系统实验报告,C语言学生信息管理系统设计实验报告...

41528d3028836879cd698677c3999917.gifC语言学生信息管理系统设计实验报告

中南民族大学中南民族大学 软件课程设计报告软件课程设计报告 电信电信 学院学院 1010 级级光信光信专业专业 题目题目学生信息管理系统学生信息管理系统 姓名姓名 张宇(组长)张宇(组长) 钱程钱程 刘永亮刘永亮 马玉帅马玉帅 岳映强岳映强 章成章成 陈耀明陈耀明 徐川鹤徐川鹤 学号学号 1007406810074068 1007406910074069 1007407010074070 1007407110074071 1007407210074072 1007407310074073 1007406710074067 1007406010074060 指导教师指导教师谢茂涛谢茂涛 2011 年年06 月月11 日日 2 1.1.引言引言 本课程设计的目的就是要通过一次集中的强化训练,使学生能及时巩固已学 的知识,补充未学的但又必要的内容。进行课程设计目的在于加深对程序设计基 础中基础理论和基本知识的理解,促进理论与实践的结合,进一步提高程序设计 的能力。具体目的如下: 1.使学生更深入地理解和掌握该课程中的有关基本概念,程序设计思想和 方法。 2.培养学生综合运用所学知识独立完成课题的能力。 3.培养学生勇于探索、严谨推理、实事求是、有错必改,用实践来检验理 论,全方位考虑问题等科学技术人员应具有的素质。 4.提高学生对工作认真负责、一丝不苟,对同学团结友爱,协作攻关的基 本素质。 5.培养学生从资料文献、科学实验中获得知识的能力,提高学生从别人经 验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。 6.对学生掌握知识的深度、运用理论去处理问题的能力、实验能力、课程 设计能力、书面及口头表达能力进行考核。 2.2.设计题目及要求设计题目及要求 【1】设计题目 :学生信息管理系统 【2】要求 实现如下功能: (1)建立学生信息的结构体 (2)学生信息的初始化(可以从文件获取) (3)学生信息的添加、修改、删除、查找 (4)学生信息的输出 (5)对学生信息按学号、姓名查找 (6)将学生信息保存为文件 综合应用数组、指针、结构体、文件等,对该设计题目进行设计和实现。课 程设计完成后,提交课程设计报告。 3.3.设计算法分析设计算法分析 3.1 模块调用层次图 【1】变量描述 定义形式/名称含义/作用 数组char name[20]定义姓名数组 结构体struct student work[500]声明一个结构数组 全局变量int =0;float ave,sum; FILE *fp; 全局变量标记当前 录入学生个数 文件work_list.txt保存学生信息 3 函数baicun()、type_in()、 del()、change()、add ()、scan()search() 保存 录入 删除 修改 查找 插入 显示学生信息、查 找 4.4.设计平台设计平台 有 Visual C 语言编写,语言简单、紧凑,使用方便、灵活。运算符丰富,数据 类型丰富,具有结构化的控制语句,语法限制不太严格,程序设计自由度大。C 语言允许直接访问物理地址,能进行行位操作,能实现汇编语言的大部功能。生 产目标代码质量高,程序执行效率高,用 C 语言编写的程序可移植性好。 5.5.设计思想设计思想 采用了系统模块化:(1)自顶向下;(2)逐步细化;(3)模块化设计;(4) 结构化编码。用这种方法便于验证算法的正确性,在向下展开之前应仔细检查本 层设计是否正确,只有上一层正确才能向下细化。本程序分为六大模块:浏览模 块、增加模块、录入模块、修改模块、查询模块、退出。其中录入模块包括录入、 导出、保存。查询模块包括学号查询和姓名查询。浏览函数由岳映强完成,增添 模块由马玉帅完成,录入模块由章成完成,修改模块由陈耀明和徐川鹤完成,查 询模块由刘永亮完成,退出模块由钱程完成。 6.6.设计框图设计框图 Main 函数 信 息 的 浏 览 信 息 的 增 加 信 息 的 录 入 信 息 的 修 改 信 息 的 查 询 退 出 系 统 按 学 号 查 询 按 姓 名 查 询 信 息 保 存 信 息 录 入 信 息 导 出 7.各模块功能简介各模块功能简介 信息浏览模块:用导入函数调入信息,用 for 循环依次输出学生信息。 4 信息的增添模块:先确定增添人数,用 for 循环输入指针数组数据,调用保存函 数进行保存。 信息的录入模块:确定人数,for 循环依次输入信息,调用保存函数保存。 信息的修改模块:用 if(strcmp(work[i].name,name)==0) 先找出要修改的学生信息,用 switch 确定修改那一项,输入修改的数据进行保 存。 信息的查询模块:用 if(strcmp(work[i].name,name)==0)查找学生姓名,用 if(num1==work[i].num)对学号查找。 退出:用 goto 语句指向固定行。 8.主要函数流程图主要函数流程图 修改函数 开始 输入姓名 用 strcmp 查找 是否找到 输入选项 修 改 姓 名 修 改 学 号 修 改 年 龄 修 改 性 别 修 改 地 址 修 改 电 话 修 改 生 日 修 改 邮 箱 是否继续 Case1-8 N N Y Y 结束 5 查询函数 开始 输入查询姓名 用 strcmp 比较 是否找到 输出信息 结束 Y N 增加函数 开始 输入人数 输入信息 调用保存函数 是否继续 结束 Y N 删除函数 6 开始 输入姓名 用 strcmp 比较 是否找到 输出信 是否删除 指针前移 结束 是否继续 Y N Y N N Y 9.9.程序调试及分析程序调试及分析 经调试大部分功能以实现,只有学号查询出错,可能原因:指针指向出错,调用 后带回空指针。电话的数据类型不能输出全部电话位数,因为定义的长整型最大 位数小于电话位数。 1010、结束语、结束语 7 通过本次实验对 C 语言有了初步了解,但如果想要进一步了解,还应加强练习, 组员之间的配合在设计过程中是很重要的。 参考资料:参考资料:C 程序设计C 语言程序基础

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值