学生考勤系统C语言课程设计

合集下载

c语言课程设计考勤系统

c语言课程设计考勤系统

c语言课程设计考勤系统一、课程目标知识目标:1. 理解C语言的基本语法,掌握数据类型、运算符、控制结构等基础知识;2. 学会使用数组、函数和指针等C语言特性进行编程;3. 了解文件操作的基本方法,实现数据存储与读取;4. 掌握面向过程编程思想,能够运用所学知识设计简单的考勤系统。

技能目标:1. 能够运用所学C语言知识,编写出结构清晰、逻辑性强的程序代码;2. 熟练使用编程工具(如Visual Studio、Code::Blocks等)进行代码编写、调试与运行;3. 学会分析问题,将实际问题转化为程序设计的解决方案;4. 提高团队协作能力,通过分组讨论、分工合作完成考勤系统的设计与实现。

情感态度价值观目标:1. 培养学生对待编程的兴趣和热情,激发学生主动探索、创新的精神;2. 培养学生的逻辑思维能力,提高分析问题和解决问题的能力;3. 增强学生的自信心,使其在完成考勤系统设计的过程中获得成就感;4. 培养学生的团队协作精神,学会与他人共同解决问题,提高沟通能力。

课程性质:本课程为C语言编程实践课,结合实际应用场景,培养学生的编程能力和实际操作能力。

学生特点:学生具备一定的C语言基础,对编程有一定兴趣,但实践经验不足。

教学要求:教师应注重理论与实践相结合,引导学生积极思考,鼓励学生动手实践,关注个体差异,因材施教。

通过课程学习,使学生在掌握C语言基础知识的同时,具备实际编程能力。

二、教学内容1. C语言基础知识回顾:数据类型、变量、常量、运算符、表达式、输入输出函数等;教材章节:第一章至第三章。

2. 控制结构:顺序结构、选择结构、循环结构;教材章节:第四章。

3. 函数与数组:函数的定义与调用、数组的定义与使用;教材章节:第五章、第六章。

4. 指针:指针的概念、指针与数组、指针与函数;教材章节:第七章。

5. 文件操作:文件打开与关闭、文件的读写操作;教材章节:第八章。

6. 考勤系统设计与实现:需求分析、功能设计、模块划分、编码实现;教材章节:综合应用。

c语言课程设计学生考勤

c语言课程设计学生考勤

c语言课程设计学生考勤一、教学目标本节课的教学目标是让学生掌握C语言编程中的学生考勤系统设计。

通过本节课的学习,学生需要了解和掌握以下内容:1.知识目标:–掌握C语言的基本语法和数据结构;–理解并运用函数、指针、数组等编程技巧;–学习并应用文件操作、输入输出等编程能力。

2.技能目标:–能够独立编写简单的C语言程序;–能够利用C语言实现学生考勤系统的功能;–能够对程序进行调试和优化。

3.情感态度价值观目标:–培养学生的编程兴趣,提高学生的信息素养;–培养学生的团队合作意识和解决问题的能力;–培养学生的创新精神和对技术的热爱。

二、教学内容本节课的教学内容主要包括以下几个部分:1.C语言基本语法和数据结构;2.函数、指针、数组的应用;3.文件操作和输入输出;4.学生考勤系统的需求分析和设计;5.学生考勤系统的编程实现和调试。

三、教学方法为了达到本节课的教学目标,我们将采用以下教学方法:1.讲授法:讲解C语言的基本语法、数据结构、函数、指针、数组等概念,为学生提供扎实的理论基础;2.案例分析法:通过分析实际的学生考勤案例,让学生理解并掌握考勤系统的需求分析和设计方法;3.实验法:让学生动手编写学生考勤系统,培养学生的实际编程能力和解决问题的能力;4.讨论法:分组讨论和分享编程心得,培养学生的团队合作意识和交流沟通能力。

四、教学资源为了支持本节课的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:C语言编程教程,为学生提供系统的学习资料;2.参考书:C语言编程实践,为学生提供丰富的编程案例和实践经验;3.多媒体资料:PPT课件、视频教程等,为学生提供直观的学习资源;4.实验设备:计算机、编程环境等,为学生提供动手实践的机会。

通过以上教学资源的支持,我们将帮助学生更好地学习C语言编程,掌握学生考勤系统的 design and implementation。

五、教学评估本节课的教学评估将采用多元化的评估方式,以全面、客观、公正地评价学生的学习成果。

c语言课程设计学生考勤系统设计

c语言课程设计学生考勤系统设计

c语言课程设计学生考勤系统设计一、课程目标知识目标:1. 学生能够掌握C语言基础语法,包括数据类型、变量定义、运算符、控制结构等。

2. 学生能够理解结构体和数组在C语言中的应用,并能运用其设计学生考勤系统。

3. 学生能够掌握文件操作在C语言中的使用,实现对考勤数据的存储和读取。

技能目标:1. 学生能够运用C语言编写程序,实现学生考勤系统的基本功能,如学生信息的添加、删除、修改和查询。

2. 学生能够利用所学知识对程序进行调试和优化,提高代码执行效率。

3. 学生能够通过课程学习,培养解决问题、分析问题和编程实现的能力。

情感态度价值观目标:1. 学生在学习过程中,培养对编程的兴趣和热情,提高主动学习的积极性。

2. 学生能够通过课程实践,认识到编程对解决实际问题的价值,增强自信心和成就感。

3. 学生在团队协作中,学会沟通与交流,培养合作精神和集体荣誉感。

课程性质:本课程为实践性较强的课程,旨在通过设计学生考勤系统,让学生将所学C语言知识应用于实际项目中。

学生特点:学生具备一定的C语言基础,对编程有一定了解,但实际操作能力有待提高。

教学要求:注重理论与实践相结合,通过课程设计,提高学生的编程能力和解决实际问题的能力。

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

二、教学内容1. C语言基础语法复习:包括数据类型、变量定义、运算符、控制结构(如if 语句、循环语句等)。

相关教材章节:第一章至第三章。

2. 结构体和数组的应用:介绍结构体定义、数组的使用,结合实例讲解如何存储和管理学生信息。

相关教材章节:第四章、第七章。

3. 文件操作:讲解文件打开、读写、关闭等操作,以及如何将学生考勤数据存储到文件中。

相关教材章节:第十章。

4. 函数和模块化编程:引导学生学会将程序功能模块化,提高代码的可读性和可维护性。

相关教材章节:第六章。

5. 调试与优化:介绍常见编程错误类型,教授调试技巧,提高代码执行效率。

相关教材章节:第十二章。

c语言课程设计学生考勤系统

c语言课程设计学生考勤系统

C语言课程设计:学生考勤系统1.引言本文档旨在设计一个基于C语言的学生考勤系统。

该系统可以帮助学校、学院或其他教育机构进行学生的考勤管理。

通过该系统,教师或管理员可以方便地记录学生的出勤情况,并生成相关报表进行统计分析。

2.系统概述学生考勤系统是一个基于C语言开发的控制台应用程序,主要包括学生信息管理、考勤记录管理和报表生成等模块。

通过该系统,用户可以实现对学生信息的增、删、改、查操作,并能记录学生的考勤情况,最后生成考勤报表。

3.系统功能3.1 学生信息管理学生信息管理模块主要用于对学生的基本信息进行管理,包括学生姓名、学号、性别、出生日期、班级等。

该模块提供以下功能:•添加学生信息:输入学生的基本信息,将学生添加到系统中。

•修改学生信息:根据学生的学号或姓名,修改学生的基本信息。

•删除学生信息:根据学生的学号或姓名,从系统中删除学生的信息。

•查询学生信息:根据学号、姓名或班级等条件,查询学生的基本信息。

3.2 考勤记录管理考勤记录管理模块用于记录学生的考勤情况,包括学生的出勤、迟到、旷课等。

该模块提供以下功能:•学生签到:根据学生的学号或姓名,进行学生的签到操作。

•学生迟到:根据学生的学号或姓名,记录学生迟到的时间和原因。

•学生旷课:根据学生的学号或姓名,记录学生旷课的时间和原因。

•考勤查询:根据学生的学号、姓名或日期,查询学生的考勤情况。

3.3 报表生成报表生成模块用于根据学生的考勤记录生成考勤报表,对学生的出勤情况进行统计分析。

该模块提供以下功能:•出勤统计报表:根据学期、学科等条件,生成学生的出勤统计报表。

•迟到统计报表:根据学期、班级等条件,生成学生的迟到统计报表。

•旷课统计报表:根据学期、班级等条件,生成学生的旷课统计报表。

4.技术实现本项目使用C语言进行开发,主要利用C语言的数据结构和文件操作等特性实现对学生信息的管理和考勤记录的存储。

具体技术实现包括以下几个方面:•结构体:使用C语言的结构体来定义学生的基本信息,方便进行管理和存取操作。

c考勤系统课程设计

c考勤系统课程设计

c 考勤系统课程设计一、课程目标知识目标:1. 理解考勤系统的基础知识,掌握其功能模块和工作原理;2. 学习使用相关编程语言和工具,完成考勤系统的设计与实现;3. 了解数据库的基本操作,能够对考勤数据进行存储和管理。

技能目标:1. 培养学生运用所学知识解决实际问题的能力,能够设计并实现一个简单的考勤系统;2. 提高学生的编程实践能力,掌握考勤系统相关技术的应用;3. 培养学生团队协作能力,能够与他人共同完成考勤系统的设计与开发。

情感态度价值观目标:1. 激发学生对信息技术学科的兴趣,培养其主动学习和探究的精神;2. 培养学生认真负责的态度,对待项目开发和团队合作;3. 增强学生的创新意识,鼓励他们敢于尝试,勇于解决实际问题。

课程性质:本课程为信息技术学科实践课程,旨在让学生将所学知识应用于实际项目中,提高他们的实践能力和创新能力。

学生特点:本课程面向高年级学生,他们已具备一定的编程基础和数据库知识,具备独立思考和解决问题的能力。

教学要求:注重理论与实践相结合,强调学生在实践过程中掌握知识,培养技能,提升情感态度价值观。

教师应关注学生的个体差异,提供有针对性的指导,确保每位学生都能达到课程目标。

通过分解课程目标为具体学习成果,为教学设计和评估提供依据。

二、教学内容1. 考勤系统概述:介绍考勤系统的基本概念、功能模块以及在实际应用中的重要性。

- 教材章节:第3章 信息系统概述2. 考勤系统设计与实现:- 系统需求分析:讲解如何分析用户需求,提炼系统功能需求;- 界面设计:学习设计简洁、直观的界面,提高用户体验;- 编程实现:运用所学编程语言(如Python、Java等),完成考勤系统核心功能;- 教材章节:第4章 系统分析与设计,第5章 编程语言应用3. 数据库应用:- 数据库设计:学习如何设计合理的数据库结构,存储考勤数据;- 数据库操作:掌握基本的SQL语句,实现对考勤数据的增删改查;- 教材章节:第6章 数据库原理与操作4. 考勤系统测试与优化:- 测试方法:介绍常用的系统测试方法,确保考勤系统的稳定性;- 优化策略:针对系统性能和用户体验,提出优化方案;- 教材章节:第7章 系统测试与优化5. 项目实践与团队协作:- 项目实施:指导学生分组进行考勤系统的设计与开发,培养实践能力;- 团队协作:强调团队协作的重要性,提高学生的沟通与协作能力;- 教材章节:第8章 项目实践与团队协作三、教学方法本课程采用以下多样化的教学方法,以激发学生的学习兴趣和主动性:1. 讲授法:- 对于考勤系统的基础知识、工作原理等理论性较强的内容,采用讲授法进行教学,使学生在短时间内掌握核心概念;- 结合教材章节,通过生动的案例和实际应用场景,帮助学生更好地理解理论知识;- 教材章节:第3章 信息系统概述,第6章 数据库原理与操作2. 讨论法:- 在系统需求分析、界面设计等环节,组织学生进行小组讨论,鼓励他们发表见解,培养学生的独立思考能力;- 引导学生探讨考勤系统的实际应用问题,提高他们分析问题和解决问题的能力;- 教材章节:第4章 系统分析与设计3. 案例分析法:- 通过分析典型的考勤系统案例,使学生了解行业最佳实践,借鉴优秀的设计方法和经验;- 引导学生从案例中发现问题、总结规律,提高他们的观察力和判断力;- 教材章节:第5章 编程语言应用,第7章 系统测试与优化4. 实验法:- 安排实验课,让学生动手实践,完成考勤系统的设计与开发,巩固所学知识;- 鼓励学生自主探索,培养他们的创新能力和实际操作能力;- 教材章节:第8章 项目实践与团队协作5. 团队协作法:- 将学生分组进行项目实践,培养他们的团队协作能力和沟通技巧;- 引导学生学会分工合作,共同完成考勤系统的设计与开发;- 教材章节:第8章 项目实践与团队协作6. 互动式教学:- 在课堂上积极与学生互动,提问、解答疑问,提高学生的参与度和兴趣;- 鼓励学生提问,激发他们的求知欲,培养善于思考、敢于质疑的精神;- 教材章节:全书各章节四、教学评估为确保教学评估的客观性、公正性和全面性,本课程采用以下评估方式:1. 平时表现:- 出勤情况:评估学生出勤率,鼓励学生按时参加课程;- 课堂参与:观察学生在课堂上的表现,包括提问、回答问题、小组讨论等,评估学生的积极性和参与度;- 课堂练习:针对课程内容,设置随堂练习,检验学生对知识的掌握程度;- 教材章节:全书各章节2. 作业评估:- 布置与课程内容相关的作业,要求学生在规定时间内完成,以检验学生对知识点的掌握和应用;- 设置不同难度的作业任务,以适应不同学生的学习需求;- 教材章节:第3章至第8章3. 实验评估:- 对学生的实验过程和成果进行评估,包括实验报告、代码质量、系统功能实现等;- 评估学生在实验中的创新意识、实际操作能力和团队协作能力;- 教材章节:第8章 项目实践与团队协作4. 考试评估:- 期中、期末考试:设置理论知识和实践操作相结合的考试,全面检验学生的学习成果;- 考试内容涵盖课程核心知识点,注重考察学生的综合运用能力和解决问题的能力;- 教材章节:全书各章节5. 项目评估:- 对学生完成的小组项目进行评估,包括项目需求分析、设计、实现、测试及优化等方面;- 评估学生在项目中的贡献,包括个人能力和团队协作;- 教材章节:第8章 项目实践与团队协作6. 自我评估与同伴评估:- 鼓励学生进行自我评估,反思学习过程中的优点和不足;- 组织同伴评估,让学生相互评价,学习他人的优点,提高自身能力;- 教材章节:全书各章节五、教学安排为确保教学进度合理、紧凑,同时考虑学生的实际情况和需求,本课程的教学安排如下:1. 教学进度:- 课程共计16周,每周2课时,共计32课时;- 前两周:进行考勤系统概述、需求分析及界面设计的教学;- 第3至6周:教授编程实现、数据库设计及操作;- 第7至10周:开展系统测试与优化、项目实践与团队协作;- 最后6周:进行课程复习、项目完善、考试评估及总结;- 教材章节:第3章至第8章2. 教学时间:- 根据学生的作息时间,安排在每周一、三或周四下午进行授课;- 实验课程安排在周末,以确保学生有足够的时间进行实践操作;- 考试时间安排在课程结束前两周,以便学生有充分的时间进行复习;- 教材章节:全书各章节3. 教学地点:- 理论课程:安排在学校的计算机教室进行,确保学生能够实时观看教学演示和操作练习;- 实验课程:在学校实验室进行,提供所需的硬件设备和软件环境;- 教材章节:第8章 项目实践与团队协作4. 课外辅导与答疑:- 安排课后在线答疑时间,解决学生在学习过程中遇到的问题;- 提供学习资料和参考书籍,鼓励学生自主学习和深入探究;- 教材章节:全书各章节5. 调整与反馈:- 根据学生的学习进度和反馈,适时调整教学安排,确保教学质量;- 定期收集学生对课程的满意度调查,以便改进教学方法,提高教学效果;- 教材章节:全书各章节。

c学生考勤课程设计

c学生考勤课程设计

c 学生考勤课程设计一、教学目标本课程的学习目标包括知识目标、技能目标和情感态度价值观目标。

知识目标要求学生掌握学生考勤的基本原则和方法,了解学生考勤系统的构成和运作机制。

技能目标要求学生能够独立操作学生考勤系统,进行日常的学生考勤工作。

情感态度价值观目标要求学生树立正确的考勤态度,认真对待考勤工作,培养良好的职业道德。

通过分析课程性质、学生特点和教学要求,明确课程目标,将目标分解为具体的学习成果,以便后续的教学设计和评估。

二、教学内容根据课程目标,选择和教学内容,确保内容的科学性和系统性。

本课程的教学大纲如下:1.学生考勤的基本原则和方法2.学生考勤系统的构成和运作机制3.学生考勤系统的使用和维护4.学生考勤数据的分析和应用以上内容均与课本有关联性,符合教学实际。

三、教学方法选择合适的教学方法,如讲授法、讨论法、案例分析法、实验法等。

通过教学方法应多样化,以激发学生的学习兴趣和主动性。

1.讲授法:用于讲解学生考勤的基本原则和方法,学生考勤系统的构成和运作机制。

2.讨论法:用于讨论学生考勤系统的使用和维护,学生考勤数据的分析和应用。

3.案例分析法:用于分析具体的学生考勤案例,培养学生解决实际问题的能力。

4.实验法:用于让学生实际操作学生考勤系统,提高学生的实践能力。

四、教学资源选择和准备适当的教学资源,包括教材、参考书、多媒体资料、实验设备等。

教学资源应该能够支持教学内容和教学方法的实施,丰富学生的学习体验。

1.教材:学生考勤教材,用于引导学生学习学生考勤的基本知识和技能。

2.参考书:相关领域的专业书籍,用于扩展学生的知识面。

3.多媒体资料:为学生提供形象的视觉和听觉材料,增强课堂教学的趣味性。

4.实验设备:用于开展实验教学,让学生亲手操作,提高实践能力。

五、教学评估为了全面反映学生的学习成果,本课程将采用多种评估方式,包括平时表现、作业、考试等。

评估方式应客观、公正,能够全面考察学生的知识掌握和技能运用情况。

c语言考勤课程设计

c语言考勤课程设计

c语言 考勤 课程设计一、课程目标知识目标:1. 掌握C语言基础语法,如变量定义、数据类型、运算符和表达式;2. 学会使用C语言编写简单的程序,实现考勤系统的基本功能,如录入、查询和统计;3. 理解结构体和文件操作在C语言中的应用,并能将其应用于考勤系统的设计与实现。

技能目标:1. 培养学生运用C语言进行程序设计的能力,学会分析问题、设计算法和编写代码;2. 提高学生的逻辑思维能力,培养良好的编程习惯,如代码规范、注释清晰;3. 培养学生的团队协作能力,分组完成考勤系统的设计与实现。

情感态度价值观目标:1. 培养学生积极的学习态度,激发学生对编程的兴趣和热情;2. 培养学生的创新意识,鼓励学生主动探索、解决问题;3. 增强学生的责任感和使命感,认识到编程技术在现实生活中的应用价值。

课程性质:本课程为实践性较强的课程,结合实际应用场景,让学生动手实践,提高编程能力。

学生特点:学生已具备一定的C语言基础,但对实际应用尚不熟悉,需要通过实践加深理解。

教学要求:注重理论与实践相结合,引导学生主动参与,培养学生的实际编程能力和团队协作精神。

通过本课程的学习,使学生能够独立完成简单的考勤系统设计与实现。

二、教学内容1. C语言基础回顾:变量定义、数据类型、运算符和表达式(教材第1-3章);- 课时安排:2课时- 教学要求:巩固基础知识,为后续编程打下基础。

2. 控制结构:顺序结构、分支结构、循环结构(教材第4-6章);- 课时安排:3课时- 教学要求:掌握控制结构的使用,培养学生逻辑思维能力。

3. 函数:函数的定义、调用和参数传递(教材第7章);- 课时安排:2课时- 教学要求:学会使用函数实现模块化编程。

4. 结构体和文件操作(教材第8章、第10章);- 课时安排:3课时- 教学要求:掌握结构体的定义和使用,了解文件操作在考勤系统中的应用。

5. 考勤系统设计与实现:- 课时安排:4课时- 教学要求:分组进行项目实践,实现考勤系统的录入、查询和统计功能。

学生考勤系统c语言课程设计

学生考勤系统c语言课程设计

学生考勤系统c语言课程设计一、课程目标知识目标:1. 理解C语言在开发学生考勤系统中的应用,掌握基本的数据类型、变量、运算符和表达式;2. 学会使用C语言控制结构,如顺序、分支和循环结构,实现对考勤数据的逻辑处理;3. 掌握C语言数组、函数和文件操作,实现考勤数据的存储、读取和统计。

技能目标:1. 能够运用C语言编写程序,设计并实现一个简单的学生考勤系统;2. 培养学生分析问题、解决问题的能力,使其能够根据需求进行程序设计和调试;3. 学会使用C语言相关开发工具,如编译器和调试器,提高实际操作能力。

情感态度价值观目标:1. 培养学生对C语言编程的兴趣和热情,激发其主动学习和探究的精神;2. 增强学生的团队合作意识,使其在课程设计和实践过程中相互协作、共同进步;3. 通过课程学习,让学生认识到编程在现实生活中的应用价值,提高其创新意识和实践能力。

课程性质:本课程为实践性较强的课程设计,旨在让学生将所学的C语言知识运用到实际项目中,提高编程能力和解决实际问题的能力。

学生特点:学生已经掌握了C语言的基本语法和编程技巧,具有一定的编程基础,但实际项目经验不足。

教学要求:结合学生特点,注重实践操作,引导学生主动思考,培养其编程能力和团队协作能力。

在教学过程中,关注学生个体差异,因材施教,确保每位学生能够达到课程目标。

通过课程设计,使学生在实践中巩固所学知识,提高综合运用能力。

二、教学内容1. C语言基本知识回顾:数据类型、变量、常量、运算符和表达式;2. 控制结构:顺序结构、分支结构(if-else、switch-case)、循环结构(for、while、do-while);3. 函数:函数的定义、声明、调用,以及递归函数;4. 数组:一维数组、二维数组,数组的使用和操作;5. 文件操作:文件打开、关闭、读写,以及文件定位;6. 学生考勤系统功能模块设计:用户登录、学生信息管理、考勤记录、考勤统计等;7. 项目实践:根据需求分析,引导学生运用所学的C语言知识进行学生考勤系统的设计和实现;8. 编程规范和调试技巧:培养学生良好的编程习惯,提高代码质量。

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

《程序设计》课程设计说明书课程名称《程序设计》设计题目C语言课程设计学生考勤系统专业班级学生姓名指导教师起止日期2013年6月8日至2013年6月14日福建林业职业技术学院自动化工系目录第1章设计目的………………………. 第2章总体设计…………………………第3章详细设计…………………………第4章调试与测试………………………第5章总结与体会………………………附:源程序清单和执行结果……………………………..第1章设计目的本次C语言课程设计是对本学期程序设计基础课程的实际应用,也算是对所学知识的一次检验,通过本次课程设计能达到的目的如下:1.巩固和加深对C课程基本内容和理论知识的理解和掌握。

2.掌握C语言编译和程序调试的基本技能。

3.利用C语言进行基本的程序设计从而逐步了解文件的一些相关操作和掌握函数的使用技巧,包括函数类型的选择,含参数的传递方式。

4.掌握使用数组,指针,引用,文件等编译的方法,提高运用C语言解决实际问题的能力。

5.通过对学生考勤系统的设计、编写源代码,以及对C语言中各个语法和函数的使用,使得对比较复杂的结构体、链接、文件的操作更加熟悉。

6.通过课程设计,将本学期所学知识与实际应用联系和结合起来,培养自己的动手能力,以及加强各学科之间的联系,从而提高个人的团队意识,增强团队之间协调和配合第2章总体设计2.1学生考勤信息记录系统的要求通过该系统实现对学生考勤信息进行创建、录入、修改、查询、保存等操作的管理。

实验考勤信息包括学生姓名,学号,学科种类,各科的考勤信息。

主要功能:1)、能够完成对考勤的录入和修改2)、创建一个班级的信息3)、设备的查询4)、将考勤信息保存到文件中2.2流程图根据设计要求,画出如下流程图:2.3void creat(void);void save(struct Student *,char []);struct Student *load(char []);void enter(void); /*录入函数*/void search_1(void); /*查询函数_1*/void search_2(void); /*查询函数_2*/void add(void);void modify(void); /*修改函数*/ void back(void); /*退出函数*/ void mune_1(); /*界面-1*/void mune_2(); /*界面-2*/mune_1();mune_2();第3章详细设计3.1函数以及调用关系void mune_1(); /*菜单函数1*/ void mune_2() /*菜单函数2*/②nvoid search_1(void); /*查询个人信息*/真 假输入学生本节课息 返回菜单2 高等数学 大学英语 大学物理 马克思 C 语言 大学口语 大学体育开始 p->num==a 输出此人的考勤信息输入此人所在班级和学号ay/n 退出void search_2(void); /*查询班级信息*/void modify(void); /*修改函数*/假void save(struct Student *,char []);struct Student *load(char filename[])3.2结构的应用If…else结构和 while 结构嵌套结构:while(p1->num!=0){n=n+1;if(n==1)head=p1;else p2->next=p1;p2=p1;p1=(struct Student *)malloc(LEN);scanf("%s%d%s",p1->name,&p1->num,p1->sex);p1->math=p1->English=p1->physics=p1->Mks=p1->C=p1->teal=p1->PE=0;}p2->next=NULL;p=head;while(p!=NULL){fwrite(p,LEN,1,fp);p=p->next;}fclose(fp);printf("\t\t\t创建成功,按任意键返回主菜单\n");getch();system("cls");mune_2();2 switch结构switch(sub){case 1: {p->math+=num;}break;case 2: {p->English+=num;}break;case 3: {p->physics+=num;}break;case 4: {p->Mks+=num;}break;case 5: {p->C+=num;}break;case 6: {p->teal+=num;}break;case 7: {p->PE+=num;}break;}3while结构while(p!=NULL){if(p->num==a){printf("\n\t\t请重新输入高等数学缺勤节数:");scanf("%d",&p->math);printf("\n\t\t请重新输入大学英语缺勤节数:");scanf("%d",&p->English);printf("\n\t\t请输入大学物理缺勤节数:");scanf("%d",&p->physics);printf("\n\t\t请重新输入马克思主义基本原理与概论缺勤节数:"); scanf("%d",&p->Mks);printf("\n\t\t请重新输入C语言缺勤节数:");scanf("%d",&p->C);printf("\n\t\t请重新输入英语口语缺勤节数:");scanf("%d",&p->teal);printf("\n\t\t请重新输入体育缺勤节数目:");scanf("%d",&p->PE);flag=1;save(head,cla);printf("\n\t\t修改成功!\n\t\t");break;}p=p->next;}第4章调试与测试4.1调试执行程序时,显示如下信息选择不同的选项,执行相应的功能。

(选择3),创建一个班级的基本信息。

(选择1),录入本次课考勤情况。

选择要修改的科目的界面:输入缺勤同学和缺勤节数:结束输入则输入n后返回菜单2:(选择2),查询学生个人考勤信息。

(选择4),修改学生个人考勤信息。

(选择5),查看一个班级的考勤信息。

(选择6),退出学生考勤信息系统。

第5章总结与体会三周的课程设计已经结束了。

回想学习C语言的过程中,既有快乐又有烦恼。

从领到书的那一刻,我就很郁闷,《C 语言程序设计》到底事学什么的,有什么用。

刚开始上课时,还在迷茫这门课程是用来做什么的。

不过,这些感受都是在对这门课程不了解的情况下产生的。

后来慢慢的接触多了,听老师讲的多了,了解多了,渐渐的产生了兴趣。

尤其是学到语句和函数时,上机操作程序,经过编译,调试和运行后,出现界面,当时觉得很好奇,想真正的学好这门课程。

通过半个学期的学习,我掌握了基本知识。

下学期开始时,被通知要进行课程设计。

当时有点懵,感觉学的东西很少,很零散,不知该怎么连到一起,就要课程设计,是不是太难为我们了。

第一天基本上都是在看书,把基本知识再熟悉一遍。

到了下午的时候,看了很多练习题,从这些练习题上我得到了不少启发,然后我们组把整个程序的思路理清了,开始着手写程序。

第一周结束的时候,我感觉自己收获挺大的,从一开始的迷茫,不知道从何下手到把程序中的几个模块编写出来,心里挺开心的。

但是,接下来,我们又不得不再次陷入困境。

在整个程序的编写过程中,最难的就是修改和删除这两个模块,这也是我们要解决的重点问题。

开始编写修改和删除时,很头疼,去向其他人寻求帮助,在别人的帮助和提示下,我编完了修改程序,但编译时老出错,修改后的内容将文本内的信息全部覆盖了。

困难之时,我们组的其他人,帮助了我,完成了修改和删除,这让我认识到团队的力量。

这样的话,整个程序基本上全部完成了,就剩下完善工作了。

我们组写了两个程序,最后,两个程序相互组合,互补,大功告成虽然设计时完成了,但是我觉得其中还是有一些不足之处:1. 警告句。

程序中缺少一些警告句,例如:“是否真的删除(y/n)?”。

2. 重名的情况。

由于考虑的不周全,没有设计遇到重名的情况该怎么处理。

3. 选择单一。

我们设计的程序中,只设计了按名字选择,进行操作,忽略了重名的情况。

整个程序完成了,还有很多不完善的地方,希望自己以后办事的时候要认真,仔细,考虑周全。

短短的几周课程设计结束了,但是这段时间里,我又学到了更多C 知识,如:对象数组,string类,文件流,链表以及文件对链表的操作等,同时我也被提醒以后办事的时候要认真,仔细,考虑周全,也看到了团队精神和互帮互助的重要性。

这一点会让我终生受益。

通过这次课程设计,我觉得自己肚子里的墨水多了,收获也挺大的,这几周过的挺充实!*附:源程序清单和执行结果#include<stdio.h>#include<stdlib.h>#include <conio.h>#include<string.h>#define LEN sizeof(struct Student)struct Student{int num;char name[15];char sex[4];int math, English,physics,Mks,C,teal,PE;struct Student *next;};int n;void main(){void creat(void);void save(struct Student *,char []);struct Student *load(char []);void enter(void); /*录入函数*/void search_1(void); /*查询函数_1*/void search_2(void); /*查询函数_2*/void modify(void); /*修改函数*/void back(void); /*退出函数*/void mune_1(); /*界面-1*/void mune_2(); /*界面-2*/mune_1();mune_2();printf("\n");}void mune_1(){printf("\n\n\n\n\n\n");printf("\t************************************************************");printf("\t\t\t ********** ********** ");printf("\t\t\t◇******** 欢迎使用班级考勤系统 ********◇");printf("\t\t\t ********** ********** ");printf("\n\t************************************************************\n\n\n");printf("================================================================================"); printf("\n\n\n\t\t\t\t<按任意键进入>\n\t\t\t\t\t");getch();system("cls");}void mune_2(){int option,ch; /*定义一个选项的数据类型*/printf("\n\n\n"); /*制作的一个漂亮的选择界面*/printf("\t***************************************************************\n");printf("\t*\t\t\t\t\t\t\t *\n");printf("\t*\t\t\t\t\t\t\t *\n");printf("\t* 1、录入本次课考勤情况\t 2、查询学生考勤信息\t *\n");printf("\t*\t\t\t\t\t\t\t *\n");printf("\t* 3、创建学生信息\t\t 4、修改学生信息\t *\n");printf("\t*\t\t\t\t\t\t\t *\n");printf("\t* 5、查看班级考勤情况 \t 6、退出考勤系统\t *\n");printf("\t*\t\t\t\t\t\t\t *\n");printf("\t*\t\t\t\t\t\t\t *\n");printf("\t***************************************************************\n");printf("\n");printf("\t\t\t请输入您所需的操作(1~6):\n\t\t\t\t");while(1){scanf("%d",&option);switch(option){case 1: {ch=getchar();system("cls");enter();}break;case 2: {ch=getchar();system("cls");search_1();}break;case 3: {ch=getchar();system("cls");creat();}break;case 4: {ch=getchar();system("cls");modify();}break;case 5: {ch=getchar();system("cls");search_2();}break;case 6: {ch=getchar();system("cls");back();}break;default: printf("\t\t\t输入错误,请重新输入!!!");}printf("\n\t\t\t\t");}ch=getchar();}void save(struct Student *head,char filename[]){FILE *fp;struct Student *p=head;if((fp=fopen(filename,"wb"))==NULL){printf("can not open file\n");exit(0);}while(p!=NULL){fwrite(p,LEN,1,fp);p=p->next;}fclose(fp);}struct Student *load(char filename[]){FILE *fp;struct Student *head,*p1,*p2;head=NULL;p1=NULL;if((fp=fopen(filename,"rb"))==NULL){printf("can not open file\n");exit(0);}while(!feof(fp)){p2=(struct Student *)malloc(LEN);if(fread(p2,LEN,1,fp)==1){if(head==NULL)head=p2;if(p1)p1->next=p2;p1=p2;}}p1->next=NULL;return (head);}void enter() /*录入函数*/{struct Student *head,*p;char select='y',cla[10];int sub,stu,num,flag=0;printf("请输入上课班级:");scanf("%s",cla);strcat(cla,".dat");p=head=load(cla);system("cls");while(select=='y'||select=='Y'){printf("\n\n\n");printf("\t* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");printf("\t*\t\t\t\t\t\t\t *\n");printf("\t*\t\t\t\t\t\t\t *\n");printf("\t* 1、高等数学\t\t 2、大学英语\t\t *\n");printf("\t*\t\t\t\t\t\t\t *\n");printf("\t* 3、大学物理\t\t 4、马克思基本原理概论 *\n");printf("\t*\t\t\t\t\t\t\t *\n");printf("\t* 5、C程序设计基础 \t 6、教师口语\t\t *\n");printf("\t*\t\t\t\t\t\t\t *\n");printf("\t* 7、体育\t\t\t\t\t\t *\n");printf("\t*\t\t\t\t\t\t\t *\n");printf("\t*\t\t\t\t\t\t\t *\n");printf("\t* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");printf("\n");printf("\t\t\t请输入科目选项(1~7):\n\t\t\t\t");scanf("%d",&sub);while(1){if(sub>0&&sub<8)break;elseprintf("\t\t\t输入错误,请重新输入\n\t\t\t\t");scanf("%d",&sub);}system("cls");printf("请输入本次课缺席同学的座号:");scanf("%d",&stu);printf("\n");printf("请输入该同学的缺课节数:");scanf("%d",&num);while(p!=NULL){if(p->num==stu)switch(sub){case 1: {p->math+=num;}break;case 2: {p->English+=num;}break;case 3: {p->physics+=num;}break;case 4: {p->Mks+=num;}break;case 5: {p->C+=num;}break;case 6: {p->teal+=num;}break;case 7: {p->PE+=num;}break;}p=p->next;}printf("\n\n\t\t******输入成功******!!!\n");printf("是否继续输入(y\\n):");scanf("%c",&select);}save(head,cla);getch();system("cls");mune_2();}void search_1(void) /*查询个人信息*/ {struct Student *head,*p;char select='y',cla[10];int num,flag=0;printf("请输入上课班级:");scanf("%s",cla);strcat(cla,".dat");p=head=load(cla);printf("请输入要查询同学的座号:");scanf("%d",&num);system("cls");while(p!=NULL){if(p->num==num){printf("\n\n");printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");printf(" 座号姓名性别数学英语物理马克思 C语言教师口语体育\n");printf(" %3d %8s %4s%5d %5d %5d %5d %3d %7d %8d\n",p->num,p->name,p->sex,p->math,p->English,p->physics,p->Mks,p->C,p->teal,p->PE);printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");flag=1;}p=p->next;}if(flag==0)printf("\t\t!!!没有这个学生信息,请核对后再输入!!!\n\n");getch();system("cls");mune_2();}void search_2(void) /*查询某班级信息*/{char cla[10];struct Student *head,*p;printf("请输入您要查询的班级名:");gets(cla);system("cls");printf("\n \t\t\t%s班的考勤情况\n\n",cla);strcat(cla,".dat");p=head=load(cla);printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");printf(" 座号姓名性别数学英语物理马克思 C语言教师口语体育\n");while(p!=NULL){printf(" %3d %8s %4s%5d %5d %5d %5d %3d %7d %8d\n",p->num,p->name,p->sex, p->math,p->English,p->physics,p->Mks,p->C,p->teal,p->PE);p=p->next;}printf("\n* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");getch();system("cls");mune_2();}void modify(void) /*修改函数*/ {int a,flag=0;char cla[10];struct Student *head,*p;printf("\n\t\t请输入要修改的班级:");scanf("%s",cla);strcat(cla,".dat");p=head=load(cla);printf("\n\t\t请输入要修改的学生的座号:");scanf("%d",&a);while(p!=NULL){if(p->num==a){printf("\n\t\t请重新输入高等数学缺勤节数:");scanf("%d",&p->math);printf("\n\t\t请重新输入大学英语缺勤节数:");scanf("%d",&p->English);printf("\n\t\t请输入大学物理缺勤节数:");scanf("%d",&p->physics);printf("\n\t\t请重新输入马克思主义基本原理与概论缺勤节数:");scanf("%d",&p->Mks);printf("\n\t\t请重新输入C语言缺勤节数:");scanf("%d",&p->C);printf("\n\t\t请重新输入英语口语缺勤节数:");scanf("%d",&p->teal);printf("\n\t\t请重新输入体育缺勤节数目:");scanf("%d",&p->PE);flag=1;save(head,cla);printf("\n\t\t修改成功!\n\t\t");break;}p=p->next;}if(flag==0){printf("\t\t!!!没有这个学生信息,请核对后再输入!!!\n\n");}system("cls");mune_2();}void creat(void) /*创建函数*/ {FILE *fp;struct Student *head,*p,*p1,*p2;char filename[10];n=0;p1=p2=(struct Student *)malloc(LEN);printf("请输入你要创建班级的名称(如果要创建的文件已存在,将覆盖原文件):");gets(filename);strcat(filename,".dat");if((fp=fopen(filename,"wb"))==NULL){printf("can not open file\n");exit(0);}printf("请输入学生的基本信息:姓名、座号、性别\n");scanf("%s%d%s",p1->name,&p1->num,p1->sex);p1->math=p1->English=p1->physics=p1->Mks=p1->C=p1->teal=p1->PE=0;head=NULL;while(p1->num!=0){n=n+1;if(n==1)head=p1;else p2->next=p1;p2=p1;p1=(struct Student *)malloc(LEN);scanf("%s%d%s",p1->name,&p1->num,p1->sex);p1->math=p1->English=p1->physics=p1->Mks=p1->C=p1->teal=p1->PE=0;}p2->next=NULL;p=head;while(p!=NULL){fwrite(p,LEN,1,fp);p=p->next;}printf("\t\t\t创建成功,按任意键返回主菜单\n");getch();system("cls");mune_2();}void back(void) /*退出函数*/ {printf("\n\n\n\n\n\n\n\n\n\n\t\t\t\t感谢您的使用~\n\t\t\t\t ");getch();exit(0);}欢迎您的下载,资料仅供参考!致力为企业和个人提供合同协议,策划案计划书,学习资料等等打造全网一站式需求。

相关文档
最新文档