c语言课程设计
毕业设计c语言课程设计

毕业设计c语言课程设计一、课程目标知识目标:1. 理解C语言在毕业设计中的应用场景,掌握C语言的基本语法和编程技巧。
2. 学会使用C语言进行数据结构的设计与实现,如链表、树、图等。
3. 掌握C语言在嵌入式系统、算法竞赛等领域的实际应用。
技能目标:1. 能够运用C语言编写具有实际意义的程序,解决实际问题。
2. 能够分析并优化C语言程序的运行效率,提高编程质量。
3. 培养良好的编程习惯,编写规范、易读、高质量的C语言代码。
情感态度价值观目标:1. 培养学生积极主动探索新知识的精神,提高学生的自主学习能力。
2. 增强学生的团队协作意识,培养良好的沟通与协作能力。
3. 使学生认识到C语言在计算机科学领域的重要地位,激发学生对编程的兴趣。
分析课程性质、学生特点和教学要求:1. 课程性质:本课程为毕业设计前的预备课程,旨在帮助学生掌握C语言编程技能,为毕业设计奠定基础。
2. 学生特点:学生已具备一定的计算机基础,了解编程基本概念,但实际编程能力较弱,需要加强实践操作。
3. 教学要求:注重理论与实践相结合,强调实际编程能力的培养,以项目驱动教学,提高学生的实践操作能力。
1. 独立完成C语言基础语法的学习,并能运用所学知识编写简单程序。
2. 掌握常见数据结构在C语言中的实现与应用,能够解决实际问题。
3. 编写具有一定规模的C语言项目,具备初步的软件设计能力。
4. 养成良好的编程习惯,具备团队协作能力和沟通能力。
二、教学内容1. C语言基础语法:变量定义、数据类型、运算符、表达式、控制语句(顺序、选择、循环)、函数、数组、指针。
2. 常见数据结构:链表、栈、队列、树(二叉树、查找树)、图(邻接矩阵、邻接表)。
3. 编程技巧与优化:算法复杂度分析、递归与迭代、内存管理、程序调试与优化。
4. C语言项目实践:学生信息管理系统、简易计算器、文件压缩与解压缩、小型游戏等。
5. 教学内容安排与进度:- 第一周:C语言概述、基础语法、数据类型与运算符。
c语言毕业设计课程设计

c语言毕业设计课程设计一、课程目标知识目标:1. 学生能够掌握C语言的基本语法和程序结构,理解指针、数组、函数等核心概念。
2. 学生能够运用C语言进行数据结构的设计与实现,如链表、树、图等。
3. 学生能够运用C语言编写具有一定复杂度的程序,解决实际问题。
技能目标:1. 学生能够独立设计并完成一个小型的C语言项目,包括需求分析、设计、编码、测试等过程。
2. 学生能够运用所学知识,分析并解决项目中遇到的问题,提高编程能力和问题解决能力。
3. 学生能够通过课程学习,掌握C语言项目开发的基本方法和技巧,为毕业设计做好准备。
情感态度价值观目标:1. 学生在学习过程中,培养良好的编程习惯,注重代码规范和注释,提高代码质量。
2. 学生能够主动探究问题,发挥团队协作精神,共同解决项目中的难题。
3. 学生通过课程学习,认识到编程在现实生活中的应用价值,激发对计算机科学的兴趣和热情。
课程性质:本课程为毕业设计前的专业实践课程,旨在帮助学生巩固C语言知识,提高编程能力,为毕业设计奠定基础。
学生特点:学生已具备一定的C语言基础,具有一定的编程能力和问题解决能力。
教学要求:教师需结合实际项目案例,引导学生主动学习,注重理论与实践相结合,培养学生的编程兴趣和动手能力。
在教学过程中,关注学生的个体差异,给予个性化指导,确保学生能够达到课程目标。
通过课程学习,使学生具备独立完成毕业设计的能力。
二、教学内容1. C语言基础语法复习:包括数据类型、运算符、控制语句、函数等基本概念,参考教材相关章节,巩固学生基础知识。
2. 数据结构实现:教授学生运用C语言实现常见的数据结构,如链表、栈、队列、二叉树等,结合教材相关内容,讲解数据结构在实际项目中的应用。
3. 指针与数组:深入讲解指针的概念及其运用,数组与指针的关系,提高学生运用指针解决问题的能力。
4. 文件操作:介绍C语言文件操作的基本方法,包括文件的打开、读写、关闭等,结合实际案例,让学生掌握文件操作技巧。
实用C语言程序设计教程课程设计

实用C语言程序设计教程课程设计一、课程设计介绍本课程设计旨在提高学生对于C语言程序设计的实际应用能力,让学生通过编写有实际用途的程序来掌握C语言的基本语法和编程思想。
通过本课程设计的学习,学生将能够掌握C语言的基本语法、流程控制语句、函数等知识点,并能够熟练使用这些知识点进行程序开发。
二、课程设计目标•掌握C语言的基本语法•熟练应用C语言的流程控制语句和函数•能够独立设计、开发、测试C语言程序•能够处理简单的C语言程序调试和错误处理三、课程设计内容1. 认识C语言本章主要介绍C语言的概述、发展历史、优缺点等方面的内容,让学生了解C语言的基本情况。
2. 基本语法本章主要介绍C语言中的基本语法要点,包括数据类型、运算符、表达式、控制语句、循环语句等等。
3. 函数本章主要介绍C语言中的函数定义和调用、函数的返回值、参数传递等相关内容。
4. 文件操作本章主要介绍C语言中的文件读写操作、文件指针、文件操作函数等相关内容,让学生了解如何进行文件读写操作。
5. 数据结构本章主要介绍C语言中的结构体和指针等相关内容,让学生了解如何使用结构体和指针进行程序开发。
6. 综合项目本章将要求学生利用所学知识进行实际程序的开发,在本章中完成的综合项目可作为课程设计的结题项目。
四、课程设计要求1. 软硬件要求•操作系统:Windows或者Linux•编译器:GCC或者Clang2. 实践要求•学生需要完成本课程设计的所有练习题目,课程设计的结题项目需要具有一定的实际应用场景•学生需要在课程设计期间积极参与课堂讨论和活动,并提交相关的实验报告•学生需要按时完成实验报告和结题项目的提交,如有特殊原因请提前与任课老师联系,并及时提交请假手续3. 成绩评定要求•实验报告成绩占总成绩的50%•结题项目成绩占总成绩的50%五、结语C语言是一门非常实用的编程语言,在很多领域都有其实践价值。
通过本课程设计的学习,相信学生们能够熟练掌握C语言的基本语法和编程思想,同时也能够更好地应用C语言进行实践开发。
c语言课程设计

课程设计报告正文1、目的:1) 对C各部分知识的综合应用能力2) 提咼程序设计的能力3) 提升对于较大程序的抽象分析设计能力4) 学习调试和测试的技巧2、所做题目的意义:通讯录管理系统在当今这个信息发达的社会是必不可少的,这个通讯录管理系统可以方便的为我们添加、管理联系人,不必一定要记住这些庞大的信息,可以很方便的调用出自己所需要的信息,随时的修改这些信息,这些在这个时代是非常的必要的。
3、本人所作的工作:(1)、写出了预习报告。
从图书馆搜集了些这方面的资料(2)、想好思路,写出了程序代码(3)、调试程序,找出其中的错误,最终成功的运行出程序(4)、写出课程设计报告4、系统的主要功能:该系统的是一个小型的通讯系统,它具有一般的通讯系统都具有的功能该程序具有查找、添加、修改、删除功能,其讯录包括:街道,城市,省,邮编。
5、、系统的总体设计:系统的基本要求和容:该系统要求具有查找,添加,修改,删除功能,其讯录包括:、,街道,城市,省,邮编。
但在实际设计中增加了一项,那就是末尾添加,可以在已有的记录末尾再次添加,不必每次都重新添加,方便用户描绘及绘制出系统的功能结构框图、程序设计组成框图,流程图等:此系统共分为九大模块,分别为以下的模块:第一模块:主函数ma in ()的功能是:根据选单的选项调用各函数,并完成相应的功能。
第二模块:quitRec()的功能是:退出选单。
第三模块:createRec()的功能是:创建新的通讯录。
第四模块:addRec()的功能是:在通讯录的末尾写入新的信息,并返回选单第五模块:findRec()的功能是:查询某人的信息,如果找到了,则显示该人的信息,如果未找到,则提示通讯录中没有此人的信息,并返回选单。
第六模块:alterRec()的功能是:修改某人的信息,如果未找到要修改的人,则提示通讯录中没有此人的信息,并返回。
第七模块:deleteRec()的功能是:删除某人的信息,如果未找到要删除的人,则提示通讯录中没有此人的信息,并返回选单。
大一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. 数组:介绍一维数组、二维数组的使用,学会存储和操作批量数据。
C语言程序设计实例教程课程设计

C语言程序设计实例教程课程设计一、引言C语言是一门十分受欢迎的计算机编程语言,其流行程度源于其简单性、可移植性和高效性等因素。
C语言的广泛使用范围包括嵌入式系统设计、操作系统编写、游戏开发以及各种应用程序的开发等。
因此,学习C语言程序设计对于计算机科学专业的学生来说至关重要。
本文档为C语言程序设计实例教程课程设计,旨在帮助学生更好地理解和掌握C语言的程序设计方法。
该课程设计将包括实例代码和详细的代码解释,通过这些实例,学生将学习到C语言的基本语法、程序结构、函数和指针等重要知识点,同时还能够提高自己的编程能力。
二、课程设计目标本课程设计以学习C语言的基本程序设计方法为核心,旨在实现以下目标:1.理解C语言的基本语法,包括变量类型、运算符、数据类型等;2.掌握C语言的程序结构,包括顺序结构、选择结构和循环结构等;3.熟悉C语言的函数和指针,能够编写复杂的程序;4.建立编程思维,提高编程能力;5.培养学生的团队合作意识。
三、教学内容3.1 C语言基础1.C语言简介2.C语言程序的基本结构3.C语言中的变量和运算符4.C语言中的数据类型5.C语言中的控制语句6.C语言中的函数3.2 C语言程序设计实例1.实例1:计算数组中元素的平均值2.实例2:冒泡排序3.实例3:字符串反转4.实例4:判断一个数是否为素数5.实例5:文件操作6.实例6:链表数据结构四、教学方法本课程设计采用讲解思路+实例案例的教学方法,以实现学生的基础和编程能力的提升。
具体方法如下:1.首先,老师将讲解课程内容的思路,并简单介绍应用场景;2.其次,老师将通过讲解实例案例的方式,详细阐述程序设计的各个细节,缺陷及处理方法;3.学生可以根据案例代码自行练习,以锻炼自己的编程能力;4.学生可以结合自己的理解,对老师的代码进行添加、修改和注释,以提升自己的编程水平;5.学生还可以通过团队合作的方式来完成课程设计,以培养团队协作能力。
五、教学评价本课程设计将根据以下方法进行评价:1.基于实例作业的评价方式,用于考核学生对于课程内容的理解和掌握程度;2.通过课堂练习和编程作业的评价方式,考核学生的实践能力和编程水平;3.通过学生团队合作的评价方式,考核学生的团队协作能力;4.进行期末考试,考核学生的知识掌握程度。
c语言课课程设计

c语言课课程设计一、教学目标本节课的教学目标是让学生掌握C语言的基本语法和编程思想,培养学生编写简单程序的能力。
具体目标如下:1.知识目标:–了解C语言的发展历史和特点。
–掌握C语言的数据类型、变量、运算符和表达式。
–熟悉C语言的控制结构,包括条件语句和循环语句。
–理解函数的定义和调用。
2.技能目标:–能够使用C语言编写简单的程序,实现基本的输入输出、计算和控制流程。
–能够阅读和理解简单的C语言程序。
–能够对程序进行简单的调试和优化。
3.情感态度价值观目标:–培养学生对计算机科学的兴趣和好奇心。
–培养学生解决问题的能力和创新精神。
–培养学生团队合作和分享的意识。
二、教学内容根据教学目标,本节课的教学内容主要包括以下几个部分:1.C语言的发展历史和特点:介绍C语言的起源、发展和特点,让学生了解C语言的重要性和应用领域。
2.数据类型、变量、运算符和表达式:讲解C语言的基本数据类型、变量的声明和使用、运算符的用法和表达式的计算。
3.控制结构:讲解条件语句和循环语句的用法,让学生能够编写简单的分支和循环程序。
4.函数的定义和调用:讲解函数的定义、声明和调用方式,让学生了解函数的基本概念和使用方法。
5.编程实践:通过编写简单的程序,让学生实践和巩固所学的知识。
三、教学方法为了达到教学目标,本节课将采用以下几种教学方法:1.讲授法:教师讲解C语言的基本概念和语法,引导学生理解和掌握相关知识。
2.案例分析法:通过分析典型的C语言程序,让学生了解编程思想和方法。
3.实验法:让学生动手编写和运行C语言程序,培养学生的编程能力和实践能力。
4.讨论法:鼓励学生之间的交流和讨论,培养学生的团队合作和沟通能力。
四、教学资源为了支持教学内容和教学方法的实施,本节课将准备以下教学资源:1.教材:选用权威、实用的C语言教材,为学生提供系统的学习资料。
2.参考书:提供一些经典的C语言编程书籍,供学生课后阅读和参考。
3.多媒体资料:制作精美的PPT和教学视频,提高学生的学习兴趣和效果。
c语言课程设计的内容

c 语言课程设计的内容一、课程目标知识目标:1. 理解C语言的基本语法和结构,掌握变量定义、数据类型、运算符和表达式等基础知识;2. 学会使用C语言进行顺序、选择和循环结构的编程,并能运用逻辑判断和循环控制解决实际问题;3. 掌握C语言中的数组和字符串操作,能够运用数组进行批量数据处理;4. 了解函数的定义和调用方法,能够编写简单的自定义函数。
技能目标:1. 能够运用C语言编写简单的程序,解决实际问题;2. 培养良好的编程习惯,编写规范、可读性强的代码;3. 学会使用调试工具,能够调试并修复程序中的错误;4. 提高逻辑思维能力,学会分析问题、设计算法并转化为C语言程序。
情感态度价值观目标:1. 培养学生对编程的兴趣和热情,激发学生的创新意识;2. 培养学生严谨、细心的学习态度,提高团队协作能力;3. 使学生认识到编程在现代社会中的重要作用,树立正确的价值观;4. 引导学生遵守编程道德规范,遵循国家法律法规,养成良好的社会责任感。
课程性质:本课程为C语言编程入门课程,旨在让学生掌握C语言的基本知识和编程技能,为后续学习打下基础。
学生特点:学生处于初中或高中年级,具有一定的逻辑思维能力和数学基础,对编程感兴趣,但可能缺乏实际编程经验。
教学要求:结合学生特点,采用任务驱动的教学方法,注重实践操作,让学生在动手实践中掌握编程技能。
同时,注重培养学生的编程兴趣和团队协作能力,提高学生的综合素质。
通过本课程的学习,使学生能够达到上述课程目标,并在后续的学习中不断提高。
二、教学内容1. C语言基础知识:变量、数据类型、常量、运算符、表达式;2. 控制结构:顺序结构、选择结构(if、switch)、循环结构(for、while、do-while);3. 数组:一维数组、二维数组、字符数组与字符串;4. 函数:函数定义、函数调用、函数声明、局部变量与全局变量;5. 编程实践:编写简单的计算器程序、排序算法实现、字符串处理等;6. 调试与优化:使用调试工具(如Turbo C)、程序错误类型及解决方法、代码优化。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告课程设计名称:学生成绩管理系统系别:三系学生姓名:班级:学号:成绩:指导教师:开课时间:2013-2014 学年二学期目录一、课程设计目的 (2)二、课程设计内容 (2)三、学生成绩管理系统概要设计(包含几大功能模块) (4)3.1、各个模块功能 (4)3.2、各函数的功能和实现 (4)四、成绩管理系统详细设计(各功能模块的具体实现算法——流程图) (5)4.1、本人所负责的部分: (5)4.2、其他附带源程序: (7)五、总结 (18)学生成绩管理系统一、课程设计目的建立学生成绩管理系统,利用计算机对学生成绩进行管理,方便学生查看自己成绩,对学生的基本信息,成绩录入,修改,删除,查询统计等提供一系列的操作。
帮助广大师生提高工作效率,实现学生成绩管理工作流程的系统化,规范化,减少人力投资。
二、课程设计内容对学生信息(包括学号、语文、数学、英语、)进行管理,包括学生成绩的信息保存,输入、输出、查询、删除、统计、修改、退出.将学生的成绩信息进行记录,信息内容包含:(1)学生的学号(2)学生的姓名(3)学生的成绩。
假设,现收集到了一个班学生的所有成绩信息,要求用C语言编写一个简单的成绩管理系统,可进行录入、查询、修改和浏览等功能。
学习相关开发工具和应用软件,熟悉系统建设过程。
1、用C语言实现系统;2、对学生信息(包括学号、姓名、语文、数学、英语)进行管理,包括学生成绩的信息输入、输出、查询、删除、统计、保存、退出;3、学生信息包括:其内容较多,为了简化讨论,要求设计的管理系统能够完成以下功能:(1) 每一条记录包括一个学生的学号、姓名、3门课成绩(2) 录入功能:从键盘输入学生的姓名学号及三科成绩(3) 输出功能:完成全部学生记录的显示(4)、查询功能:完成按姓名或者学号查找学生记录,并显示(5)删除功能:按学号进行删除某学生的成绩(6)统计功能:统计学生的总分,平均分(7)修改功能:通过学号修改学生信息(8)保存查看功能:将学生的成绩,信息保存入文件。
可从文件中查看。
(9)退出功能:退出系统(10)菜单界面:调用界面和各个功能的操作界面应尽可能清晰美观三、学生成绩管理系统概要设计(包含几大功能模块)3.1、各个模块功能1、成绩录入功能2、成绩输出功能3、成绩查询功能4、删除模块5、查找功能6、统计功能7、修改功能8、退出系统分组成员:董新歌,钱晨,夏蒙,张婧霖,程红,赵越本人负责信息录入和输出模块。
3.2、各函数的功能和实现1、输入初始的学生信息:输入信息包括学生的姓名、学号以及学生的成绩等相关信息;可用函数void type()来实现此操作。
2、成绩输出模块:输出学生的信息以及成绩void look():输入的信息保存入文件,从文件中输出已经输入的信息。
3、成绩查询模块:void search_name();void search_number()。
分别通过学生的姓名和学号进行查找。
4、删除模块:用函数void del()来实现5、保存查看模块:用函数void save(),void see()来实现6、统计功能能:用函数void tongji () 来实现7、修改功能能:用函数void xiugai () 来实现8、退出系统:可用一个函数exit()来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。
如图3.1程序流程图图 3.1 程序流程图四、成绩管理系统详细设计(各功能模块的具体实现算法——流程图)4.1、本人所负责的部分:4.1.1信息录入原程序:look.clook.c#include"head.h"void look()/*定义查看函数*/{int i;printf("\t学号\t姓名\t性别\t语文成绩\t数学成绩\t英语成绩\t\n"); for(i=0;i<n;i++)/*输出所有的学生信息*/{printf("%10s\t%s\t%2s\t%10s\t%10s\t%10s\t\n",stu[i].num,stu[i].name, stu[i].sex,stu[i].chinese,stu[i].math,stu[i].english);}printf("\n\n\n\t\t\t按任意键返回菜单");getch();}4.1.2信息输出原程序:type.ctype.c#include"head.h"void type()/*定义键入学生信息函数*/{int i;/*定义局部变量*/printf("\t\t输出你想输入的学生信息个数:");scanf("%d",&n);for(i=0;i<n;i++)/*输入每个学生的信息*/{printf("\n\t\t\t----------------\n");printf("\t\t\t学号:");scanf("%s",&stu[i].num);/*输入学号*/printf("\t\t\t姓名:");scanf("%s",&stu[i].name);/*输入姓名*/printf("\t\t\t性别:");scanf("%S",&stu[i].sex);/*输入性别*/printf("\t\t\t语文成绩:");scanf("%s",&stu[i].chinese);/*输入语文成绩*/printf("\t\t\t数学成绩:");scanf("%s",&stu[i].math);/*输入数学*/printf("\t\t\t英语成绩:");scanf("%s",&stu[i].english);/*输入英语*/}printf("\n\n\t\t\t按任意键返回菜单!!");getch();save();}4.1.3运行结果截图:4.2、其他附带源程序:4.2.1头文件#include"stdio.h"#include"conio.h"#include"string.h"#include"stdlib.h"void look();/*声明查看函数*/void save();/*声明保存函数*/void search_name();/*声明按姓名查看函数*/void search_number();/*声明按学号查看函数*/void del();/*声明删除函数*/int openl();/*声明打开函数*/void type();/*声明输入函数*/void see();/*声明打开并查看文件函数*/void xiugai();/*声明修改文件函数*/void tongji();/*声明统计文件函数*/struct student/*定义学生成绩的结构体类型*/{char num[15];/*学号*/char name[20];/*姓名*/char sex[4];/*性别*/char math[20];/*数学*/char chinese[20];char english[20];}stu[100];int n;4.2.2 main.c#include"head.h"void main()/*主函数即用户的操作界面*/{int b,flag=0;/*声明局部变量*/while(1)/*循环输出以下信息*/{ printf("\t\t\t-------------------------------\n");printf("\n\t\t\t欢迎来到学生成绩管理系统\n");printf("\t\t\t-------------------------------\n");printf("\t\t\t1.输入学生的成绩\n\n");/*键入学生的成绩*/printf("\t\t\t2.查看录入的学生成绩\n\n");/*查看录入的学生成绩*/printf("\t\t\t3.按姓名查看学生的成绩\n\n");/*按姓名查看学生的成绩*/ printf("\t\t\t4.按学号查看学生的成绩\n\n");/*按学号查看学生的成绩*/printf("\t\t\t5.删除学生成绩\n\n");/*删除学生成绩*/printf("\t\t\t6.保存学生成绩 \n\n");/*保存*/ printf("\t\t\t7.打开文件\n\n");/*打开文件*/ printf("\t\t\t8.修改成绩\n\n");/*修改成绩*/ printf("\t\t\t9.成绩统计\n\n");/*成绩统计*/printf("\t\t\t0.退出\n\n");/*退出*/printf("\t\t\t请输入你的选择:");scanf("%d",&b);switch(b){case 1:type();/*调用输入学生成绩函数*/break;case 2:look();/*调用查看函数*/break;case 3:search_name();/*调用姓名查看函数*/break;case 4:search_number();/*调用学号查看函数*/ break;case 5:del();/*调用删除函数*/break;case 6:save();/*调用保存函数*/break;case 7:see();/*调用打开文件函数*/break;case 8:xiugai();/*调用修改函数*/break;case 9:tongji();/*调用统计成绩函数*/break;case 0:flag=1;/*退出SWITCH语句*/break;default:printf("错误!");}if(flag)/*如果选择0就退出循环*/break;}}4.2.3 save.c#include"head.h"void save()/*建立保存文件函数*/{FILE *fp;/*定义文件型指针*/int i;if((fp=fopen("student.txt","wb"))==NULL)/*打开输出文件*/ {printf("不能打开文件!\n");return;/*终止程序*/}for(i=0;i<n;i++)/*向student文件中写入信息*/if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1) printf("文件写入错误\n");fclose(fp);/*关闭文件*/printf("\n\n\n\n\t\t\t学生信息保存成功!\n");printf("\n\n\n\n\t\t\t按任意键返回菜单!!");getch();}4.2.4 see.c#include"head.h"void see()/*打开并查看文件*/{int i;n=openl();printf("文件打开成功!\n");printf("按任意键查看!\n");getch();printf("学号姓名性别语文数学英语 \n");for(i=0;i<n;i++)/*输出所有的学生信息*/{printf("%10s\t%s\t%2s\t%10s\t%10s\t%10s\t\n",stu[i].num,stu[i].name,stu[i].sex, stu[i].chinese,stu[i].math,stu[i].english);}printf("\n\n\n\t\t\t按任意键返回菜单");getch();}4.2.5search.c#include"head.h"void search_name()/*按姓名查看函数*/{int i;char name[20];/*声明字符数组*/printf("\t\t\t请输入学生姓名:\n");scanf("%s",name);printf("\t学号\t姓名\t性别\t语文成绩\t数学成绩\t英语成绩\t\n");for(i=0;i<n;i++)if(strcmp(stu[i].name,name)==0)/*将输入的姓名与结构体中的姓名进行比较*/ {printf("%10s\t%s\t%2s\t%10s\t%10s\t%10s\t\n",stu[i].num,stu[i].name,stu[i].sex, stu[i].chinese,stu[i].math,stu[i].english);printf("\n\n\n\t\t\t按任意键返回菜单");}getch();}#include"head.h"void search_number()/*定义按学号查看函数*/{int i;char number[15];/*声明字符数组*/printf("\t\t\t请输入学号:\n");scanf("%s",number);printf("\t学号\t姓名\t性别\t语文成绩\t数学成绩\t英语成绩\t\n");for(i=0;i<n;i++)if(strcmp(stu[i].num,number)==0)/*将输入的学号与结构体中的学号进行比较*/printf("%10s\t%s\t%2s\t%10s\t%10s\t%10s\t\n",stu[i].num,stu[i].name,stu[i].sex,stu[ i].chinese,stu[i].math,stu[i].english);printf("\n\n\n\t\t\t按任意键返回菜单");getch();}4.2.6 xiugai.c#include"head.h"void xiugai(){int number,i;printf("请输入要修改信息的学生学号:");scanf("%d",&number);for(i=0;i<10;i++)if(i<10){printf("请输入修改后的学生的信息:");printf(" \n请输入学生的学号:");fflush(stdin);scanf("%d",&stu[i].num);printf("\n请输入学生的姓名:");scanf("%s", stu[i].name) ;printf("\n请输入学生的语文成绩:");scanf("%d",&stu[i].chinese);printf("\n请输入学生的数学成绩:");scanf("%d", &stu[i].math);printf("\n请输入学生的英语成绩:"); scanf("%d", &stu[i].english);}elseprintf("没找到该学生的信息\n");}4.2.7 del.c#include"head.h"void del()/*定义删除学生信息函数*/{int i;char a;char name[20];printf("\t\t\t输入学生名字:\n");scanf("%s",name);printf("\t学号\t姓名\t性别\t语文成绩\t数学成绩\t英语成绩\t\n");for(i=0;i<n;i++)if(strcmp(stu[i].name,name)==0){printf("%10s\t%s\t%2s\t%10s\t%10s\t%10s\t\n",stu[i].num,stu[i].name,stu[i].sex, stu[i].chinese,stu[i].math,stu[i].english);getch();printf("真的删除(y or n)");getchar();scanf("%c",&a);if(a=='y')/*是否删除该信息*/{for(;i<n;i++)stu[i]=stu[i+1];n=n-1;printf("你已经删除信息");}elseprintf("退出");getch();}save();}intopenl()/*定义打开文件函数*/{int i;FILE *fp;if((fp=fopen("student.txt","rb"))==NULL){printf("Cannot open file.\n");exit(0);}for(i=0;!feof(fp);i++)fread(&stu[i],sizeof(struct student),1,fp);fclose(fp);return(i-1);}4.2.8 tongji.c#include"head.h"void tongji(){ FILE *fp;int i;int j;float stu[3];float sum[3];float aver[3];/*下面代码用于将输入存入student.txt文件中*/if ((fp=fopen("student.txt","w"))==NULL)//打开文件并判断是否正常打开{printf("打开文件失败\n");exit(0);}fprintf(fp,"成绩汇总表:\n\n");//向文件输入内容for(i=0; i<3; i++){for(j=0; j<3; j++){sum[i]+=stu[i];}aver[i]=sum[i]/3;}printf("\n每位学生的总分和平均分分别为:\n\n");for(i=0; i<3; i++){printf("第%d个学生的总分:%d 平均分:%d\n", i+1,sum[i],aver[i]);}getch();}五、总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。