C 语言班级档案管理系统最终报告
- 格式:doc
- 大小:202.00 KB
- 文档页数:12
学院:管理科学与信息工程学院班级:计算机学号:_____1401111633 姓名:张浩程序作者:程光亮 ,张浩C语言程序设计课程-----设计报告课程设计的目的1.复习、巩固C语言的基础知识,进一步加深对C语言的理解和掌握;2.为学生提供一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机结合起来,锻炼学生的分析解决实际问题的能力。
提高学生实践编程的能力;3.培养学生在项目开发中团队合作精神、创新意识及能力。
课程设计题目安排课程设计题目可从以下题目中选择,也可经老师同意自拟题目。
可以多人合作完成(每组最多3人),合作完成的必须明确每个人的具体任务,每人单独上交课程设计报告。
一,题目内容描述第1题学生档案管理设计一个学生档案管理程序。
该程序应该具有下列功能:(1)通过键盘输入某位学生的相关信息。
包括学号、姓名、性别、年龄、出生年月、电话、E-mail、籍贯等;(2)浏览学生信息;(3)根据学号修改、删除学生信息;(4)能按学号、姓名、年龄等关键字排序;(5)统计学生年龄的平均值及各年龄段人数;(6)用链表实现,原始数据输入和结果输出使用文件存放二,应用程序的详细说明(一)系统总体框图(二)模块功能说明1学生信息的输入和修改函数原形:void shuxiu()功能:首次进入管理系统时,进行学生信息的录入,将学生信息存放于结构体链表中入口参数:无出口参数:结构体类型的头指针函数调用关系说明:main()函数调用shuxiu()函数,返回结构体类型的头指针Shuxiu()函数调用shuru()函数和xiugai()函数Shuru()函数主要完成数据的输入以及将数据存储到硬盘的工作Xiugai()调用add()用来添加学生信息Shanchu()哟买回来删除学生信息Xg()用来实现数据的修改内容限制:录入学生信息学如果重复无法检测。
2修改学生信息函数原形:void xiugai()功能:主要王成数据的添加、删除和修改,隶属于数据的输入和修改模块入口参数:无出口参数:无函数调用关系说明:shuxiu()函数调用修改函数Xiugai()函数中调用add() shanchu() xg()内容限制:待修改结点存在,不存在时进行提示3删除学生信息函数原形:int delete(LNode *head,char *n)功能:找到待删除结点(找不到时return NULL),将其从链表中脱离并释放删除信息并释放该结点入口参数:struct node *head出口参数:结构体类型的头指针函数调用关系说明:main函数调用delete函数,Delete函数中调用shuchu1函数返回结构体类型的头指针内容限制:待删除结点存在,不存在时进行提示4学生信息查询函数原形:void chaxun()功能:分为void sch_name()(按姓名查找)和void sch_num()(按学号查找)根据输入的部分信息,搜索另外的学生信息入口参数:出口参数:无函数调用关系说明:main函数调用chaxun()函数Chaxun()函数中调用sch_num()(按姓名查找)和sch_num()(按学号查找)两函数内容限制:待查询结点存在,不存在时进行提示5修改密码函数原型:void gaimi()入口参数:struct node *head出口参数:无函数调用关系说明:main函数调用gaimi函数,gaimi函数中调用comp1函数用来检查原始密码输入是否正确。
通过用c语言编写学生信息管理系统后的总结学生信息管理系统是一种方便高效的工具,能够帮助学校和教育机构对学生信息进行统一管理和查询。
在我使用C语言编写学生信息管理系统的过程中,我深刻地意识到了该系统的重要性和优势。
首先,学生信息管理系统能够提高信息管理的效率和准确性。
传统的学生信息管理方式通常是使用纸质档案和表格进行记录,这样容易产生错误和混乱。
而学生信息管理系统通过自动化的方式进行数据存储和管理,大大降低了手工操作的错误率。
学校工作人员可以通过系统快速查询和更新学生信息,提高了工作效率。
此外,学生信息管理系统还具备数据安全性较高的特点。
通过对学生信息进行密码保护和权限设置,系统能够保证只有授权人员才能访问和修改学生信息。
同时,系统还提供数据备份和恢复功能,防止数据丢失或损坏。
在编写学生信息管理系统的过程中,我也遇到了一些挑战和问题。
首先,要对学生信息进行合理的数据库设计和数据结构设计,确保存储和查询的高效性和准确性。
其次,还要针对不同用户的需求进行系统界面的设计,使其易于操作和管理。
最后,还要注意系统的安全性和稳定性,避免数据泄露和系统崩溃等问题。
总结起来,通过使用C语言编写学生信息管理系统,我认识到该系统的重要性和优势。
它能够提高学校的信息管理效率、准确性和安全性,为学校提供全面的信息展示和查询功能。
在今后的学习和工作中,我将进一步完善系统的功能和性能,使其更好地服务于学校和教育机构,并尽可能地满足用户的需求。
课程设计任务书课程名称C语言课程设计课题班级档案管理系目录1.设计目的2.总体设计3.详细设计4.调试与测试:5.总结与体会6.评分附:源程序清单和执行1.设计目的a)了解和掌握c语言面向对象程序设计的基本过程。
b)进一步熟悉C语言的特点。
c)学会总体规划一个程序,从各个部分把一个程序完成好。
d)能够使自己的程序实现一定的功能,对C++产生一种浓厚的兴趣。
e)培养耐心,遇困难不退缩。
f)了解团队精神的重要性,团结合作。
加深对《C语言》课程所学知识的理解,进一步巩固C语言讲法规则。
学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备解决综合性实际问题的能力。
在熟练掌握C语言的基本知识:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等。
进一步掌握各种函数的应用,以及文件的读写操作等。
2总体设计主菜单界面学生档案管理☆☆☆土木工程☆☆☆∮***班****∮1.录入学生信息2.显示学生信息3.查询学生信息4.删除学生信息5.添加学生信息6.修改学生信息7退出7******************谢谢使用******************信息录入1按学号查询2按姓名查询3按性别查询4按年龄查询3.详细设计本程序由一个Void main(),一个Void input(),一个Void Save(), 一个Void display(),一个Void Delete() ,一个Void add和一个Void Search()共七个主要函数来实现该程序的编程的。
其中在主函数Void main()中调用其他六个函数,通过Switch语句来实现调用进入各个函数,进入主菜单通过录入函数录入学生信息,并自动保存在c\\student.txt中。
学生信息输入应用了结构数组,学生信息主要包括姓名,学号,性别,年龄以及备注。
2016-2016学年第二学期《高级语言程序设计》课程设计报告题目:班级档案管理专业:网络工程(对口)班级:16(3)班姓名:代应豪指导教师:成绩:计算机学院2017年4月25日前言设计课题:班级档案管理系统一、问题描述:对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。
二、功能要求:1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:学号、姓名、性别、年龄、备注。
2、本系统显示这样的菜单:请选择系统功能项:a. 学生基本信息录入b. 学生基本信息显示c. 学生基本信息保存d. 学生基本信息删除e. 学生基本信息修改(要求先输入密码)f. 学生基本信息查询(1)按学号查询 (2)按姓名查询 (3)按性别查询 (4)按年龄查询 g. 退出系统3、执行一个具体的功能之后,程序将重新显示菜单。
4、将学生基本信息保存到文件中。
5、进入系统之前要先输入密码。
三、算法提示:1、数据结构:结构体类型数组四、测试数据:学生人数N=10 五、其它:对该系统有兴趣的同学可以在实现上述基本功能后,完善系统的其它功能。
目录第一章绪论第一节课程背景第二节本文所做工作等第二章需求分析第三章总体设计第四章详细设计第五章测试第六章使用说明第七章总结附录A 源代码附录B 参考资料第一章绪论学生档案管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生档案管理系统应该能够为用户提供充足的信息和快捷的查询手段。学生档案管理系统是典型的信息管理系统(MIS),经过分析如此情况,我们用Vis ual Foxpro 6.0开发工具,利用其提供的各种面向对象的开发工具和功能强大的SQL(结构化查询语言),尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,在开发阶段设计利用的数据库是Microsoft Visual FoxPro Drivers对DBC数据库进行开发,具有很强的移植性。第一节课程背景在我国,各大中小学校的各类信息管理系统并非一个新的课题,但也有的学校根本就没有信息任何管理系统,所有的工作几乎还是手工操作来完成。
课程设计报告课程设计C语言课程设计课题名称班级档案管理系统专业电气工程及其自动化前言《C语言程个序设计》课程设计是对学生的一种全面综合训练,它包括问题分析,总体结构设计,用户界面设计,程序设计基础技能和技巧,多人合作,以致一整套软件工作规范的训练和科学作风的培养。
是与课堂听讲、自学和联系相辅相成的必不可少的一个教学环节。
通常,课程设计的课题比平时的习题复杂得多,也更接近实际。
课程设计着眼于理论与应用的结合点,使学生学会如何把书上学到的知识用于解决实际问题,培养程序设计工作所需要的知识综合能力;另一方面,能使书上的知识变“活”,使学生更好地深化理解和灵活掌握教学内容。
为了达到上述目的,本课程设计安排了十五个设计课题,训练重点在于基本的程序设计方法和分析问题的能力,而不强调面面俱到。
学生选其中一题进行设计,设计完毕写出课程设计报告,用A4纸打印成册;并将课程设计报告与源程序存盘。
学习委员将课程设计报告与磁盘(缺一不可)收齐以后交指导老师。
一、目的全面熟悉、掌握C语言基本知识,掌握C语言程序设计中的顺序、分支、循环三种结构及数函数和C语言基本图形编程等方法,把编程和实际结合起来,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,养成提供文档资料的习惯和规范编程的思想,为以后再在专业课程中应用计算机系统解决计算、分析、实验和设计等等学习环节打下较扎实的基础。
二、基本情况课程类别:必修课课程学分:1学分课程学时:一周课程对象:电气工程0781、0782、0783、0784、0785、0786三、时间安排四、设计可调试过程规范化要求1)需要分析分析系统功能需求以及用户操作流程。
2)概要设计在需要分析的基础上,确定系统总体框架(系统功能结构图)3)详细设计定义数据储存结构,并设计实现系统功能的具体算法,画出各算法的工作流程图。
C语言程序设计--班级档案管理系统C课程名称 : C语言课程设计设计题目: 班级档案管理系统学生姓名:学号:专业班级:指导老师:数学与信息技术学院2011 年 11 月1日说明1、设计目的1.复习巩固C语言的基础知识,进一步加深对C语言编程的理解和掌握。
了解和掌握C语言面向对象程序设计的基本过程,熟习C语言的特点。
2.利用所学知识,理论和实际结合,利用资源,采用模块化的结构,学会把整体规划成一个个小程序,再把各个部分合成一个完整系统,内心牢记模块化。
使用模仿修改自主设计相结合的方法,锻炼自己综合分析解决实际问题的编程能力。
3. 加深对C语言课程所学知识的理解,进一步巩固C语言讲法规则。
学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备解决综合性实际问题的能力。
在熟练掌握C语言的基本知识:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等。
进一步掌握各种函数的应用,以及文件的读写操作等。
4. 培养自己的耐心,遇到困难永不退缩。
培养我们在项目开发中team合作精神、创新意识以及实战能力。
22、设计题目设计题目:班级档案管理系统对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。
功能要求:(1)本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:学号、姓名、性别、年龄、备注。
(2)本系统显示这样的菜单: 请选择系统功能项:a 学生基本信息录入b 学生基本信息显示c 学生基本信息保存d 学生基本信息删除e 学生基本信息修改(要求先输入密码) (1)修改某学生学号(2)修改某学生姓名(3)修改某学生性别(4)修改某学生年龄f 学生基本信息查询(1)按学号查询(2)按姓名查询3(3)按性别查询(4)按年龄查询g. 退出系统(3)执行一个具体的功能之后,程序将重新显示菜单。
学校代码:学号:Hefei University课程项目设计报告B AC H E L O RD I S SE R T A T I O N报告题目:档案管理系统的设计与实现年级专业(班级): 14电子信息工程2班导师姓名:李祎完成时间: 2015/6/18档案管理系统界面如下,当选择一个功能号时可以执行相应的功能。
其中数据录入模块功能是录入人员工号、单位、姓名和部门编号;数据显示模块功能是显示当前所有的人员工号、单位、姓名和部门编号;数据排序功能是将当前所有的人员按工号、姓名、单位和部门编号排序,再进行信息保存和调入。
欢迎进入档案管理系统1.基本信息录入2.基本信息显示3.基本信息查询4.基本信息排序5.基本信息保存6.基本信息调入7.退出系统请选择功能号(1,2,3,4,5,6,7)功能介绍:信息录入功能:输入人员的基本信息,例如工号、姓名、年龄等;信息显示功能:显示所输入的人员档案的信息;信息查询功能:通过输入人员的工号来快速查询所需要知道的人员的档案信息。
信息排序功能:将所输入的人员信息按照工号从小到大的顺序进行排序;信息保存功能:将所输入的人员信息数据以TXT文本的形式保存;信息调入功能:将保存的数据重新调入系统中;ManagerMain.cpp主模块main①模块功能:选择一个功能菜单,执行相应的功能菜单。
②输入输出:在系统内部没有输入输出。
形式:int main()归属:InfoManagerMain③解决思路:通过应用switch语句,分别将各个功能菜单连接起来。
再通过do循环语句,使程序可以反复进行。
④算法提纲:⑤模块代码:#include <iostream.h>#include <stdlib.h>#include "Menu.h"#include <stdio.h>#define N 100#include "InfoManager.h"#include"Info.h"int main(){Info infoAll[100];int num=0;while(1){switch(choiceMenu()){case 1:inputInfo(infoAll,100,&num);cout<<endl;break;case 2:displayInfo(infoAll,1000,num);cout<<endl;break;case 3:searchInfo(infoAll,100,num);cout<<endl;break;case 4:sortInfo(infoAll,100,num);cout<<endl;break;case 5:saveInfo(infoAll,100,num);cout<<endl;break;case 6:loadInfo(infoAll,100,&num);cout<<endl;break;case 7:exit(0);default:cout<<"提示出错"<<endl;}}return 0;}2.Menu.cpp①模块功能:显示程序界面。
c课程设计班级管理系统报告一、教学目标本课程的教学目标是使学生掌握班级管理系统的基本概念、设计和实现方法。
具体包括:1.知识目标:学生需要了解班级管理系统的起源、发展及其在教育管理中的重要性;掌握班级管理系统的基本组成部分和设计原则;理解班级管理系统的实现技术和常用算法。
2.技能目标:学生能够运用项目管理方法和技术,参与或独立完成一个班级管理系统的需求分析、设计和实现;熟练使用至少一种编程语言,编写班级管理系统的相关模块。
3.情感态度价值观目标:培养学生对班级管理工作的热爱和责任感,提高他们解决实际教育管理问题的积极性;培养学生的团队协作精神,使他们能够在团队中发挥自己的专长,共同完成项目任务。
二、教学内容本课程的教学内容主要包括以下几个部分:1.班级管理系统的基本概念:介绍班级管理系统的起源、发展及其在教育管理中的地位和作用。
2.班级管理系统的组成部分:讲解班级管理系统的基本模块,如学生信息管理、教师信息管理、课程管理、成绩管理等。
3.班级管理系统的设计原则:阐述班级管理系统设计时应遵循的原则,如实用性、可扩展性、安全性等。
4.班级管理系统的实现技术:介绍班级管理系统实现时所采用的技术和算法,如数据库技术、网络通信技术、程序设计技术等。
5.项目管理方法:讲解项目管理的基本原理和方法,培养学生运用项目管理技术完成班级管理系统的设计和实现。
三、教学方法为实现教学目标,本课程将采用以下教学方法:1.讲授法:教师讲解班级管理系统的基本概念、设计原则和实现技术,引导学生掌握相关知识。
2.案例分析法:分析实际案例,让学生了解班级管理系统的应用场景,提高他们解决实际问题的能力。
3.实验法:学生动手实践,完成班级管理系统的需求分析、设计和实现,培养他们的实际操作能力。
4.讨论法:分组讨论,让学生在团队中发挥自己的专长,共同完成项目任务,培养他们的团队协作精神。
四、教学资源为实现教学目标,我们将准备以下教学资源:1.教材:选用权威、实用的教材,为学生提供系统的理论知识。
目录一、课题设计容与主要功能 (1)第1节.设计容 (1)第2节.主要功能 (1)二、课题分析...................... 错误!未定义书签。
第1节.类声明表.................... 错误!未定义书签。
第2节.分析课程设计项目的实现方法 (3)三、主要功能的实现步骤 (4)四、程序测试与结论 (5)五、总结 (11)六、附件14一、课题设计容与主要功能1、设计容:为了满足学生档案管理的要求,通过计算机技术给档案管理人员带来便利。
使用c 语言编写了学生档案此管理系统。
本系统主要实现学生档案管理的功能,通过此系统方便对学生档案管理。
包括学号、、性别、年龄、备注。
所设计的系统以菜单方式工作,为用户提供清晰的使用提示,依据用户的选择来进行各种处理。
图书信息的录入后,系统按照有一定的规格式显示,录入的学生信息用文件形式保存,并可以对其进行修改、排序、插入、排序查询等基本操作。
整个程序实现链表操作,对学生信息的操作逐个地进行。
学生档案管理系统构建框架2、主要功能:1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:学号、、性别、年龄、备注。
2、本系统显示这样的菜单:请选择系统功能项:1.学生基本信息录入;2.学生基本信息显示;3.学生基本信息保存;4.学生基本信息修改;5.学生基本信息插入;6.学生基本信息删除;7.学生基本信息排序;8.学生基本信息按查询;9.从文件中读入学生基本信息;10.退出系统3、执行一个具体的功能之后,程序将重新显示菜单。
4、将学生基本信息保存到文件中。
二、课题分析1、类说明表2、实现方法及核心算法实现代码:主函数: void main()录入函数:void enter()显示函数:void list()保存函数:void save()插入函数:insert()修改函数:void revise()删除函数:void delete()删除录入的学生信息排序函数:void sort()排序录入的学生信息查找函数:void qseek()查找录入的学生信息读取函数:int load()读取保存在文件中的学生信息三、主要功能的实现步骤模块一:头文件,变量定义,函数的声明对系统所使用的变量进行定义,对函数进行声明模块二:学生信息的录入int enter(STUDENT t[])录入学生的基本信息。
《软件工程与开发实践》软件设计报告题目班级管理系统学院计算机学院专业计算机科学与技术班级学号学生姓名其他成员组长指导教师完成日期2012年6月一、软件设计概述(目的、任务、开发环境、参考资料)目的:通过对这个简单的学生信息管理系统的代码编写,熟悉并且运用模块划分的方法来组织一个工程,学习真正的项目工程的编辑方法,学习相互合作,共同完成一个任务。
任务:①系统以C语言控制台程序模式开发,不涉及图形界面编程。
②以模块化开发,系统至少分为交互界面模块,数据操作模块,文件处理模块,链表模块。
③原则上小组中每个成员负责一个模块,模块功能尽量独立,通过头文件输出接口。
开发环境:microsoft visual studio 6.0参考资料:教材,网络二、软件设计的基本原理和采用的主要方法与技术1·班级学生基本资料的录入,包括学生的学号,姓名,性别,所学专业,家庭住址以及出生年月,课程成绩等。
2·模拟数据库,将学生的基本信息数据以文件数据库的形式保存。
3·数据基本操作,包括数据的排序显示,查询,修改,删除,数据库更新等。
4·系统应具有统计功能,比如对班级考试成绩的查询可以获得相应的最高分,平均分,以及成绩的其他基本信息。
统计的有些功能可能涉及到排序的操作,可参考相应的数据结构知识,实现较好的排序。
统计的功能可以依据情况自己扩展。
三、模块划分及功能描述四、本人实现的过程与步骤先根据题目的理解,再加上与同组同学的交流沟通,基本明确了怎么去实现人机交互,确定当用户输入正确的指令后,程序要实现哪些功能。
清楚了自己的任务是操作模块,即链表的查询和修改,及删除等其他功能。
说的明白点,就是实现打印所有学生信息,以学号查询学生信息,以姓名查询学生信息,按学号修改学生信息,按姓名修改学生信息等功能。
为此,要调用链表里的lookupNode等函数来帮助实现这些功能。
其实,每两个都是差不多的,就将查询依据改了即可。
题目:班级档案管理系统一、设计任务与目标对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。
功能要求:(1)本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:学号、姓名、性别、年龄、备注。
(2)本系统显示这样的菜单:请选择系统功能项:a 学生基本信息录入b 学生基本信息显示c 学生基本信息保存d 学生基本信息删除e 学生基本信息修改(要求先输入密码)f 学生基本信息查询(1)按学号查询(2)按姓名查询(3)按性别查询(4)按年龄查询g. 退出系统(3)执行一个具体的功能之后,程序将重新显示菜单。
(4)将学生基本信息保存到文件中。
(5)进入系统之前要先输入密码。
二、方案设计与论证主要采用结构体数组,通过scanf函数从键盘输入学生各种信息,每当修改学生信息时需要调用密码验证函数。
定义了一个文件指针,密码验证函数中,通过fopen打开已有文本文件,然后通过fgetc逐个读取该文件中的字符来实现。
退出系统时向学生信息文件中写入数据并关闭文件就实现了保存文件的功能。
四、全部源程序清单#include <stdio.h>#include <stdlib.h>#include <string.h>#include <conio.h>#define N 3struct student{char name[10];char no[10];char sex;int age;char bnote[100];};void print(bool menu)//打印基本信息{if (!menu){printf("学生基本信息录入 ,press 1\n");}else{printf("学生基本信息显示 ,press 2\n");printf("学生基本信息保存 ,press 3\n");printf("学生基本信息删除 ,press 4\n");printf("学生基本信息修改 ,press 5\n");printf("学生基本信息查询 ,press 6\n");}printf("退出学生信息系统 ,press 7\n");}bool Check(char pas[6])//密码验证{FILE *fp;//定义一个文件指针fp,建立一个字符文件char ch;char a[7]={" "};int i = 0;if ((fp=fopen("c:\\密码.txt","r"))==NULL)//打开密码.txt {printf("文件打开失败!\n");exit(0);}ch=fgetc(fp);while (ch!=EOF&&i<6){a[i] = ch;ch=fgetc(fp);i++;}a[6] = '\0';if (!strcmp(pas,a)){return true;}else{printf("密码错误\n");return false;}fclose(fp);}void GetInformation(struct student *arr,int n)//学生基本信息录入{for (int i = 0;i<n;i++){printf("输入学生的基本信息:name no sex age bnote\n");scanf("%s %s %c %d %s",arr[i].name,arr[i].no,&arr[i].sex,&arr[i].age,arr[i] .bnote);}}void Display(struct student* arr,int n)//学生基本信息显示{printf("学生信息: name nO sex age note\n");for (int i = 0;i<n;i++){printf("%5s%5s%5c%5d%5s\n",arr[i].name,arr[i].no,arr[i].sex,arr[i].age,arr[i].b note);}}void Save(struct student* arr,int n)//学生基本信息保存,保存在c:\\student.txt {FILE * fp;fp= fopen("c:\\student.txt","w+");if (fp == NULL){printf("文件不存在!\n");exit(0);}fwrite(arr,sizeof(struct student)*n,n,fp);fclose(fp);}void Modfiy(struct student* arr,int n)//学生基本信息修改{char number[10];bool flag=false;char pass[6];printf("请输入密码:\n");scanf("%s",pass);if (Check(pass)){printf("修改学生信息:\n");printf("请输入学号:\n");scanf("%s",number);for (int i =0;i<n;i++){if (!strcmp(number,arr[i].no)){printf("学生信息:name no sex age note\n");printf("%10s%10s%10c%10d%10s\n",arr[i].name,arr[i].no,arr[i].sex,arr[i].age,arr[i].bnote);printf("请输入学生信息:\n");scanf("%s %s %c %d %s",arr[i].name,arr[i].no,&arr[i].sex,&arr[i].age,arr[i].bno te);Save(arr,n);flag = true;}}if (flag == false){printf("该学生不存在!\n");}}}void Delete(struct student* arr,int n)//学生基本信息删除{char number[10];bool flag=false;printf("删除学生信息:\n");printf("请输入学号:\n");scanf("%s",number);for (int i =0;i<n;i++){if (!strcmp(number,arr[i].no)){strcpy(arr[i].name," ");strcpy(arr[i].no," ");strcpy(arr[i].bnote," ");arr[i].sex = ' ';arr[i].age = 0;Save(arr,n);flag = true;}}if (flag == true){printf("该学生不存在!:\n");}}void Search(struct student* arr,int n)//学生基本信息查询{int temp,i;bool flag=false;printf("---------------通过学号查询,press 1-------------\n"); printf("---------------通过姓名查询,press 2-----------\n"); printf("---------------通过性别查询,press 3------------\n"); printf("---------------通过年龄查询,press 4------------\n"); printf("---------------退出,press 5 ------------\n");scanf("%d",&temp);switch (temp){case 1://按照学号查询{char num[10];printf("请输入学号:\n");scanf("%s",num);for ( i =0;i<n;i++){if (!strcmp(num,arr[i].no)){printf("%10s%10s%10c%10d%10s\n",arr[i].name,arr[i].no, arr[i].sex,arr[i].age,arr[i].bnote);flag = true;}}if (!flag){printf("该学生不存在.\n");}}break;case 2://按照姓名查询{char num[10];printf("请输入姓名:\n");scanf("%s",num);for ( i =0;i<n;i++){if (!strcmp(num,arr[i].name)){printf("%10s%10s%10c%10d%10s",arr[i].name,arr[i].no, arr[i].sex,arr[i].age,arr[i].bnote);flag = true;}}if (!flag){printf("该学生不存在.\n");}}break;case 3://按照性别查询{char ch;printf("请输入性别:\n");//scanf("%c",&ch);ch = getch();for ( i =0;i<n;i++){if (ch == arr[i].sex){printf("%10s%10s%10c%10d%10s\n",arr[i].name,arr[i].no, arr[i].sex,arr[i].age,arr[i].bnote);flag = true;}}if (!flag){printf("该学生不存在.\n");}}break;case 4://按照年龄查询{char num_age;printf("请输入年龄:\n");scanf("%d",&num_age);for ( i =0;i<n;i++){if (num_age == arr[i].age){printf("%10s%10s%10c%10d%10s\n",arr[i].name,arr[i].no, arr[i].sex,arr[i].age,arr[i].bnote);flag = true;}}if (!flag){printf("该学生不存在.\n");}}break;default:break;}}void main(){struct student arr[N];char ps[6];bool flag =false;printf("请输入密码:\n");scanf("%s",ps);flag = Check(ps);if (flag){int select;print(false);scanf("%d",&select);while (0<select && select <7 ){switch (select){case 1:GetInformation(arr,N);print(true);break;case 2:Display(arr,N);print(true);break;case 3:Save(arr,N);print(true);break;case 4:Delete(arr,N);print(true);break;case 5:Modfiy(arr,N);print(true);break;case 6:Search(arr,N);print(true);break;default:break;}printf("请选择:\n");scanf("%d",&select);}}}五、程序运行的测试与分析六、结论与心得无论什么只有自己真的懂了,才能说出来个所以然。