高级语言程序综合课程设计实验报告
- 格式:docx
- 大小:288.04 KB
- 文档页数:41
高级语言程序设计实验报告高级语言程序设计实验报告引言高级语言程序设计是计算机科学与技术专业中的一门重要课程,通过学习高级语言的基本概念和编程技巧,可以培养学生的程序设计能力和逻辑思维能力。
本实验报告将介绍我在高级语言程序设计实验中所完成的任务和所获得的收获。
实验目的本次实验的主要目的是通过使用高级语言编写程序,实现一个简单的计算器功能。
通过这个实验,我们可以进一步熟悉高级语言的语法和使用方法,加深对程序设计的理解,并培养我们的编程能力。
实验过程在实验过程中,我首先选择了一种高级语言,这里我选择了Python作为我的编程语言。
Python是一种简单易学且功能强大的高级语言,非常适合初学者。
然后,我开始设计计算器的功能和界面。
首先,我定义了一个函数来处理用户输入的表达式,并进行相应的计算。
这个函数使用了Python的内置函数eval()来实现表达式的计算功能。
在这个函数中,我还添加了一些错误处理的机制,以防止用户输入错误的表达式。
接下来,我设计了一个简单的用户界面,使用了Python的tkinter库来实现。
在这个界面中,我添加了一些按钮和文本框,用于用户输入和显示计算结果。
通过点击按钮,用户可以输入数字和运算符,并实时显示在文本框中。
当用户点击“计算”按钮时,程序会调用之前定义的函数来计算表达式,并将结果显示在文本框中。
在实验过程中,我遇到了一些问题和挑战。
例如,如何处理用户输入错误的表达式,如何设计一个简洁而美观的用户界面等等。
为了解决这些问题,我不断学习和尝试,查阅相关的教程和资料,并与同学们进行交流和讨论。
最终,我成功地完成了这个实验,并得到了一个功能完善且易于使用的计算器程序。
实验结果通过这个实验,我成功地实现了一个简单的计算器功能,并完成了实验报告所要求的任务。
这个计算器程序可以进行基本的四则运算,并能够处理用户输入的错误表达式。
用户界面简洁明了,操作简单方便。
我还通过一系列的测试用例验证了程序的正确性和稳定性。
高级语言程序设计实验报告一、引言1.1 任务背景高级语言程序设计是计算机科学中的重要课程,旨在让学生了解和掌握常见的高级编程语言,并通过实践项目加深对程序设计原理和技术的理解。
本实验报告旨在总结和探讨高级语言程序设计实验的相关内容和经验。
1.2 实验目的本实验的主要目的是让学生通过实践掌握高级语言程序设计的基本概念、基本语法和常见技术,培养学生使用高级编程语言解决实际问题的能力,并掌握程序设计的基本方法和技巧。
二、实验过程2.1 实验环境本实验使用的编程语言是Python,选择Python的原因是它是一种简单易学、功能强大的高级编程语言,适合初学者入门。
实验环境是Windows 10操作系统和Anaconda集成开发环境。
2.2 实验内容本实验包括以下几个实验项目:1.基本语法和数据类型:学习Python的基本语法规则和数据类型,掌握变量的定义和使用,了解常用数据类型如整数、浮点数、字符串等。
2.控制流程和函数:学习条件语句和循环语句的用法,掌握如何使用if语句和for循环实现程序的控制流程。
同时,学习函数的定义和调用,理解函数的作用和使用方法。
3.文件操作和异常处理:学习使用Python操作文件,了解文件的打开、读写和关闭等操作。
同时,学习如何处理程序异常,防止程序运行过程中出现错误导致程序崩溃。
4.数据结构和算法:学习常见的数据结构如列表、字典和集合等,了解它们的特点和用法。
同时,学习常见的算法如排序算法和搜索算法,掌握它们的基本思想和实现方法。
2.3 实验步骤以下是本实验的大致步骤:1.搭建实验环境:安装Python和Anaconda,配置开发环境。
2.学习Python基本语法和数据类型:通过阅读教材和参考资料,理解Python的基本语法规则和数据类型。
3.完成实验项目:按照教材和实验指导书的要求,完成实验项目。
4.调试和测试:运行程序,检查程序运行结果是否正确,进行必要的调试。
5.总结和反思:总结实验过程中遇到的问题和解决方案,思考如何改进自己的编程能力。
《高级语言程序设计》课程设计报告姓名:学号:班级:设计时间:审阅教师:目录一.封面 (1)二.目录页 (2)三.语言描述及截图…………………………………………3—— 5 四.源程序清单………………………………………………6——29(报告正文部分的格式):(要求:正文部分一律用五号字,宋体,单倍行距。
一级大标题靠左,四号,宋体,加粗。
二级大标题靠左,小四,宋体,不加粗。
)课程设计的内容如下:一. 课程设计的目的与要求(含设计指标)(参见课程设计要求)二. 方案实现与调试2.1分屏处理数据系统•2.1.1 题目内容的描述•2.1.2 应用程序功能的详细说明•2.1.3 输入数据类型、格式和内容限制;•2.1.4主要模块的算法描述每次主循环产生一屏10*10的数组,分别两两比较2个元素的大小,较大的赋给MAX,较小的赋给MIN,各个元素累加结果除以100输出平均数。
结尾清屏以达到翻页效果.2.1.5 调试过程及实验结果2.2掷骰子游戏•2.2.1 题目内容的描述•2.2.2 应用程序功能的详细说明•2.2.3 输入数据类型、格式和内容限制;•2.2.4主要模块的算法描述产生1到6的随机数赋给1个包含4个元素的数组,如果前后两个数字大小一样且都为6则选手得8分,若前后两个数字大小一样但不为6则选手得7分,若果前后数字不一样,则按较小数计分。
分别将2个选手的得分相加,比较总分,得到最后结果.2.2.5 调试过程及实验结果2.3射击游戏产生一个1到200的随机数,输出相应数量空格,然后紧接着输出笑脸。
利用循环逐行输出空格回车,在笑脸下方底部输出星号,利用空循环延时,以达到星号上移的效果.若用户输入数字与产生的随机数相同,星号击中笑脸,玩家获胜,游戏结束。
若5次都错,玩家失败,游戏结束2.6猜数字游戏利用数组存放产生的随机数,创建一个TXT文本文档,将游戏过程中的所有数据写入其中.比较用户输入的数字和最开始随机产生的答案,输出猜对的个数和位置。
一、实验目的1. 熟悉高级语言程序设计的基本概念和编程环境。
2. 掌握程序设计的基本方法和技巧。
3. 提高逻辑思维和问题解决能力。
4. 学会使用高级语言编写简单的程序。
二、实验内容本次实验选用的高级语言为Python,主要内容包括:1. 变量和数据类型2. 控制结构3. 函数4. 文件操作5. 异常处理三、实验步骤1. 环境搭建(1)下载并安装Python环境。
(2)配置Python环境变量。
(3)验证Python环境是否搭建成功。
2. 编写程序(1)创建一个Python文件(例如:test.py)。
(2)编写以下代码,实现一个简单的计算器功能。
```python# 定义加法函数def add(x, y):return x + y# 定义减法函数def subtract(x, y):return x - y# 定义乘法函数def multiply(x, y):return x y# 定义除法函数def divide(x, y):if y == 0:return "Error: Division by zero"else:return x / y# 主函数def main():while True:print("请输入操作符(+、-、、/)或输入'q'退出:") operator = input()if operator == 'q':breakprint("请输入第一个数:")num1 = float(input())print("请输入第二个数:")num2 = float(input())if operator == '+':print("结果是:", add(num1, num2))elif operator == '-':print("结果是:", subtract(num1, num2)) elif operator == '':print("结果是:", multiply(num1, num2)) elif operator == '/':print("结果是:", divide(num1, num2))else:print("Error: Invalid operator")# 调用主函数if __name__ == "__main__":main()```3. 运行程序(1)打开命令行窗口,切换到Python文件所在的目录。
高级语言程序设计实验报告标题:高级语言程序设计实验报告摘要:本实验旨在通过实践操作,使学生掌握高级语言程序设计的基本原理和方法,提高其编程能力和解决问题的能力。
本文主要介绍实验过程中的设计思路、程序运行结果及经验体会。
一、实验目的本实验的主要目的是通过实践操作,使学生掌握高级语言程序设计的基本原理和方法,提高其编程能力和解决问题的能力。
具体目标包括以下几个方面:1.了解高级语言的程序设计思想和基本语法;2.掌握面向对象程序设计的基本原理和方法;3.熟练掌握常见数据结构和算法的设计与实现;4.掌握软件测试的基本方法和流程。
二、实验内容本实验的主要内容包括以下几个方面:1. 面向对象程序设计2.数据结构与算法设计3.文件操作4.软件测试三、实验过程在本次实验中,我们使用C++语言进行编程操作。
首先,我们进行了面向对象程序设计的基本训练,了解了类、继承、封装、多态等概念。
通过实践操作,我们掌握了如何使用类来实现各种功能,并深入了解了类与对象之间的关系。
接下来,我们进行了数据结构与算法的设计实践。
在这个环节中,我们学习了常见的数据结构和算法,并掌握了它们的基本原理和实现方法。
通过编写各种常见的算法,比如排序算法、查找算法等,我们进一步加深了对数据结构和算法的理解。
随后,我们进行了文件操作的训练,了解了如何在C++中读取和写入文件。
通过这个练习,我们更加深入了解了文件操作的原理和方法,对文件读取和写入的各种问题有了更深入的认识。
最后,我们进行了软件测试的培训,在实践中了解了测试的基本方法和流程。
通过运用各种测试工具和技巧,我们成功地测试了我们的程序,并对程序的问题做了相应的修改和优化。
四、实验结果通过本次实验,我们成功掌握了高级语言程序设计的基本原理和方法,提高了自身的编程能力和解决问题的能力。
我们的程序能够正确地实现各种常见的数据结构和算法,具有较高的可靠性和实用性。
同时,我们深入理解了文件操作的原理和方法,能够熟练地读取和写入各种类型的文件。
《高级语言程序设计》课程设计报告(2014――2015年度第二学期)题目通讯录管理专业计算机科学与技术班级2014级B班小组成员李丽丽2009022899班级2009级计本四班《高级语言程序设计》课程设计成绩评定指导教师:摘要:通过本课程设计,对程序控制结构、数组、结构体、函数、文件等的应用进行综合训练,并初步接触软件设计的基本步骤。
本设计实现关键词:控制结构,数组,结构体,函数,文件一、课程设计的目的与要求通过实践训练,进一步掌握C语言程序控制结构、数组、结构体、函数、文件的使用方法,提高程序编写调试的实际能力,培养初步的工程设计能力和综合分析、解决问题的能力。
具体如下:1.学习和实践在分析和设计计算机应用系统所需要的知识,包括功能分析和模块划分、函数设计、数据的结构分析、设计和存取操作;2.熟悉Visual C++的代码编制和调试过程;3.初步培养文档的编写能力;4.培养协作能力和团队精神。
二、设计正文1.概述1.1课题题目:通讯录管理1.2系统的主要目标:本系统目标是实现通讯录管理的功能,对姓名、群组、住宅电话、手机、Email、地址和备注信息进行输入、删除、查找和修改,数据存储于二进制文件。
1.3系统的开发环境及运行环境:操作系统:Win dows XP Pro SP2开发工具:Visual C++ 6.02.系统分析1.输入记录:将每一个职工的姓名、ID号以及基本工资、职务工资、岗位津贴、医疗保险、公积金的数据作为一个记录。
?该软件能建立一个新的数据文件或给已建立好的数据文件增加记录。
2.显示记录:根据用户提供的记录或者根据职工姓名显示一个或几个职工的各项工资和平均工资。
3.修改记录:可以对数据文件的任意记录的数据进行修改并在修改前后对记录内容进行显示。
4•查找记录:可以对数据文件的任意记录的数据进行查找并在查找前后对记录内容进行显示。
5.删除记录:可删除数据文件中的任一记录。
6•恢复记录:能恢复被删除的任一记录。
合肥师范学院实验报告册2013 / 201 学年第1 学期系别计算机科学与技术系实验课程高级语言程序设计专业班级姓名学号指导教师《高级语言程序设计》实验 班级: 学号: 姓名:-1-实验一 ——VC 工作环境及顺序结构程序设计一、实验目的1. 熟悉VC++的运行环境,掌握运行一个C 程序的基本步骤,包括编辑、编译、连接和运行;2. 理解顺序结构程序方式;3. 了解常用数据类型的输入输出方法;4. 了解C 程序的基本框架,能编写简单的C 程序,了解程序调试;二、实验预习内容在认真阅读教材及实验指导书的基础上,上机前请预习以下内容,并在空白处填写相应的步骤或命令。
1. 输入并运行一个简单、正确的程序。
输入编程示例 “Hello ,World !”程序,即: # inc lude “stdio.h” int main(void) {printf("Hello ,World !\n"); return 0; }1) 参考实验指导书P223~P233,学习C 程序的编辑、编译、运行,熟悉VC++6.0的基本界面操作。
2) 修改本例,使用printf ()输出自己的个性化签名,保存到文件ex1_1.c 中。
2. 程序改错题:# include stdio.h int mian(void) {printf( Welcome to You! \n" ) return 0;1) 分析本程序段中哪些地方存在错误?请标记出来,并给出修改意见。
2) 输入上面程序(或打开error1_2.c ),学习程序调试。
3. 程序阅读题:1) 请分析下面程序(ex1_3.c )运行结果是什么? # include <stdio.h> int main(void){ char c1,c2 ; c1=97; c2=98; printf( "c1=%c,c2=%c \n", c1, c2 ); printf( "c1=%d,c2=%d \n", c1, c2 ); return 0; } 运行结果是: 2) 若将程序第4,5行改为c1=197;c2=198;运行结果又如何?并简单分析。
高级语言程序设计实验报告一、引言高级语言程序设计是计算机科学与技术专业的一门重要课程,它旨在培养学生的编程能力和解决实际问题的能力。
在这门课程中,学生需要学习一种或多种高级语言,如C++、Java等,并通过实验来巩固所学知识。
本文将对高级语言程序设计实验进行总结和分析,以期提高学生的编程水平和实践能力。
二、实验目的高级语言程序设计实验的目的是让学生通过实际操作,掌握高级语言的基本语法和常用编程技巧。
具体目的如下:1. 熟悉高级语言的开发环境和常用工具;2. 掌握基本的数据类型和变量定义;3. 理解程序的控制结构和函数的使用;4. 学会使用数组、字符串和指针等数据结构;5. 掌握常用的文件操作和异常处理技巧;6. 培养编程思维和解决实际问题的能力。
三、实验内容高级语言程序设计实验的内容包括以下几个方面:1. 编写简单的程序,如输出"Hello World!"等;2. 实现基本的算术运算,如加减乘除等;3. 使用条件语句和循环语句解决实际问题;4. 设计和实现函数,实现代码的重用;5. 使用数组和字符串处理数据;6. 进行文件的读写操作;7. 添加异常处理,提高代码的健壮性。
四、实验步骤高级语言程序设计实验的步骤如下:1. 分析问题,明确需求;2. 设计程序的算法和数据结构;3. 编写源代码,实现算法;4. 运行程序,测试功能和正确性;5. 调试代码,修复错误;6. 进行性能优化,提高程序效率;7. 编写实验报告,总结实验过程和结果。
五、实验案例下面以一个简单的实验案例来说明高级语言程序设计的过程。
假设我们要编写一个程序,实现输入两个数,计算它们的和并输出。
具体步骤如下:1. 设计算法,明确输入和输出的数据类型;2. 在程序中定义变量,用于存储输入和输出的数据;3. 使用输入函数,获取用户输入的两个数;4. 使用计算函数,计算两个数的和;5. 使用输出函数,将结果输出到屏幕上;6. 运行程序,测试功能和正确性;7. 调试代码,修复错误;8. 编写实验报告,总结实验过程和结果。
综合实验报告( 2015-- 2016年度第2 学期)名称:高级语言程序设计综合实验题目:学生考试信息系统院系:计算机系班级:学号:学生姓名:指导教师:高级语言程序设计教学组设计周数:24学时成绩:日期:2016 年4 月23 日实验一大体面向对象编程一、综合实验的目的与要求需要求若干长方体的体积,请编写一个面向对象的程序。
数据成员包括:length(长),width(宽),height(高),vol(体积)和利用静态数据成员count对长方体计数,sumzt 存储整体积。
要求用成员函数实现以下功能:(1)设计构造函数。
(2)计算长方体的体积。
(3)输出长方体的体积(设计为友元函数)。
(4)设计静态成员函数输出所有长方体的数量和整体积。
在主函数中测试各成员函数。
二、实验正文1 设计说明2 源代码3 运行结果三、综合实验总结或结论1 实验进程中碰到的问题及解决办法。
2 本次实验学到了什么。
四、参考文献[1] 作者1, 作者2书名. 出版单位, 版本. 出版日期实验二对象指针和对象数组一、综合实验的目的与要求编写一个程序,成立一个如下图所示的链表,该链表首结点的指针为head,并输出该链表各结点的数据域值。
要求:s1,s2,s3,s4为四个学生对象,含有姓名,学号和next 三个数据成员,其中next 为对象指针,设计create函数用于成立链表,displist函数用于输出以h为首结点指针的链表的所有结点的姓名和学号。
并在main( )函数中挪用。
二、实验正文1 设计说明2 源代码3 运行结果三、综合实验总结或结论1 实验进程中碰到的问题及解决办法。
2 本次实验学到了什么。
四、参考文献[1] 作者1, 作者2书名. 出版单位, 版本. 出版日期实验三继承和派生一、综合实验的目的与要求在职研究生类的设计和实现。
内容:设计一个大学教师和研究生管理程序,教师类包括教工号、姓名、职称和教研室等属性,研究生类包括学号、姓名、班号及英语、高数和数据结构3门课程的成绩等属性。
高级语言程序设计实验报告
三、实验过程原始记录(数据、图表、计算等) 实验一截图:
实验二截图:
题三截图:
题4截图:
四、实验结果及分析
通过实验一的分析和实践,了解C语言编译的过程以及产生的文件的过程,每进行一步产生的文件类型等等,了解C语言的框架,了解了C语言的构造等等。
通过实验二的分析和总结,我了解了控制串的作用和使用方法,知道了那些控制串代表的含义,了解了几种类型数据在内存中所占的字节数。
通过实验三的学习,深入了解了scanf函数的使用方法,知道了一些函数的使用方法。
实验四的学习目的更加侧重于应用的学习。
签名:
年月日。
高级程序语言课程设计报告一、课程目标知识目标:1. 让学生掌握高级程序设计语言的基本语法和结构,理解程序设计的基本原理和方法。
2. 使学生了解高级程序设计语言的数据类型、变量、运算符和控制结构,并能正确运用。
3. 帮助学生掌握面向对象编程的基本概念,如类、对象、继承、多态等,并能运用到实际编程中。
技能目标:1. 培养学生运用高级程序设计语言编写程序的能力,提高编程技巧和解决问题的能力。
2. 培养学生运用面向对象编程思想进行程序设计,提高代码的可读性和可维护性。
3. 培养学生通过查阅资料、自学和合作学习,掌握新知识和技术的能力。
情感态度价值观目标:1. 培养学生对程序设计的兴趣和热情,激发创新意识和探索精神。
2. 培养学生具备良好的编程习惯,注重代码规范和团队协作。
3. 培养学生面对编程困难和挑战时,保持积极的态度,勇于克服困难,不断进步。
课程性质:本课程为高级程序设计语言课程,旨在帮助学生掌握编程基础知识和技能,培养面向对象的编程思维。
学生特点:学生具备一定的计算机基础和编程经验,对程序设计有一定了解,但对高级程序设计语言和面向对象编程尚不熟悉。
教学要求:结合学生特点和课程性质,课程目标应具体、可衡量,注重理论与实践相结合,培养学生的动手能力和创新能力。
通过分解课程目标为具体学习成果,为教学设计和评估提供依据。
二、教学内容1. 高级程序设计语言基础:- 数据类型与变量- 运算符与表达式- 控制结构(顺序、分支、循环)- 函数与模块2. 面向对象编程:- 类与对象- 继承与多态- 封装与抽象- 接口与实现3. 编程实践与案例分析:- 常见算法与数据结构应用- 面向对象程序设计案例- 程序调试与优化- 项目实践与团队协作教学内容安排与进度:第一周:高级程序设计语言基础(数据类型与变量、运算符与表达式)第二周:高级程序设计语言基础(控制结构、函数与模块)第三周:面向对象编程(类与对象、继承与多态)第四周:面向对象编程(封装与抽象、接口与实现)第五周:编程实践与案例分析(常见算法与数据结构应用、面向对象程序设计案例)第六周:编程实践与案例分析(程序调试与优化、项目实践与团队协作)教材章节关联:教学内容与课本章节紧密关联,涵盖了高级程序设计语言的基本概念、原理和实践,以及面向对象编程的核心知识。
一、综合实验的目的与要求1 实验的目的通过用C++编写一个学生考试成绩信息系统,强化面向对象程序设计思想,使学生能够将C++程序设计中的面向对象、重载、模板、文件等各种概念,灵活的运用到实际的程序设计中去。
2 实验要求1)录入课程和选课学生的信息;2)录入成绩3)学生信息和成绩的修改;4)统计学生成绩;5)成绩排序;按成绩排序6)统计成绩分布功能:即各成绩段学生的数量:“优”:90~100;“良”:80~90;“中”:70~80;“及格”:60~70;“不及格”60。
并输出统计分布结果;7)查找:能够查找指定学生的各门成绩和平均分及其名次;3 实验原理实验使用面向对象的设计思想,在学生成绩考试系统中,主要涉及的是学生和课程,对于所有的学生,都具有共性,因此可以抽象为一个学生类,同理可以得到课程类。
二、设计正文1.正文为宋体,五号字行间距为211.1------------1.2------------三、综合实验总结或结论1.正文为宋体,五号字行间距为211.1------------1.2------------四、参考文献[1] 作者1, 作者2 书名. 出版单位, 版本. 出版日期附录(设计流程图、程序、表格、数据等)一、综合实验的目的与要求1.1 实验目的通过用C++编写一个学生考试成绩信息系统,强化面向对象程序设计思想,使学生能够将C++程序设计中的面向对象、重载、模板、文件等各种概念,灵活的运用到实际的程序设计中去。
1.2 实验要求1)录入课程和选课学生的信息;2)录入成绩3)学生信息和成绩的修改;4)统计学生成绩;5)成绩排序;按成绩排序6)统计成绩分布功能:即各成绩段学生的数量:“优”:90~100;“良”:80~90;“中”:70~80;“及格”:60~70;“不及格”60。
并输出统计分布结果;7)查找:能够查找指定学生的各门成绩和平均分及其名次;二、实验正文2.1实验原理实验使用面向对象的设计思想,在学生成绩考试系统中,主要涉及的是学生和课程,对于所有的学生,都具有共性,因此可以抽象为一个学生类,同理可以得到课程类。
高级语言程序设计(C语言)实验实验一C语言程序的运行环境和运行过程一、实验目的1.了解Visual C++6.0集成开发环境。
2.了解在该环境如何编辑、编译、链接和运行一个C语言程序。
书P260-2623.通过运行简单的C程序,初步了解C语言源程序的特点。
二、实验环境1.WIN XP、WIN7、WIN10等操作系统的PC机;2.VC++6.0集成开发环境;三、实验内容1.输入并运行第1章【例2-1】中的程序,熟悉C语言程序的编辑、编译、链接和运行的过程。
2.参照第1章【例1-1】,编写一个C语言程序,输出以下信息:*****************************************Hello,World!*****************************************四、实验数据及处理结果1.2.实验二简单的C语言程序设计一、实验目的1.通过简单C程序的运行,强化学习C程序在VC++6.0上的开发过程。
2.掌握赋值语句和输入、输出函数的使用。
3.掌握函数的定义和调用。
4.掌握C语言数据类型,熟悉如何定义一个整形,如何赋值,如何进行有关的算术运算。
二、实验环境1.WIN XP、WIN7、WIN10等操作系统的PC机;2.VC++6.0集成开发环境;三、实验内容1.输入并运行第2章【例2-2】中的程序,熟悉C语言程序的编辑、编译、链接和运行的过程。
2.输入并运行第2章【例2-3】中的程序,熟悉C语言函数的定义和调用。
2.输入并运行第1章【例1-2】中的程序,熟悉多点功能的C函数。
3.求下面算术表达式的值(自己先分析,再用程序求解,比较得到的结果是否一致)[书本P263实验二 1](1)设有:int x=2,a=7,y=4;求 x+a%3*x+y%2/4; (结果 4 )//2+1*2+0 (2)设有:int a=2,b=3;float x=3.5,y=2.5;求 (float)(a+b)/2+(int)x%(int)y(结果3.500000) //(float)5/2+3%2=2.500000+1 四、实验数据及处理结果1.2.3.4.(1)(2)实验三C语言的数据类型和表达式一、实验目的1.通过简单C程序的运行,强化学习C程序在VC++6.0上的开发过程。
⾼级语⾔程序设计报告⾼级级语⾔课程设计报告实验课程:课程设计年级:16级实验成绩:课程设计名称:学⽣成绩管理系统姓名:⽯宏伟任课教师:杨有安学号:160101050027 实验⽇期:⼀、⽬的通过编⼀些⼩程序,巩固和利⽤所学的知识,加强变成能⼒。
本课题涉及的知识内容:关于时间的函数,for循环嵌套,if语句,⼀维数组,结构数组,⾃定义函数等⾼级语⾔内容。
⼆、内容与设计思想1.设计内容学⽣信息管理系统(1)登记学⽣信息(2)删除学⽣信息(3)浏览所有已经登记的学⽣(4)查找(4.1)按学号查找(4.2)按姓名查找(4.3)按成绩查找(5)根据总成绩排序(6)储存到⽂件(7)从⽂件导出(8)退出系统2.主要代码结构3.主要代码段分析。
本程序中,对于学⽣信息的记录⽤了结构数组的形式,对于主要数据结构的应⽤如下:结构数组:Typedef struct student/*结构体*/char xuehao[20];/*学号*/char xingming[20];/*姓名*/int score[M];/*分数*/int sum;/*总成绩*/本程序执⾏的⼊⼝是main函数,然后⽤switch语句实现对各个函数的调⽤。
被调⽤的函数都是没有形参的,函数直接实现所需要的功能。
最后,再从main函数中结束整个程序的运⾏。
其中涉及到被调⽤的函数有:Void menu显⽰帮助信息;Void dengji登记学⽣信息;Void shanchu删除学⽣信息;Void liulan浏览学⽣信息;Void chazhao查找学⽣信息;Void paixu学⽣信息排序;Void cunchu存储学⽣信息;Void daochu导出学⽣信息;三、使⽤环境本次上机实践所使⽤的平台和相关软件。
平台:Windows 7相关软件:Microsoft Visual C++6.0四、调试过程1.测试结果分析经检验,运⾏结果正确五、总结通过此次为期三周的课程设计实训课,我更加了解了关于C语编程以及程序书写的更多的知识,在当初的C语课时留下了许多问题,⽐如结构体,以及连接,通过此次课程,我巩固了在C语课中遗留的问题,并且使当初遗忘了的知识点更加明了。
内蒙古工业大学信息工程学院实验报告课程名称:高级语言程序设计(VB)Ⅰ实验名称:选择、循环、数组和过程综合程序设计实验类型:验证性□ 综合性√设计性□实验室名称:校计算中心班级:学号:姓名:组别:同组人:成绩:实验日期:实验报告撰写要求一、实验前用预习报告纸撰写预习报告,预习报告包括以下内容1.实验目的2.实验用仪器设备、器材或软件环境3.实验原理、方案设计、程序框图、预编程序等4.实验过程中需要记录的实验数据表格二、实验过程中,要认真观察,仔细记录三、完成实验后用实验报告纸撰写实验报告,包括以下内容1.仪器设备型号及编号2.实验器材或软件环境3.实验步骤、程序调试方法4.实验数据处理及结果分析5.实验中存在的问题6.体会及思考题四、报告撰写时,要求格式规范、书写整齐预习报告成绩:指导教师审核(签名):年月日预习报告(一)实验目的学会综合运用选择结构、循环结构、数组和过程进行程序设计的方法。
(二)实验内容利用随机函数产生80个10~99之间的随机整数,将其中的偶数按由小到大的顺序排列并输出,将奇数按由大到小的顺序排列并输出;在产生的80个随机整数中,找出其中的素数,并将这些素数求和。
(三)实验要求1.将随机产生的80个整数存入数组,按每行10个数输出到窗体或文本框中。
2.偶数和奇数也分别存入数组,将排好序的偶数和奇数分别输出到窗体或两个文本框中。
3.用Sub子过程或Function函数过程判断随机整数是否为素数。
4.将素数按每行10个数在窗体或文本框中输出。
5.将素数的个数及求和结果输出到窗体或文本框中。
6.界面和属性由学生自行设计和设置。
(四)界面设计和属性设置(五)程序流程图(六)预编程序代码实验报告成绩:指导教师审核(签名):年月日实验报告一、实验目的学会综合运用选择结构、循环结构、数组和过程进行程序设计的方法。
二、实验内容利用随机函数产生80个10~99之间的随机整数,将其中的偶数按由小到大的顺序排列并输出,将奇数按由大到小的顺序排列并输出;在产生的80个随机整数中,找出其中的素数,并将这些素数求和。
《高级语言程序设计》实验报告高级语言程序设计《高级语言程序设计》课程实验报告专业:软工程年级:17级姓名:**学号:20XX42060220教师:***日期:20XX.10.1 ** 民族大学目录一、实验目的3 二、任务与要求3 三、主要标识符及数据结构4 四、问题分析与算法设计6五、程序运行与测试实例11 六、问题与总结15 附录(源代码)15一、实验目的1、掌握新学习的线性表操作。
2、加深对书写代码的流畅度。
二、任务与要求1、问题描述l题目1:设计一种用单链表存储多项式的结构(每个结点存储一项的系数和指数,类型都为int)并编写一个产生多项式链表的函数和一个实现两个多项式相加和相乘的函数。
l题目2:试将本章介绍的两种josephus问题的求解过程在计算机中实现,实现时要求输出的不是整数,而是实际的人名。
、l 题目3:2、设计达到的要求l 能正确的输出题目的要求结果。
l 能正确使用线性表。
三、主要标识符及数据结构说明:1、描述清楚自己所用的标识符,格式如标识符数据类型含义第一题 ptrNode struct node 用于typedef 转换 Coefficient 、Exponentint 指数和系数 head、r、pLinkList 用于生成结点以及遍历链表在函数(LinkList creatList(int n))内 ha, hb Position 在函数LinkListadd_List(LinkList a, LinkList b)内完成多项式相加操作c,r,p; LinkList 在函数LinkList add_List(LinkList a, LinkList b)内完成多项式相加操作 ha, hb Position 在函数LinkList mul_List(LinkList a, LinkList b)内完成多项式相乘c,tempC,r,p LinkList 在函数LinkList mul_List(LinkList a, LinkList b)内完成多项式相乘 hc LinkList 在函数void printList(LinkList L)遍历链表进行输出链表操作 n1,n2 int 在主函数中需要输入每个多项式的项数 L1,L2,L3,L4 LinkList 在主函数中接受调用的函数的返回值第二题标识符数据类型含义 DataType struct Person 结构体数据类型 typedef struct Node* PNode; LinkList struct Node 结构体数据类型typedef struct Node* LinkList PLinkList LinkList typedef LinkList* PLinkList p、q、PNodePNode类型指针在函数int init_clist(PLinkList pclist, int n)内 p, pre PNode PNode类型指针在函数voidjosephus_clist(PLinkList pclist, int s, int m)内 x、y、z int循环表总人数x、第y个人开始数、第z个人出局josephus LinkList LinkList类型指针在主函数中的第三题标识符数据类型含义 Plist Data struct List 结构体数据类型 number、nameChar一个存放电话号、一个存放姓名next struct List struct List内的指针变量 Plist data del、p、tpList中间变量 count int 用作计算个数四、问题分析与算法设计1、问题分析说明:分析程序题目与要求,详细说明程序的设计思想。
《高级语言程序设计》实验报告实验序号:6 实验项目名称:函数}main(){ long m;int k,n;scanf(“%d”,&n);m=0;for(k=0;k<=n;k++) m=m+fun(k);printf(“%ld\n”,m);}题目6:写一个函数,使输入的一个字符串按反序,在主函数中输入字符串和,在非主函数中输出反序后的字符串。
四、实验结果与数据处理2346五、分析与讨论暂无、六、教师评语成绩签名:日期:附源程序清单:2#include <stdio.h>#include <math.h>int main(void){double a,b,pi;double funpi(double b);a=funpi(b);pi=sqrt(a*6);printf("pi=%f\n",pi);}double funpi(double b){double c=0,d;int i=1,j;do{j=i*i;d=1.0/j;c=c+d;i++;}while(d>=0.00005);return(c);}3int help(int a){int i,s=1;for(i=2;i<a-1;i++){if(a%i==0)s=0;}return s;}main(){int x,i,s;clrscr();for(x=100;x<=200;x=x+2)for(i=2,s=1;i<=x/2&&s;i++){if(help(i)&&help(x-i)){s=0;printf("%d=%d+%d\n",x,x-i,i);}}}4#include<stdio.h>long fact();main(){int h,i;printf("please input a num\n");scanf("%d",&h);for(i=0;i<=h;++i)printf("1^3+2^3+.....+%d^3=%ld\n",i,fact(i)); }long fact(int n){long int res;if(n==0)res=0;elseres=n*n*n+fact(n-1);return(res);}5# include <stdio.h>long fun(int n){ int I;long m;m=1;for(I=1;I<=n;I++) m=m*I;return m;}main(){ long m;int k,n;clrscr();scanf("%d",&n);m=0;for(k=0;k<=n;k++)m=m+fun(k);printf("%ld\n",m);}6# include <stdio.h># include <string.h>void help(char str[]){char t;int i,j;for(i=0,j=strlen(str);i<(strlen(str)/2);i++,j--) {t=str[i];str[i]=str[j-1];str[j-1]=t;}}void main(){ char str[100];clrscr();printf("Please input one string:\n"); scanf("%s",str);help(str);printf("\n%s",str);}友情提示:范文可能无法思考和涵盖全面,供参考!最好找专业人士起草或审核后使用,感谢您的下载!。
湖南工业职业技术学院经济管理系计算机信息管理专业《高级语言程序设计》实训报告班级:计信S08-1姓名:宋洪俭学号:01指导老师:张来希日期:2010年6月27日<<高级语言程序设计>>实训报告一、课程设计的目的1、通过课程设计实践,树立正确的设计思想,培养综合运用能力2、培养考虑问题的周密性和逻辑思维能力3、培养实际动手的能力、分析问题、解决问题能力4、培养C++知识的综合运用能力5、培养自学能力、培养运用现代设计方法解决工程问题的能力。
6、熟悉软件开发的步骤和流程二、课程设计的题目1、成绩的输入(学号、姓名、英语、数学、C++语言......)2、总成绩统计(学生的总成绩、平均成绩及成绩排名)三、课程设计的内容1、成绩的输入(学号、姓名、英语、数学、C++…)程序代码如下:#include<iostream.h>V oid main(void){ cout<<”Please Input Your Name\n”;cout<<” Please Input Your Number\n”;cout<<” Please Input Your English Score\n”;cout<<” Please Input Your Math Score\n”;cout<<” Please Input Your C++ Score\n”;}程序流程图如下:开始输入输出学号、姓名、英语、数学、C++语言…结束图12、总成绩的统计(学生总成绩、平均成绩及成绩排名)程序代码:#include<iostream.h>#include<iomanip.h>#define M 6#define N 5void main(void){float s[N][M],sum,ave;int i,j;cout<<"Input data;\n";for(i=0;i<N;i++)for(j=0;j<M-2;j++)cin>>s[i][j];for(i=0;i<N;i++){ sum=0.0;for(j=1;j<M-2;j++)sum=sum+s[i][j];s[i][4]=sum/3;s[i][5]=sum;}for(i=0;i<M-2;i++){ k=i;for(j=i+1;j<M-1;j++)if(s[k][N-1]<s[j][N-1]) k=j;if(k!=i)for(j=0;j<N;j++){temp=s[i][j];s[i][j]=s[k][j;s[k][j]=temp;]} }cout<<setw(5)<<"Num"<<"Math.chin.Engl.Ave.Sum"<<endl; cout<<"-----------\n"; for(i=0;i<N;i++) { for(j=0;j<M;j++)cout<<setw(12)<<s[i][j]; cout<<endl; }cout<<"-----------\n"; }运行界面图:流程图:开始总分平均成绩j=1成绩排名I=0四:实训总结课程设计是培养学生综合运用所学知识,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。
高级语言程序设计课题名称:学生信息管理系统实验报告1设计目的为了方便学校对学生的管理,处理好每个学生的个人信息,加强学校对学生的管理2总体设计组成框架:流程图:a)查询模块b)添加模块c)修改模块d)录入模块e)打印模块f)排序模块g)删除模块3详细设计(1)头文件,结构体定义及主函数#include<stdio.h>#include<stdlib.h>#include<string.h>#define M 100 //数组元素的个数struct stu //定义结构体类型{char num[15]; //学号char name[18]; //姓名int old; //年龄char sex[10]; //性别char birthday[10]; //出生日期char addr[20]; //居住地址char tele[15]; //联系电话char email[20]; //邮箱地址char nation[10]; //民族};int input(struct stu s[]);//输入学生信息void print(struct stu s[],int n);//显示所有信息void searchbynum(struct stu s[],int n);//按学号查询学生信息void searchbyname(struct stu s[],int n);//按姓名查询学生信息void search(struct stu s[],int n);//学生信息查询方式显示界面int insert(struct stu s[],int n);//插入新学生信息void save(struct stu s[],int n);//将输入的学生信息进行保存int load(struct stu s[]);//从文件中读取学生信息void modify(struct stu s[],int n);//按学号修改学生信息int del(struct stu s[],int n );//按学号删除学生信息void sort(struct stu s[],int n);//学生信息排序方式显示界面void sortbynum(struct stu s[],int n);//按学号对学生信息进行排序void sortbyold(struct stu s[],int n);//按年龄对学生信息进行排序int menu();//菜单函数void main(){struct stu student[M];//定义结构体数组int length;//保存学生个数for(;;)//无限循环switch(menu())//调用主菜单函数,返回值为整数,作为语句的条件{case 1: length=input(student);break;//输入case 2: print(student,length);break;//显示信息case 3: search(student,length);break;//查找case 4: length=insert(student,length);break;//插入case 5: modify(student,length);break;//修改case 6: length=del(student,length);break;//删除case 7: sort(student,length);break;//排序case 8: save(student,length);break;//保存case 9: length=load(student);break;//读文件case 10: printf("退出登录!");return;//如果菜单返回值为10,则结束程序default : printf("输入有误,请输入1-10的数字!\n");}}int menu(){int choice;printf(" \n 学生信息管理系统\n");printf("***********************************************\n");printf(" 1 输入信息\n");printf(" 2 显示信息\n");printf(" 3 查找信息(按学号/姓名)\n");printf(" 4 插入新信息\n");printf(" 5 修改学生信息\n");printf(" 6 删除学生信息\n");printf(" 7 排序(按学号/年龄)\n");printf(" 8 保存到文件\n");printf(" 9 打开信息文件\n");printf(" 10 退出\n");printf("***********************************************\n");do{printf("\n请输入您要选择的操作:");scanf("%d",&choice);}while(choice>10||choice<1);//选择项不在1-10之间重新选择return choice;//返回选择项,主程序根据返回值调用相应的函数}(2)输入函数int input(struct stu s[]){int i,n;printf("\n输入信息的学生个数:");scanf("%d",&n);printf("请输入学生各信息\n");for(i=0;i<n;i++){do{printf("请输入学号:");scanf("%s",s[i].num);if(strlen(s[i].num)>15)printf("input too long");}while(strlen(s[i].num)>15);do{printf("请输入姓名:");scanf("%s",s[i].name);if(strlen(s[i].name)>18)printf("input too long");}while(strlen(s[i].num)>18);printf("输入年龄:");scanf("%d",&s[i].old);printf("输入性别(girl/boy):");scanf("%s",s[i].sex);printf("出生日期输入按年/月/日(97/10/01)格式输入:");scanf("%s",s[i].birthday);printf("输入民族:");scanf("%s",s[i].nation);printf("输入居住地址:");scanf("%s",s[i].addr);do{printf("请输入联系电话:");scanf("%s",s[i].tele);if(strlen(s[i].tele)>15)printf("input too long");}while(strlen(s[i].tele)>15);do{printf("请输入邮箱地址:");scanf("%s",s[i].email);if(strlen(s[i].email)>20)printf("input too long");}while(strlen(s[i].email)>20);printf("\n");}return n;}(3)输出函数void print(struct stu s[],int n){int i;printf("学生信息如下:\n");printf("----------------------------------------------------------------------------------------------------------------------------\n");printf("学号姓名年龄性别出生日期民族居住地址联系电话邮箱地址\n");printf("----------------------------------------------------------------------------------------------------------------------------\n");for(i=0;i<n;i++){printf("%-16s%-10s%-10d%-10s%-16s%-10s%-11s%-17s%-16s\n",s[i].num,s[i].name,s[i].old,s[i].sex,s[i].birthday,s[i].nation,s[i].addr,s[i].tele,s[i].e mail);printf("----------------------------------------------------------------------------------------------------------------------------\n");}getchar();}(4)按学号查询函数void searchbynum(struct stu s[],int n){char num[15]; //存放学号的字符数组int i;printf("请输入学号");scanf("%s",num); //输入待查找的学号for(i=0;i<n;i++) //查找从第一条记录开始,直到最后一条记录为止if(strcmp(num,s[i].num)==0)//待查找的学号与数组中的记录学号比较,相等则显示找到的记录信息{printf("%s的学生信息如下\n",s[i].num);printf("----------------------------------------------------------------------------------------------------------------------------\n");printf("学号姓名年龄性别出生日期民族居住地址联系电话邮箱地址\n");printf("----------------------------------------------------------------------------------------------------------------------------\n");printf("%-16s%-10s%-10d%-10s%-16s%-10s%-11s%-17s%-16s\n",s[i].num,s[i].name,s[i].old,s[i].sex,s[i].birthday,s[i].nation,s[i].addr,s[i].tele,s[i].e mail);printf("----------------------------------------------------------------------------------------------------------------------------\n");}printf("\n查询成功\n");}(5)按姓名查询函数void searchbyname(struct stu s[],int n){char name[18]; //存放姓名的字符数组int i;printf("请输入姓名");scanf("%s",name); //输入待查找的姓名for(i=0;i<n;i++) //查找从第一条记录开始,直到最后一条记录为止if(strcmp(name,s[i].name)==0)//待查找的姓名与数组中的记录姓名比较,相等则显示找到的记录信息{printf("%s的学生信息如下\n",s[i].name);printf("----------------------------------------------------------------------------------------------------------------------------\n");printf("学号姓名年龄性别出生日期民族居住地址联系电话邮箱地址\n");printf("----------------------------------------------------------------------------------------------------------------------------\n");printf("%-16s%-10s%-10d%-10s%-16s%-10s%-11s%-17s%-16s\n",s[i].num,s[i].name,s[i].old,s[i].sex,s[i].birthday,s[i].nation,s[i].addr,s[i].tele,s[i].e mail);printf("----------------------------------------------------------------------------------------------------------------------------\n");}printf("\n查询成功\n");(6)查询方式选择函数void search(struct stu s[],int n) //查询方式显示界面{int m;printf("请选择查询方式\n");printf("**************************************\n");printf("1 按学号查询\n");printf("2 按姓名查询\n");printf("**************************************\n");printf("\n请输入您的选择:");scanf("%d",&m);switch(m){case 1:searchbynum(s,n);break;case 2:searchbyname(s,n);break;default : printf("输入有误,请输入1-2的选项!\n");}}(7)插入函数int insert(struct stu s[],int n){struct stu temp; //新插入记录信息char no[10]; //保存插入点位置的学号int i,j;printf("请输入插入点位置(1-%d)",n-1); //输入插入点学号scanf("%s",no);do{ //输入插入点各信息printf("请输入学号:");scanf("%s",temp.num);if(strlen(temp.num)>15)printf("input too long");}while(strlen(temp.num)>15);do{printf("请输入姓名:");scanf("%s",);if(strlen()>18)printf("input too long");}while(strlen(temp.num)>18);printf("输入年龄:");scanf("%d",&temp.old);printf("输入性别(girl/boy):");scanf("%s",temp.sex);printf("出生日期输入按年/月/日(97/10/01)格式输入:");scanf("%s",temp.birthday);printf("输入民族:");scanf("%s",temp.nation);printf("输入居住地址:");scanf("%s",temp.addr);do{printf("请输入联系电话:");scanf("%s",temp.tele);if(strlen(temp.tele)>15)printf("input too long");}while(strlen(temp.tele)>15);do{printf("请输入邮箱地址:");scanf("%s",temp.email);if(strlen(temp.email)>20)printf("input too long");}while(strlen(temp.email)>20);for(i=0;i<n;i++){if(strcmp(no,s[i].num)==0){for(j=n-1;j>=i;j--){strcpy(s[j+1].num,s[j].num);strcpy(s[j+1].name,s[j].name);strcpy(s[j+1].sex,s[j].sex);strcpy(s[j+1].addr,s[j].addr);strcpy(s[j+1].birthday,s[j].birthday);strcpy(s[j+1].tele,s[j].tele);strcpy(s[j+1].email,s[j].email);strcpy(s[j+1].nation,s[j].nation);s[j+1].old=s[j].old;}strcpy(s[i].num,temp.num);strcpy(s[i].name,);strcpy(s[i].sex,temp.sex);strcpy(s[i].addr,temp.addr);strcpy(s[i].birthday,temp.birthday);strcpy(s[i].tele,temp.tele);strcpy(s[i].email,temp.email);strcpy(s[i].nation,temp.nation);s[i].old=temp.old;break;//新记录已插入,结束循环}}printf("%s的学生信息已被插入\n",s[i].num);printf("------------------------------------------------------------存盘------------------------------------------------------------\n");//提示存盘n++;//记录数加1return n;//返回记录数}(8)删除函数int del(struct stu s[],int n ){char no[10]; //存放要删除记录的学号int i,j;printf("请输入要删除学生的学号");scanf("%s",no); //输入要删除记录的学号for(i=0;i<n;i++){if(strcmp(no,s[i].num)==0){for(j=i+1;j<n;j++){strcpy(s[j-1].num,s[j].num);strcpy(s[j-1].name,s[j].name);strcpy(s[j-1].sex,s[j].sex);strcpy(s[j-1].addr,s[j].addr);strcpy(s[j-1].birthday,s[j].birthday);strcpy(s[j-1].tele,s[j].tele);strcpy(s[j-1].email,s[j].email);strcpy(s[j-1].nation,s[j].nation);s[j-1].old=s[j].old;}break;}}n--;return n; //记录数减一}(9)修改函数void modify(struct stu s[],int n){char no[15],ch;int i;printf("请输入要修改学生的学号");scanf("%s",no);getchar(); //用getchar函数接收回车符,否则,回车将作为下一个字符或字符串变量的输入值for(i=0;i<n;i++)if(strcmp(s[i].num,no)==0)break;if(i>=n)printf("\n没有找到信息\n");else{printf("修改学号(y/n)?");ch=getchar();getchar();if(ch=='y'||ch=='Y'){printf("输入学号:");scanf("%s",s[i].num);getchar();}printf("修改姓名(y/n)?"); ch=getchar();getchar();if(ch=='y'||ch=='Y'){printf("输入姓名:");scanf("%s",s[i].name);getchar();}printf("修改年龄(y/n)?"); ch=getchar();getchar();if(ch=='y'||ch=='Y'){printf("输入年龄:");scanf("%d",&s[i].old);getchar();}printf("修改性别(y/n)?"); ch=getchar();getchar();if(ch=='y'||ch=='Y'){printf("输入性别:");scanf("%s",s[i].sex);getchar();}printf("修改民族(y/n)?");ch=getchar();getchar();if(ch=='y'||ch=='Y'){printf("输入民族:");scanf("%s",s[i].nation);getchar();}printf("修改出生日期(y/n)?"); ch=getchar();getchar();if(ch=='y'||ch=='Y'){printf("输入出生日期:");scanf("%s",s[i].birthday);getchar();}printf("修改居住地址(y/n)?"); ch=getchar();getchar();if(ch=='y'||ch=='Y'){printf("输入居住地址:");scanf("%s",s[i].addr);getchar();}printf("修改联系电话(y/n)?");ch=getchar();getchar();if(ch=='y'||ch=='Y'){printf("输入联系电话:");scanf("%s",s[i].tele);getchar();}printf("修改邮箱地址(y/n)?");ch=getchar();getchar();if(ch=='y'||ch=='Y'){printf("输入邮箱地址:");scanf("%s",s[i].email);getchar();}}printf("\n");return;}(10)排序函数void sort(struct stu s[],int n){int m;printf("请选择查询方式\n");printf("**************************************\n");printf("1 按学号排序\n");printf("2 按年龄排序\n");printf("**************************************\n");printf("\n请输入您的选择:");scanf("%d",&m);switch(m){case 1:sortbynum(s,n);break;case 2:sortbyold(s,n);break;default : printf("输入有误,请输入1-2的选项!\n"); }}a)按年龄排序;void sortbyold(struct stu s[],int n){int i,j;struct stu temp;for(i=1;i<n;i++){for(j=0;j<n-i;j++)if(s[j].old>s[j+1].old){strcpy(temp.num,s[j].num);strcpy(,s[j].name);strcpy(temp.sex,s[j].sex);strcpy(temp.addr,s[j].addr);strcpy(temp.birthday,s[j].birthday);strcpy(temp.tele,s[j].tele);strcpy(temp.email,s[j].email);strcpy(temp.nation,s[j].nation);temp.old=s[j].old;strcpy(s[j].num,s[j+1].num);strcpy(s[j].name,s[j+1].name);strcpy(s[j].sex,s[j+1].sex);strcpy(s[j].addr,s[j+1].addr);strcpy(s[j].birthday,s[j+1].birthday);strcpy(s[j].tele,s[j+1].tele);strcpy(s[j].email,s[j+1].email);strcpy(s[j].nation,s[j+1].nation);s[j].old=s[j+1].old;strcpy(s[j+1].num,temp.num);strcpy(s[j+1].name,);strcpy(s[j+1].sex,temp.sex);strcpy(s[j+1].addr,temp.addr);strcpy(s[j+1].birthday,temp.birthday);strcpy(s[j+1].tele,temp.tele);strcpy(s[j+1].email,temp.email);strcpy(s[j+1].nation,temp.nation);s[j+1].old=temp.old;}}printf("排序成功!");return;}b)按学号排序void sortbynum(struct stu s[],int n){int i,j;struct stu temp;for(i=1;i<n;i++){for(j=0;j<n-i;j++)if(strcmp(s[j].num,s[j+1].num)>0){strcpy(temp.num,s[j].num);strcpy(,s[j].name);strcpy(temp.sex,s[j].sex);strcpy(temp.addr,s[j].addr);strcpy(temp.birthday,s[j].birthday);strcpy(temp.tele,s[j].tele);strcpy(temp.email,s[j].email);strcpy(temp.nation,s[j].nation);temp.old=s[j].old;strcpy(s[j].num,s[j+1].num);strcpy(s[j].name,s[j+1].name);strcpy(s[j].sex,s[j+1].sex);strcpy(s[j].addr,s[j+1].addr);strcpy(s[j].birthday,s[j+1].birthday);strcpy(s[j].tele,s[j+1].tele);strcpy(s[j].email,s[j+1].email);strcpy(s[j].nation,s[j+1].nation);s[j].old=s[j+1].old;strcpy(s[j+1].num,temp.num);strcpy(s[j+1].name,);strcpy(s[j+1].sex,temp.sex);strcpy(s[j+1].addr,temp.addr);strcpy(s[j+1].birthday,temp.birthday);strcpy(s[j+1].tele,temp.tele);strcpy(s[j+1].email,temp.email);strcpy(s[j+1].nation,temp.nation);s[j+1].old=temp.old;}}printf("排序成功!");return;}(11)写入文件函数void save(struct stu s[],int n){FILE*fp; //定义指向文件的指针int i;if((fp=fopen("stu.txt","wb"))==NULL){printf("cannot open file \n");return;}else{for(i=0;i<n;i++)fwrite(&s[i],sizeof(struct stu),1,fp);//写入一条记录fclose(fp);//关闭文件printf ("保存成功\n");//显示保存成功}}(12)从文件读取信息函数int load(struct stu s[]) //将磁盘文件中的信息读入到内存中{FILE *fp;int n=0;if((fp=fopen("stu.txt","rb"))==NULL){printf("cannot open file \n");return 0;}else{if(fp!=NULL)while(!feof(fp)){fread(&s[n],sizeof(struct stu),1,fp);n++;}fclose(fp);printf ("成功读入文件中的信息\n");}return --n;}4调试与测试(1)输入学生信息输入需要输入的个数,然后输入学生各信息(2)查询学生信息按学号查询:输入学号201525503012按姓名查询,输入申卓(3)插入学生信息(4)修改学生信息输入学生学号201525503009,修改信息不准确的几项(5)删除学生信息删除结果显示:(6)学生信息排序排序前从文件中读取的信息表:(为对比明显,学生信息除学号及年龄外其他都填*)选择排序方式:按学号排序浏览:按年龄排序:(7)学生信息写入文件在进行学生信息插入,删除,修改,操作后都需进行文件保存,这样才能保证学生信息随时可以变更(8)从文件读取学生信息:可保证随时查看输入了多少学生的信息,哪些学生信息输入过,方便新学生信息的插入从文件中读取出的信息:(9)退出登录:41。