“学生宿舍管理系统”

C语言课程设计报告

程序功能简介

我设计的是“学生宿舍管理系统”,主要是针对住宿学生个人信息的管理,适用对象主要是学校,以方便学校对住宿学生的管理。包括学生的姓名、学号、性别、专业、班级等等。在编写过程中主要运用C语言的基本知识有:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的调用与使用)等。

课程设计要求

该程序是由C语言编写的一个学生宿舍管理查询软件,程序在Microsoft Visual C++ 6.0下运行,其主要功能是实现对学生信息的录入、添加、删除、修改、查询、统计。其中查询可以分别以姓名、学号、宿舍号为关键字查询学生信息。统计可以分别以学号、宿舍号、性别、班级、专业为关键字进行统计,并且输出信息按学号大小从小到大输出。

源程序分析

结构分析

方案设计

主函数

主函数

录入模块

添加模块

修改模块

删除模块

查询模块

统计模块

退出系统

学号

姓名

班级

宿舍

性别

年龄

专业

返回

按姓名

按学号

按宿舍

返回

按学号

按宿舍

按性别

按班级

按专业

返回

数据结构说明

程序中数据主要是学生信息,具体属于类型如下:

struct st_message

char name[20]; /*学生姓名*/

char dorm[7]; /*宿舍号*/

char num[10]; /*学号*/

char sex[5]; /*性别*/

char age[4]; /*年龄*/

char major[20]; /*专业*/

char classs[8]; /*班级*/

模块功能说明

第一录入模块:调用input_message(),对住宿学生信息进行录入。

第二添加模块:调用append_message(),对新来学生信息进行添加录入。

第三修改模块:调用revise_message(),对需修改学生的信息进行修改。

第四删除模块:调用delete_message(),对某一学生信息进行删除操作。

第五查询模块:调用find_message(),分别以姓名、学号、宿舍号对学生信息进行查询。

第六统计模块:调用census_message(),分别以学号、宿舍号、性别、班级、专业方式对学生信息进行统计,并按学号由小到大输出。

编程中遇到的问题及解决方法

在调试过程中,时常会出现输入或显示为乱码的情况,这可能是上下定义的数据类型不同或定义数组长度不够所导致的。有时候程序中还会出现录入五个数据而只显示四个的情况,这也经常是因为定义的结构体数组长度过低所造成的。像这些问题只要把数据类型都定义成字符型,并且定义一个合理的数组长度一般都能解决。

在调试过程中我遇到最大的问题出现在删除模块。在运用“rt+”打开文件并对某一数据进行删除后,往往显示会多显示一行数据。这是由于“rt+”写数据时只会覆盖数据而不会清除原文件数据,因此文件最后一行数据总会保留在原文件中。后来我先用“rt”打开文件并读取文件中的数据,然后再用“wt”打开原文件将删除后的数据重新写入文件,最终成功运行。

程序运行截屏与结果分析

测试数据

对功能1(录入学生信息)的测试:按照先后顺序分别输入学生信息:

学号 姓名 班级 宿舍号 性别 年龄 专业张三 051111 429 女 18 土木工程李四 041111 218 男 18 信息工程

对功能2(添加学生信息)的测试:按照先后顺序分别输入学生信息:

学号 姓名 班级 宿舍号 性别 年龄 专业陈红 021111 429 女 18 机械系赵娜 031112 101 女 18 能源与环境

对功能3(修改学生信息)的测试:输入要修改学生的姓名:林丹,系统显示“该学生信息不存在”。输入修改学生姓名:张三,系统显示出该学生信息。选择修改学号为系统显示出修改后的学生信息。

对功能4(删除学生信息)的测试:输入要删除学生的学号系统显示“该学生信息不存在”。输入要删除的学生的学号系统显示出该学生信息。选择删除该学生信息。

对功能5(查询学生信息)的测试:查询宿舍号为429的信息,系统显示为:

学号 姓名 班级 宿舍号 性别 年龄 专业陈红 021111 429 女 18 机械系张三 051111 42

用c语言编程宿舍管理系统,学生宿舍管理系统 C语言编程.doc相关推荐

  1. javaweb JAVAJSP高校学生宿舍管理系统JSP宿舍管理系统学生公寓管理系统校园宿舍管理

    JSP高校学生宿舍管理系统JSP宿舍管理系统学生公寓管理系统校园宿舍管理 大家好,很高兴和大家分享Java项目和经验.不管同学们是出于什么需求.都希望各位计算机专业的同学有一个提高. 本系统采用ecl ...

  2. c语言学生学籍管理修改,C语言课设之学生学籍管理系统.doc

    C语言课设之学生学籍管理系统.doc 题目学生学籍管理系统 目录一.个人简介.二.报告摘要.三.报告目录.四.报告正文. 1.系统需求分析 2.系统总体设计 3.系统详细设计六.总结. 二.报告摘要 ...

  3. 课设 c语言编译学籍管理系统,C语言课设之学生学籍管理系统

    <C语言课设之学生学籍管理系统>由会员分享,可在线阅读,更多相关<C语言课设之学生学籍管理系统(10页珍藏版)>请在人人文库网上搜索. 1.题目:学生学籍管理系统 目录:一.个 ...

  4. c语言声明第一个学生的成绩,C语言课程设计报告--学生成绩管理系统

    <C语言课程设计报告--学生成绩管理系统>由会员分享,可在线阅读,更多相关<C语言课程设计报告--学生成绩管理系统(30页珍藏版)>请在人人文库网上搜索. 1.学生成绩管理系统 ...

  5. 用C语言写的学生管理系统,C语言实现简单的学生成绩管理系统

    最近在问答上帮提问者回答问题,有遇到求C语言实现学生管理成绩系统,需求非常简单,就顺手码了下代码.我觉得这种比较小的系统,可以收录起来,做一个C语言基础学习目录也是不错的主意. 因为当时的问题已经找不 ...

  6. MFC超市商品管理系统学生成绩管理系统学生信息管理系统通讯录管理系统图书管理系统

    MFC超市商品管理系统学生成绩管理系统学生信息管理系统通讯录管理系统图书管理系统 序号 题目 数组保存数据 文件保存数据 数据库保存数据 1 超市商品管理系统 2 学生成绩管理系统 3 学生信息管理系 ...

  7. c语言统计宿舍 信息,学生宿舍管理系统C语言.doc

    <C语言程序设计>课程设计报告 题 目: 学生宿舍管理系统 专 业: 软件技术 班 级: 软件技术1班 姓 名: 李桦楠 齐忠春 周滨滨 徐烨 潘喜隆 郑竹强 学 号: 124109124 ...

  8. c语言编程项目实践报告快递管理系统,学生成绩管理系统C语言程序设计实践报告.doc...

    学生成绩管理系统C语言程序设计实践报告 (此文档为word格式,下载后您可任意编辑修改!) 中南大学 C语言程序设计实践报告 题 目 学 生 成 绩 管 理 系 统 学生姓名 木雕小象 指导教师 × ...

  9. c语言结构体编辑学生成绩管理,C语言基于结构体的学生信息管理系统实现

    宋福英 摘  要: 中国高校为保证学生信息安全,各分院的学生信息都在一个相对封闭的闭环内共享.中国高校在校生人数逐年递增,给高校的信息管理带来不小压力.C语言兼具高级语言和汇编语言的特点,简洁.紧凑. ...

最新文章

  1. 小白成长之路_LeetCode刷题记录
  2. 三篇ISME讨论‘1%的微生物可培养’
  3. Terraform 是什么?
  4. Java学习笔记13(equals()方法;toString()方法)
  5. [转载]INF文件格式说明
  6. mysql 5.6 proxy_mysql-5.6+mysql-proxy构建主从复制与读写分离
  7. pro c中varchar类型变量的arr函数是做什么用
  8. Spring 运用 pointcut 和 advisor 对特定的方法进行切面编程
  9. C-Free 5.0编译失败问题解决办法
  10. 算法导论课后习题解析 第四章 下
  11. java后端模拟http请求_Http请求后端
  12. gitignore.io-程序猿值得拥有的智能生成gitignore文件的秘密武器
  13. 十大经典算法总结(JavaScript描述)
  14. JAVA如何校验txt的文本编码格式
  15. MOS管导通条件概述-过程-压降-提高效率等详解
  16. 暴力破解密码 - C++ 递归方法实现
  17. 数字游戏-SSL 1653
  18. 我讲了一个故事,珍爱红娘来电话靠谱吗?这个男生太渣了!
  19. 『精华』技术大牛养成指南,一篇不鸡汤的成功学实践
  20. 2023年非证券类投资银行业研究报告

热门文章

  1. 论文笔记--Inductive Graph Neural Networks for Spatiotemporal Kriging
  2. 数据挖掘项目——Airbnb 新用户的民宿预定结果预测
  3. HDMI接口的HPD问题
  4. LaTex 如何生成参考文献
  5. linux解压rar文件,linux下解压rar文件
  6. 三菱FX系列PLC的modbusTCP以太网通讯
  7. yarn install出现异常 error An unexpected error occurred: “EIO: i/o error
  8. 新蓝海之门,或将由数据信托来打开!
  9. 使用GitHub Actions实现Hexo博客自动发布
  10. mwt是什么意思网络用语_skr、xswl、zsqg…这些网络用语你知道是什么意思吗?