版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计(论文)
题目学生信息管理系统
姓名系别电子信息系
学号121754专业软件技术
指导教师___________
目录
1绪论....................................................................1
2项目开发概述............................................................2
2.1运行环境...........................................................2
2.2系统可行性分析....................................................2
2.2.1技术方面的可行性.............................................3
2.2.2经济方面的可行性.............................................3
2.2.3系统操作方面的可行性.........................................3
2.3系统功能概述......................................................3
2.3.1基本信息管理功能.............................................3
2.3.2学生管理功能.................................................4
2.3.3查询管理功能.................................................4
2.3.4系统管理功能.................................................4
3项目概要设计............................................................5
3.1项目的功能需求....................................................5
3.2项目的性能需求....................................................6
3.2.1项目信息处理的准确性需求和及时性需求........................6
3.2.2项目信息的开放性需求和可扩充性需求..........................6
3.2.3项目的易使用性需求和易维护性需求............................6
3.2.4系统数据要求.................................................6
3.3主要流程图........................................................7
3.4数据库主要设计....................................................8
4.项目实现...............................................................9
4.1各个功能的具体实现................................................9
4.2系统运行界面.....................................................21
4.2.1系统登陆界面................................................22
4.2.2操作界面....................................................23
结论.....................................................................26
参考文献.................................................................26
1绪论
多年以来,学校对本校学生的信息管理都还沿用传统的方式,在这样的模式管理
下,用人工来记录学生的信息效率低、保密性差,人力资源也存在着极大的浪费。此
外,随着时间的推移,资料库将会产生大量的文件和数据堆积现象,这种现象对于数
据的查找、更新以及维护都会带来很大的阻碍。随着现代素质教育的提高以及时代的
快速发展,靠人工来管理学生信息已经不再适用于现代的教育管理模式。
在科技快速发展,计算机越来越普及的信息化时代的到来,为了使学校传统的管
理方法和办学水平都能应对这种极大的挑战,需要对传统的教育方式提出新的建议和
要求。而步入了新的世纪,从世界各国的教育科学化进程来看,各种竞争显得异常的
激烈,而且不仅仅是在效育的基础信息建设和相关的资源建设上,又或者说是在方法
的普及的程度上,我们与其他发达国家,包括一些发展中的国家相比较,也都存在较
大的差距。
步入21世纪的我们,假如还是不能很好地利用网络和科技,又或是不会用较少
的成本来推动教育的信息化、科学化发展,那么像这样没有明确的发展方向,一定会
偏离信息化、科技化的就道,从而就可能会阻碍社会科技化、信息化的进步,甚至于
整个国民经济的科技化发展。所以说,如何实施教育的信息化管理已经成了一个十分
重要的且必须立刻解决的问题,而如何有效的管理学生信息,是实现教育信息化管理
的关键。
与传统的管理方式相比,开发出来的学生信息管理系统的优势就显得比较明显。
比如动态管理所有学生的基本信息;通过网络,教师可以在任何时间、任何地点查看
学生的各种基本信息。实现信息化管理的一个最重要的特点是迅速准确的查找信息,
并且在输入结束后立即给出准确的查询结果。
本毕业设计论文是以学校对学生的管理为研究背景,通过对信息管理系统的概念
和结构,系统开发的基本原理和方法进行深入的了解和探索,把学生信息管理系统的
开发步骤大致分为:系统分析、概要设计、详细设计、框架设计、系统实现及运行调
试等。该系统能够为管理者提供充足的学生信息以及迅速准确的查找信息等,
设计开发一个学生信息管理系统,通过操作计算机实现对学生信息进行有效的管
理,可以进一步的提高学校的办学质量,彰显出学校高效的现代化教育水平,同时也
能显著地提高学校教师的工作效率,实现学生的信息管理工作流程的专业化、科技化、
系统化和自动化。
通过使用现代化科技软件对学生信息进行修改、查询、添加及删除等一系列的操
作,可以大幅度提高管理者的工作效率,杜绝了人工管理的各种弊端。利用学生管理
信息系统来对学校学生的各种信息进行精确而且有效的管理会给学校带来意想不到
的收获。
学生管理系统是一种高效且使用非常方便的系统软件,它是利用SQL建立相关数
据库。所以建立一个数据一致性强、完整性好、安全性高的数据库是十分重要的。该
学生管理系统还要求应用程序功能要完备,而且要方面用户使用等。
经过一系列的研究和分析,本系统将采用VC++6.0平台进行项目开发,同时数据
库建立在SQLServer2005数据库的基础上实施操作,在此之后对初始的原型系统进
行相关的需求迭代并进行不断的修正、改进,使得系统更加完善。
徽商职业学院专科毕业论丈(设计)
2项目开发概述
2.1运行环境
本系统采用的是面向对象的软件编程研发方法,用Microsoft公司的开发环境Visual
C++6.0作为当前软件开发的主要工具如图2-1所示,并且用MicrosoftSQLSever20C5作为软
件的数据库如图2-2所示。
图2-1是打开VC软件后的初始界面
图2-2是SQL2005打开后的初始界面
2.2系统可行性分析
本管理系统是在VC++6.0环境下使用C++语言进行软件开发的,而且在数据方面是使用SQL
Server2005作为数据库建设平台来记录和管理所有学生的相关信息。在计算机迅速发展和普遍
应用的今天,学生管理系统研发的可行性大体上划分成下面的几个部分。
徽商职业学院专科毕业论丈(设计)
2.2.1技术方面的可行性
可运用VC++语言在VC++6.0环境下进行开发,而且是在Windows7系统环境下,用SQLServer
2005作为数据库。
SQLServer2005数据库是一种增添了许多新功能,同时也改进了很多缺点的数据库。大致
上这些改进的功能包括新的XML技术和增强的SQL处理以及新的数据类型,还有对于关系型数据
库的可用性、可伸缩性等方面改进。
2.2.2经济方面的可行性
在当今社会,计算机的性能有很大的提高,而且价格也越来越便宜。对于学生管理系统的开
发,也创造了一个很好的条件。通过使用学生管理系统来有效的管理学生信息,不但会为学校减
轻很多负担,而且也提高了管理人员的工作效率,主要表现在以下几个方面:
1.本系统的开发可以取代人工操作对信息进行管理。
2.本系统的开发可以节省许多人力物力等资源。
3.本系统的开发可以大幅度的提高学校的管理者的工作效率。
4.本系统可以使学生的信息数据文档的安全性提高很多等等。
2.2.3系统操作方面的可行性
此次课题设计所开发的学生管理系统并不算是大型的系统软件,它对于硬件和软件的各种需
求都不是很多,要求也不是很高,一般我们的私人电脑或者学校机房的电脑都可以达到这样的要
求,所以可以确定学生管理系统在运行上是肯定可行的。
作为计算机应用的一部分,使用计算机管理学生成绩,有着手工管理所无法比拟的优点,主
要有:检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本低等。该学生管理
系统不仅能极大地提高管理学生信息的效率,也能实现教育单位的科学化、正规化管理。因此,
开发一个信息管理软件是一件有意义而且非常重要的事情。
2.3系统功能概述
学生信息管理系统在学校管理工作中占据着重要的地位,同时对于学校的决策者和管理者来
说都是至关重要的。所以学生信息管理系统应该为用户提供充足的信息和快捷的查询方式。随着
计算机应用的普及与深入,利用计算机能够对所有考试成绩进行统一管理及分析,大大减少了教
学秘书的工作量,提高了工作效率,为教学办公带来了极大的方便。本系统本着实用、通用、开
放和安全的原则,实现了学生信息管理、学生成绩管理、成绩查询等功能。本系统一切从实际出
发,充分考虑了成绩的内前管理、信息交流等方面的复杂需求,实现学生信息的有效管理,真正
为学生信息管理提供一个电子平台。
本系统的主要功能和任务是实现对学校所有学生的信息进行管理,其中包括成绩管理、姓名
管理、学号管理、年龄管理、专业管理及这些信息的相关的查询。
2.3.1基本信息管理功能
1.成绩信息管理
提供各个学生的相关信息,如各个学生的名字和各个学生的信息。修改个人信息,如添加一
个学生的各种信息或者删除信息等操作。
2.姓名信息管理
主要提供学校所有人员的相关信息。比如说查询某个学生的学号,以及对某个学生的有关信
息进行修改,如添加一个学生或者删除学生等操作。
3.学号信息管理
提供各个学生学号的相关信息,如学生的学号等。同时还包括对学生信息的修改,添加,删
除等操作。
4.年龄信息管理
徽商职业学院专科毕业论丈(设计)
提供各个学生年龄的相关信息、,如各个学生的年龄,以及对年龄信息进行修改,添加,删除
等操作。
5.专业设置
提供各个学生不同专业的相关信息,设置学生所在专业的名称,以及对相关专业信息进行修
改、添加、删除等操作。
2.3.2学生管理功能
1.学生信息管理
可以录入学生的相关信息,如学生的名称、学号、年龄、专业等,也可以对相关信息进行修
改和查询以及添加或删除某个学生的全部信息。
2.学生成绩录入
用于录入学生各科目在不同考试类别下的各项成绩,便于以后查询,也可进行相应的修改和
保存操作等。
2.3.3查询管理功能
学生信息查询:可以查询所有学生的基本信息,包括学号,专业,年龄等等。
2.3.4系统管理功能
1.用户管理;设置用户,或者对己有用户信息进行修改和删除等操作。
2.退出系统:用于退出整个系统。
徽商职业学院专科毕业论文(没计)
3项目概要设计
21世纪以来,社会经济的高速发展,生活环境和科学技术也都发生了日新月异的变化,
尤其是在计算机科学技术的应用及普及都牵涉到经济以及社会生活的方方面面。所以,为了
适应当今社会中人们高度的时间价值观念,编写学生信息管理系统软件对于管理学生信息的
工作者来说,无疑是一个喜讯。因为,它不但能大幅度的提高管理者的工作效率,而月还减
轻了他们的工作负担。
利用学院现有的计算机硬件资源,做好学生成绩管理工作,提高办事效率-实现全面的、
相对集中的办公自动化,开发本系统就成了当务之急,其目的主要为了彻底改变这种繁杂的
管理模式,实现全面的、相对集中的、智能化的信息综合管理,为学院的教学管理工作带来
方便。
该系统使用C++作为本软件的实现语言,同时运用MicrosoftSQLServer2005来实现
系统相关数据的后台操作了,它的功能是由系统内部的源代码直接实现的。用户在使用过程
中仅仅需要按照系统的要求输入信息即可进行操作。学生成绩管理工作是学校管理工作的重
要组成部分,而学生成绩管理系统是典型的信息管理系统的一个分支,其开发主要包括后台
数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立数据一致性和完整性强、数据安全性能好的数据库,对于后者具有应
用程序功能完备、易使用等特点。利用ODBC访问SQLServer数据库技术开发而成,利用其
提供的各种面向对象的开发工具,尤其是数据窗口,实现对学生的各种成绩进行查询、更新、
添加和删除。
中国电信的调查报告指出,我国的上网人数已达到上亿。由此可见,互联网的应用十分
广泛,学校各届的毕业生都希望能在世界各地通过网络了解或查询到自己校友的信息。因此,
学生信息管理系统为也学校将来的上网做了一定的铺垫,类似于数据库的建立。
需求分析可以说是一个渐进的过程,系统通过开发人员和用户的不断沟通和交流,一步
步地加深对系统功能的了解和性能的认识,而且对系统各个部分加以细化或者分解软件需
求。
需求分析是各种软件研发过程中的一种推理过程,这部分涉及到领域问题以及它的组成
部分,其目的是为了深入了解用户的需求是什么以及目标系统要实现什么样的功能,最终要
将用户的各种需求使用书面形式向工作人员或其他人员表达出来。
3.1项目的功能需求
学生的信息管理系统在学校管理学生的重要手段之一,它关系着所有学生的各类基本信
息,类似于班级信息、科目信息、年龄、住址等。对于每一个学校来讲,学生的信息管理系
统是一个不能被替代的组成部分。该系统能够有效地管理所有学生的档案,而且对于学校学
生的各种变动包括统计都将起着重要的管理作用。
本课题设计的学生管理系统是根据学校的信息管理人员对学校管理的实际需求来设计
和实现的,它更全面的结合了学生信息管理的各种实际情况。从管理员的角度出发来介绍系
统的各个功能主要有:查询姓名、添加姓名;添加学生信息、修改学生信息、查询学生信息;
杳询专业、;添加成绩、查询成绩;成绩图表等。
主要有下面几个功能模块来实现:
1.能够实现对于所有学生的有关信息进行查彻、修改、添加、删除等操作。
2.能够为学校提供全面和强大的查询功能,这样可以方便管理人员了解和掌握所有学生
的现状和具体情况。
徽商职业学院专科毕业论文(没计)
3.能够实现对已有的数据库和登陆记录进行定期的相关信息清理。
4.同时也可以对系统用户进行删除或者新增用户。
5.也可以对各个学生的各种信息进行相关的增加,或者修改,或者删除,或者查询等操
作。
6.能够方便用户进行操作。
3.2项目的性能需求
本系统开发的总体FI标是要实现学生成绩管理的系统化、规范化、自动化,以提高学生
成绩管理的效率。通过对系统的调研与分析,系统主要完成的功能有:成绩管理、姓名管理、
学号管理等。为了能够确保系统可以长期、安全、稳定和可靠以及更加高效的运行起来,该
学生信息管理项目就要能终满足下面的性能需求。
3.2.1项目信息处理的准确性需求和及时性需求
项目信息处理的高准确性和高及时性是学生管理系统一个不可缺少的性能。在这次的系
统设计和系统开发的整个过程中,我们一定要能够充分的考虑到学生管理系统当前和以后可
能承受的信息工作量,一定要设计出能够使系统的信息处理能力以及操作响应时间都可以满
足学校对学生信息各种处理操作的高效又方便的系统软件。系统采用了Microsoft推出的
SQLServer数据库。
3.2.2项目信息的开放性需求和可扩充性需求
我们在研发学生信息管理系统的整个过程中,必须要充分考虑到对于以后系统软件的可
扩充性需求。然而我们要想实现这样的功能,就•定要使该系统具有开放性,也就是说,把
学生信息管理系统设计成一个开放的系统。只要设计的系统符合一定的标准,就能够方便快
捷的添加和删除系统的各种模块,同时通过配置好系统的硬件,设置好系统的软件环境,我
们设计好的系统就能够实现对学生信息的各种相关操作,
3.2.3项目的易使用性需求和易维护性需求
通常情况下,学生信息管理系统的使用者并不是计算机专业人士,他们只要通过简单的
学习就可以使用一个新系统软件即可,而无须深究具体的操作细节计算机是如何实现的。往
往这样上手较快的软件才能得到普遍的应用。因此,本设计的学生信息管理系统必须要给用
户提供一个良好的用户接口,因为一个一目了然的图形界面可以方面用户使用。但是要想实
现这样的功能,就必须要求该系统尽量使用一般用户都了解的术语以及相关中文信息的界
面,同时,对「用户在操作过程中可能会出现的各种疑问,该系统软件还要能提供相关的帮
助信息,以尽可能的缩短用户了解系统的时间。
3.2.4系统数据要求
通过深入的研究和调台,学生信息管理系统的对信息数据的要求,主要可以概括为以下
几个方面:
1.信息数据输入和处理的准确性和真实性
数据信息一定要具有真实性,因为正确无误的信息是数据处理的重要前提。如果录入了
错误的数据或者把一个正确的信息录入错了,都可能会使企业员工管理系统输出不正确的或
不可用的数据信息,这样也就意味着,我们设计的学生信息管理系统就失去了意义。
2.信息数据的一致性以及完整性
经过调查发现,学生信息管理系统对数据的各项处理操作,学校都有非常严格的要求。
这是因为学生的各种信息处理操作本身就非常繁琐和复杂,为了减少操作错误,就要有•些
工作人员专门去维护信息数据的一致性和完整性。在对各种信息数据进行录入、输出等一系
列操作过程中,对于数据的去向以及数据库的完整性都要有严格的要求和约束条件。同时,
对数据信息的输入,也要有相应的完整性规则来进行约束,如果准备操作的数据不能完全符
合完整性约束条件,那么学生管理系统就一定要拒绝数据库的操作,以防止造成数据的不一
徽商职业学院专科毕业论文(没计)
致性和以及破坏数据的完整性o
3.各种信息的独立性
以SQLServer作为后台数据库,并用ODBC方法访问数据库,来开发一个学生成绩管理
系统,该系统具有查询、修改、添加和删除学生信息的功能。学生成绩管理系统对教育单位
管理学生成绩起着非常重要的作用,对于学校的决策者和管理者也是至关重要的。学生成绩
管理系统能够为用户提供充足的信息和快捷的查询方式,对于学校来说,学生管理是学校各
项工作中的重中之重,所以不可能让每个人都能对信息进行操作,学校一般会委派教务人员
来管理学生信息,他们具有独立操作的权力,因此也被称为管理者。
3.3主要流程图
1.姓名信息管理流程图
管理人员
学
生
信
息
系统姓名信息
图3-1姓名信息管理流程图
图3-1是姓名信息管理的流程图,通过这个图可以看到本系统软件在姓名信息管理中的
数据走向以及过程控制。
2.学生基本信息管理流程图
查
询
用尸
图3-2学生基本信息管理流程图
图3-2是学生基本信息管理的流程图,通过这个图匕以看到本系统软件在学生信息管理
徽商职业学院专科毕业论文(没计)
中的数据走向和过程控制。
3.成绩管理流程图
教师
各
学
科
生
成
信
绩
息
输
出
管理系统学生成绩表
查
询
学生
图3-3成绩管理流程图
图3-3是成绩管理的流程图,通过这个图可以看到本系统软件在成绩管理中的数据走向
和过程控制。
4.专业管理流程图
理者
专业信息
图3-4专业管理流程图
图3-4是专业管理的流程图,通过这个图可以看到本系统软件在专业管理中的数据走向
和过程控制。
3.4数据库主要设计
当前,很多系统都是使用MicrosoftSQLServer作为后台数据库,并用ODBC方法访问
数据库,本系统采用的就是这种方法。MicrosoftSQLServer是一个支持多用户的数据库
系统,适用于大中规模的数据量需求,完全能满足一所学校的需要,如开放式数据访问(ODBC)
徽商职业学院专科毕业论文(没计)
技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。
SQL全称是“结构化查询语言(StructuredQuerylanguage)z,,SQL为许多任务提供了命
令,包括:数据查询、数据更新;在表中插入记录、在表中修改记录、在表中删除记录:建
立、修改和删除数据对象;控制对数据和数据对象的存取;保证数据库一致性和完整性。以
前的数据库管理系统为上述各类操作提供单独的语言,而SQL将全部任务统一在一种语言
中。所有用SQL编写的程序都是可以移植的“SQL是大多数关系型数据库用做杳询语言的工
具,它是可以移植的,并且容易使用,但是所有SQL语句都必须由数据库服务器独立地执行。
本学生管理信息系统主要有以下几类:学生基本信息,科目信息,班级信息,科室信息,
成绩信息,教师信息等等,
系统数据库大体包含如下信息表:
1.学生信息表
主要记录学生的各项基本信息,如姓名、年龄、学号、专业、成绩等,这个信息表是该
系统有关学生信息操作的基础。
2.学生成绩表
主要记录每个学生在不同考试科目中的成绩。
3.专业信息表
主要记录各个专业的名称。
4.姓名信息表
主要记录各个学生的名称
5.年龄信息表
主要记录各个学生的年龄
4.项目实现
4.1各个功能的具体实现
关键的代码:
#include<stdio.h>#include<stdlib.h>
#include<string.h>typedefstructperson〃定义结构体
charnum[10];〃学号
charname[15];//姓名
intage;〃年龄
inten;〃英语成绩
intji;〃专业成绩
}person;
personper[100];〃定义100
charfilename[20]://定义全局变量
logon0〃登陆函数使系统更显完善
printf("\n\n\n\t\t\t学生信息管理系统\n\n");
徽商职业学院专科毕业论文(没计)
printf(*\t\t\t版本号:2.O\n\n");
printf(^\n\n\n\n\t\t\t2015年4月25日\n\n");
printf("\t\t\t王孟龙制作\n");
printf(,z\n\n\t\t\tAce_cm_Wang\n",);
printf(*\n\n\t\t\t导演兼制作\n");
system("pause");
}
intmcnufilcnameO
(
systemC,cls,z);
prinlf(〃请输入你要操作的文件名:〃);
scanffilename);
一〃
intmcnu_select()〃菜单选择系统函数
(
charc;
do{
system("cis");
printf("\t\t/------------------------------------------------
printfC\t\t|徽商学生信息管理系统I'n");
printf("\t\tk----------------------------------------------------J\n〃);
printf('\t\t।-------------------------------------------1\n");
printfC"\t\t|1.添加记录2.显示记录I\n");
prinlf("\l\t|I\n");
printf|3.信息查询4.数据计算I\n");
printfC\t\t|I\n");
printf("\t\t|5.修改记录6.删除记录I\n");
printfC\t\t||\n");
printf|0.退出程序I\n");
printfC\t\t1------------------------------------------1\n");
printf(*\t\t请您选择(C-6);
c=getchar();
}while(c<'O'I|c>'6');
return(c-'O');〃字符减去’0'得到的是数字整型〃
voidadd()〃成绩的录入与添加函数
FILE*fp;
inti=(),n=0;
charsign='y';〃首先定义sing=y
systemC,cls,,);〃清屏函数系统中调用
while(sign!=,n*&&sign!=,N')//其实只有当输入N或n时才跳出循环
徽商职业学院专科毕业论文(没计)
prinlf(〃——学生纪录添加——\n〃);
printf(〃学号:\n");
scanfper[i].num);
printf("姓名:\n〃);
scanfper[i].name);
printf("年龄:\n");
scanf&per[i].age);
printf("英语:\n*);
scanf&per[i].en);
printf("专业:\n");
scanf&per[i].ji);
printf("是否继续添加?(〃n)〃);
scanf&sign);
i++;
n=n+l;
system("cis");
}system(""pause*);〃等待命令
if((fp=fopen(filename,"a"))==NULL)〃以进制形式进行文件尾
追加〃
(
printf(''cannotopenthefiles'n");
system("pause");
return;〃如果文件出现错误就返回
}
for(i=0;i<n;i++)
if(fwrite(&per[i],sizeof(person),1,fp)!=1)
〃以2进制形式写入文件中〃一次写入一个数组〃
printf("filewriteerror\n,/);
fclose(fp);〃关闭文件
system(〃pasue");
}
.................//
voidscanO..............〃显示记录进行全面信息浏览
(
voidcimendO;〃声明修改函数〃
charsign=,y';
FILE*fp;
inti=0,n;
system("cls");
if((fp=fopen(filename,vr,/))==NULL)
〃以2进制方式读取文件信息〃
徽商职业学院专科毕业论文(没计)
printf(''cannotopenthefiles'n");
system("pause");
return;
}
while(!feof(fp))〃一直读取知道文件尾结束
fread(&per[i],sizeof(person),1,fp);
〃以2进制方式将文件信息读到数组内存中〃一次读取一个〃
i++;
)
fclose(fp);
printf("....................................................................................................................\n");
printfC学号姓名年龄英语专业\n〃);
printf(〃....................................................................................................................\n");
for(n=0;n<i-l;n++)//循环全部输出
printf(^\t%s\t%s\t\t%d\t%d
\t%d\nz,,per[n].num,per[n].name,per[n].age,per[n].en,perfn].ji);
printf("....................................................................................................................\n");
system("pause");
systemC,cls,,);
printf(〃是否需要修改?(y/n)”);
scanf&sign);
if(sign!='n,&&sign!=,N:)〃选择是否在浏览后进行修改〃
amend();
system("pause");
}
〃数据查询〃
voidquery()〃学生信息的不同方式查询
(
FILE*fp;
inti=0,n=0;
intin;
system("cis");
printfC\t\n请选择查询方式:\n");
printf(〃\t।--------------------1\n〃);
printf("\t|1一模糊查询|\n");
printfC\t|2---------姓名|\n〃);
printfC\t|3---------学号|\n〃);
printfC\t|4---------返回|\n〃);
printf(^Xt1--------------------1\n");
printf(“请输入你要查询的方式\n〃);
scanf(线d",&m);
徽商职业学院专科毕业论文(没计)
while(m!=l&&m!=2&&m!=3&&m!=4)
(
printf("输入错误请重新查询\n");
scanf&rn);
}
if((fp=fopen(fi1ename,"r"))==NULL)
〃以2进制方式读取文性信息〃
(
printf(^cannotopenthefiles'n");
system("pause");
return;
}
while(!feof(fp))
(
fread(&per[i],sizeof(person),1,fp);〃以2进制方式将文件信
息读到数组内存中〃一次读取一个〃
ill;n=n।1;
}
if(m==l)〃模糊查询
(
chars[3];//定义输入的文字所占的字
节/一个汉字占2个字节外加一结尾符此处小心溢出
inti=0;
system("cis");
printfC\t请输入想查询的姓:");
scanf("s”,s);
for(i=0;i<n-l;i++)〃文件信息已经
读取到数组中此处进行循环用于下一语句的查找
if(per[i].name[0]==s[0]&&per[i].name[l]=s[l])〃比较per[i].name
与所输入的前俩个字符是否相同〃
(
printf(w\t学号:%s\n”,per[i].num);
printf(z,\t姓名:%s\n,z,per[i].name);
printf(*\t年龄:%d\n*,per[i].age);
printf(^\t英语:%d\n/z,per[i].en);
printf(*\t计算机:%d\n*,per[i].ji);
printf("\t\n");
}
)
}
徽商职业学院专科毕业论文(没计)
if(m==2)〃姓名台询
(
chars[20];
inti=0;
printfC\t请输入想查询的姓名:”);
scanfs);
while(strcmp(pcr[i].name,s)!=0&&i<n)i++;〃比较per[i].name与所输入
姓名是否相同〃
if(i==n)
(
printfC\t通讯录中没有此人!\n");
system("pause");
return:
)
z,,,
printf(\t学号:%s\n,per[i].num);
printf(z,\t姓名:%s\n/z,per[i].name);
年龄:为d\n”,per[i].age);
printf('\t英语:%d\n*,per[i].en);
printf(*\t计算机:%d\n*,per[i].ji);
}
if(m==3)〃学号查询
(
chars[15];
inti=0;
printf(〃请输入想查询的学号:〃);
scanfs);
while(strcmp(per[i].num,s)!=0&&i<n)i++;〃比较
per[i].name与所输入学号是否相同〃
if(i==n)
(
printfC\t通讯录中没有此人!\n");
system("pause");
return;
}
printf(w\t学号:%s\n",per[i].num);
printf(z,\t姓名:%s\n,z,per[i].name);
printf(*\t年龄:%d\n*,per[i].age);
printf(^\t英语:%d\n/z,per[i].en);
printf(*\t计算机:%d\n*,per[i].ji);
}
fclose(fp);
system("pause");
}
徽商职业学院专科毕业论文(没计)
//*********************************************************************//
//.........................................................................//
〃数据统计〃
voiddate()
(
FILE*fp;
structpersontemp;
〃定义临时数组用于交换时存放数组信息用于后面的交换〃
intsum;〃总分
ints[100];
inti=0,n=();
intj,k,t;
intm;
system("cis");
printfC\t\n选择排序方式:\n");
printfC\t।------------------1\n");
printf(*\t|1--------英语|\n");
printf(^Xt|2计算机|'n");
printfC^Xt|3--------总分|\n");
printfC\t|4--------返回|\n〃);
printf(〃\t1------------------1\n〃);
printf("请输入你要排序的方式\n〃);
scanf(线d",&m);
system("cls");
while(m!=l&&rn!=2&&m!=3&&m!=4)
{
printf("输入错误请重新输入\n〃);
scanf("与d',&m);
)
if((fp=fopen(fi1ename,vr,z))=NULL)
〃以2进制方式读取文件信息〃
(
printf("cannotopenthefiles'n");
system("pause");
return;
while(!feof(fp))〃一直进行读取直至文件尾〃
(
fread(&per[i],sizeof(person),1,fp);
i++;n=n+l;
}
if(m==l)
徽商职业学院专科毕业论文(没计)
for(i=0;i<n-l;i++)〃采用冒泡法进行排序〃
(
k=i;
for(j=i+l;j<n;j++)
if(per[j].en>per[k].en)〃排序〃比较大小〃
k=j;
temp=per[k];per[k]=per[i];per[i]=temp;
〃当符合条件时进行数据交换〃
printf("....................................................................\n");
printfC学号姓名年龄英语专业\n〃);
printf(".....................................................................\n");
for(i=0;i<n-l;i++)
printf\t%s\t\t%d\t%d
\t%d\n”,por[i].num,per[i].name,pcr[i].age,pcr[i].en,per[i].ji);
printfC.....................................................................\n");
fclose(fp);
if(m==2)
(
for(i=0;i<n-l;i++)
(
k=i;
for(j=i+l;j<n;j++)
if(per[j].ji>per[k].ji)
k=j;
temp二per[k];per[k]=per[i];per[i]=temp;
)
printf(〃.....................................................................\n");
printf(〃学号姓名年龄英语专业\n");
printf(".....................................................................\n");
for(i=0;i<n-l;i++)
printf(,z\t%s\t%s\t\t%d\t%d
\t%d\n,z,per[i],num,per[i].name,per[i].age,per[i].en,per[i].ji);
printfC---------------------------------------------------------------------\n");
fclose(fp);
)
if(m==3)
for(i=0;i<n-l;i++)
(
sum=0;
sum=per[i].en+per[i].ji;
徽商职业学院专科毕业论文(没计)
s[i]=sum;//第一个数组用于数组间信息
操作〃
)
for(i=0;i<n-l;i++)
(
k=i;
for(j=i+l;j<n;j++)
if(s[j]>s[k])
k=j;
t=s[k]:s[k]=s[i]〃按照总分大小进行排序〃
temp=per[k];per[k]=per[i];per[i]=temp;〃随之使其数组相应顺序随总分
大小一起排序〃
)
printf(〃.......................................................................................................................................\n
");
printfC学号姓名年龄英语专业总分
\n");
printf(".......................................................................................................................................\n
〃);
for(i=0;i<n-l;i++)
printfC,\t%s\t%s\t\t%d\t%d\t%d
\t%d\n”,per[i].num,per[i].name,pcr[i].age,pcr[i].en,per[i].ji,s[i]);
printf(".......................................................................................................................................\n
");
fclose(fp);
}
system("pause");
}
//...........//
//数据修改〃
voidamend()
FILE*fp;
inti=0,n=0;
chars[15];
intm;
system("cis");
printf请选择修改方式:\n");
printf(〃\t।--------------------1\n");
printfC\t|1--------姓名
printfC\t|2--------学号|\n9;
printf(*\t|3--------返回I\n");
徽商职业学院专科毕业论文(没计)
printfC\t1--------------1\n〃);
prinlf(〃请输入你要修改的方式\n〃);
scanf&m);
while(m!=l&&rn!=2&&m!=3)
(
printf(〃输入错误请重新修改\n〃);
scanf(线d",&m);
}
if((fp=fopen(filename,vr/,))==NULL)
〃以2进制方式读取文件信息〃
(
printf(,zcannotopenthefiles'n");
system("pause");
return:
)
while(!feof(fp))
(
fread(&pei-Li],sizeof(person),1,fp);
i++;n=n+l;
}i=0;
fclose(fp);
systcm("cls");
if(m-l)
(
chars[20];
inti=0;
printf("\t请输入想修改的姓名:〃);
scanfs);
whilc(strcmp(per[i].name,s)!=0&&i<n)i++;〃进行比较
找到所需要的信息
if(i==n)
(
printff\t通讯录中没有此人!\n〃);
return;
}
else{
printf(“学号:\n");
scanfper[i].num);
printf("姓名:\n〃);
scanfper[i].name);
printf("年龄:\n");
scanf&per[i].age);
printf("英语:\n");
scanf&per[i].en);
徽商职业学院专科毕业论文(没计)
printf("专业:\n");
,//,
scanf(\t%d,&per[i].ji);
)
}
if(m==2)
(
chars[15];
inti=0;
prinlf(〃请输入想修改的学号:〃);
scanfs);
while(strcmp(per[i].num,s)!=()&&i<n)i++;
if(i==n)
(
printfC\t通讯录中没有此人!\n〃);
return;
}
else{
printf(〃学号:\n〃);
scanf("\t%s”,per[i].num);
printf("姓名:\n");
,,/,
scanf(\t%s>per[i].name);
printf(〃年龄:\n〃);
scanf&per[i].age);
printf("英语:\n");
scanfC\t%d,,»&per[i].en);
printf("专业:\n");
scanf&per[i].ji);
}
)
if((fp二fopen(filename,、"))=NULL)〃进行修改后将信
心重新写入文件中
(
printf("cannotopenthefiles'n");
return;
}
for(i=0;i<n-l;i++)
if(fwrite(&per[i],sizeof(person),1,fp)!=1)
printf("filewriteerror\n,/);
fclose(fp);
printf("信息已经修改成功\n");
system("pause");
}
//*********************************************************************〃
//.................................................................................................................//
徽商职业学院专科毕业论文(没计)
〃数据删除〃
voiddelet()
(
FILE*fp;
chars[10];
inti=0,n=0;
if((fp=fopen(filename,vr,/))=NULL)
〃以2进制方式读取文件信息〃
(
printf(,zcannotopenthefiles'n");
system("pause");
return;
)
while(!feof(fp))
(
fread(&per[i],sizeof(person),1,fp);
//将文件信息读取到数组内存中〃
i++;n=n+l;
)
fclose(fp);
if((fp=fopen(filename,*w*))=NULL)
〃以2进制写入方式打开文件〃
(
printf(''cannotopenthefiles\n,/);
system("pause");
return;
}
printf(〃学生学号:〃);
scanfs);
for(i=0;i<n-l;i++)
if(!(strcmp(per[i].num;s)==0))〃找到与其匹配的信息进行操作
//如果条件符合就写入否者跳过这组数据此数据就是所需删除的
fwrite(&per[i],sizeof(person),1,fp)!=1;〃以2进制方式将信息从内存
中写入文件磁盘〃
fclose(fp);
printf(〃数据删除成功”);
system("pause");
}
//..................................................................//
〃…人..........................................................〃
〃运用switch语句进行菜单选择〃
voidmain()
徽商职业学院专科毕业论文(没计)
intn=0;
logonO;
menufilename();〃引用全局变量文件名
for(;;)〃循环使用主界面直到遇
到结束命令
switch(menu_select())//函数的调用〃
case1:
printfC\t\t学生记录添加;
add();
break;
case2:
printfC\t\t学生信息浏览*二*\n");
scan();
break;
case3:
printfC\t\t学生信息查询
query();
break;
case4:
printf(*\t\t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 仓储保管合同2026年保险代理协议
- 水稻绿色高质高效栽培方案
- 特种作业人员安全培训管理制度
- 失眠改善推拿理疗疗程方案
- 会员转介绍激励推广方案设计
- 婴幼儿良好睡眠习惯培养方案
- 滋阴补气血药膳食谱手册
- 金银花标准化种植技术规程
- 肉羊羔羊早期断奶培育制度
- 小麦晚播保全苗操作指引
- DL∕T 2013-2019 垃圾焚烧发电厂启动试运及验收规程
- 2024年山东省高考化学试卷(真题+答案)
- 监理大纲工程监理方案技术标投标方案
- 2019XE115-5MW海上风机技术规范
- 建设工程框架协议合同
- 变压器浇注工艺
- 精选浙江省湖州市2023年中考社会思品试题(word版-含解析)
- 《三角形中几条重要线段》教学设计
- 张承志《北方的河》
- GB/T 8539-2000齿轮材料及热处理质量检验的一般规定
- GB/T 6175-20162型六角螺母
评论
0/150
提交评论