学生信息管理系统程序设计报告
1-学生籍贯信息管理系统报告

合肥学院计算机科学与技术系课程设计报告2013 ~2014 学年第2 学期课程面向过程综合设计课程设计名称学生籍贯信息记录簿设计学生姓名司雨学号1304092019专业班级软件工程(2)班指导教师徐静华姗姗2014 年6 月一、需求分析随着学校办学规模的不断扩大、办学层次的多样化、在校生的不断增多.开发这系统可以是教务处老师减轻工作压力,比较系统的对学生进行管理,加快速度、加强管理,使各项管理更加规范化。
要求设计一个学生籍贯信息记录簿系统,该系统要求对学生籍贯信息进行管理和维护,系统中学生信息应该包括:学号、姓名、性别、年龄、籍贯。
创建信息链表并以磁盘文件保存;读取磁盘文件并显示输出所有学生的籍贯信息;按学号或姓名查询其籍贯;按籍贯查询并输出该籍贯的所有学生;能添加、删除和修改学生的籍贯信息.为了解决这些问题,在程序设计中,会设计解决相应问题的子函数,在主函数中进行调用。
二、算法设计(一)设计思想:流程图(二)、设计表示为了更好地满足题目上的信息要求,从而创建了结构体类型,用于储存所有学生的籍贯信息。
结构体类型如下:typedef struct student //定义新结构体 student{char name[20]; //定义名字int num; //定义学号char sex[10]; //定义性别int age; //定义年龄char location[20];//定义籍贯}S;每个子函数原型及其功能如下:(1)void PUT该函数为磁盘文件内容的读取函数,将学生的籍贯基本信息存储于txt文档文件中。
用此函数来读取并显示,从而实现籍贯信息的现实,函数模块的运行成功.(2)void menu该函数为显示菜单函数,为用户提供选择的功能。
在该函数内包含了各个功能函数对应的号码,键入后即可以实现所需要使用的功能。
(3)void NUM该函数为按学号查找学生信息函数,当用户键入一个学生学号时,就会判断输入的号码与文件中哪个号码一致,当号码一致时,输出该号码对应的学生所有信息。
学生信息管理系统VB

河北联合大学《软件设计基础(VB)》课程设计报告设计名称:学生信息管理系统姓名:学号:专业班级:学院:设计时间:设计地点:学校机房目录1.课程设计目的 ···············································································2.课程设计任务与要求 ······································································3.课程设计说明书 ············································································4.课程设计成果 ···············································································5.程序调试过程 ···············································································6.设计问题的不足和改进方案 ·····························································7.课程设计心得 ···············································································8.附录 ···························································································9.参考文献 ·····················································································4.课程设计成果运行结果(可用屏幕抓图的方法说明)(五号,宋体)(多页)图1图2图3图41.登陆界面有账号和密码保护功能如图12.学生信息管理界面如图23.保存界面如图34.学生信息查询界面如图4。
jsp学生管理系统课程设计报告

杭州师范大学钱江学院课程设计题目学生信息管理系统教学院信息与机电工程分院专业计算机科学与技术班级计算机091姓名方伟宏指导教师吕明琪2011 年12 月25 日目录一.概述 (3)二.系统的结构分析与设计 (3)2.1 整体设计 (3)2.2 模块设计 (4)三.系统的实现 (5)3.1 登录界面 (5)3.2 学生信息界面 (6)3.3 学生信息查询,编辑,新增界面 (7)3.4 连接数据库 (11)四.总结................................................................................................. .16一概述一直以来学生的成绩管理是学校工作中的一项重要内容,我国的大中专院校的学生成绩管理水平普遍不高。
随着办学规模的扩大和招生人数的增加,建立一个成绩维护系统是非常必要的。
普通的成绩管理已不能适应时代的发展,因为它浪费了许多的人力和物力。
在当今信息时代这种传统的管理方法必然被以计算机为基础的信息管理系统所代替。
为了提高成绩管理的效率,我选择了学生成绩管理系统作为毕业设计的课题。
本系统在大多数成绩管理系统的基础上,主要增加了教师对成绩的操作,教师改完试卷后不用在往学院的教务处办公室报送成绩,可以直接的把成绩上传到网络上,学生也可以方便快速的查询到自己的成绩,考试后教务管理人员也不必总呆在学院的办公室,他们都不受时间,位置,空间的限制,只要有上网的条件,在家里就可二系统的结构分析与设计2.1 整体结构设计基于系统的使用对象是管理员,系统根据功能需要分为三个模块,即学生基本信息管理、新增学生信息管理和查询学生信息管理。
采用B/S模式,jsp+SQL 2008+JavaBean 的技术形式实现。
2.1.1 用户角色设计及权限分配管理员:拥有管理系统所有功能的权限,同时负责系统的用户的增删,服务功能的起停,数据的备份、还原等维护操作;2.1.2 系统模块设计学生信息管理系统包括三个基本模块:学生基本信息管理、新增学生信息管理和查询学生信息管理。
C语言程序设计实验实验报告7

C语言程序设计实验实验报告7实验名称:链表实现学生信息管理系统实验目的:通过设计链表实现学生信息管理系统,掌握链表的操作方法及其应用。
实验内容:设计一个学生信息结构体,包括学号、姓名、性别、年龄和成绩五个成员变量,并选择链式结构存储这些数据。
实现以下功能:1. 添加学生信息:从键盘输入学号、姓名、性别、年龄和成绩等信息,添加到链表中。
2. 删除学生信息:从链表中删除指定学号的学生信息。
5. 按成绩排序:按学生的成绩从高到低排序,并输出所有学生的信息。
7. 退出程序:退出学生信息管理系统。
实验方法:1. 设计学生信息结构体,定义链表节点结构体,并编写初始化链表和销毁链表的函数。
2. 编写添加学生信息函数,新建链表节点并插入链表末尾。
3. 编写删除学生信息函数,根据学号查找需要删除的节点,先将该节点从链表中删除,再释放节点空间。
4. 编写修改学生信息函数,根据学号查找需要修改的节点,并修改其成员变量。
6. 编写按成绩排序函数,使用冒泡排序法对链表进行排序,并输出所有学生的信息。
7. 编写输出所有学生信息函数,遍历链表并输出每个节点的信息。
8. 完成学生信息管理系统的主函数,实现菜单及相应功能的选择。
实验结果:依次选择菜单中的各个功能,添加、修改、删除、查找、排序和输出学生信息都能实现。
经测试,程序稳定运行,功能正常,符合需求。
本次实验主要让我们掌握了链式结构的概念、链表节点的定义、链表的初始化、插入、查找、删除和销毁链表的操作方法,以及在实际应用中如何使用链表来实现数据管理。
虽然链表操作相对于数组稍微有些繁琐,但其可以灵活处理数据结构的长度变化,具有更高的可扩展性和更好的操作效率,可以更好的适应各种实际需求。
在实验中,还需要注意节点指针的正确使用、各个函数之间的调用关系和输入输出数据格式的合理选择等问题,以保证程序能够正常运行。
同时,还需要保持认真细致的态度,严格按照实验需求和要求来完成每个步骤,以达到更好的实验效果和运行效率。
学生信息管理系统实验报告

西安郵電學院数据库原理及应用设计报告题目:学生信息管理系统院系名称:理学院专业名称:信息与计算科学班级:学生姓名:学号(8位):****:***设计起止时间:2011年12月19日~2011年12月30日一. 设计目的学生管理系统是高校管理工作中一项非常重要的组成部分。
用户的需求具体体现在各种信息的提供、保存、更新和查询方面,这就要求数据库结构能充分满足各种信息的输出和输入。
收集基本数据、入。
收集基本数据、数据结构以及数据处理的流程,为后面的设计打下基础。
本系统是针对数据结构以及数据处理的流程,为后面的设计打下基础。
本系统是针对高等院校的学生信息管理,高等院校的学生信息管理,因此学生信息管理系统的用户包括系统管理员、因此学生信息管理系统的用户包括系统管理员、因此学生信息管理系统的用户包括系统管理员、教师和学生。
教师和学生。
主要涉及学生信息、课程信息以及选课记录和成绩等数据信息。
要涉及学生信息、课程信息以及选课记录和成绩等数据信息。
二 设计内容学生管理信息系统的功能总结起来,共需要以下几个方面。
学生管理信息系统的功能总结起来,共需要以下几个方面。
1、管理学生信息、管理学生信息管理所有学生的基本信息,包括添加、修改、删除等;可以根据各种条件查询出需管理所有学生的基本信息,包括添加、修改、删除等;可以根据各种条件查询出需 要的信息。
要的信息。
2、管理课程信息、管理课程信息 管理所有学生的基本信息,包括添加、修改、删除等;可以根据各种条件查询出需要的信息。
要的信息。
3、管理选课与成绩、管理选课与成绩根据学号进行选课,登记所选课程的成绩;可以根据学号查询出选课信息与成绩。
根据学号进行选课,登记所选课程的成绩;可以根据学号查询出选课信息与成绩。
三.概要设计管理员负责对学生信息,课程信息,成绩信息的输入。
学生可以完成查询和选课的功能。
1.功能模块图;(1)系统管理模块,进入系统后,可以选择退出系统)系统管理模块,进入系统后,可以选择退出系统学生信息管理学生信息管理学生学生 管理员管理员选课 操作 信息查询 学生管理 课程管理 成绩管理 信息查询(2)学生管理模块,包括学生信息添加,删除,修改。
学生信息管理系统

学生信息管理系统学生信息管理系统工程设计报告学生信息管理系统〔Student Information Management System〕,以下简称SIMS,是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统〔Management Information System〕。
它是一个教育单位不可缺少的局部,它的容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。
能有效的帮助学校和教师掌握学生的情况,为学生供成绩跟课程方面的查询。
在传统模式下利用人工进展学生信息管理,存在着较多的缺点,如:效率底,XX性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等。
诸如这些情况,令学校管理者对学生的信息管理带来了很大困难,严重影响了教育工作者的工作效率。
随着科学技术的不断提高,计算机科学日渐成熟, 使用日趋成熟的计算机技术来代替传统的人工模式,来实现学生信息的现代化管理,其强大的功能已为人们深刻认,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一局部,使用计算机对学生信息进展管理,具有着手工管理所无法比较的优点.例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、XX性好、寿命长、本钱低、便于打印等。
这些优点能够极大地提高学生信息管理的效率,也是学校的科学化、正规化管理,与世界接轨的重要条件。
用计算机制作的学生信息管理系统还可以通过功能强大的Internet网及时的向学生的家长传递该生在校的最新成绩,有助于学校与家长的信息互动,为更好地把握学校的教育方针一定的促进作用。
因此,开发这样一套管理软件成为很有必要的事情。
一、需求分析该学生信息管理系统主要功能:学生通过输入学号和密码进入该系统后,可以进展一些根底维护〔学生信息维护、课程信息维护、选课信息维护〕。
全部都可以进展增加、修改、删除、模糊查询。
随着科学技术的开展和整个社会的进步,计算机技术也得到了很大的提高,特别是微型计算机的大围普及,是计算机的应用逐渐有科学计算、实时控制等方面向非数值处理的各个领域渗透并发挥着越来越重要的作用。
中小学生学业信息管理系统课程设计报告word版
课程设计报告设计名称:面向对象课程设计选题名称:中小学生学业信息管理系统(2).建立学生成绩表(含学号、课程号以及分数)(3).建立学生信息表(含学生学号、姓名、年龄、性别以及年级)(4).建立教师课程表(含教师号、课程号及上课时间)(5).建立教师信息表(含教师号、教师名、教师年龄、性别以及所教年级)(6).建立管理员信息(含管理号、密码以及管理身份)(7).建立虚拟表(含学号、姓名、课程号、课程名、成绩、教师号以及教师姓名)3.3.2模块实现(1)成绩添加模块(2)课程添加模块(3)添加学生模块(4)添加教师模块(5)成绩统计模块(6)注销信息模块(7)成绩修改模块(8)学生删除模块(9)系统退出模块(10)系统帮助模块(11)系统登录模块(12)管理员操作模块(13)家长会信息模块(14)系统信息模块(15)系统注册模块(16)重置密码模块(17)信息查询模块(18)学生操作模块(19)教师操作模块3.4 调试分析3.4.1登录界面3.4.2管理员用户界面(1)总界面(2)查询界面(3)添加信息界面A.添加学生B.添加教师C.添加课程(4)注册用户界面(5)统计界面A.排序(6)注销用户界面(7)修改密码界面(8)退出系统界面3.4.3教师操作界面(1)总界面(2)添加界面(与管理员相似)(3)修改界面(4)删除界面(5)统计界面(与管理员相同)(6)查询界面(与管理员相同)(7)修改密码界面(与管理员相同)(8)退出系统界面(与管理员相同)3.5.3学生操作界面(1)总界面(2)查询界面(3)家长会界面(4)修改密码界面(与管理员相同)(5)退出系统界面(与管理员相同)毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
学生管理系统java课程设计
学生管理系统 Java 课程设计本文介绍了一个简单的学生管理系统 Java 课程设计,包括系统的需求分析、数据库设计、界面设计和功能实现等方面,旨在为初学者提供一个参考。
下面是本店铺为大家精心编写的3篇《学生管理系统 Java 课程设计》,供大家借鉴与参考,希望对大家有所帮助。
《学生管理系统 Java 课程设计》篇1一、需求分析本系统旨在实现对学生信息的管理,包括学生的学号、姓名、性别、出生日期、政治面貌、家庭住址、电话、宿舍号等信息。
系统需要提供查询、增、删、改等功能,数据存储可以使用数据库或文件。
二、数据库设计本系统采用 MySQL 数据库进行数据存储,创建一个名为“student”的数据表,包含以下字段:- 学号:id- 姓名:name- 性别:gender- 出生日期:birthday- 政治面貌:politics- 家庭住址:address- 电话:phone- 宿舍号:dormitory三、界面设计本系统采用 Java Swing 进行界面设计,主要包括以下组件:- 主界面:包含学生信息查询、添加、修改、删除等功能按钮。
- 学生信息查询界面:显示学生的详细信息,包括学号、姓名、性别、出生日期、政治面貌、家庭住址、电话、宿舍号等。
- 学生信息添加界面:允许用户输入学生的信息,并保存到数据库中。
- 学生信息修改界面:允许用户修改学生的信息,并保存到数据库中。
- 学生信息删除界面:允许用户选择要删除的学生信息,并从数据库中删除。
四、功能实现本系统的功能实现主要包括以下几个方面:1. 学生信息查询用户可以在主界面点击“查询”按钮,进入学生信息查询界面。
在查询界面,用户可以输入学号或姓名等查询条件,系统会显示符合条件的学生信息。
2. 学生信息添加用户可以在主界面点击“添加”按钮,进入学生信息添加界面。
在添加界面,用户需要输入学生的详细信息,如学号、姓名、性别、出生日期、政治面貌、家庭住址、电话、宿舍号等。
华南农业大学学生信息管理系统报告
文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. 程序设计实践训练课程设计报告姓名:李爽爽华南农业大学工程学院摘要本系统采用MFC编程,开发了一个应用于教学管理的学生信息管理系统。
使用的控件主要有列表控件、编辑控件、按钮控件等。
功能包括学籍管理、信息查询、教务信息维护和学生学分登记情况。
其中,学生信息包括学生的姓名、性别、学号、所在班级、所修的总学分等。
学生信息的查询,可以采用两种方式查询,学号查询和姓名查询,查询结果显示在编辑框中。
学生信息的删除也可以采用学号和姓名查询,查询到后点击删除即可。
输入完成后,可以将学生信息保存在txt文件中。
同时可以点击导出学生信息查看保存的信息。
另外,采用选择排序法对学生学分进行排序,排序后结果显示在列表框中,点击保存则可将修改保存到文件中。
其特点在于VC编程实现了可视化,直观易操作,可适用于日常教学信息管理。
创新编程方法在于使用了控件与变量相关联,调用更新函数实现变量与控件之间的传递,简化了编程步骤。
目录1.需求分析 (4)2.概要设计 (4)2.1 数据类型定义 (4)2.2 主程序流程 (5)3.程序实现 (8)4.运行结果 (14)5.讨论及进一步研究建议 (18)6.课程设计心得 (19)A BSTRACT (20)参考文献 (21)1.需求分析1.1设计学生信息管理系统的目的随着学校的规模不断过大,学生数量急剧增加,有关学生的各种信息量也成倍增加。
面对庞大的信息量需要有学生信息管理系统来提高学生管理工作的效率。
通过这样的系统可以做到信息的规范化管理、科学性统计和快速查询、修改、增加、删除、排序等,从而减少学校对学生管理方面的工作量。
本系统主要应用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是计算学生各种信息进行日常管理,如查询、修改、增加、删除、排序,针对这些要求设计了学生信息管理系统。
1.2课程设计的要求学生信息管理系统课题只要的要求包括以下五方面:系统以菜单的方式工作、学生信息录入(学生信息用文件保存)、学生信息浏览功能、查询排序功能、学生的信息删除与修改功能2.概要设计本程序是一个基于MFC对话框的C++应用程序,程序功能主要在CTestDlg类下编辑,数据类型包括控件与变量相联系、结构体、指针等基本数据类型。
学生信息管理系统数据结构课程设计
华中科技大学文华学院数据结构课程设计报告题目:学生信息管理系统专业:计算机应用与技术学号:姓名:指导老师:时间:一、总体框架图1、题目:学生信息管理系统2、设计内容及要求:内容:完成简单的学生信息管理系统要求:(1)学生信息包括:学号、、数学成绩、英语成绩、数构成绩;(2)用链表存放学生信息;(3)实现简单的菜单调用;(4)程序的功能包括:学生信息链表的建立;学生信息的显示;学生信息的查询;学生信息的删除;学生信息的插入;编写算法,以实现基本要求。
二、本程序用到的基本操作InintList(&l):操作结果:构造一个空的线性表L。
DestroList(&L)初始条件:线性表已存在。
操作结果:销毁线性表。
ListInsert(&L,i,e)初始条件:线性表L已存在,操作结果:在L中第i 个位置之前插入新的数据元素e。
L的长度加1.ListDelete(&L,i,e)初始条件:线性表L已存在且非空操作结果:删除L的第i个数据元素,并用e返回其值,L的长度减1.}ADT List三、模块设计模块一:头文件,变量定义,函数的声明对系统所使用的变量进行定义,对函数进行声明模块二:结构体的建立,定义学生的学号,名字,和各成绩模块三:学生信息系统使用菜单声明函数void menu(),对整个系统进行明模块四:链表的建立,用void creat()来建立链表模块五:显示学生信息,声明void print()显示学生的信息模块六:学生信息的查找声明void search()为查找函数,通过switch(a)设定用学号查找,用姓名查找两个分支模块七:删除学生信息通过void delete()实现学生信息的删除,确定要删除的信息,再删除掉。
模块七:插入学生信息,通过void insert()为插入函数,通过switch(a)插入到指定学生的后面。
模块八:学生信息按学号排序声明void sort()将录入学生系按升序排列,用的是“冒泡排序法”实现排序四、系统设计流程图五、源代码#include "stdio.h"#include "stdlib.h"#include "string.h"#define STUDENT 2typedef struct student{int num; //学号char name[20]; //int math;//高数int English;//英语int Data;//数据结构struct student *next;}student;student *head=NULL;int length; //链表的长度void create(){student *p1,*p2;length=0;int number=0;p1=(student *)malloc(sizeof(student));p1->num=-1;if(head==NULL)head=p1;printf("请输入学生的学号、、高数、英语、数据结构:\n");while(number<=3){p2=(student *)malloc(sizeof(student));scanf("%d %s %d %d %d",&p2->num,p2->name,&p2->math,&p2->English,&p2-> Data); //输入学生信息if(p2->num==0){printf("链表创建完成!\n");break;}length++; //链表的长度p1->next=p2;p2->next=NULL;p1=p1->next;number++;}return ;}void display(){student *p=head->next;printf("链表中所有的学生信息如下:\n");while(p!=NULL){printf("%d %s %d %d %d\n",p->num,p->name,p->math,p->English,p->Data);p=p->next;}return ;}void search(){int num_;student *p=head->next;printf("需要查找的学生学号为:");scanf("%d",&num_);while(p!=NULL){if(p->num==num_){printf("学号为%d的学生的信息如下:\n",num_);printf("%d %s %d %d %d\n",p->num,p->name,p->math,p->English,p->Data);return;}p=p->next;}if(p==NULL)printf("无此记录!\n");return ;}void search1()char na_me[20];student *p=head->next;printf("需要查找的学生姓名为:");scanf("%s",na_me);while(p!=NULL){if(!(strcmp(p->name,na_me))){printf("姓名为%s的学生的信息如下:\n",na_me);printf("%d %s %d %d %d\n",p->num,p->name,p->math,p->English,p->Data);return;}p=p->next;}if(p==NULL)printf("无此记录!\n");return ;}void insert(){int num_,i;student *p,*q;p=head;printf("请输入你要插入位置: ");scanf("%d",&num_);if(num_>length){printf("找不到要插入的位置\n");return ;}else{printf("请输入你要插入的学生的学号、、高数、英语、数据结构:\n");q=(student *)malloc(sizeof(student));scanf("%d %s %d %d %d",&q->num,q->name,&q->math,&q->English,&q->Data);while(p!=NULL){if(p->num==q->num){printf("该学号已经存在,无法插入!\n");return ;}p=p->next;}p=head;for(i=0;i<num_;i++)p=p->next;q->next=p->next;p->next=q;length++;printf("插入成功!\n");return ;}}void Delete(){student *p,*q;q=head,p=head->next;printf("请输入要删除的学生的学号:\n"); scanf("%d",&num_);while(p!=NULL){if(p->num==num_){q->next=p->next;free(p);length--;printf("删除成功!\n");return ;}p=p->next;q=q->next;}if(p==NULL){printf("找不到要删除的编号!\n");}}void menu(){printf("________________________________________________________________\n");printf("| 学生信息管理系统|\n");printf("| 0、退出系统|\n");printf("| 1、建立链表|\n");printf("| 2、显示链表|\n");printf("| 3、查找链表中的某个学生信息|\n");printf("| 4、删除链表中指定学号的学生|\n");printf("| 5、指定的位置上插入一个学生|\n");printf("________________________________________________________________\n");return ;}int main(void){int a;menu();while(1){printf("请选择相应的功能:");scanf("%d",&a);switch(a){case 0:return 0;case 1:create();menu();break;case 2:if(head){display();menu();}else{printf("链表为空,请先建立链表!\n");menu();}break;case 3:if(head){printf("请选择是按学号查找还是按姓名查找,若是学号就按7,姓名按8\n");scanf("%d",&choice);if(choice==7){search();}else{search1();}menu();}else{printf("链表为空,请先建立链表!\n");menu();}break;case 4:if(head){Delete();menu();}else{printf("链表为空,请先建立链表!\n");menu();}break;case 5:if(head){insert();menu();}else{printf("链表为空,请先建立链表!\n");menu();}break;default:break;}}system("pause");return 0;}六、程序结果建立链表显示链表查询学生信息按学号查按姓名查删除信息插入信息退出系统七、心得体会这次的《学生信息管理系统》的设计中,使我懂得课堂上的知识,必须要通过实践操作才能掌握。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
湖南大学程序设计训练报告 学生信息管理系统 第1页 HUNAN UNIVERSITY 程序设计训练 报 告
学生姓名 李乐平 学生学号 20110602212 专业班级 市场营销二班 指导老师 贺再红 院长 (系主任) 马 超 群 2012 年 7 月 2 日 湖南大学程序设计训练报告 学生信息管理系统
第2页 目 录 一 系统功能简介......................................3 二 本人完成的主要工作 .................................3
三 实训分析 ............................... ..4 四 实训设计 ........... ....................5 五 实训源程序代码和调试过程 .....................7 六 实训总结 .................................11 附录1................................12 附录2 .................................12-22
湖南大学程序设计训练报告 学生信息管理系统
第3页 一 系统功能简介 .学生信息管理系统 1, 进入主界面:要求输入密码,输入三次错误系统锁定。 2,输入记录:将学生的基本信息包括学号,姓名,性别,地区,分数等数据作为一个记录写入文件。 3,显示记录:显示学生的各项信息 。 4,增加记录: 增加多个学生的基本信息,位于之前的学生后面。 5,删除记录: 删除学生信息。 6,修改记录:可以修改学生的任何一项基本信息。 7,查找记录:可以根据学生的学号查找并显示出学生的信息。 8,统计记录: 统计全班通过情况和不及格情况。 9,退出系统 经过逐层逐块、不断细化、求精过程,编写程序并进行测试、验证,可以逐个模块地分开调试,并通过文件包含或用工程文件的形式进行逐步联合调试。
二 本人完成的主要工作 学生信息管理系统由我和龚晨同学共同完成。主程序的编写由我们两个共同完成。 我负责的是: 1、修改记录:可以修改学生的任何一项基本信息。 2、查找记录:可以根据学生的学号查找并显示出学生的信息。 3、统计记录: 统计全班通过情况和不及格情况。 4、退出系统
三 实训分析 1、用结构化程序设计思想进行 C环境下程序设计。 湖南大学程序设计训练报告 学生信息管理系统 第4页 2、设计一个管理系统,上机编程、调试并通过该管理系统中的各功能模块。 3、设计完成后,每人必须提交程序清单及关于程序设计、维护和使用方面的图文材料即程序设计说明书各一份。 4、基于结构化程序设计思想和所使用的 C语言开发环境与开发工具,并运用“软件工程”和“数据结构”中的有关概念和方法,针对具体设计题目和要求,分析功能要求,划分功能模块,用链表结构设计功能模块函数,以菜单方式调用相应功能模块来实现信息和数据处理
四 实训设计 1、系统功能模块结构图 本图书管理系统理由输入记录,显示记录,增加记录,删除记录,修改记录,统计数据,查找记录,七个大模块组成,其总体结构图如下:
2.核心数据结构设计: 1.头文件说明 如: #include #include #include
增加记录模块 修改记录模块
删除记录模块
修改记录模块 统计记录模块
输入记录模块 显示记录模块 查找记录模块 退出系统
学生信息管理系湖南大学程序设计训练报告 学生信息管理系统
第5页 #include 2,函数的编写 定义结构类型; 定义全局变量; 定义、编写记录(数据)输入函数; 定义、编写记录(数据)显示函数; 定义、编写记录(数据)增加函数; 定义、编写记录(数据)删除函数; 定义、编写记录(数据)修改函数; 定义、编写记录(数据)统计函数; 定义、编写记录(数据)查找函数; 函数名称 函数功能 enter() 进入函数 input(); 输入函数 display() 显示函数 add () 增加函数 delet() 删除函数 amend() 修改函数 preside (); 统计函数 fint (); 查找函数 output(); 退出函数
3. 核心算法描述(程序流程图) 主函数结构流程
初始化、定义主菜单、分支菜单指针数组及变量 程序开始
读键盘按键的键值 湖南大学程序设计训练报告 学生信息管理系统 第6页 N Y
五 实训源程序代码和调试过程(包括截图) 1.1进入界面
判断键值并弹出对应菜单 根据按键执行菜单选项对应的函数 从被调用函数中返回并转移
退出管理系统
用户按了1-8键吗? N 湖南大学程序设计训练报告 学生信息管理系统
第7页
图一 输入密码进行身份验证,输入三次则系统锁定。
1.2选择菜单
图二 主菜单接界面,选择数字执行相应功能。 1.3输入信息 湖南大学程序设计训练报告 学生信息管理系统 第8页 图三 依次输入学生的各项基本信息。 1.4 显示信息
图四 可以显示录入及增加的各项信息。 1.5 增加信息 湖南大学程序设计训练报告 学生信息管理系统 第9页 图五 根据需要添加新的学生信息。 1.6 删除记录
图六 删除信息。 1.7修改记录 湖南大学程序设计训练报告 学生信息管理系统 第10页 图七 可修改任何学生的任何一项纪录。
1.8 统计信息
图八 对所有的信息进行统计显示不及格人数。 1.9 查找信息 湖南大学程序设计训练报告 学生信息管理系统 第11页 图九 根据学号查找出需要的学生信息。 六 实训结论 通过C语言实训,让我加深了对C语言的了解,而不只是单单的在课本中学到的那些理论,平时乏味的课程,通过自己动手亲自编写,变的生动有趣,而在自己动手的过程中,出现的问题很多,比理论要难的多,当一个程序写完以后,经常会有很多错误而没法解决。不过,通过几天的实训,逐渐积攒了一些经验,有些错误可以较快看出来。
这次实训有很大的收获,让我对C语言有了更深的认识,平时在课堂上学到的东西可以自己动手编写,将其转化成一些实用的技能。如果是一个程序写完一处错误也没有,会有种成就感,于是兴趣就来了,兴趣来了,自然学的东西也就多了,能把理论变成实际的技能,让我对C语言有了浓厚的兴趣和更深层的认识。
C语言是一个有序的学习,条理很清楚,不是一个零散的知识,实际上所有的课程都如此,要从整体上把握。不过通过实训我也知道了自己的不足,存在的很多问题。希望能在以后的学习中,不断提高自己的能力,让问题越来越少。
附录1 参考文献
[1 ] 刘振安等.C程序设计课程设计.北京:机械工业出版社,2004.9 [2] 谭浩强等.c语言程序设计.(第二版).清华大学出版社,2002,.8 [3] 张引等著《C程序设计设计基础课程设计》浙江大学出版社 2007 [5] 曹哲等 《C程序设计课程设计》 机械工业出版社 2010.7 湖南大学程序设计训练报告 学生信息管理系统 第12页 附录2 源程序代码 #include #include #include #include #define N 20 struct student /*定义学生结构体*/ { long num; char name[20]; char sex[2]; char address[20]; int score[3]; int sum; int ave; }; struct student stu[N]; int t=1,pl=0; void enter(); void input(); void display(); void add(); void delet(); void amend(); void preside(); void fint(); void output(); void main() { int password; int i; printf("\n\n\n\n\t\t\t欢迎进入学生信息管理系统\n"); /*初始界面 输入验证密码*/ 湖南大学程序设计训练报告 学生信息管理系统 第13页 for(i=1;i<=3;i++) { printf("\n\n\t\t\t请输入密码:"); scanf("%d",&password); if(password==000000) { enter(); break; } printf("error!please input again!"); } printf("密码输入三次有误!系统锁定!");
} void enter() /*进入主菜单函数*/
{ int choice,w; char k; system("cls"); printf("\t\t\t学生信息管理系统\n\n"); printf("\t\t1. 录入.\t2. 显示.\t3. 增项.\t4. 删项.\n\t\t5. 修改.\t6. 统计.\t7. 查找.\t8.退出.\n"); printf("\n 输入序号执行相应功能:"); scanf("%d",&choice); switch(choice) { case 1: input();break; case 2: display(); break; case 3: add();break; case 4: delet();break; case 5: amend();break; case 6: preside(); break; case 7: fint(); break; case 8: output();break; default: w=1; } if(w==1) { printf("输入有误,按任意键重新选怿.\n"); k=getchar(); getch(); enter(); }