c语言课程设计 班级档案管理
c语言课程设计学生档案管理系统实验报告
![c语言课程设计学生档案管理系统实验报告](https://img.taocdn.com/s3/m/7579ba6fb4daa58da0114a9e.png)
学院:管理科学与信息工程学院班级:计算机学号:_____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语言班级档案管理系统](https://img.taocdn.com/s3/m/5af16e60f01dc281e53af05f.png)
课程设计任务书课程名称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中。
学生信息输入应用了结构数组,学生信息主要包括姓名,学号,性别,年龄以及备注。
c班级档案管理-课程设计报告
![c班级档案管理-课程设计报告](https://img.taocdn.com/s3/m/0226450b6edb6f1aff001f28.png)
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语言班级管理系统课程设计](https://img.taocdn.com/s3/m/95088888250c844769eae009581b6bd97f19bc98.png)
c语言班级管理系统课程设计一、课程目标知识目标:1. 理解C语言的基本语法和结构,掌握面向过程的编程思维。
2. 学会使用C语言实现班级管理系统的基本功能,如学生信息录入、查询、修改和删除。
3. 了解文件操作在C语言中的应用,实现班级管理系统的数据持久化存储。
技能目标:1. 培养学生运用C语言进行程序设计的能力,特别是模块化设计和代码编写。
2. 培养学生分析问题、解决问题的能力,能够独立完成班级管理系统的设计与实现。
3. 培养学生的团队协作能力,分组合作完成课程设计任务。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发学习C语言的积极性。
2. 培养学生的创新意识,鼓励在课程设计中提出新功能、新算法。
3. 培养学生的责任感和合作精神,在团队中发挥积极作用。
课程性质:本课程设计以实践为主,结合理论,使学生通过动手实践,深入理解C语言编程,掌握班级管理系统的设计与实现。
学生特点:学生已具备一定的C语言基础,具有较强的学习能力和动手能力,但对复杂系统的设计尚缺乏经验。
教学要求:注重理论与实践相结合,以任务驱动的方式,引导学生自主探究、合作学习,培养学生的编程能力和团队协作能力。
将课程目标分解为具体的学习成果,以便于后续的教学设计和评估。
二、教学内容1. C语言基础语法回顾:包括数据类型、运算符、表达式、控制结构等,确保学生掌握C语言编程的基本框架。
相关教材章节:第一章至第三章。
2. 函数与模块化设计:介绍函数定义、调用、参数传递等,强调模块化编程思想。
相关教材章节:第四章。
3. 结构体与链表:讲解结构体的定义和使用,以及链表的基本操作,为班级管理系统设计打下基础。
相关教材章节:第五章。
4. 文件操作:介绍文件读写、文件指针操作等,实现班级管理系统数据的持久化存储。
相关教材章节:第十章。
5. 班级管理系统功能模块设计:- 学生信息录入:输入学生基本信息,保存到文件。
- 学生信息查询:按条件查询学生信息,显示查询结果。
档案管理c语言课程设计
![档案管理c语言课程设计](https://img.taocdn.com/s3/m/09cd1546fe00bed5b9f3f90f76c66137ee064f23.png)
档案管理c语言课程设计一、课程目标知识目标:1. 学生能够理解档案管理的基本概念,掌握C语言在文件操作中的应用。
2. 学生能够掌握文件打开、关闭、读写等基本操作,并能够运用C语言函数实现这些操作。
3. 学生能够理解文件存储结构,并能够运用C语言编写程序对文件进行排序和查找。
技能目标:1. 学生能够运用所学知识,独立设计并实现一个简单的档案管理系统。
2. 学生能够运用C语言编写程序,实现对文件的有效读取、存储和修改。
3. 学生能够运用调试工具,检测并修正程序中的错误,提高程序的正确性和稳定性。
情感态度价值观目标:1. 学生通过课程学习,培养对档案管理的兴趣,提高信息处理和管理的意识。
2. 学生能够认识到编程在解决实际问题中的应用价值,激发学习编程的热情。
3. 学生在团队协作中,学会沟通、分享和承担责任,培养合作精神。
课程性质分析:本课程为C语言课程设计,侧重于档案管理的实际应用。
课程以实践为主,理论联系实际,旨在提高学生的编程能力和解决实际问题的能力。
学生特点分析:学生在前期已经掌握了C语言的基本语法和编程技巧,具备一定的编程基础。
在此基础上,学生需要通过本课程,进一步学习文件操作相关知识,提高实际应用能力。
教学要求:1. 教师应注重理论与实践相结合,引导学生通过实际操作掌握档案管理的相关知识。
2. 教师应鼓励学生主动思考,培养学生的创新意识和解决问题的能力。
3. 教师应关注学生的学习进度,及时给予指导和反馈,提高学生的学习效果。
二、教学内容1. 文件操作基本概念:文件类型、文件指针、文件打开关闭等。
2. 文件的读写操作:fprintf、fscanf、fread、fwrite等函数的使用。
3. 文件存储结构:顺序存储、链式存储等结构在文件中的应用。
4. 文件排序与查找:冒泡排序、二分查找等算法在文件中的应用。
5. 档案管理系统设计:系统需求分析、模块划分、功能设计等。
6. 档案管理系统实现:使用C语言编写程序,实现用户登录、信息录入、查询、修改、删除等功能。
c语言班级管理系统课程设计
![c语言班级管理系统课程设计](https://img.taocdn.com/s3/m/574bd3de970590c69ec3d5bbfd0a79563c1ed498.png)
c语言班级管理系统课程设计一、教学目标本课程旨在让学生掌握C语言的基本语法,学会使用C语言进行编程,培养学生编写班级管理系统的实际操作能力。
通过本课程的学习,学生将能够熟练运用C 语言编写简单的班级管理系统,具备一定的编程思维和问题解决能力。
具体来说,知识目标包括:1.掌握C语言的基本语法和数据类型。
2.熟悉函数的定义和调用。
3.了解指针的概念和运用。
4.掌握结构体的定义和运用。
技能目标包括:1.能够使用C语言编写简单的程序。
2.能够运用C语言实现班级管理系统的功能。
3.能够根据实际需求,设计和优化班级管理系统的程序结构。
情感态度价值观目标包括:1.培养学生对编程的兴趣和热情。
2.培养学生解决问题的积极性和主动性。
3.培养学生团队合作的精神和良好沟通的能力。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、函数、指针、结构体等知识点。
具体安排如下:1.第一章:C语言概述,基本语法,数据类型。
2.第二章:运算符与表达式,输入输出函数。
3.第三章:函数的定义和调用,局部变量和全局变量。
4.第四章:指针的概念和运用。
5.第五章:数组和字符串。
6.第六章:结构体和文件操作。
7.第七章:班级管理系统的实现。
在教学过程中,将结合具体知识点,通过实例分析和编程实践,使学生掌握C语言的基本编程技巧,并能够运用C语言编写班级管理系统。
三、教学方法本课程将采用讲授法、案例分析法、实验法等多种教学方法相结合的方式进行教学。
1.讲授法:通过讲解和演示,使学生掌握C语言的基本语法和编程技巧。
2.案例分析法:通过分析实际案例,使学生了解班级管理系统的实现过程。
3.实验法:通过编程实验,使学生巩固所学知识,提高编程能力。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备等。
1.教材:《C程序设计语言》(K&R)或《C语言入门到精通》。
2.参考书:《C语言程序设计教程》(谭浩强)等。
3.多媒体资料:教学PPT,视频教程等。
C语言程序设计--班级档案管理系统
![C语言程序设计--班级档案管理系统](https://img.taocdn.com/s3/m/c343c5b6360cba1aa811da93.png)
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)执行一个具体的功能之后,程序将重新显示菜单。
C语言程序设计班级档案管理系统报告文档
![C语言程序设计班级档案管理系统报告文档](https://img.taocdn.com/s3/m/8bb7da1a6c85ec3a87c2c59b.png)
前言 0目录 (1)第二章系统需求分析 (4)第五章系统调试 (7)输入密码进入系统 (7)第六章使用说明 (15)第七章总结 (15)前言设计课题八:班级档案管理系统一、问题描述:对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。
二、功能要求:1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:学号、姓名、性别、年龄、备注。
2、本系统显示这样的菜单:请选择系统功能项:a.学生基本信息录入b.学生基本信息显示c.学生基本信息保存d.学生基本信息删除e.学生基本信息修改(要求先输入密码)f.学生基本信息查询(1)按学号查询(2)按姓名查询(3)按性别查询(4)按年龄查询g. 退出系统3、执行一个具体的功能之后,程序将重新显示菜单。
4、将学生基本信息保存到文件中。
5、进入系统之前要先输入密码。
三、算法提示:1、数据结构:结构体类型数组四、测试数据:学生人数N=10五、其它:对该系统有兴趣的同学可以在实现上述基本功能后,完善系统的其它功能。
目录第一章绪论第一节课程背景第二节本文所做工作第二章需求分析第三章总体设计第四章详细设计第五章测试第六章使用说明第七章总结附录A 源代码附录B 参考资料第一章绪论学生档案管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生档案管理系统应该能够为用户提供充足的信息和快捷的查询手段。学生档案管理系统是典型的信息管理系统(MIS),经过分析如此情况,我们用code#blocks开发工具,利用其提供的各种面向对象的开发工具和功能强大的SQL(结构化查询语言)。
第一节课程背景在我国,各大中小学校的各类信息管理系统并非一个新的课题,但也有的学校根本就没有信息任何管理系统,所有的工作几乎还是手工操作来完成。
计算机技术在日新月异的发展,但是有的很多学校,特别是在西部贫困地区,学校的种类管理都依然由手工操作来完成,这十分落后,效率极低,成本很大,而且极异出错。
档案管理-C语言课程设计
![档案管理-C语言课程设计](https://img.taocdn.com/s3/m/1b49fa0a844769eae009eda4.png)
沈阳航空航天大学课程设计任务书系:材料科学与工程学院专业:材料成型及控制工程班级:04110201学号:2010041102004 题目:档案管理一、课程设计时间2011-2012第2学期第16周,即6月18日~6月21日,共计1周,20学时。
二、课程设计内容用C语言编写软件完成以下任务:在文件file_info.txt中保存了档案信息,编写程序能够读取该信息并显示到屏幕上,能够对档案信息进行修改和删除,并将处理后的结果保存到myfile.dat中。
三、课程设计要求程序质量:✧贯彻结构化的程序设计思想。
✧用户界面友好,功能明确,操作方便。
✧用户界面中的菜单至少应包括、“录入信息”、“修改信息”、“查询学生信息”、“退出”等项。
✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。
课程设计说明书:✧课程结束后,上交课程设计说明书和源程序。
课程设计说明书的内容参见提供的模板。
四、指导教师和学生签字指导教师:________ 学生签名:________五、成绩六、教师评语目录一、需求分析 (1)二、设计分析 (2)三、主要界面截图 (9)四、技术要点 (12)五、个人总结 (15)六、参考文献 (15)七、源程序 (16)一、需求分析随着科学技术的发展,计算机管理在日常生活中的地位变得越来越重要。
它能够代替人做各种重复,繁琐的劳动,并且拥有操作简单,可信度好,不易出错等优点,大大减少了不必要的人力消耗,提高个人的工作效率。
如何开发一个应用简单,见面友好,容易操作,数据安全性好的管理系统就成为非常重要的技术问题。
经过对程序设计题目的分析可知,整个程序的设计实现大致分为六个模块,其中每一个模块对应一个函数,他们的功能分别是:录入档案数据函数(reads),删除档案数据函数(del),查询档案数据函数(query),修改档案数据函数(change),显示档案数据函数(show)及保存档案数据(rewind)。
学生档案管理系统c语言课程设计报告
![学生档案管理系统c语言课程设计报告](https://img.taocdn.com/s3/m/eee7a7bbf111f18583d05aee.png)
目录一、课题设计容与主要功能 (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[])录入学生的基本信息。
C语言实现班档案管理系统课程设计
![C语言实现班档案管理系统课程设计](https://img.taocdn.com/s3/m/edfb2317f90f76c660371a17.png)
C语言实现班档案管理系统课程设计本文实例为大家分享了C语言班档案管理系统的具体代码,供大家参考,具体内容如下做的挺长时间的课程设计,当作参考吧#include<stdio.h>#include<stdlib.h>#include<string.h>#define N 20struct student{long num;char name[20];char sex[10];int age;char bz[40];struct student *next;};int i,j,n,num2,num3,age3,k,m;char name3[20],sex3[20],bz3[20],ch;FILE *fp;int login() //登陆函数{char key[20];printf("\t ********************请输入系统密码********************\n"); do{scanf("%s",key);if((strcmp("a",key))==0){printf("\t password correct ,welcome !\n");return 1; //当密码正确时,返回1,进入系统}printf("\t password incorrect,please input again!\n");}while(key!=1);//当返回值不为1时,重新输入密码,直到输入真确为止system("cls");}int menu() //菜单{int c;printf("\t\t**********欢迎进入通讯客户端!************\n\n");printf("\t\t|—————1.录入学生的基本信息—————|\n");printf("\t\t|----------2.显示学生的基本信息----------|\n");printf("\t\t|----------3.保存学生的基本信息----------|\n");printf("\t\t|----------4.删除学生的基本信息----------|\n");printf("\t\t|----------5.修改学生的基本信息----------|\n");printf("\t\t|----------6.查询学生的基本信息----------|\n");printf("\t\t|—————7.退出系统——————————|\n");printf("\t\t请选择您要进行的功能(0~7) ");scanf("%d",&c);return c;}struct student *creat() //录入信息函数{struct student *head,*p1,*p2;n=0;p1=p2=(struct student *)malloc(sizeof(struct student));head=NULL;printf("请输入学生信息学号,姓名,性别,年龄,备注(键入学生学号为0时结束)\n");while(1) //为1表真,p2->next不为0;{scanf("%d",&p1->num);if(p1->num==0) //判断学生的学号是否为0,如果为0则停止输入数据;{break;}scanf("%s%s%d%s",p1->name,p1->sex,&p1->age,p1->bz);n=n+1;if(n==1){head=p1;}else{p2->next=p1;}p2=p1;p1=(struct student *)malloc(sizeof(struct student));}p2->next=NULL;system("cls");return(head);}void print(struct student *head) //输出信息函数{struct student *p;printf("\t\t这里有%d 个学生的数据信息\n",n);p=head;if(head!=NULL){do{printf("\t\t学号:%d\t姓名:%s\t性别:%s\t年龄:%d\t备注:%s\n",p->num,p->name,p->sex,p->age,p->bz);p=p->next;}while(p!=NULL);}else{return 0;}printf("\n");}int save(struct student *p) //保存信息函数{FILE *fp;if((fp=fopen("keshe.txt","wb"))==NULL){printf("open file fail\n");}fp=fopen("stud","wb");do{fwrite(p,sizeof(struct student),1,fp);p=p->next;}while(p!=NULL);printf("\t\t\t保存成功!\n");fclose(fp);return 0;}struct student *del(struct student *head){struct student *p1,*p2;printf("\t\t请输入要删除学生的学号\n");scanf("%d",&num2);p1=head;if(head->num==num2){head=head->next;free(p1);n--;}else{p2=head;while(p2->num!=num2&&p2->next!=NULL){p1=p2;p2=p2->next;}if(p2->num==num2){p1->next=p2->next;n--;}printf("delete:%ld\n",num2);}return (head);}int mod(struct student *head); //修改信息函数struct student *modify(struct student *head){if(login()==0){return 0;}else{struct student *p1;j=0;p1=(struct student *)malloc(sizeof(struct student)); printf("\t\t\t请输入你要更改的学号\n");scanf("%d",&num2);printf("\t\t\t学号\n");scanf("%d",&num3);printf("\t\t\t姓名\n");scanf("%s",name3);printf("\t\t\t性别\n");scanf("%s",sex3);printf("\t\t\t年龄\n");scanf("%d",&age3);printf("\t\t\t备注\n"); scanf("%s",bz3);p1=head;if(head->num==num2){head->num=num3;strcpy(head->name,name3); strcpy(head->sex,sex3); head->age=age3;strcpy(head->bz,bz3);j=1;}else{p1=head->next;if(p1!=NULL){while(p1->num!=num2) {p1=p1->next;}p1->num=num2;strcpy(p1->name,name3); strcpy(p1->sex,sex3);p1->age=age3;strcpy(p1->bz,bz3);j=1;}}if(j==0){printf("\t\t\t更改失败\n"); }else{printf("\t\t\t更改成功\n"); }}system("cls");mod(head);}int mod(struct student *head) {printf("\t\t\t请选择\n");printf("\t\t\t1:按学号修改学生信息\n");printf("\t\t\t2:输出修改后的学生信息\n");printf("\t\t\t3:返回主菜单\n");scanf("%d",&m);switch(m){case 1:head=modify(head);break;case 2:print(head);break;case 3:menu();break;default:printf("\t\t\tinput error!\n");mod(head);}}int find(struct student *head);int find1(struct student *head) //以学号方式查找{struct student *p1;p1=(struct student *)malloc(sizeof(struct student));printf("\t\t\t请输入你要查询的学生学号\n");scanf("%d",&num2);p1=head;while(p1!=NULL){if(p1->num==num2){k=1;printf("\t\t\t学号:%d\t姓名:%s\t性别:%s\t年龄:%d\t备注:%s\n\n",p1->num,p1->name,p1->sex,p1->age,p1->bz);break;}p1=p1->next;}if(k==0){printf("\t\t\t没有查询到您要找的学生信息\n\n");}else{printf("\t\t\t这就是您要找的学生信息\n\n");}find(head);}int find2(struct student *head) //以姓名方式查找struct student *p1;p1=(struct student *)malloc(sizeof(struct student));printf("\t\t\t请输入您要查询的学生姓名\n");scanf("%s",name3);p1=head;while(p1!=NULL){if((strcmp(p1->name,name3))==0){k=1;printf("\t\t\t学号:%d\t姓名:%s\t性别:%s\t年龄:%d\t备注:%s\n\n",p1->num,p1->name,p1->sex,p1->age,p1->bz);break;}p1=p1->next;}if(k==0){printf("\t\t\t没有找到该学生信息\n\n");}else{printf("\t\t\t这就是您要查询的学生信息\n\n");}find(head);}int find3(struct student *head) //以性别方式查找{struct student *p1;p1=(struct student *)malloc(sizeof(struct student));printf("\t\t\t请输入你要查询的学生的性别\n");scanf("%s",sex3);p1=head;while(p1!=NULL){if((strcmp(p1->sex,sex3))==0){k=1;printf("\t\t\t学号:%d\t姓名:%s\t性别:%s\t年龄:%d\t备注:%s\n\n",p1->num,p1->name,p1->sex,p1->age,p1->bz);break;}p1=p1->next;if(k==0){printf("\t\t\t没有找到该学生信息\n\n");}else{printf("\t\t\t这就是您要查询的学生的信息\n\n");}find(head);}int find4(struct student *head) //以年龄方式查找{struct student *p1;p1=(struct student *)malloc(sizeof(struct student));printf("\t\t\t请输入您要查询的学生的年龄\n");scanf("%d",&age3);p1=head;while(p1!=NULL){if(p1->age==age3){k=1;printf("\t\t\t学号:%d\t姓名:%s\t性别:%s\t年龄:%d\t备注:%s\n\n",p1->num,p1->name,p1->sex,p1->age,p1->bz);break;}p1=p1->next;}if(k==0){printf("\t\t\t没有找到该学生的信息\n\n");}else{printf("\t\t\t这就是您要找的学生的信息\n\n");}find(head);}int find(struct student *head){printf("\t\t\t请选择您要查询学生信息的方式\n");printf("\t\t\t1:按学生学号查询\n");printf("\t\t\t2:按学生姓名查询\n");printf("\t\t\t3:按学生性别查询\n");printf("\t\t\t4:按学生年龄查询\n");printf("\t\t\t5:返回主菜单\n");scanf("%d",&m);switch(m){case 1:find1(head);break;case 2:find2(head);break;case 3:find3(head);break;case 4:find4(head);break;case 5:system("cls");menu();break;default:printf("\t\t\tinput error,please input again\n");}}int main() //主函数{struct student *phead;if(login()==0){return 0;}printf("\n");while(1){switch(menu()){case 1:system("cls");phead=creat();break;case 2:system("cls");print(phead);break;case 3:system("cls");save(phead);break;case 4:system("cls");phead=del(phead);break;case 5:system("cls");mod(phead);break;case 6:system("cls");find(phead);break;case 7:system("cls");printf("\t\t\t欢迎使用,再见!\n");return 0; default:printf("\t\t\t输入有错,请重新输入\n");}}}。
C语言程序设计班级档案管理系统
![C语言程序设计班级档案管理系统](https://img.taocdn.com/s3/m/232d3e37011ca300a6c3907b.png)
课程设计报告课程名称C语言程序设计课题名称班级档案管理系统专业计算机科学与技术班级1410061学号141006107姓名李春苗指导教师刘双红2015年6月20日课程设计任务书课程名称C语言程序设计课题班级档案管理系统专业班级学生姓名李春苗学号141006107指导老师刘双红任务完成日期2014 年6 月20 日一、目的全面熟悉、掌握C语言基本知识,掌握C程序设计中的顺序、分支、循环三种结构及数组、函数和C语言基本图形编程等方法,把编程和实际结合起来,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,养成提供文档资料的习惯和规范编程的思想,为以后在专业课程中应用计算机系统解决计算、分析、实验和设计等学习环节打下较扎实的基础。
二、设计要求掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一些实际的问题,为将来编写软件积累一些典型的案例处理经验。
1.设计正确,方案合理。
2.界面友好,使用方便。
3.程序精炼,结构清晰。
4.设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。
5.上机演示。
6.按学号顺序选课题号,并在规定的时间内独自完成相关课题的C源程序编写、调整和运行。
源程序及编译生成各文件均保存在软盘中;7.按本任务书的要求,按附录的要求编写《课程设计报告》(Word文档格式)。
并用A4的复印纸打印并装订;8.在2010年7月2日之前,请各班学习委员收齐课程设计报告和源程序软盘交王颖老师,联系电话:。
三、进度安排第一周星期四:课题讲解,查阅资料第二周星期一: 总体设计,详细设计星期二:编程,上机调试、修改程序星期三:上机调试、完善程序星期四:上机调试、完善程序星期五:答辩星期六-星期天:撰写课程设计报告一、问题描述:对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。
C语言班级管理课程设计
![C语言班级管理课程设计](https://img.taocdn.com/s3/m/763e515ecd1755270722192e453610661fd95a4d.png)
C语言班级管理课程设计一、课程目标知识目标:1. 掌握C语言基础语法,如变量声明、数据类型、运算符和表达式;2. 学会使用C语言控制结构,包括顺序、选择和循环结构;3. 了解C语言数组、字符串和函数的基本应用;4. 掌握班级管理系统的基本功能需求,如学生信息录入、查询、修改和删除。
技能目标:1. 能够运用C语言编写简单的班级管理系统功能模块;2. 培养学生分析问题、解决问题的能力,通过编程解决班级管理中的实际问题;3. 提高学生的逻辑思维能力,学会运用C语言进行结构化编程。
情感态度价值观目标:1. 激发学生对计算机编程的兴趣,培养学习主动性和积极性;2. 培养学生良好的团队合作精神,学会在项目开发中分工合作;3. 增强学生的创新意识,鼓励学生发挥想象,设计出有特色的班级管理系统;4. 培养学生严谨、细心的编程习惯,提高代码质量和可维护性。
本课程针对初高中年级学生,结合C语言编程基础和班级管理实际需求,旨在通过项目驱动的教学方式,让学生在实践中掌握C语言编程技能,提高解决实际问题的能力。
同时,注重培养学生良好的情感态度和价值观,为我国信息技术产业发展输送高素质的人才。
二、教学内容1. C语言基础语法:变量声明、数据类型、运算符、表达式;教材章节:第一章至第三章。
2. 控制结构:顺序结构、选择结构(if-else)、循环结构(for、while);教材章节:第四章。
3. 函数:函数定义、函数调用、递归函数;教材章节:第五章。
4. 数组与字符串:一维数组、二维数组、字符串操作;教材章节:第六章。
5. 班级管理系统功能模块设计:a. 学生信息录入:输入学生信息,存储到文件;b. 学生信息查询:按条件查询学生信息;c. 学生信息修改:修改指定学生信息;d. 学生信息删除:删除指定学生信息;教材章节:第七章、第八章。
6. 项目实践:分组进行班级管理系统的设计与实现,完成各功能模块;教材章节:全书。
教学内容安排和进度:第一周:C语言基础语法学习;第二周:控制结构学习;第三周:函数学习;第四周:数组与字符串学习;第五周:班级管理系统功能模块设计;第六周:项目实践,完成班级管理系统;第七周:项目展示、评价与总结。
学生档案管理系统c语言课程设计
![学生档案管理系统c语言课程设计](https://img.taocdn.com/s3/m/29b1b8fc6edb6f1afe001f74.png)
. .目录一、课题设计内容与主要功能 (1)第 1 节. 设计内容 . (1)第 2 节. 主要功能 . (1)二、课题解析.............................................................................................................错误!不决义书签。
第 1 节. 类声明表 . ....................................................................................................错误!不决义书签。
第 2 节.解析课程设计项目的实现方法 (3)三、主要功能的实现步骤 (4)四、程序测试与结论 (5)五、总结 (11)六、附件14一、课题设计内容与主要功能1、设计内容:为了满足学生档案管理的要求,经过计算机技术给档案管理人员带来便利。
使用c 语言编写了学生档案此管理系统。
本系统主要实现学生档案管理的功能,经过此系统方便对学生档案管理。
包括学号、姓名、性别、年龄、备注。
所设计的系统以菜单方式工作,为用户供应清楚的使用提示,依据用户的选择来进行各种办理。
图书信息的录入后,系统依据有必然的规范格式显示,录入的学生信息用文件形式保存,并能够对其进行修改、排序、插入、排序盘问等基本操作。
整个程序实现链表操作,对学生信息的操作逐个地进行。
学生档案管理系统成立框架学 1.学生基本信息录入生 2.学生基本信息显示档 3.学生基本信息保存案 4.学生基本信息更正按姓名更正管 5.学生基本信息插入按姓名插入理 6.学生基本信息删除按姓名删除系7.学生基本信息排序统8.学生基本信息按姓名盘问按姓名盘问9.从文件中读入学生基本信息10.退出系统2、主要功能:1、本系统采用一个包括 N个数据的结构体数组,每个数据的结构应当包括:学号、姓名、性别、年龄、备注。
班级档案管理系统c课程设计语言
![班级档案管理系统c课程设计语言](https://img.taocdn.com/s3/m/ee27e11f657d27284b73f242336c1eb91a3733b2.png)
班级档案管理系统c课程设计语言一、引言1.1 项目背景随着信息技术的不断发展,各行各业都逐渐向数字化、信息化方向转变。
教育领域也不例外,学校班级档案管理系统的建设已经成为了教育信息化建设的重要组成部分。
班级档案管理系统是指对各个班级的学生档案进行管理和维护,包括学生基本信息、家庭联系方式、考试成绩、奖惩记录等内容。
1.2 项目目标本项目旨在开发一个功能完备的班级档案管理系统,能够满足学校对班级档案管理的需求,同时提高教师和管理员工作效率。
二、需求分析2.1 功能需求分析(1)用户登录:用户通过输入账号和密码登录系统。
(2)学生档案管理:管理员可以添加、删除和修改学生档案信息,并能够查询和打印学生档案。
(3)成绩管理:管理员可以录入和查询学生考试成绩,并能够生成成绩统计报表。
(4)奖惩记录:管理员可以添加、删除和修改学生奖惩记录,并能够查询和打印奖惩记录。
(5)家长联系方式:管理员可以录入和查询学生家长联系方式,并能够打印学生家长通讯录。
(6)系统设置:管理员可以对系统进行设置,包括修改管理员账号和密码、备份和恢复数据等。
2.2 非功能需求分析(1)易用性:系统界面简洁明了,操作简单方便。
(2)可靠性:系统具有良好的稳定性和可靠性,能够保证数据的安全性和完整性。
(3)安全性:系统具有较高的安全性,包括用户权限管理、数据加密等措施。
三、技术选型3.1 开发语言本项目采用C#语言进行开发。
C#是一种面向对象的编程语言,具有良好的扩展性和可维护性,同时也是Windows平台上广泛使用的编程语言之一。
3.2 开发工具本项目采用Visual Studio 2019作为开发工具。
Visual Studio 2019是微软公司推出的一款强大的集成开发环境,支持多种编程语言,并提供了丰富的开发工具和组件库,能够极大地提高开发效率。
四、系统设计4.1 数据库设计本项目采用MySQL数据库进行数据存储。
数据库中包含以下表:(1)学生档案表:存储学生基本信息、家庭联系方式等内容。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2011-2012学年第二学期《高级语言程序设计》课程设计报告题目:班级档案管理专业:网络工程班级:2班姓名:指导教师:成绩:计算机与信息工程系2013年6月28日设计题目1 设计内容及要求1、1构建各种算法的基本数据模型,并进行分析;1、2画出算法的程序流程图;1、3写出相应模块的源程序文件;1、4设计一主程序界面进行封装。
2 概要设计该程序的主要功能是实现学生档案的管理,包括录入学生信息、显示学生信息、查询学生信息、删除学生信息、添加学生信息、修改学生信息,以及查询的方式(按学号查询、按姓名查询、按性别查询、按年龄查询)。
并统计学生的所有信息。
3 设计过程或程序代码本程序由一个Void main(),一个Void input(),一个Void Save(),一个Void display(),一个Void Delete() ,一个Void add和一个Void Search()共七个主要函数来实现该程序的编程的。
其中在主函数Void main()中调用其他六个函数,通过Switch语句来实现调用进入各个函数,进入主菜单通过录入函数录入学生信息,并自动保存在c\\student.txt中。
学生信息输入应用了结构数组,学生信息主要包括姓名,学号,性别,年龄以及备注。
其中年龄为整型,其他为字符型。
调用函数时,学生信息运用了指针数组,如void Modfiy(struct student* arr,int n)在Void Delete()调用函数中,当bool flag=ture是该学生不存在,即已被删除。
在Void search()调用函数中,当bool flag=ture是该学生存在,即已被查询到。
当flag=false时则说明没有该学生信息。
在查询系统中,有四种查询方式,分别是按姓名查询,按学号查询,按性别查询和按年龄查询。
四种查询方式用Switch语句连接起来,进入每种查询方式要输入所需信息才能进入。
该程序最大的特点是Switch连接各调用函数和各查询方式以及结构数组的运用,将各函数有序的连接起来。
各个调用函数功能的实现如下:1)信息的录入主要运用循环语句将各个学生信息依次输入2)信息的显示也是用循环语句将各个学生信息显示出来。
3)信息的保存是将信息重写到保存到的文件位置,其中信息保存在c:\\student.text4)信息的删除是运用字符串复印函数,将空格复印到信息字符上达到删除效果。
5)信息的修改是输入学号用循环语句将需修改的信息显示出来,然后再输入新的信息6)信息的查询是通过Switch语句将查询方式连接起来,并在各个查询方式中用循环语句将要查询的信息显示出来4 设计结果与分析void search_age(){int age;int i, t;int m=load();printf("请输入要查找的年龄:\n");scanf("%d",&age);for(i=0;i<m;i++)if(age==st[i].age){printf("\n已找到此人,其记录为:\n");printf("\n学号\t姓名\t性别\t年龄\t备注 \n");printf("\n%d\t%s\t%c\t%d\t%s\t%s\t%s\t%ld\n",st[i].num,st[i].name ,st[i].sex,st[i].age,st[i].xueli,st[i].beizhu,st[i].addr,st[i].tel);b reak;}if(i==m)printf("\n对不起,查无此人\n");printf("\n");printf("返回查询函数请按,继续查询年龄请按\n");scanf("%d",&t);switch(t){case 1:search();break;case 2:break;default :break;}}这段程序的功能是按年龄查询来查询学生的相关信息,如果输入正确就能得到该学生的学号姓名性别备注等信息,如果输入有误,将得不到有效信息,并返回查询函数重新选择。
5 参考文献C语言程序设计(第三版)谭浩强著《C语言程序设计》(第2版)人民邮电出版社《C程序设计》(第三版)北京邮电大学出版社《C语言程序设计案例分析》清华大学出版社源程序#include<stdafx.h>#include<stdio.h>#include<windows.h>#include<time.h>#include<string.h>#define N 100struct student{int num;char name[10];char sex;int age;char xueli[30];char beizhu[50];char addr[30];long int tel;}st[100]; /*定义一个结构体*/void menu();void input();void save(int);void display();void del();void add();void search();void search_num();void search_name();void search_sex();void search_age();void modify(); /*定义各函数*/void menu() /*菜单函数*/{printf(" ☆☆☆网络工程☆☆☆\n");printf("\n");printf(" ∮***班 ****∮\n");printf("\n");printf(" ******************学生档案管理****************\n");printf(" 1.录入学生信息");printf(" 2.显示学生信息\n");printf(" 3.查询学生信息");printf(" 4.删除学生信息\n");printf(" 5.添加学生信息");printf(" 6.修改学生信息\n");printf(" 7.退出\n");printf(" ********************谢谢使用******************\n");printf("\n");printf("\n");}void main(){menu(); /*调用菜单函数*/int n,flag;char a;do{printf("请选择你需要操作的步骤(1--7):\n");scanf("%d",&n);if(n>=1&&n<=7){flag=1;break;}else{flag=0;printf("您输入有误,请重新选择!");}}while(flag==0);while(flag==1){switch(n){case 1:printf(" ◆◆◆输入学生信息◆◆◆\n");printf("\n");input();break;case 2:printf(" ◆◆◆显示学生信息◆◆◆\n");printf("\n");display();break;case 3:printf(" ◆◆◆按学号查询学生信息◆◆◆\n");printf("\n");search();break;case 4:printf(" ◆◆◆删除学生信息◆◆◆\n");printf("\n");del();break;case 5:printf(" ◆◆◆添加学生信息◆◆◆\n");printf("\n");add();break;case 6:printf(" ◆◆◆修改学生信息◆◆◆\n");printf("\n");modify();break;case 7:exit(0);break;default :break;}getchar();printf("\n");printf("是否继续进行(y or n):\n");scanf("%c",&a);if(a=='y'){flag=1;system("cls"); /*清屏*/menu(); /*调用菜单函数*/printf("请再次选择你需要操作的步骤(1--7):\n");scanf("%d",&n);printf("\n");}elseexit(0);}}void input() /*录入函数*/{int i,m;printf("请输入需要创建信息的学生人数(1--100):\n");scanf("%d",&m);for (i=0;i<m;i++){printf("请输入学号:");srand((int)time(0));st[i].num=rand()%10000+20000000;if(st[i].num!=st[i-1].num)printf("%8d ",st[i].num);printf("\n");printf("请输入姓名: ");scanf("%s",st[i].name);getchar();printf("请输入性别(f--女 m--男): ");scanf("%c",&st[i].sex);printf("请输入年龄: ");scanf("%d",&st[i].age);printf("请输入备注: ");scanf("%s",&st[i].beizhu);printf("\n");}printf("\n创建完毕!\n");save(m);}void save(int m) /*保存文件函数*/{int i;FILE*fp;if ((fp=fopen("c:\\student.txt","wb"))==NULL){printf ("cannot open file\n");exit(0);}for (i=0;i<m;i++) /*将内存中学生的信息输出到磁盘文件中去*/ if (fwrite(&st[i],sizeof(struct student),1,fp)!=1) printf("file write error\n");fclose(fp);}int load() /*导入函数*/{FILE*fp;int i=0;if((fp=fopen("c:\\student.txt","rb"))==NULL){printf ("cannot open file\n");exit(0);}else{do{fread(&st[i],sizeof(struct student),1,fp);i++;}while(feof(fp)==0);}fclose(fp);return(i-1);}void display() /*显示函数*/{int i;int m=load();printf("\n 学号\t姓名\t性别\t年龄\t备注 \n");for(i=0;i<m;i++) /*m为输入部分的学生人数*/printf("\n %d\t%s\t%c\t%d\t%s\t%s\t%s\t%ld\n",st[i].num,st[i].name,st[i].sex,st[i].age,st[i].xueli,st[i].beizhu,st[i].addr,st[i].tel);}void del() /*删除函数*/{int m=load();int i,j,n,t,flag;char name[20];printf("\n 原来的学生信息:\n");display(); /* 调用显示函数*/printf("\n");printf("请输入要删除的学生的姓名:\n");scanf("%s",name);for(flag=1,i=0;flag&&i<m;i++){if(strcmp(st[i].name,name)==0){printf("\n已找到此人,原始记录为:\n");printf("\n学号\t姓名\t性别\t年龄\t备注 \n");printf("\n%d\t%s\t%c\t%d\t%s\t%s\t%s\t%ld\n",st[i].num,st[i].name,st[i].sex,st[i].age,st[i].xueli,st[i].beizhu,st[i].addr,st[i].tel);printf("\n确实要删除此人信息请按,不删除请按\n");scanf("%d",&n);if(n==1) /*如果删除,则其他的信息都往上移一行*/{for(j=i;j<m-1;j++){strcpy(st[j].name,st[j+1].name);st[j].num=st[j+1].num;st[j].sex=st[j+1].sex;st[j].age=st[j+1].age;strcpy(st[j].xueli,st[j+1].xueli);strcpy(st[j].beizhu,st[j+1].beizhu);strcpy(st[j].addr,st[j+1].addr);st[j].tel=st[j+1].tel;}flag=0;}}}if(!flag)m=m-1;elseprintf("\n对不起,查无此人!\n");printf("\n 浏览删除后的所有学生信息:\n");save(m); /*调用保存函数*/display(); /*调用显示函数*/printf("\n继续删除请按,不再删除请按\n");scanf("%d",&t);switch(t){case 1:del();break;case 0:break;default :break;}}void add()/*添加函数*/{FILE*fp;int n;int count=0;int i;int m=load();printf("\n 原来的学生信息:\n");display(); /* 调用显示函数*/printf("\n");fp=fopen("student_list","a");printf("请输入想增加的学生数:\n");scanf("%d",&n);for (i=m;i<(m+n);i++){printf("\n 请输入新增加学生的信息:\n");printf("请输入学号: ");srand((int)time(0));st[i].num=rand()%10000+20000000;if(st[i].num!=st[i-1].num)printf("%8d ",st[i].num);printf("\n");printf("请输入姓名: ");scanf("%s",st[i].name);getchar();printf("请输入性别(f--女 m--男): ");scanf("%c",&st[i].sex);printf("请输入年龄: ");scanf("%d",&st[i].age);printf("请输入备注: ");scanf("%s",&st[i].beizhu);printf("\n");count=count+1;printf("已增加的人数:\n");printf("%d\n",count);}printf("\n添加完毕!\n");m=m+count;printf("\n显示增加后的所有学生信息:\n");printf("\n");save(m);display();fclose(fp);}void search()/*查询函数*/{int t,flag;do{printf("\n按学号查询请按,按姓名查询请按,按性别查询请按,按年龄查询请按,进入主函数按\n");scanf("%d",&t);if(t>=1&&t<=5){flag=1;break;}else{flag=0;printf("您输入有误,请重新选择!");}}while(flag==0);while(flag==1){switch(t){case 1:printf("按学号查询\n");search_num();break;case 2:printf("按姓名查询\n");search_name();break;case 3:printf("按性别查询\n");search_sex();break;case 4:printf("按年龄查询\n");search_age();break;case 5:main();break;default:break;}}}void search_num(){int num;int i,t;int m=load();printf("请输入要查找的学号:\n");scanf("%d",&num);for(i=0;i<m;i++)if(num==st[i].num){printf("\n已找到此人,其记录为:\n");printf("\n学号\t姓名\t性别\t年龄\t备注 \n");printf("\n%d\t%s\t%c\t%d\t%s\t%s\t%s\t%ld\n",st[i].num,st[i].name,st[ i].sex,st[i].age,st[i].xueli,st[i].beizhu,st[i].addr,st[i].tel);break;}if(i==m)printf("\n对不起,查无此人\n");printf("\n");printf("返回查询函数请按,继续查询学号请按\n");scanf("%d",&t);switch(t){case 1:search();break;case 2: break;default:break;}}void search_name(){char name[10];int i,t;int m=load();printf("请输入要查找的姓名:\n");scanf("%s",name);for(i=0;i<m;i++)if(strcmp(st[i].name,name)==0){printf("\n已找到,其记录为:\n");printf("\n学号\t姓名\t性别\t年龄\t备注 \n");printf("\n%d\t%s\t%c\t%d\t%s\t%s\t%s\t%ld\n",st[i].num,st[i].name,st[ i].sex,st[i].age,st[i].xueli,st[i].beizhu,st[i].addr,st[i].tel);}if(i==m)printf("\n对不起,查无此人\n");printf("\n");printf("返回查询函数请按,继续查询姓名请按\n");scanf("%d",&t);switch(t){case 1:search();break;case 2:break;default :break;}}void search_sex(){char sex;int i, t;int m=load();printf("请输入要查找的性别:\n");scanf("%c",sex);for(i=0;i<m;i++)if(sex==st[i].sex){printf("\n已找到此人,其记录为:\n");printf("\n学号\t姓名\t性别\t年龄\t备注 \n");printf("\n%d\t%s\t%c\t%d\t%s\t%s\t%s\t%ld\n",st[i].num,st[i].name,st[i].sex,st[i].age,st[i].xueli,st[i].beizhu,st[i].addr,st[i].tel);b reak;}if(i==m)printf("\n对不起,查无此人\n");printf("\n");printf("返回查询函数请按,继续查询性别请按\n");scanf("%d",&t);switch(t){case 1:search();break;case 2:break;default :break;}}void search_age(){int age;int i, t;int m=load();printf("请输入要查找的年龄:\n");scanf("%d",&age);for(i=0;i<m;i++)if(age==st[i].age){printf("\n已找到此人,其记录为:\n");printf("\n学号\t姓名\t性别\t年龄\t备注 \n");printf("\n%d\t%s\t%c\t%d\t%s\t%s\t%s\t%ld\n",st[i].num,st[i].name ,st[i].sex,st[i].age,st[i].xueli,st[i].beizhu,st[i].addr,st[i].tel);b reak;}if(i==m)printf("\n对不起,查无此人\n");printf("\n");printf("返回查询函数请按,继续查询年龄请按\n");scanf("%d",&t);switch(t){case 1:search();break;case 2:break;default :break;}}void modify() /*修改函数*/{int num;char name[10];char sex;int age;char xueli[30];char beizhu[50];char addr[30];long int tel;int b,c,i,n,t,flag;int m=load(); /*导入文件内的信息*/printf("\n 原来的学生信息:\n");display(); /* 调用显示函数*/printf("\n");printf("请输入要修改的学生的姓名:\n");scanf("%s",name);for(flag=1,i=0;flag&&i<m;i++){if(strcmp(st[i].name,name)==0){printf("\n已找到此人,原始记录为:\n");printf("\n学号\t姓名\t性别\t年龄\t备注 \n");printf("\n%d\t%s\t%c\t%d\t%s\t%s\t%s\t%ld\n",st[i].num,st[i].name,st[i].sex,st[i].age,st[i].xueli,st[i].beizhu,st[i].addr,st[i].tel);printf("\n确实要修改此人信息请按; 不修改请按\n");scanf("%d",&n);if(n==1){printf("\n需要进行修改的选项\n 1.学号2.姓名3.性别4.年龄5.备注\n");printf("请输入你想修改的那一项序号:\n");scanf("%d",&c);if(c>8||c<1)printf("\n选择错误,请重新选择!\n");}flag=0;}}if(flag==1)printf("\n对不起,查无此人!\n");do{switch(c) /*因为当找到第i个学生时,for语句后i自加了,所以下面的应该把改后的信息赋值给第i-1个人*/{case 1:printf("学号改为: ");scanf("%d",&num);st[i-1].num=num;break;case 2:printf("姓名改为: ");scanf("%s",name);strcpy(st[i-1].name,name);break;case 3:printf("性别改为: ");getchar();scanf("%c",&sex);st[i-1].sex=sex;break;case 4:printf("年龄改为: ");scanf("%d",&age);st[i-1].age=age;break;case 6:printf("备注改为: ");scanf("%s",beizhu);break;}printf("\n");printf("\n是否确定所修改的信息?\n 是请按; 不,重新修改请按: \n");scanf("%d",&b);}while(b==2);printf("\n显示修改后的所有学生信息:\n");printf("\n");save(m);display();printf("\n继续修改请按,不再修改请按\n");scanf("%d",&t);switch(t){case 1:modify();break;case 0:break;default :break;}}。