C语言课程设计报告示例

合集下载

c语言课程设计报告模板及范文

c语言课程设计报告模板及范文

c语言课程设计报告模板及范文一、引言引言部分在课程设计报告中扮演了导读的角色,通常包括以下内容:•背景:简要介绍课程设计的背景和目的。

•目的:阐述课程设计的目标和意义。

•项目概述:对设计项目的总体概况进行描述。

•报告结构:简要介绍后续报告的组织结构。

二、需求分析需求分析是课程设计过程中的重要环节,它用于明确项目的目标和功能,通常包括以下内容:•问题定义:对设计中需要解决的问题进行明确定义。

•功能需求:详细描述设计项目需要实现的各项功能。

•性能需求:根据设计的要求,确定设计项目的性能指标。

•接口需求:描述设计项目与其他模块或系统之间的接口要求。

三、设计方案设计方案部分是课程设计报告的核心,通常包括以下内容:•总体设计思路:对设计方案的总体思路进行简要介绍。

•模块划分:按照功能将设计项目分成各个模块,并描述各个模块的功能和关系。

•模块设计:对各个模块进行详细的设计说明,包括算法、数据结构等。

•界面设计:如果设计项目包含界面,需要对界面进行详细的设计说明。

•流程图:结合文字和图表展示设计项目的流程。

四、实现与测试实现与测试部分是课程设计报告中比较实际的内容,通常包括以下内容:•开发环境:列出完成设计的开发环境和所使用的工具。

•代码实现:详细描述设计项目的代码实现方法。

•测试方法:列出设计项目的测试方法和测试样例。

•测试结果:给出设计项目在测试样例下的实际运行结果。

五、总结与展望总结与展望部分对整个课程设计进行总结,并对未来的优化和拓展提出展望,通常包括以下内容:•成果总结:对整个课程设计的成果进行总结和评价。

•存在问题:对设计项目中存在的问题和不足进行归纳和总结。

•改进方向:针对存在问题提出改进的方向和思路。

•未来展望:对设计项目未来的拓展和优化方向进行展望。

六、参考文献在课程设计报告中,如果有引用的书籍、论文或网络资源,需要列出参考文献。

范文示例:```c #include <stdio.h>void main() { printf(。

课程设计报告模板c语言

课程设计报告模板c语言

课程设计报告模板c语言一、课程目标知识目标:1. 理解C语言的基本语法结构,掌握变量定义、数据类型、运算符等基础知识;2. 学会使用控制结构,如顺序结构、分支结构和循环结构;3. 掌握函数定义、声明和调用的方法,理解局部变量和全局变量的概念;4. 了解数组、字符串和指针的使用,并能运用它们解决实际问题。

技能目标:1. 能够运用C语言编写简单的程序,解决问题;2. 培养良好的编程习惯,如规范命名、合理注释、代码缩进等;3. 学会使用编译器进行程序编译、调试和运行;4. 能够阅读和分析简单的C程序代码,提高编程能力。

情感态度价值观目标:1. 培养学生对编程的兴趣,激发学习热情;2. 培养学生的逻辑思维能力,提高问题解决能力;3. 培养学生的团队协作意识,学会与他人分享编程经验;4. 培养学生严谨、细心的学习态度,养成良好的编程习惯。

课程性质:本课程为初中年级的信息技术课程,旨在让学生掌握C语言编程的基本知识和技能。

学生特点:初中学生具有较强的逻辑思维能力和学习兴趣,但对编程知识了解较少。

教学要求:结合学生特点,注重理论与实践相结合,通过实例分析、编程实践等方式,使学生能够掌握C语言的基本知识,提高编程能力。

在教学过程中,关注学生的情感态度,激发学习兴趣,培养良好的编程习惯。

将课程目标分解为具体的学习成果,以便于后续教学设计和评估。

二、教学内容1. C语言基础知识- 变量定义、数据类型和运算符- 输入输出函数的使用- 顺序结构程序设计2. 控制结构- 分支结构(if、if-else、switch)- 循环结构(for、while、do-while)3. 函数- 函数定义、声明和调用- 局部变量和全局变量- 递归函数4. 数组、字符串与指针- 数组的使用和操作- 字符串的基本操作- 指针的概念和用法5. 编程实践- 编写简单程序,解决问题- 分析实例代码,提高编程能力- 调试程序,找出并修复错误教学内容安排与进度:第一周:C语言基础知识,顺序结构程序设计第二周:控制结构(分支、循环)第三周:函数的定义和调用,递归函数第四周:数组、字符串与指针第五周:编程实践与总结教材章节关联:教学内容与教材相应章节紧密关联,确保学生能够在学习过程中系统地掌握C 语言知识。

c语言程序设计实验报告模板

 c语言程序设计实验报告模板

c语言程序设计实验报告模板篇一:C语言程序设计实验报告一、实验目的:1、掌握C语言的数据类型和变量的声明。

2、掌握不同类型数据之间赋值的规律。

3、掌握C语言的运算符和表达式的使用。

4、熟悉C程序的编辑、编译、连接和运行的过程。

二、实验内容:①输人程序:#includevoid main { int a, b; float d,e; char c1,c2; double f, g; long m, n; unsigned int p,q; a=61;b=62; c1='a';c2='b'; d=3.56;e=-6.87; f=3157.890121;g=0.123456789; m=50000;n=-60000; p=32768;q=40000; printf("a=%d,b=%d c1=%c,c2=%c d=%6.2f,e=%6.2f ",a,b,c1,c2,d,e); printf("f=%15.6f,g=%15.6f m=%ld,n=%ld p=%u,q=%u ",f,g,m,n,p,q); } ②运行此程序并分析结果(2)按习题4. 8要求编写程序题目为: 设圆半径r=l. 5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。

用scanf输人数据,输出计算结果口输出时要有文字说明,取小数点后两位数字。

程序:三、实验步骤:①输人程序:#includevoid main { int a, b; float d,e; char c1,c2; double f, g; long m, n;unsigned int p,q; a=61;b=62; c1='a';c2='b'; d=3.56;e=-6.87; f=3157.890121;g=0.123456789; m=50000;n=-60000; p=32768;q=40000; printf("a=%d,b=%d c1=%c,c2=%c d=%6.2f,e=%6.2f ",a,b,c1,c2,d,e); printf("f=%15.6f,g=%15.6f m=%ld,n=%ld p=%u,q=%u ",f,g,m,n,p,q); }②运行此程序并分析结果。

c语言课程设计设计报告

c语言课程设计设计报告

c语言课程设计设计报告c语言课程设计设计报告「篇一」c语言课程设计实验报告第一章基础掌握1.1 实验目的掌握C程序设计编程环境Visual C++,掌握运行一个C程序的基本步骤,包括编辑、编译、链接和运行。

(]1.2 实验要求在报告中记录建立、保存C程序实习过程。

1.3 实验基本内容编写程序,在屏幕上显示一个短句“Hello World”(1)程序:1)编译如下程序:#includeVoid main{printf (“Hello World! ”);}2)链接。

执行Build-命令。

3)运行。

执行Build Execute 命令。

显示结果。

4)关闭程序工作区。

(2)运行结果:输出结果:Hello World!总结:掌握C语言程序设计的基本框架,能够编写简单的程序。

第二章数据类型2.1 实验目的(1)掌握C语言的运算符和表达式的正确使用以及C语言的几种基本数据类型和基本输入输出函数的使用方法。

()(2)通过编程进一步理解和掌握运算符的确切含义和功能。

2.2 实验要求(1)在报告中记录建立、保存C程序实习过程。

(2)完成典型题目,分析遇到的困难和实验中的收获。

2.3 实验基本内容输入程序,观察输出结果 1>./*test2.1c*/1)编译如下程序: #includevoid main{char ch; int k;ch='a',k='b';printf("%d,%x,%c",ch,ch,ch,ch,k); printf("k=%%d ",k) }2)链接。

执行Build-命令。

3)运行。

执行Build Execute 命令。

显示结果。

4)关闭程序工作区。

2>./*test2.2c*/1)编译如下程序: #includevoid main{float a1,a2; double b1,b2; a1=1234.12; a2=0.000001; b1=1234.12; b2=0.000001;printf("%f,%l f ",a1+a2,b1+b2);}2)链接。

C语言课程设计报告—范例

C语言课程设计报告—范例

XX学院C语言课程设计报告课程名称: C语言课程设计课程编号:报告题目:学生姓名: 学号:专业成绩: 任课教师:评阅日期:C语言课程设计报告一、 C语言课程设计的目的C语言的教学是学生根据课堂讲授内容,学生做相应的自主练习,消化课堂所讲解的内容;通过调试典型例题或习题积累调试C程序的经验;通过完成辅导教材中的编程题,逐渐培养学生的编程能力、用计算机解决实际问题的能力。

具体来说:1.进一步掌握和利用C语言进行程设计的能力;2、进一步理解和运用结构化程设计的思想和方法;3、初步掌握开发一个小型实用系统的基本方法;4、学会调试一个较长程序的基本方法;5、学会利用流程图或N-S图表示算法;6、掌握书写程设计开发文档的能力(书写课程设计报告);二、课程设计报告正文(1)课程设计题目的原文;假定民航机场共有n个航班:航班号、起始站、终点站、飞机号、飞机时间、乘员定额、余票量。

试设计一民航订票系统,使之能提供下列服务:航班信息录入功能(文件保存)完成航班信息浏览功能;查询航线(至少一种查询方式)。

(2)题目的分析(需求分析);任务:通过此系统可以实现如下功能:录入:可以录入航班情况(数据可以存储在一个数据文件中)浏览:航班信息浏览功能需要提供显示操作;查询:可提供按照航班号、起点站、终点站、飞行时间、查询,可以查询某个航线的情况(如,输入航班号,起飞抵达城市,确定航班是否满仓);另外要提供键盘式选择菜单以实现功能选择。

要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能。

可以建立航班结构体,结构体成员包括航班号、起点站、终点站、飞行时间、预售票总数、已售票数。

(3)整体设计与模块划分;根据需求分析,该程序可分为以下四大模块:(4)代码设计;包括——各功能模块的流程图;重要模块中关键部分的代码分析;关键函数的算法设计和分析;等等;A.主函数(1)分析:主函数的功能比较简单,形式比较简洁,主要功能为:在系统中没有程序所要的文件时,为程序建立一个所许的文件;调用菜单函数。

c课程设计报告范文

c课程设计报告范文

c 课程设计报告范文一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据结构和算法,培养学生具备基本的编程能力和逻辑思维能力。

具体分解为以下三个方面的目标:1.知识目标:学生需要掌握C语言的基本语法、数据类型、运算符、控制结构、函数、数组、指针、字符串、结构体等基本概念。

2.技能目标:学生需要能够运用C语言编写简单的程序,解决实际问题,具备基本的编程能力和问题解决能力。

3.情感态度价值观目标:培养学生对编程的兴趣,增强学生的自信心和自主学习能力,培养学生的团队合作意识和创新精神。

二、教学内容根据教学目标,本课程的教学内容主要包括以下几个部分:1.C语言的基本语法和数据类型:变量、常量、数据类型、运算符、表达式等。

2.控制结构:条件语句、循环语句、分支语句等。

3.函数:函数的定义和声明、函数的调用、参数传递、返回值等。

4.数组和指针:一维数组、多维数组、指针的概念和应用等。

5.字符串:字符串的基本操作、字符串数组、字符串指针等。

6.结构体和文件操作等高级内容:结构体的定义和使用、文件的基本操作等。

三、教学方法为了达到教学目标,本课程将采用多种教学方法,包括:1.讲授法:通过讲解和演示,使学生掌握C语言的基本语法和概念。

2.讨论法:通过小组讨论和问题解答,培养学生的思考能力和问题解决能力。

3.案例分析法:通过分析实际案例,使学生了解C语言在实际编程中的应用。

4.实验法:通过编写和调试程序,使学生掌握C语言的编程技巧和调试方法。

四、教学资源为了支持教学内容和教学方法的实施,我们将选择和准备以下教学资源:1.教材:《C程序设计语言》(K&R)或《C Primer Plus》。

2.参考书:提供一些相关的参考书籍,如《C语言深度探索》、《C指针》等。

3.多媒体资料:制作课件、演示文稿等多媒体资料,以图文并茂地展示C语言的基本概念和编程技巧。

4.实验设备:提供计算机实验室,让学生能够进行编程实践和调试。

c语言课程设计+报告+源代码

c语言课程设计+报告+源代码

西安郵電大學C语言课程设计报告题目: 职工工资管理系统院系名称: 计算机学院专业名称: 软件工程班级:学生姓名:学号(8位):指导教师:设计起止时间: 2013年06月03日~2013年06月12日一.设计目的1.通过本课程设计, 强化上机动手能力, 使学生在理论和实践的基础上进一步巩固《c语言程序设计》课程学习的内容, 掌握工程软件设计的基本方法.2.学会将知识应用于实际的方法, 提高分析和解决问题的能力, 增加综合能力.3.为后续各门计算机课程的学习打下坚实基础; 为毕业设计和以后工作打下必要基础。

二.设计内容本设计主要包括了用户登录和主菜单,其中用户登录包括了一下几个功能1.新用户的注.2.用户登.3。

用户密码的修改。

而主菜单包括: 1.职工信息的录.2.职工信息的修.3.选择性排.4.统计人数和工.5. 输出现有的信.6.自定义查询信息。

三. 概要设计1. 功能模块图;1.2. 各个模块详细的功能描述。

2.修改密码的时候, 需要输入原密码, 并且输入两次新的密码必须相同才能完成密码的修改。

3.用户登录: 需要输入用户名和密码, 如果用户名不存在或密码错误会给出相应的提醒, 当输入正确的时候会进入主菜单。

4.新用户注册:需要输入注册的用户和密码, 如果用户明已被注册过会给出相应的提醒。

5.职工信息的输入:是从无开始输入职工的信息, 同样也会给出输入内容的提醒, 当输入最后一次职工的信息为零时结束输入, 同是会将输入的信息写入到文件里。

6.修改职工信息其中包括a.添加职工信息和输入职工信息相同在添加完会提醒是否继续添加。

b.修改员工信息: 此时会出现选择性修改职工的哪项信息,先进行选择再进行修改。

C.删除员工信息: 需要输入所要删除员工的姓名或id进行删除!如果删除不成功或者删除者不存在会给出相应的提醒。

7.统计信息: 会自动的统计现有员工的总人数和现有员工的总工资。

8.输出现有职工的信息: 会显示现在记录的职工的各项信息。

c语言课程设计优秀案例

c语言课程设计优秀案例

c语言课程设计优秀案例C语言是一门广泛应用于计算机科学领域的编程语言,它具有高效、简洁、可移植等特点,因此在计算机科学领域中得到了广泛的应用。

在C语言课程设计中,学生需要通过实践来掌握C语言的基本语法和编程思想,同时也需要通过设计优秀的案例来提高自己的编程能力。

下面是10个优秀的C语言课程设计案例。

1. 学生成绩管理系统这个案例要求学生设计一个学生成绩管理系统,可以实现学生信息的录入、查询、修改和删除,同时还可以计算学生的平均成绩、最高成绩和最低成绩等统计信息。

2. 简单计算器这个案例要求学生设计一个简单的计算器,可以实现加、减、乘、除等基本运算,同时还可以实现括号、小数点和负数等高级运算。

3. 迷宫游戏这个案例要求学生设计一个迷宫游戏,可以实现玩家在迷宫中寻找出口的过程,同时还可以实现随机生成迷宫、计时和计分等功能。

4. 图书管理系统这个案例要求学生设计一个图书管理系统,可以实现图书信息的录入、查询、修改和删除,同时还可以实现借书和还书等功能。

5. 简单的文件管理器这个案例要求学生设计一个简单的文件管理器,可以实现文件的创建、删除、复制和移动等基本操作,同时还可以实现文件夹的创建和删除等高级操作。

6. 简单的网络聊天程序这个案例要求学生设计一个简单的网络聊天程序,可以实现用户之间的文字聊天和文件传输等功能,同时还可以实现用户登录和注册等操作。

7. 简单的音乐播放器这个案例要求学生设计一个简单的音乐播放器,可以实现音乐的播放、暂停、停止和跳转等基本操作,同时还可以实现音乐列表的管理和歌词显示等高级功能。

8. 简单的游戏开发这个案例要求学生设计一个简单的游戏,可以实现玩家的移动、攻击和防御等基本操作,同时还可以实现关卡设计和游戏难度调整等高级功能。

9. 简单的人工智能程序这个案例要求学生设计一个简单的人工智能程序,可以实现基本的语音识别、图像识别和自然语言处理等功能,同时还可以实现机器学习和深度学习等高级功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计和调试过程规范化要求1)需求分析分析系统功能需求以及用户操作流程。

2)概要设计在需求分析的基础上,确定系统总体框架(系统功能结构图)。

3)详细设计定义数据存储结构,并设计实现系统功能的具体算法,画出各算法的工作流程图。

4)代码设计根据所设计的算法,定义相应函数分别实现系统的各子功能模块,同时由主程序提供友好的用户界面,使用户可通过选择主菜单来调用课程设计中要求完成的各个功能模块,子程序执行完后还可以返回到主菜单,继续选择其他功能执行。

源程序要求书写规范,结构清晰。

重点函数的重点变量,重点功能部分均要求给出清晰的程序注释。

5)程序调试程序编译、链接成功后,自己设计实现程序功能的一组或多组测试数据,并严格按照此测试数据进行测试,然后分析测试结果。

如果程序不能正常运行或结果不正确,则需对程序进行单步调试,在调试过程中认真查找算法实现中存在的问题,并加以分析和改正。

如果程序能够基本正确地运行,可考虑增加若干基本的容错功能(如避免用户操作错误时程序出现死循环等);另外尽量对现有算法给出改进方案,并比较不同算法之间的优缺点。

课程设计报告及书写内容要求课程设计任务完成后,每位同学必须独立书写一份课程设计报告。

课程设计报告的内容应包括以下部分:1)需求分析。

包括设计题目、设计要求以及系统功能需求分析;2)概要设计。

包括系统总体设计框架和系统功能模块图;3)详细设计。

包括主要功能模块的算法设计思路以及对应的工作流程图;4)主要源程序代码。

包括存储结构设计说明,以及完整源程序清单;5)调试分析过程描述。

包括测试数据、测试输出结果,以及对程序调试过程中存在问题的思考(列出主要问题的出错现象、出错原因、解决方法及效果等);6)测试结果。

列出所有功能的运行界面,并作文字说明。

7)总结。

包括课程设计过程中的学习体会与收获、对C语言和本次课程设计的认识以及自己的建议等内容。

8)源代码。

完整的c语言代码。

二○一七~二○一八学年第二学期信息工程学院课程设计报告书课程名称:高级语言程序设计班级:学号:姓名:指导教师:薛海燕二○一八年六月目录1.题目 (6)2.功能 (6)3.要求 (6)4.设计内容 (7)4.1主函数MAIN() (7)4.2初始化函数STUDENT*INIT() (7)4.3菜单选择函数INT MENU_SELECT(); (7)4.4输入记录函数STUDENT*CREATE() (7)4.5显示记录函数VOID PRINT(STUDENT*HEAD) (8)4.6查找记录函数VOID SEARCH(STUDENT*HEAD) (9)4.7删除记录函数STUDENT*DELETE(STUDENT*HEAD) (10)4.8排序函数STUDENT*SORT(STUDENT*HEAD) (11)4.9插入函数STUDENT*INSERT(STUDENT*HEAD,STUDENT*NEW) (12)4.10保存数据到文件函数VOID SAVE(STUDENT*HEAD) (14)4.11从文件读数据函数STUDENT*LOAD() (15)5.调试分析 (16)6.测试结果 (16)7.总结 (19)8.源代码 (20)1.题目《学生成绩管理系统》的设计与实现2.功能(1)每一条记录包括一个学生的学号、姓名、3门成绩、平均成绩。

(2)输入功能:可以一次完成无数条记录的输入。

(3)显示功能:完成全部学生记录的显示。

(4)查找功能:完成按姓名查找学生记录,并显示。

(5)排序功能:按学生平均成绩进行排序。

(6)插入功能:按平均成绩高低插入一条学生记录。

(7)保存功能:将学生记录保存在任何自定义的文件中,如保存在:c:\score。

(8)读取功能:将保存在文件中的学生记录读取出来。

(9)有一个清晰美观界面来调用各个功能3.要求(1)整个系统均用C语言实现;(2)利用指针、链表来实现学生成绩的数据结构设计;(3)系统具有输入、显示、查询、删除、排序、插入,保存、读取基本功能;(4)系统的各个功能模块都用函数的形式来实现;(5)可以将学生成绩信息保存在文件中。

(6)可以将学生信息从文件中读取出来。

4.设计内容整个系统除了主函数外,另外还有10个函数,实现八大功能:输入功能、显示功能、查找功能、排序功能、插入功能、保存功能、读取功能。

各个函数的详细设计说明分别如下:4.1主函数main()利用无限次循环for(;;)和swithch()实现各函数的调用,系统根据输入的数字选项来调用相应的函数。

4.2初始化函数STUDENT *init()这是一个无参函数,里面只有一个语句,它的作用是使链表初始化,使head的值为NULL。

比如:没有这个函数的话,在你没有输入任何数据的情况下,去执行显示功能的时候会显示一些乱码!4.3菜单选择函数int menu_select();这是一个无参函数,主要实现“功能选择”的界面,在这个界面里有显示系统的九大功能,根据每个功能前面的序号进行选择,中间还显示系统当前的时间。

等执行完每一个函数功能后,按任一键回到主界面也要通过这个函数来实现!4.4输入记录函数STUDENT *create()这是一个无参函数,用来执行第学生成绩记录的输入,当学生为0时停止输入,函数结束后,带回一个指向链表头的指针head。

算法:先声明一个首节点head,并将head->next设为NULL。

每输入一个数据就声明一个新节点p,把p->next设为NULL,并且链接到之前列表的尾端。

N-S流程图如图1所示。

4.5显示记录函数void print(STUDENT *head)这是一个不返回值的有参函数,形参为“链表头的指针”,负责对全部学生成绩记录的输出,不足之处就是不能对学生成绩进行分页显示。

算法:先将p结点的指针指向第一个结点,将p结点(即第一个结点)的数据输出。

然后再将p结点的指针指向p指针的的指针(即下一结点),将p结点(即第一结点)的数据输出。

重复执行此步聚直到p指针指向NULL为止。

N-S流程图如图2所示。

4.6查找记录函数void search(STUDENT *head)这是一个不返回值的有参函数,形参为“链表头的指针”,实现按学号对某个学生进行查找,并显示所查找到的记录。

算法:采用线性查找法往下一个节点查找。

输入所要查找的学生的学号s,设一个指针变量p,先指向第一个结点,当strcmp(p->name,s) && p != NULL时,使p后移一个结点,如果p!=NULL,输出p所指的结点。

N-S流程图如图3所示。

4.7删除记录函数STUDENT *delete(STUDENT *head)这是一个有参函数,形参为“链表头的指针”,先输入要删除的学生记录的学号,找到后显示该学生信息,等确认后便可按“Y”进行删除。

算法:从p指向的第一个结点开始,检查该结点中的num值是否等于输入的要求删除的那个学号。

如果相等就将该结点删除,如不相等,就将p后移一个结点,再如此进行下去,直到遇到表尾为止。

N-S流程图如图4所示。

4.8排序函数STUDENT *sort(STUDENT *head)这是一个有参函数,形参为“链表头的指针”,按学生成绩的平均分高低进行排序,还可以显示名次。

N-S流程图如图5所示。

4.9插入函数STUDENT *insert(STUDENT *head,STUDENT *new)这是一个有参函数,形参有两个,一个是“链表头的指针”,一个是“待插入指针”,按照原来成绩平均分的高低进行插入,插入后会重新进行排序,并返回。

算法:先将学生的成绩按平均分由高分到低分进行排序,再插入一个新生的结点,要求按平均分的高低顺序插入。

先用指针变量p0指向待插入的结点,p1指向第一个结点。

如果p0->average<p1->average,则待插入的结点不应插在p1所指的结点之前。

此时将p1后移,并使p2指向刚才p1所指的结点。

重复以上的步骤,直到p0->average>=p1->average为止。

这时将p0指向的结点插到p1所指结点之前。

但是如果p1所指的已是表尾结点,则p1就不应后移了。

如果p0->average比所有结点的average都小,则应将p0所指的结点插到链表末尾。

如果插入的位置既不在第一个结点之前,又不在表尾结点之后,则将p0的值赋给p2->,使p2->next指向待插入的结点,然后将p1的值赋给p0->next,使得p0->next指向p1指向的变量。

如果插入位置为第一个结点之前,则将p0赋给head,将p1赋给p0->next。

如果要插到表尾之后,应将p0赋给p1->next,NULL赋给p0->next。

最后再调用排序的函数,将学生成绩重新排序.N-S流程图如图6所示4.10保存数据到文件函数void save(STUDENT *head)这是一个不返回值的有参函数,形参为“链表头的指针”,可以把学生记录保存在电脑上由自己任意命名的二进制文件。

N-S流程图如图7所示。

4.11从文件读数据函数STUDENT *load()这是一个不返回值的有参函数,形参为“链表头的指针”,根据输入的文件地址进行读取。

N-S流程图如图8所示。

5.调试分析(1)刚开始没有那个初始化函数,程序运行后,没有输入任何数据就试得去执行显示功能,结果显示的是一些乱码!加入初始化函数后,这种现象也随之消失。

(2)刚开始执行输入函数,按学号顺序输入十个学生的成绩,输完后执行显示功能,学生成绩记录是按学号的反顺序显示的,试着在其中增加一些语句,希望能把学号按正常顺序显示,但暂时没有成功,所以在输入成绩时只能按学号反顺序输入,最后就按学号正常顺序输出了。

(3)刚开始时,先把成绩按平均分排序,再插入一个学生的成绩,执行显示功能,虽然插入的学生的成绩能正常插入,但该学生的名次为0。

后来,在插入成绩之后,调用排序函数,把所有成绩重新排序一次。

(4)在输入函数中设了一个无限循环,可以输入无数个学生的成绩信息,当学号为0的时候则停止输入。

(5)输入太多个学生的成绩时,屏幕显示不能控制为一页一页显示,所以为了方便起见,不要输入太多记录,十七左右为最佳。

(6)在没有输入任何信息的情况下,去执行排序功能,最后显示有一个记录,学号、姓名为空白,成绩都为0,名次为1。

(7)在输入选项时不能输入字母,否则会死循环,建议不要乱输字母。

***************这里写自己的调试过程,可以贴图并配以文字分析***************** 6.测试结果(1)主函数非法输入测试如图9所示为主函数非法输入测试。

相关文档
最新文档