C或C++程序设计课程设计任务与指导水印
- 格式:pdf
- 大小:841.22 KB
- 文档页数:26
C语言程序设计课程设计指导书张吴波编胡宁亚审电气与信息工程学院计算机系2012年5月一、设计目的《C语言程序设计课程设计》的主要目的是培养学生在《C语言程序设计》课程学习后,综合运用《C语言程序设计》课程所学到的知识,编写C程序解决实际问题的能力,以及严谨的工作态度和良好的程序设计习惯。
通过本课程设计的训练,学生应该能够了解程序设计的基本开发过程,掌握编写、调试和测试C语言程序的基本技巧,充分理解结构化程序设计的基本方法。
能灵活应用,初步具备运用C解决实际问题的能力。
C语言课程设计的主要任务是要求学生遵循软件开发过程的基本规范,运用结构化程序设计方法,按照课程设计题目要求,完成包括需求分析、数据结构设计、概要设计、详细设计、编写代码、调试和测试C语言程序及编写设计报告等过程。
二、设计要求(一)基本要求1、掌握C 语言程序设计的方法,熟悉使用VC6.0作为开发软件开发C语言程序及C 程序的调试过程。
2、熟悉C 语言中的数据类型,数据结构、语句结构、运算方法、函数,巩固和加深对理论课中知识的理解,提高基本编程能力。
3、综合编程题,每组完成一个课题(一组不能超过2人),每组成员必须明确各自的任务。
4、要求利用结构化程序设计方法以及C的编程思想来完成题目问题描述中所要求的设计任务,功能模块化,设计内容符合题目要求;5、数据组织使用数组、结构体、链表等均可;6、概要设计模块划分合理,清晰,系统结构图符合功能操作要求;7、详细设计,主要功能模块有较完善的程序流程图,每个主要功能模块有较完善的入口、功能、出口等的清晰的描述,说明符合结构化程序设计要求;8、每个模块的程序代码,具有较好的可读性和可靠性;程序书写风格:锯齿型书写格式,并有尽可能详尽的序言性和功能型注释。
9、用户界面要求尽可能友好,提示信息充分、完整;对输入内容有较完善的判误处理并方便操作;10、程序必须上机调试通过,不应出现语法型、功能型错误,并获得满意的结果;11、所设计的程序,必须在提交验收前,通过测试用例做必要的功能测试,尽可能避免原则性错误的出现。
《C语言程序设计》课程设计指导手册一、实施步骤1、选题学生根据自己的兴趣爱好按指导教师公布的课题进行选题、着手准备资料的查阅。
学生也可以自己选题。
2、拟出具体的设计方案在实施课程设计之前,学生根据自己的设计题目应该充分的分析和理解,首先明确需要解决的问题是什么、即提出问题;其次要分析问题中涉及了哪些数据,如何在计算机中进行表示;同时还要将复杂的问题分解为计算机可以完成的若干操作步骤,编写程序。
3、设计与调试按照设计的功能划分功能模块,定义主函数模块和各子函数模块;按照书写规范,用C语言写出函数具体代码。
程序编写完毕后,根据设计的功能选择合适的测试数据对程序进行测试,在测试的过程中根据出现的具体情况进行调试,直到程序调试通过。
4、撰写课程设计总结报告课程设计总结报告是课程设计工作的整理和总结,主要包括课程设计的总体设计方案、算法设计、程序测试与调试等部分。
二、上交材料学生将总结报告在5月26日前送交系办公室。
三、课程设计报告的撰写规范1、统一的封面(含课程设计课题名称、专业、班级、姓名、学号、指导教师等,详见附录2);2、设计任务和技术要求;3、内容摘要;4、目录;5、课程设计总结报告正文,正文可按章节来撰写,格式见附录3,应含以下内容:⑴课程设计的目的;⑵需求分析陈述说明程序设计的任务,根据设计的目的划分具体的功能模块,说明每个功能模块具体的要求和完成的任务。
⑶总体设计对总体设计方案进行说明,说明本程序中用到的数据、主函数的流程以及各函数模块之间的层次(调用)关系。
⑷详细设计首先根据功能模块的划分,给出每个功能模块的子函数的具体代码,画出函数之间调用的关系图。
⑸调试和测试结果分析调试分析包括:调试过程中遇到的问题是如何解决的以及对设计与实现的回顾讨论和分析;经验和体会等。
测试结果分析:列出你的测试结果,包括输入和输出。
这里的测试数据应该完整和严格。
⑹使用说明说明如何使用你编写的程序,详细列出每一步的操作步骤。
c语言课课程设计设计方案一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识,培养学生运用C语言进行程序设计的能力,并培养学生的逻辑思维和编程思维。
1.理解C语言的基本语法和规则。
2.掌握基本数据类型、运算符和表达式。
3.熟悉控制结构,如条件语句、循环语句等。
4.了解函数的定义和调用。
5.能够使用C语言编写简单的程序。
6.能够运用C语言进行基本的输入输出操作。
7.能够运用控制结构进行程序的控制流程设计。
8.能够编写并调用函数。
情感态度价值观目标:1.培养学生对计算机科学的兴趣和热情。
2.培养学生的问题解决能力和创新意识。
3.培养学生团队合作和自主学习的习惯。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识。
1.C语言的基本语法和规则。
2.基本数据类型、运算符和表达式。
3.控制结构,如条件语句、循环语句等。
4.函数的定义和调用。
5.输入输出操作和文件操作。
6.常用的数据结构和算法。
三、教学方法本课程采用多种教学方法,包括讲授法、案例分析法、实验法等。
1.讲授法:通过讲解和示例,使学生掌握C语言的基本语法和知识。
2.案例分析法:通过分析实际的编程案例,使学生理解编程思想和方法。
3.实验法:通过编写和运行程序,使学生掌握C语言的编程技巧和操作。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。
1.教材:选用权威、实用的教材,如《C程序设计语言》等。
2.参考书:提供相关的参考书籍,如《C Primer Plus》等。
3.多媒体资料:制作课件、演示文稿等多媒体资料,帮助学生更好地理解和掌握知识。
4.实验设备:提供计算机实验室,让学生进行编程实践和实验操作。
五、教学评估本课程的评估方式包括平时表现、作业和考试等,以全面、客观地评价学生的学习成果。
1.平时表现:通过课堂参与、提问、讨论等方式评估学生的学习态度和理解程度。
楼宇10班C语言课程设计任务指导书(2008-2009年度第一学期)一、课程设计目的通过本次实训使学生在实际应用中熟悉C语言编程步骤,掌握编程方法,并具有初步的编程能力。
二、课程设计任务1、内容:编写5综合程序。
2、步骤:(1)根据各具体题目要求进行系统性的分析,并做出各问题的解题方案。
(2)根据解题方案编写总的工作流程图。
(3)针对各模块编写代码。
(4)进行代码的上机调试。
(5)保存程序,并做出问题分析。
3、要求:(1)程序的运行结果要符合要求;(2)代码编写的通用性较好;(3)分上机作业和纸面作业进行考察。
课程设计报告:解题分析,流程图,程序,调试情况,问题分析。
三、考核方法:根据每个同学编制程序的情况进行评分。
考核时从三个方面评估:⒈是否符合问题要求。
⒉程序的功能是否较完备。
⒊程序运行结果无误。
四、上机纪律:⒈每一个同学的工作计算机固定,不得互相更换;⒉不得损坏实验器材;⒊按时完成设计工作。
五、时间按排:所需时间为一周。
综合程序:1、逆序数字编写一个函数,接收一个4位整数值,返回这个数中数字逆序后的结果值。
例如,给定数7631,函数返回1367.输入:第一行一个正整数T(T<=10),表示有T组测试数据; 以下T行,每行一个非负的整数N。
输出:共T行,对于每组输入数据输出一行,即数字逆序后的结果值。
样本输入:3763110185158样本输出:1367810185152、人见人爱A+B这个题目的A和B不是简单的整数,而是两个时间,A和B 都是由3个整数组成,分别表示时分秒,比如,假设A为34 45 56,就表示A所表示的时间是34小时 45分钟 56秒。
输入:输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。
题目保证所有的数据合法。
输出:对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0-59),每个输出占一行,并且所有的部分都可以用32位整数表示。
c课程设计指导一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据结构和算法,培养学生编写简单程序的能力,使学生了解计算机编程的基本思想和方法。
具体目标如下:1.掌握C语言的基本语法,包括数据类型、运算符、表达式、语句等。
2.理解函数的定义和调用,掌握数组、指针、字符串等数据结构。
3.学习基本算法,包括排序、查找、递归等。
4.能够使用C语言编写简单的程序,解决实际问题。
5.掌握基本的调试技巧,能够发现和修复程序中的错误。
情感态度价值观目标:1.培养学生对计算机科学的兴趣,激发学生主动学习的动力。
2.培养学生团队合作的精神,学会与他人交流和分享。
二、教学内容根据课程目标,教学内容主要包括以下几个部分:1.C语言的基本语法:数据类型、运算符、表达式、语句等。
2.函数的定义和调用:包括递归函数、嵌套函数等。
3.数据结构:数组、指针、字符串等。
4.基本算法:排序、查找、递归等。
5.程序设计的基本思想和方法。
第1-2周:C语言的基本语法第3-4周:函数的定义和调用第5-6周:数据结构第7-8周:基本算法第9-10周:程序设计的基本思想和方法三、教学方法本课程采用多种教学方法,包括讲授法、讨论法、案例分析法、实验法等。
1.讲授法:主要用于讲解C语言的基本语法、数据结构和算法。
2.讨论法:通过小组讨论,培养学生的团队合作精神和解决问题的能力。
3.案例分析法:分析实际案例,使学生更好地理解编程思想和方法。
4.实验法:让学生动手编写程序,培养学生的实际编程能力。
四、教学资源教学资源包括教材、参考书、多媒体资料、实验设备等。
1.教材:《C程序设计语言》(K&R)2.参考书:《C Primer Plus》、《C语言程序设计》3.多媒体资料:教学PPT、视频教程等。
4.实验设备:计算机、网络环境等。
五、教学评估本课程的评估方式包括平时表现、作业、考试等,以全面反映学生的学习成果。
1.平时表现:包括课堂参与度、提问回答、小组讨论等,占总评的30%。
长春理工大学光电信息学院《C程序设计》课程设计指导书信息工程分院计算机实验室一、课程设计的目的采用结构化程序设计方法,综合运用C语言的基本知识,尤其是数组、函数、指针及流程控制等,并补充课程中虽未涉及但实用中必要的其他内容,实现一个功能较为齐全的程序实例。
二、设计题目学生成绩管理系统。
程序的主要功能如下:1、按学号记录一个班M名学生N门课程的期末考试成绩;2、逐一显示M个学生的有关数据;3、实现查找、删除;4、能统计出补考学生及其相应科目。
三、设计的方法步骤1、自愿结合,每2~3名同学为一组,选组长一名。
2、由组长主持,全组一起消化理解整个程序的基本功能。
在此基础上,明确每一名同学所承担的具体模块(函数)。
3、尽可能独立地实现系统的功能(组内同学可一起讨论),确有困难,可参照本指导书中所附的示范案例。
4、应认真研读本指导书中示范案例中的思考题,为答辩做准备。
四、课程设计报告的内容1、课程设计目的;2、课程设计题目及主要功能;3、程序中用到的主要数据结构及程序的总体功能框图;4、所实现的模块(函数)功能及源程序;5、所实现的模块(函数)中最能代表你设计水平的②算法框图;(可选)6、程设计的心得体会。
(可选)五、答辩要求1、以组为单位答辩,答辩时应提供能运行的完整程序及课程设计报告(每人1份)。
2、组长概述程序的总体功能及总的设计思路后,逐个同学上机演示你本人承担的模块功能并回答老师的提问。
3、提问问题中除指导书上列出的思考题,还包括老师随时针对你的源代码、框图等以及设计中涉及到的基本知识所提出的问题。
附1:设计参考案例a)设计的基本思路依据N.Wirth的著名公式:程序=数据结构+算法其中数据结构要解决两个问题:表示一个学生的属性及M个学生的集合;算法则应实现程序的功能。
二、数据结构用一个结构体类型表示一个学生的属性:typedef struct student{long num; /* 学号*/char name[20]; /* 姓名*/int scote[N]; /* N门功课考试成绩*/struct student* next; /* 为构成链表而设*/}Student;我们采用单链表表示M个学生的集合,这主要是为了熟悉链表的操作。
c语言程序设计基础课程设计一、教学目标本课程的教学目标是使学生掌握C语言程序设计的基础知识,培养学生运用C 语言进行程序设计的能力。
具体目标如下:1.理解C语言的基本语法和数据类型。
2.掌握C语言的运算符和表达式。
3.熟悉C语言的流程控制语句。
4.了解C语言的函数和数组。
5.能够使用C语言编写简单的程序。
6.能够阅读和理解C语言的程序代码。
7.能够运用C语言解决实际问题。
情感态度价值观目标:1.培养学生的编程兴趣,提高学生的学习积极性。
2.培养学生团队合作的精神,提高学生的沟通协作能力。
3.培养学生勇于探索、解决问题的意识,提高学生的创新能力和综合素质。
二、教学内容根据课程目标,本课程的教学内容主要包括以下几个方面:1.C语言的基本语法和数据类型。
2.C语言的运算符和表达式。
3.C语言的流程控制语句。
4.C语言的函数和数组。
第一周:C语言的基本语法和数据类型。
第二周:C语言的运算符和表达式。
第三周:C语言的流程控制语句。
第四周:C语言的函数和数组。
三、教学方法为了达到课程目标,本课程将采用以下教学方法:1.讲授法:教师讲解C语言的基本语法、数据类型、运算符、流程控制语句和函数等基本概念和知识点。
2.案例分析法:通过分析典型程序案例,使学生理解和掌握C语言的编程方法。
3.实验法:安排上机实验,让学生亲自动手编写程序,巩固所学知识,提高实际编程能力。
4.讨论法:学生进行小组讨论,分享学习心得和解决问题的方法,培养学生的团队合作精神和沟通能力。
四、教学资源为了支持教学内容和教学方法的实施,本课程将采用以下教学资源:1.教材:《C语言程序设计》。
2.参考书:《C Primer Plus》、《C程序设计语言》。
3.多媒体资料:教学PPT、视频教程。
4.实验设备:计算机、编程环境(如Visual Studio、Code::Blocks等)。
五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分,以全面客观地评价学生的学习成果。
C程序设计课程设计任务书一、课程设计题目和总体要求1、题目:《学生成绩管理系统》的设计与实现;2、总体要求:分析课程设计题目的要求;写出详细设计说明;编写程序代码,调试程序使其能正确运行;设计完成的软件要便于操作和使用;设计完成后提交课程设计报告。
二、课程设计目的1、进一步掌握和利用C语言进行程序设计的能力;2、进一步理解和运用结构化程序设计的思想和方法;3、初步掌握开发一个小型实用系统的基本方法;4、学会调试一个较长程序的基本方法;5、学会利用流程图或N-S图表示算法;6、掌握书写程序设计开发文档的能力(书写课程设计报告)三、课程设计内容1、每一条记录包括一个学生的学号、姓名、3门课成绩、平均成绩;2、输入功能:可以一次完成若干条记录的输入;3、显示功能:完成全部学生记录的显示;4、查找功能:完成按姓名查找学生记录,并显示;5、排序功能:按学生平均成绩进行排序;6、插入功能:按平均成绩高低插入一条学生记录;7、将学生成绩记录在文件score中;8、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观。
可以看出,本程序应该完成以下功能:1、学生记录的输入2、追加学生记录3、修改记录4、删除记录5、浏览全部记录6、查找记录(按姓名查找)7、插入记录8、对记录进行排序(按平均成绩排序)9、退出四、课程设计报告的内容1、课程设计名称、班级、学号、学生姓名和课程设计起止日期2、课程设计目的和要求3、课程设计任务要求4、详细设计说明5、软件使用说明6、课程设计心得与体会7、附录1:参考文献8、附录2:部分程序清单(带有较详细的注释)五、评分依据1、根据平时上机考勤、表现和进度,教师将每天点名和检查2、根据课程设计完成情况,必须有可运行的软件3、根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格六、进度计划1、第一天分析课题的要求,编写详细设计说明2、第二天交详细设计说明电子稿,编程3、第三天编程及调试4、第四天写课程设计报告,提交软件5、第五天提交课程设计报告,答辩。
程序设计c语言课程设计一、教学目标本课程的教学目标是使学生掌握C语言程序设计的基本概念、语法和编程技巧,培养学生运用C语言解决实际问题的能力。
具体分解为以下三个方面的目标:1.知识目标:学生需要掌握C语言的基本语法、数据类型、运算符、控制结构、函数、数组和指针等概念。
2.技能目标:学生能够熟练使用C语言编写程序,解决简单的数学计算、数据处理和排序等问题。
3.情感态度价值观目标:培养学生对编程语言的兴趣,增强其自主学习和解决问题的能力,使其认识到程序设计在现代社会的重要性。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数、数组和指针等。
具体安排如下:1.第一章:C语言概述,介绍C语言的发展历程、特点和基本语法。
2.第二章:数据类型和运算符,讲解整型、浮点型、字符型数据以及各类运算符的用法。
3.第三章:控制结构,学习顺序结构、分支结构和循环结构的使用。
4.第四章:函数,讲解函数的定义、声明和调用,以及常用的库函数。
5.第五章:数组和指针,学习一维、二维数组的操作以及指针的基本用法。
6.第六章:字符串和文件操作,了解字符串的表示方式、文件的基本操作。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式:1.讲授法:教师通过讲解、举例等方式,向学生传授C语言的基本概念和编程技巧。
2.案例分析法:教师通过分析实际案例,引导学生运用C语言解决具体问题。
3.实验法:学生动手编写程序,巩固所学知识,培养实际编程能力。
4.讨论法:学生分组讨论,共同解决问题,提高沟通和合作能力。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:《C程序设计语言》(K&R)2.参考书:《C Primer Plus》、《C语言入门教程》3.多媒体资料:教学PPT、视频教程、在线编程练习平台4.实验设备:计算机、编程环境(如Visual Studio、Code::Blocks等)五、教学评估本课程的教学评估将采用多元化评价方式,全面客观地评价学生的学习成果。
精品《C 程序设计》实验大纲及其实施计划课程综述实验设置总体说明《C 程序设计》是计算机科学与技术(师范类)专业的一门专业基础课,属于专业必修课。
是本专业的多门后续专业课程的先导课。
本课程的教学目的是使学生掌握有关 C 程序设计的基本概念、基本结构、基本方法与技巧,具备利用 C 语言进行程序设计的基本素质,拥有用 C 语言编写程序和上机调试的能力,为本专业有关后续课程的学习打下坚实的基础。
《C 程序设计》是一门实践性很强的课程。
通过实验使学生加深对课堂讲授的概念、语法、算法、编程技术的理解;熟悉 C 程序设计的开发环境;掌握程序设计和调试的基本技能。
并通过实践激发学生进一步学习的积极性,培养学生的学习兴趣和创新思维。
通过 8 个实验,使学生经过一定数量的上机训练,了解和掌握C程序设计的环境、程序的数据表示、程序的执行流程控制、程序的整体结构等 C 程序设计的基本概念和应用技术。
1 C 语言编程环境、简单 C 程序实验2实验名称34 (选做实验5后面加 *号)选择结构实验循环结构实验数组实验函数实验6指针实验7结构体实验精品8文件实验实验占课程总课时、学分比例情况实验资料存档形式(纸质/光盘)实验占课程总课时1/2 ,实验成绩与平时作业合计占课程成绩的30% 。
光盘精品实验 1 C 语言编程环境、简单 C 程序实验实验目的:熟悉 Turbo C 编程环境,了解和掌握利用该环境对 C 程序进行编辑、编译和运行的基本方法和步骤。
学习使用 C 语言的基本类型、基本运算符和表达式,初步掌握各类基本数据的输入输出方法。
实验环境(硬 / 软件要求):Windows XP + VC++6.0实验内容:1.VC++6.0 启动。
2.初步了解和掌握 VC++6.0 集成环境的主要功能3.数据类型、运算符和表达式4.简单 C 程序的调试实验主要步骤:1.安装 VC++6.0,若你所在的计算机上已经安装VC++6.0,则查看并记录其安装的位置。
南京工程学院 计算机学院 多媒体教研室南京工程学院 C/C++程序设计课程设计任务与指导 示例、选题及要求 南京工程学院 多媒体教研室 林忠 2016/8/28 Sunday
先完成本指导中的示例项目,然后独立完成选题任务,最后按本指导的规范样式编写课程设计说明书,提交源代码。 南京工程学院 计算机学院 多媒体教研室1
目 录 一、 公共模块:基于控制台下的命令菜单的总控模块 ....................................................... 2 二、 示例项目:学生信息管理系统 ....................................................................................... 4 三、 学生需独立完成的课程设计题目选题 ......................................................................... 17 四、 基本要求 ......................................................................................................................... 22 五、 评价标准 ......................................................................................................................... 22 六、 课程设计报告格式 ......................................................................................................... 22 南京工程学院 计算机学院 多媒体教
研
室
2
一、 公共模块:基于控制台下的命令菜单的总控模块 (1) 问题描述 基于控制台的系统需要一个总控模块,在该总控模块中需要提供以下功能: 系统操作的按键提示---显示菜单 接受用户操作指令,并触发相应的处理函数---响应菜单 在完成某一用户操作后,继续使程序处于接受操作命令的待命状态---返回菜单提示界面 接受软件的结束命令---系统结束 (2) 功能要求 界面简单明了 有一定的容错能力,比如不是任何一个菜单项,就提示输入错误,要求重新输入 (3) 程序界面示例(菜单项要根据具体课题修改) 初始界面:
输入某个命令后,执行该命令对应的功能,然后继续显示命令菜单。
如果输入的命令错误,则提示重新输入,并且继续显示命令菜单 南京工程学院 计算机学院 多媒体教研室3 输入退出程序的命令后,则结束程序。 南京工程学院 计算机学院 多媒体教研室
4
二、 示例项目:学生信息管理系统 (1)要求及执行方式 每个学生必做,学生按照教师的分解步骤,逐步完成。每一步按照三个步骤展开:教师给出该步的实现要求、学生动手完成该要求、教师在学生完成该步后现场编码示范并指出学生在设计过程中出现的问题。 (2)问题描述 学生信息包括:学号(9位整数表示),姓名,年龄,性别,出生年月,家庭地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能: 学生信息录入功能——输入 学生信息浏览功能——输出 学生信息保存到文件的功能——保存 学生信息读入并显示功能——读文件 查询、排序功能——算法 1、按学号查询和排序 2、按姓名查询 删除指定学号的学生信息 修改指定学号的学生信息 (3)功能要求 界面简单明了; 有一定的容错能力,比如输入的性别不是男或者女,就提示不合法,要求重新输入,E-Mail中没有@符号,就提示不合法,要求重新输入; 最好用链表的方式实现。 (4)概要设计 本系统的程序结构图如下:
学生信息管理系统
录入 显示 读取 写入 查找 排序 新增 修改 文件操作 删除 按姓名 按学号 南京工程学院 计算机学院 多媒体教研室5
存在如下模块之间的调用关系: 1:录入模块会调用查询模块 在录入时,先要调用查询模块分析录入的学生信息是否已经在原有信息中存在如果存在则要得到其存储位置。 2:删除模块会调用查询模块 在录入时,先要调用查询模块分析将删除的学生信息是否已经在原有信息中存在。 3:读入模块会调用录入模块 在读入时,没读入一个学生信息数据都会调用录入模块。 学生信息的数据结构设计: 设计为链表,如下所示:
其中next是指向下一个结点的指针,head和tail分别是指向头结点和尾节点的指针。 head和tail设计为全局变量的形式,以方便程序中各模块访问。 (5)详细设计 为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述,画出各个模块的流程图。写出实现这些模块的函数的声明形式,说明每个函数的功能,各形式参数的意义,画出各函数的调用关系图。 录入模块的流程图如下:
学生信息 next 学生信息 next 学生信息 next 南
京
工程学院 计算机学院 多媒体教研室
6 其中“将结点添加到链表尾”的流程图如下:
显示模块的流程图如下: 开始
head为空
tail赋值为新结点的地址 结束
head和tail赋值为新结点的地址
新结点的next值设置为空
否
是 tail的next值设置为新结点的地址
开始 输入学生信息
该学生在链表中是否存在
修改链表对应结点的数据 结束
动态申请新的结点,并赋值为输入数据
将结点添加到链表尾 否
是 南京工程学院 计算机学院 多媒体教研室
7 文件保存模块的流程图如下:
文件读取模块的流程图如下: 按照二进制写的方式打开文件 cur是否为空 否
是
开始
结束 cur的值设置为cur的next值
设置cur为head的值 将cur的学生信息写入文件 关闭文件
设置cur为head的值 cur是否为空 否
是
开始 结束 输处学生信息 设置cur为cur的next值 南京工程学院 计算机学院 多媒体教
研
室
8 查找模块的流程图如下:
按照学号升序排列模块的流程图如下:
释放链表中的所有结点并设置head和tail为空
到达文件尾
开始 结束 按照二进制方式打开文件
读取学生信息 文件关闭
文件存在
录入读取的学生信息 是 否
否 是
开始 设置指针cur为head的值 cur为空
cur指向的结点是否符合查找要求
设置cur为cur的next值
返回NULL 返回cur 结束
是
否 是
否 南京工程学院 计算机学院 多媒体教研室
9 否 是
是 否 设置next为cur的next值
开始 结束 定义指针pre,cur,next和finish
cur的值和finish的值相等
将cur和next所指向的结点在链表中的位置交换
设置pre为空,finish为tail的值 设置cur为head的值
cur的学号是否大于next的学号?
设置pre为cur的值 设置cur为next的值 设置next为cur的next的值
Cur是否与finish相等 否
设置finish为pre的
值,pre为空值 是
交换next和cur的值 next和finish的值相等 是
否 设置finish
为cur的值