程序设计基础课程设计
程序设计基础课程设计教学大纲

程序设计基础课程设计教学大纲课程中文名称:程序设计课程设计(Curriculum Design of Programming)课程代码:102101401M学分/总学时:1/32开课单位:物理与电子信息工程学院面向专业:计算机科学与技术及相关专业一、课程的性质、目的和任务本课程设计是计算机类专业的重要实践性课程,与《程序设计基础》相配套的一门提高性实践课。
目的在于培养学生分析问题和解决问题的能力,为学生提供了一个既动手又动脑、独立实践的机会。
将课本上的理论知识和实际应用问题进行有机结合,提高学生程序设计、程序调试及项目开发能力。
为后续课程:数据结构、面向对象程序设计、Internet与Java 程序设计等奠定必要的实践基础。
本课程设计是利用C语言理论和实验课中学到的编程知识和编程技巧,通过布置难易程度适当、具有一定编程量的课程设计题目,使学生通过课程设计掌握高级编程语言的知识和编程技术,掌握程序设计的思想和方法,具备利用计算机求解实际问题的能力。
二、学习本课程学生应掌握的前设课程知识程序设计基础三、项目及学时分配四、教学方法本课程所有实验需上机完成,提供了若干经典实验题提高学生的学习兴趣,引入竞争机制提高学生的学习主动性。
利用在线评测系统实时评测学生源代码,提高了学生编写代码的积极性、扩展了学生实验的时间与空间。
对选做题目,选做学生感兴趣的游戏设计问题提高学生学习的积极性,教师提供学习资料供感兴趣学生在课外自学,培养学生的学习能力。
五、教学内容及要求实验一链表:学生信息管理系统教学目的:1、掌握用模块化程序设计思想2、掌握基本的软件系统的设计思想3、掌握动态管理内存。
4、掌握基本的排序算法。
5、掌握动态链表的基本操作。
教学要求:通过增量式软件设计方法降低学生学习的难度,通过编写较大规模的程序培养学生模块化程序设计思想和基本的软件设计思想,通过动态链表实现学生信息管理系统,让学生掌握动态内存管理与动态链表的基本操作。
Python语言程序设计基础第二版课程设计

Python语言程序设计基础第二版课程设计1. 课程设计目的本课程设计的目的是为了帮助学生进一步理解Python语言的程序设计基础,提高编程能力。
通过课程设计,学生将学会使用Python语言进行程序分析、设计和实现,并掌握一些常用的数据结构和算法,能够解决实际问题。
2. 教学内容本课程设计主要包括以下内容:•程序分析和设计的基本概念•Python语言的基本语法和数据类型•控制流程语句和函数的使用•文件读写和异常处理•常用的数据结构和算法(链表,堆栈,队列,二叉树等)•GUI编程(使用PyQt)3. 课程设计要求在本课程设计中,要求学生选择一个实际问题进行分析和解决,具体要求如下:3.1 问题描述选择一个你感兴趣的实际问题,例如学生成绩管理系统、图书馆管理系统等。
根据问题需求,设计并实现一个解决方案。
3.2 功能要求在设计解决方案的过程中,需要考虑以下功能:•学生信息的录入和修改;•成绩的录入和修改;•成绩的统计和分析;•数据的持久化和读取。
你可以自定义更多的功能来完善你的方案。
3.3 作业提交要求学生需要提交以下文件:•Python源代码文件;•详细的设计文档,包括具体的需求分析、系统设计、算法和数据结构的分析,程序流程图等。
作业提交时间截止到课程结束前,提交方式可以使用邮件或在线提交。
4. 评分标准学生完成本次课程设计后,将按以下标准进行评分:•完成度:完成度越高,得分越高;•功能实现:实现的功能越多,得分越高;•代码质量:代码的规范程度和可读性越高,得分越高;•系统设计:系统设计的合理性和思路清晰度越高,得分越高;•实用价值:方案的实用价值越高,得分越高。
5. 参考资料•Mark Lutz, 《Python语言程序设计基础(第二版)》, 机械工业出版社;• B.M. Kim and H.W. Park, 《Introduction to Computer Science with Python》, Springer.6. 结束语本课程设计旨在帮助学生更好地掌握Python语言的程序设计基础,提高编程水平,为将来的工作和学习奠定基础。
程序设计基础课程设计教学大纲-曾凡军

计算机科学学院本科实践教学大纲《程序设计基础课程设计》教学大纲课程设计名称:程序设计基础学分:2分周数:2周适用专业:计算机科学与技术专业执笔人:曾凡军审订人:钟宝荣一、性质、目的与任务程序设计基础课程设计是计算机科学与技术专业的专业基础课《程序设计基础》相配套的一门提高性实践课。
是对学生的一次较全面、综合的设计训练。
其基本目的是:1.使学生学习掌握程序设计的基本方法和技巧。
2.使学生学习掌握C语言的基本语法和了解软件开发的过程。
2.为学生提供一个系统的程序设计机会,将课本上的理论知识和实际应用问题进行有机结合,锻炼学生分析、解决实际问题的能力,提高学生项目开发及程序调试能力。
二、教学基本要求1.熟悉程序的整体结构,掌握程序设计的基本方法。
2.能根据实验内容的具体要求,实现数据的组织和管理。
3.能对调试中出现的语法错误快速更正;能够合理设置断点,发现程序中的算法错误。
三、课程设计内容1.用数组实现学生信息的查找、输入、删除、排序。
2.用链表实现学生信息的查找、输入、删除。
四、时间安排课程设计的内容应提前布置,以便学生作好充分准备。
二周的课程设计主要分成以下几个阶段:1.系统分析与设计阶段(1天)在前期资料查阅的基础上,学生对课程设计内容进行分析与设计,并与指导老师进行充分的沟通。
2.程序编制与调试阶段(7天)学生在指导老师的指导下独立完成程序的编制与调试,指导老师应实时考察学生的实际编程与调试能力。
3.总结报告和书写说明书阶段(1天)学生根据规定的格式编写课程设计报告。
4.答辩与考核阶段(1天)指导教师对全部学生进行当面提问答辩,答辩既可以以语言表达的方式,也可以直接在机房中进行实际操作与调试。
指导教师将综合每一学生课程设计时的表现及能力进行综合评分。
五、组织管理1.由院、系指派经验丰富的专业教师担任指导教师。
2.课程设计实行指导教师负责制,由指导教师全面负责课程设计的指导与管理工作。
六、成绩考核与评定通过设计答辩方式,并结合学生的动手能力,独立分析解决问题的能力,总结报告和答辩水平以及学习态度综合考评。
大一c语言程序课程设计

大一c语言程序课程设计一、课程目标知识目标:1. 理解C语言程序设计的基本概念,掌握数据类型、变量、运算符、表达式等基础知识;2. 学会使用顺序结构、分支结构、循环结构进行程序设计;3. 掌握数组和函数的使用,理解指针的概念及其应用;4. 了解结构体、联合体和枚举类型的使用。
技能目标:1. 能够运用C语言编写简单的程序,解决问题;2. 能够分析问题,运用逻辑思维进行程序设计;3. 能够阅读和理解他人编写的C语言程序;4. 能够对程序进行调试和优化,提高程序效率。
情感态度价值观目标:1. 培养学生的编程兴趣,激发学习积极性;2. 培养学生的团队合作意识,学会与他人共同解决问题;3. 培养学生的创新精神,敢于尝试新思路和方法;4. 培养学生严谨的学术态度,遵循编程规范。
课程性质:本课程为大一C语言程序设计的基础课程,旨在使学生掌握C语言的基本知识和编程技能,为后续专业课程打下坚实基础。
学生特点:大一学生刚接触编程,对编程知识有一定好奇心,但缺乏实际操作经验。
教学要求:结合学生特点,注重理论与实践相结合,通过案例分析和实际操作,使学生熟练掌握C语言编程技巧。
在教学过程中,注重培养学生的编程兴趣和创新能力,提高学生分析问题和解决问题的能力。
将课程目标分解为具体的学习成果,以便进行后续的教学设计和评估。
二、教学内容1. C语言概述:介绍C语言的发展历程、特点和应用领域,理解编程的基本概念。
相关教材章节:第一章2. 数据类型与运算符:讲解基本数据类型、变量定义、常量声明,运算符及其优先级。
相关教材章节:第二章3. 顺序结构程序设计:学习基本输入输出函数,编写简单的顺序结构程序。
相关教材章节:第三章4. 分支结构程序设计:介绍if语句、switch语句,学会编写分支结构程序。
相关教材章节:第四章5. 循环结构程序设计:讲解for循环、while循环、do-while循环,掌握循环结构编程。
相关教材章节:第五章6. 数组:介绍一维数组、二维数组的使用,学会存储和操作批量数据。
程序设计基础课程设计实验

程序设计基础课程设计实验一、课程目标知识目标:1. 让学生理解程序设计的基本概念,掌握编程语言的语法和结构。
2. 培养学生运用程序设计思想解决问题的能力,包括数据表示、逻辑判断和循环控制等。
3. 使学生了解程序设计的流程,学会编写、调试和优化程序。
技能目标:1. 培养学生运用编程工具进行程序设计和调试的能力。
2. 培养学生独立思考和解决问题的能力,提高编程解题技巧。
3. 培养学生团队协作和沟通能力,能够与他人共同完成程序设计任务。
情感态度价值观目标:1. 培养学生对程序设计的兴趣和热情,激发学生学习编程的积极性。
2. 培养学生勇于尝试、不怕失败的精神,提高学生面对编程挑战的自信心。
3. 引导学生认识到编程在科技发展和社会进步中的重要作用,培养学生的社会责任感和创新意识。
课程性质:本课程为程序设计基础课程,旨在让学生掌握编程基本技能,培养编程思维。
学生特点:学生为初中年级,具备一定的逻辑思维能力,好奇心强,对新鲜事物感兴趣。
教学要求:注重理论与实践相结合,以实例为主线,引导学生主动探索,培养实际编程能力。
将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. 程序设计基本概念:程序、编程语言、算法等基本概念介绍。
2. 编程环境搭建:安装编程软件,了解编程环境,学会使用开发工具。
3. 语法基础:变量、数据类型、运算符、表达式和语句等。
4. 控制结构:顺序结构、分支结构(if语句)、循环结构(for、while语句)。
5. 函数与模块:函数的定义、调用、参数传递,模块的导入和使用。
6. 数组与列表:数组的概念、使用,列表的创建、操作。
7. 文件操作:文件的打开、读取、写入和关闭。
8. 编程规范与调试:代码风格、命名规则,调试技巧和错误处理。
9. 综合实例分析:分析实际编程案例,学会运用所学知识解决问题。
教学内容安排与进度:第1-2周:程序设计基本概念,编程环境搭建。
第3-4周:语法基础,变量、数据类型、运算符。
“程序设计基础”课程教学实施方案

“程序设计基础”课程教学实施方案摘要:“程序设计基础”是计算机科学与技术专业的核心课程之一。
在教育部高等学校计算机科学与技术教学指导委员会统一组织下,作者针对程序设计基础课程的培养目标和教学实施中普遍存在的问题,提出了课程教学实施方案。
本文介绍了该实施方案的总体框架,并围绕教学内容组织、重点与难点问题、实践环节等方面的内容分析了课程实施的要点,对在不同类型计算机人才培养中课程实施的不同侧重点进行了说明。
关键词:程序设计基础;计算机科学与技术专业;核心课程;课程教学;教学实施“程序设计基础”是计算机科学与技术专业的核心课程之一,主要讲授程序设计语言的基本知识和程序设计方法,使学生了解高级程序设计语言的结构,掌握程序设计的思想和方法,以及基本的程序设计过程和技巧,具备初步的分析问题和利用计算机求解问题的能力。
程序设计基础是一门教学难度较大的课程。
作为程序设计入门课程,本课程是学生深入接触计算机学科领域知识的第一门课程,因而,学生往往难以理解程序设计的思维方式,对教学内容似懂非懂,而掌握良好的程序设计方法则更加困难;在课程教学实施中还存在着学生基础差异大的问题,教师很难把握教学进度与教学内容深度;本课程的主要目标是让学生掌握程序设计的方法和技能,即培养学生程序设计的能力,而如何通过切实可行的编程训练来提高学生的程序设计能力,是许多从事这门课程教学工作的教师非常关心的问题。
近年来,许多高校的任课教师为了提高课程教学质量,在教学内容、实践体系、教学方法和教学手段等方面进行了积极的改革,取得了一些成效。
特别是,一些学校在程序设计基础精品课程的建设方面积累了丰富的经验。
为了很好地整理和总结这些经验,根据教育部高等学校计算机科学与技术教学指导委员会的统一部署,由浙江大学计算机科学与技术学院何钦铭教授、哈尔滨工业大学计算机科学与技术学院苏小红教授、北京工业大学计算机学院叶乃文副教授和浙江大学城市学院颜晖教授等高校的相关教师组成课题组,结合各校在本课程长期教学改革中所取得的实践经验,共同研究程序设计基础课程教学实施方案,供承担本课程教学任务的广大教师参考。
程序设计基础课程设计题目

1.用户登录后输入自己的姓名,单击“记忆测试”菜单可以选择初级/中级/高级,也可以查看初级记忆榜/中级记忆榜或高级记忆榜。
2.选择级别后,将显示相应级别的测试区域。测试区域由若干个数字,级别越高数字长度越长(初级5位,中级8位,高级13位),每次将随机出现一个数字后显示3秒后消失,用户需要将记忆中的数字写入下方的文本框中,全对才得分,测试完毕显示总分。
二十七、3.21点游戏
游戏规则参见:/view/302185.htm
要求能实现基本功能
二十八 数独游戏
游戏规则参见/view/3281328.htm
要求能实现基本功能
二十九 进制转换工作
实现各种数制之间的转换
3.将绩保存到成绩表中。
十一、市收银系统
使用图形用户界面。
1.由收银员输入顾客的会员卡卡号(若有卡)、所购商品的货号等。从数据库中取出有关价格信息,再把这些信息返回给收银台。同时把该收银台的销售总量和有关种类商品的剩余量以及该持卡顾客的消费情况交数据库存储以供查询。另外,对没有卡的消费情况不记录该顾客的消费情况等个人信息。
3. 能够实现学生信息的插入、删除和修改。
4. 能够查询每个课程的最高分、最低分及相应学生姓名、班级和学号。
5. 能够查询每个班级某门课程的优秀率(90分及以上)、不及格率,并进行排序。
十、记忆测试系统
设计内容:
记忆测试系统通过回忆法测试记忆,分为初级、中级、高级三个级别,并通过记忆榜存储每个级别的成绩。
大数的加法
大数的减法
运算结果的显示
运算过程(输入和输出)写入到文件,并能查看
三十二 大数判断素数运算
大数一般指50位以上的十字进数字,超过double和long long数据类型的范围。要求能实现以下功能:
程序设计基础课程设计指导

程序设计基础课程设计指导一、课程目标知识目标:1. 了解程序设计的基本概念,掌握程序设计的流程和步骤;2. 学习编程语言的基础语法,如变量、数据类型、运算符和表达式;3. 掌握基本的控制结构,包括顺序结构、分支结构和循环结构;4. 理解函数的概念,学会使用和编写简单的函数。
技能目标:1. 能够运用所学知识编写简单的程序,解决实际问题;2. 培养逻辑思维和问题分析能力,学会用编程语言表达解题思路;3. 学会使用调试工具,发现并修正程序中的错误;4. 培养团队协作能力,学会与他人共同完成程序设计任务。
情感态度价值观目标:1. 培养对计算机科学的兴趣,激发学习编程的热情;2. 树立正确的编程观念,认识到编程对生活和学习的重要性;3. 培养勇于尝试、不怕困难的品质,增强解决问题的自信心;4. 学会尊重他人的知识产权,遵循道德规范,养成良好的编程习惯。
本课程针对初年级学生,注重基础知识的传授和实践能力的培养。
在教学过程中,要关注学生的个体差异,充分调动学生的积极性,鼓励学生动手实践,提高编程能力。
课程目标的设定旨在使学生掌握程序设计的基本知识,培养其编程技能,同时注重情感态度价值观的培养,使学生在学习过程中形成正确的价值观和积极的学习态度。
通过本课程的学习,学生将具备初步的编程能力,为后续学习打下坚实基础。
二、教学内容1. 程序设计基本概念:程序、编程语言、算法、软件等;2. 编程语言基础:变量定义、数据类型、常量与变量、运算符与表达式;3. 控制结构:- 顺序结构:程序执行流程;- 分支结构:条件语句、选择结构;- 循环结构:循环语句、循环控制;4. 函数与模块:- 函数定义、调用、返回值;- 模块化编程:模块创建、导入、使用;5. 简单程序设计:编写程序解决实际问题,如计算器、温度转换等;6. 调试与测试:错误类型、调试方法、测试用例设计;7. 编程规范与习惯:命名规范、代码格式、注释使用、团队合作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设计题目:学生成绩管理系统班级:计0902姓名:付乐颖学号:20091221067完成日期:2010.10.151. 课程设计目的和要求随着科学的发展和社会的进步,许多过去有人工处理的繁杂事务开始交付计算机来完成。
学生成绩管理系统可以说是一个得力助手,它利用计算机对学生成绩进行统一管理,实现学生成绩信息管理工作流程的系统化、规范化和自动化,提高了广大教师的工作效率。
本程序旨在训练学生的基本编程能力,了解管理信息系统的开发流程,熟悉C语言的文件等的各种基本操作,使学生能对C语言的文件操作有一个更深的理解。
为进一步开发出高质量的信息管理系统打下坚实的基础。
2. 课程设计任务内容学生包含以下信息项:学号、姓名、学院、班级、高数成绩、英语成绩、C语言成绩、总分、平均分。
系统的主要功能包括:1. 创建学生成绩信息文件,根据提示输入学生的各项信息,计算出总分和平均分,然后按学号对学生信息进行排序,并将排序后的学生成绩信息存储到一个二进制文件中。
2. 增加学生信息,在原有学生信息文件的基础上增加新的学生成绩信息,要求:增加后的学生信息仍按学号排序,并继续保存至原文件。
3. 删除学生信息,提示用户输入要进行删除操作的学号,如果在文件中有该信息存在,则将该学号所对应的学生信息删除,否则输出提示信息,并提示用户选择是否继续进行删除操作。
4. 修改学生信息,提示用户输入要进行修改操作的学号,如果在文件中有该息存在,则将提示用户输入该学号对应的要修改的选项,结果保存至原文件,并提示用户选择是否继续进行修改操作。
5. 按不同条件对学生信息进行查询操作,输出满足条件的学生信息。
(1) 按学号查询,输入一个学号,输出对应的学生信息。
(2) 按姓名查询,包括精确查询(输入全名),模糊查询(输入姓)。
(3) 按学院查询,输入学院名称,输出该学院的全部学生的信息。
(4) 按班级查询,输入班级名称,输出该班级的全部学生的信息。
6. 按不同条件对学生成绩进行统计工作。
(1) 按总分对学生信息进行排序(由高到低),输出排序后的信息,并将排序后的学生信息存放到一个新的二进制文件中。
(2) 按平均分统计各个分数段的学生人数(不及格,60-69,70-79,80-89,90-100)。
(3) 分别找出3门课程成绩最高的学生,并输出他们的信息。
(4) 分别统计出3门课程的不及格率,并输出。
3. 详细设计说明3.1 功能模块图3.2 数据结构设计1.学生成绩信息结构体struct student{char num[10]; /*学号*/char name[15]; /*姓名*/char xueyuan[15]; /*学院*/char banji[15]; /*班级*/int cgrade; /*C语言成绩*/int mgrade; /*数学成绩*/int egrade; /*英语成绩*/int total; /*总分*/float ave; /*平均分*/};2.单链表node结构体typedef struct node{struct student data; /*数据域*/struct node *next; /*指针域*/}Node,*Link;3.3 功能模块设计1.主函数main()执行流程本成绩管理系统可以先以可读写的方式打开数据文件,若该文件不存在,则提醒用户新建此文件。
当打开文件操作成功后,从文件中一次读出一条记录,添加到新建的单链表中,然后执行显示主菜单和进入主循环操作,进行按键判断。
在判断键值时,有效的输入为0至9之间的任意数值,其他输入都被视为错误按键。
若输入为0(即变量select=0),它会继续判断是否在对记录进行了更新操作以后进行了存盘操作,若未存盘,则全局变量saveflag=1,系统会提示用户是否进行数据存盘操作,用户输入Y或y,系统会进行存盘操作。
最后,系统执行退出成绩管理系统的操作。
若选择1,则调用Create()函数,执行创建学生信息操作;若选择2,则调用Insert()函数,执行插入学生信息操作;若选择3,则调用Del()函数,执行删除学生信息操作;若选择4,则调用Modify()函数,执行修改学生信息操作;若选择5,则调用Sortnum()函数,执行按学号排序操作;若选择6,则调用Find()函数,执行查找学生信息操作;若选择7,则调用Sortscore()函数,执行按总分排序操作;若选择8,则调用Tongji()函数,执行学生信息整理操作;若选择9,则调用Save()函数,执行保存学生信息操作;若输入0—9之外的值,则调用Wrong()函数,给出按键错误的提示。
2.输入学生信息模块输入学生信息模块主要实现将数据存入单链表中。
这部分的操作较为简单。
当从数据文件中读出信息时,它调用了fread(p,sizeof(Node),1,fp)文件读取函数,执行一次从文件中读取一条学生成绩信息存入指针变量p所指的节点中的操作,并且这个操作在main()中执行,即当成绩管理系统进入显示菜单界面时,该操作已经执行了。
若该文件中没有数据,系统会提示单链表为空,没有任何学生信息可操作,此时,用户应选择1,调用Create()函数,进行学生信息的输入,即完成在单链表l中添加节点的操作。
其中,字符串和数值的输入我分别采用了函数来实现,在函数中完成输入数据的任务,并对数据进行条件判断,直到满足条件为止,这样大大减少了代码的重复与冗余,符合模块化设计的特点。
3.查询学生信息模块查询学生信息模块在单链表中按学号或姓名或学院或班级查找满足条件的学生信息。
在查询函数Find()中,l为指向保存了学生成绩信息的单链表的首地址的指针变量。
对于在单链表中进行的指针定位操作,我设计成了两个单独的函数Node* Locate(Link l,char findmess[],char nameornum[])和int Locate2(Link l,char findmess[],char nameornum[]),参数findmess[]保存要查找的具体内容,nameornum[]保存要查找的字段,若找到该记录,则返回指向该节点的指针;否则,返回一个空指针。
4.更新学生信息模块此模块主要实现了对学生信息的修改、删除、插入和排序操作。
因为学生信息是以单链表的结构形式存储的,所以这些操作都在单链表中完成。
1)修改学生信息修改学生信息需要对单链表中目标节点的数据域中的只进行修改,它分两步完成。
第一步,输入要修改的学号,输入后调用Locate()或Locate2()在单链表中逐个对节点数据域中学号字段的值进行比较,直到找到该学号的学生信息;第二部,若未找到该学生信息,修改除学号之外的各字段的值,并将存盘标记变量saveflag置1,表示已经对信息进行了修改,但还未执行存盘操作。
2)删除学生信息删除学生信息操作完成删除指定学号或姓名,它也分两步完成。
第一步,输入要删除的学号或姓名,输入后调用定位函数Locate()在单链表中逐个对节点数据域中学号或姓名字段的值进行比较,直到找到该学号或姓名的学生信息,返回指向该学生信息的节点指针;第二步,若找到该学生信息,将该学生信息所在节点的前驱节点的指针域指向目标节点的后继结点。
3)插入学生信息插入学生信息操作完成在指定学号的随后位置插入新的学生信息。
首先,它要求用户输入某个学生的学号,新的学生信息将插入在该学生信息之后;然后,提示用户输入一条新的学生信息,这些信息保存在新节点的数据域中;最后,将该节点插入在指定位置学号之后。
4)学生信息排序针对单链表结构的特点,我采用了插入排序算法实现按总分降序、按学号升序进行排序。
5.学生信息整理模块该模块的实现比较简单,它主要通过循环读取指针变量p所指的当前节点的数据域中各字段的值,并对各个成绩字段进行逐个判断的形式,完成单科最高分、总分最高分学生的查找和各科不及格人数的统计。
6.输出信息模块当把信息输出至文件时,调用fwrite(p,sizeof(Node),1,fp)函数,将p指针所指节点中的各字段值写入文件指针fp所指的文件。
当把信息输出至屏幕时,调用Disp(Link l)函数,将单链表l中存储的学生信息以表格的形式在屏幕上打印出来。
3.4 相关函数说明1)printheader()用于在以表格形式显示学生记录时,打印输出表头信息。
2)printdata(Node *pp)用于在以表格形式显示学生记录时,打印输出单链表pp中的学生信息。
3)stringinput(char *t,int lens,char *notice)用于输入字符串,并进行字符串长度验证(长度<lens)。
T用于保存输入的字符串,因为是以指针形式传递的,所以t相当于该函数的返回值。
notice 用于保存printf()中输入的提示信息。
4)numberinput(char *notice)用于输入数值型数据,notice用于保存printf()中输出的提示信息,该函数返回用户输入的整型数据。
5)Disp(Link l)用于显示单链表l中存储的学生记录,内容为student结构中定义的内容。
6)Locate(Link l,char findmess[],char nameornum[])用于定位链表中符合要求的节点,并返回指向该节点的指针。
7)Create(Link l)用于在单链表中创建学生信息节点。
8)Find(Link l)用于在单链表l中按学号、姓名、学院、班级查找满足条件的学生信息,并显示出来。
9)Del(Link l)用于先在单链表l中找到满足条件的学生信息的节点,然后删除该节点。
10)Modify(Link l)用于在单链表中修改学生信息。
11)Insert(Link l)用于在单链表中插入学生信息。
12)Tongji(Link l)用于在单链表l中完成学生信息的整理工作,统计出该班的总分第一名、单科第一名、各分数段人数、不及格率。
13)Sortscore(Link l)用于在单链表l中完成利用插入排序法实现单链表的按总分降序排序。
14)Sortnum(Link l)用于在单链表l中完成利用插入排序法实现单链表的按学号降序排序。
15)Save(Link l,char file[20])用于将单链表l中的数据写入磁盘中的数据文件。
16)main()整个学生成绩管理系统的控制部分。
4. 课程设计心得与体会这次课程设计之前,我感觉学的东西很少,很零散,不知该怎么融合到一起,就要课程设计,是不是太难为我们了。
刚看到题目时,我一脸茫然,完全不知道如何下手、从哪里下手,没有一点思绪。
但是我明白,这是一个很好的锻炼机会。
第一周基本上都是在看书,把基本知识再熟悉一边。