C语言课程设计个人课程表管理系统报告

合集下载

C语言课程设计课程管理系统实验报告

C语言课程设计课程管理系统实验报告

课程设计实验报告课程管理系统计算机科学与工程学院14060307班董永博14060307102陈佳兴14060307101田晨光14060307113赵炳舒14060307121欧静14060307126目录题目• ---------------------------------------- 3分析过程与思路・------------------------------- 3算法• ---------------------------------------- 5函数模块介绍• --------------------------------- 9源程序… -------------------------------------- 10运行结果• • ---------------------------------- 36课程设计总结• -------------------------------- 42题目课程管理系统分析过程与思路课程管理系统首先要能够分别实现课程信息的增加、删除、查询、修改。

为了增加程序的实用性,应当能够将输入的课程信息通过存文件的方式将课程信息存入硬盘。

而使用系统的可能是学生和管理员两类,因此要实现根据登录类型来开放应有的功能。

由于课程信息包含很多成员,例如课程编码、课程名等。

因此应该用链表对信息进行记录,由于不清楚课程总数,因此需要用动态链表。

动态链表的使用需要声明合适的结构体,数据域中应包含课程所包含的各个成员、指针域用来指向下一个结点。

动态链表的建立需要用到malloc函数。

对已经建立的链表需要存入文件,需要用到fwrite、fread、feof等文件处理函数,保存文件要多次用到,因此应该独立做一个函数。

删除函数要用到诸如free函数,为了防止删除的结点为首结点,删除后找不到头结点,因此删除函数应该是一个指针函数,用以返回删除后的新的头结点。

登录函数要返回一个值用以在其他函数中判断登录类型,以便针对用户开放相应的功能。

c语言学生管理系统课程设计报告 (2)

c语言学生管理系统课程设计报告 (2)

C语言学生管理系统课程设计报告1. 引言学生管理系统是一项常见的计算机应用程序,广泛应用于学校、培训机构等教育机构中。

本文将介绍一个基于C语言开发的学生管理系统,该系统具有以下功能:学生信息的录入、查询、修改和删除,以及成绩信息的录入、查询、统计和排序。

2. 系统设计2.1 功能模块学生管理系统主要包括以下功能模块:•学生信息录入模块:用于录入学生的基本信息,包括学号、姓名、性别、年龄等。

•学生信息查询模块:提供根据学号或姓名查询学生信息的功能。

•学生信息修改模块:允许修改学生的各项信息。

•学生信息删除模块:提供学生信息的删除功能。

•成绩信息录入模块:用于录入学生的成绩信息,包括科目和成绩。

•成绩信息查询模块:提供根据学号或科目查询学生成绩的功能。

•成绩统计模块:对学生的成绩进行统计,包括总分和平均分。

•成绩排序模块:按照总分对学生进行排序。

2.2 数据结构学生信息和成绩信息可以使用结构体存储。

定义如下:typedef struct {char id[20]; // 学生学号char name[20]; // 学生姓名char gender[5]; // 学生性别int age; // 学生年龄} Student;typedef struct {char id[20]; // 学生学号char subject[20]; // 科目float score; // 成绩} Score;通过结构体数组来存储多个学生的信息和成绩,如下所示:Student students[MAX_STUDENT_NUM];Score scores[MAX_SCORE_NUM];2.3 系统流程学生管理系统的流程图如下所示:graph LRA[学生信息录入] --> B[学生信息查询]A --> C[学生信息修改]A --> D[学生信息删除]A --> E[成绩信息录入]A --> F[成绩信息查询]A --> G[成绩统计]A --> H[成绩排序]3. 系统实现在C语言中,使用函数来实现不同的功能模块。

学生课程管理系统c语言课程设计

学生课程管理系统c语言课程设计

学生课程管理系统c语言课程设计一、课程目标知识目标:1. 理解并掌握C语言中结构体、数组、指针等基本概念;2. 学会运用C语言设计学生课程管理系统的基本功能,如增加、删除、修改和查询课程信息;3. 掌握文件操作在C语言中的应用,实现数据的持久化存储。

技能目标:1. 能够运用结构体组织数据,使用数组存储批量数据,运用指针进行高效数据处理;2. 培养学生独立编写代码、调试程序的能力,提高编程实践技能;3. 培养学生分析问题、解决问题的能力,学会设计简单的管理系统。

情感态度价值观目标:1. 培养学生热爱编程,增强对计算机科学的兴趣和热情;2. 培养学生团队协作精神,学会在团队中发挥个人特长,共同完成任务;3. 培养学生勇于面对困难,敢于挑战,善于总结经验教训的品质。

本课程针对高年级学生,结合C语言课程特点,注重理论与实践相结合,以项目驱动教学,培养学生编程实践能力和问题解决能力。

通过设计学生课程管理系统,让学生在实际项目中掌握C语言的核心知识,提高编程技能,同时培养良好的情感态度价值观。

课程目标具体、可衡量,旨在为学生和教师在教学过程中提供明确的指导,确保教学效果。

二、教学内容1. C语言基础知识回顾:结构体、数组、指针、函数、文件操作;2. 学生课程管理系统需求分析:功能模块划分、数据结构设计;3. 编程实现:- 设计课程信息结构体;- 实现课程信息的增加、删除、修改和查询功能;- 利用文件操作实现数据的持久化存储;- 设计简单的用户界面,进行功能选择和操作;4. 测试与调试:编写测试用例,进行功能测试,分析并解决可能出现的错误;5. 代码优化与重构:对代码进行优化,提高程序执行效率和可读性;6. 项目总结与展示:撰写项目报告,总结设计思路和经验教训,进行成果展示。

教学内容按照课程目标进行组织,以教材为基础,结合学生实际情况进行调整。

教学大纲明确教学内容和进度,具体安排如下:第一周:C语言基础知识回顾;第二周:学生课程管理系统需求分析和设计;第三周:编程实现课程管理系统的核心功能;第四周:测试与调试,优化代码;第五周:项目总结与展示。

c语言学生管理系统课程设计报告

c语言学生管理系统课程设计报告

C语言学生管理系统课程设计报告一、引言学生管理系统是一种用来管理学生信息的软件系统。

C语言学生管理系统课程设计旨在帮助学生掌握C语言的基本语法和编程能力,同时熟悉软件开发过程中的分析、设计和实现等环节。

本报告将详细介绍C语言学生管理系统的设计和实现过程。

二、需求分析为了明确系统的功能需求,在进行系统设计之前,我们需要进行需求分析。

对于一个学生管理系统,常见的功能包括学生信息录入、查找学生信息、修改学生信息和删除学生信息等。

2.1 学生信息录入学生信息录入是系统的基本功能之一。

管理员可以通过系统按照一定的格式输入学生的基本信息,包括学号、姓名、性别、年龄、班级等。

2.2 查找学生信息系统应提供根据学号或姓名快速查找学生信息的功能。

用户可以输入学号或姓名进行查询,并显示该学生的详细信息。

2.3 修改学生信息管理员可以通过系统修改学生的基本信息。

用户可以选择指定要修改的学生的学号,并对学生的姓名、班级、年龄等信息进行修改。

2.4 删除学生信息管理员可以通过系统删除指定学生的信息。

用户可以输入学号或姓名进行查询,并选择删除该学生的信息。

三、系统设计在需求分析的基础上,进行系统设计是为了明确系统的整体架构和各个模块之间的关系。

本章将对C语言学生管理系统的设计进行详细介绍。

3.1 系统架构C语言学生管理系统采用单层架构,将所有功能模块整合在一个程序中。

系统采用面向过程的设计思路,通过函数的调用和参数传递实现不同模块之间的交互。

3.2 数据结构设计系统的核心数据结构是学生信息结构体。

学生信息结构体包括学号、姓名、性别、年龄、班级等字段。

为了方便管理学生的信息,可以使用链表来存储学生信息。

链表的每个节点代表一个学生,通过指针连接起来形成一个链表。

3.3 模块设计系统的功能可以划分为若干个模块,包括学生信息录入模块、查找学生信息模块、修改学生信息模块和删除学生信息模块。

3.3.1 学生信息录入模块学生信息录入模块通过从键盘读取用户输入的信息,并将输入的信息保存到链表中。

学生管理系统c语言课程设计报告

学生管理系统c语言课程设计报告

学生管理系统c语言课程设计报告1. 引言学生管理系统是现代教学管理中不可或缺的工具。

本报告将详细介绍一个基于C语言的学生管理系统的设计与实现。

学生管理系统用于记录学生信息、成绩管理、考勤管理、课程管理等功能,能够提高教学管理的效率和准确性。

2. 系统设计2.1 需求分析学生管理系统的主要功能包括: 1. 学生信息管理:添加、删除、修改学生的基本信息,如学号、姓名、年龄、性别等。

2. 成绩管理:录入学生的成绩,计算平均成绩。

3. 考勤管理:记录学生的考勤情况,统计缺勤次数。

4. 课程管理:添加、删除、修改课程信息,如课程编号、课程名称、教师姓名等。

2.2 系统架构学生管理系统采用模块化设计,分为四个模块: 1. 学生信息模块:实现学生信息的添加、删除、修改功能。

2. 成绩管理模块:实现成绩录入和平均成绩计算功能。

3. 考勤管理模块:实现考勤记录和缺勤次数统计功能。

4. 课程管理模块:实现课程信息的添加、删除、修改功能。

2.3 系统流程图st=>start: 开始op1=>operation: 添加学生信息op2=>operation: 删除学生信息op3=>operation: 修改学生信息op4=>operation: 成绩录入op5=>operation: 平均成绩计算op6=>operation: 考勤记录op7=>operation: 缺勤次数统计op8=>operation: 添加课程信息op9=>operation: 删除课程信息op10=>operation: 修改课程信息e=>end: 结束st->op1->op2->op3->op4->op5->op6->op7->op8->op9->op10->e 3. 功能实现3.1 学生信息管理3.1.1 添加学生信息通过输入学生的基本信息,将学生信息保存到系统中。

c语言学生管理系统课程设计报告

c语言学生管理系统课程设计报告

c语言学生管理系统课程设计报告我见过太多关于学生管理系统的课程设计报告,这仅仅只是其中之一、希望对你有所帮助。

一、题目学生管理系统的设计与实现二、设计目的和要求1.根据实际需求,实现一个学生管理系统,包括对学生的基本信息的增删改查功能以及成绩查询功能;2.使用C语言编写代码,实现学生管理系统的核心功能;3.界面友好,操作简便,用户可以通过简单的指令实现对学生信息的管理和查询;4.提供用户权限管理,确保只有具备管理员权限的用户才能进行管理操作;三、系统基本功能1.学生信息的增删改查:学生的基本信息包括学号、姓名、性别、年龄等。

管理员可以对这些信息进行增加、删除、修改和查询的操作,方便学生信息的管理;2.成绩查询功能:管理员可以根据学号查询学生的成绩,系统将返回相应的成绩信息;3.用户权限管理:系统将设置管理员账号和密码,只有拥有管理员权限的用户才能进行学生信息的管理操作。

四、系统设计思路1.确定数据结构:创建一个学生结构体,包含学号、姓名、性别、年龄和成绩等信息;2.确定主要函数:设计主菜单函数,用户可以通过选择功能选项来进行不同的操作,如增加学生信息、删除学生信息、修改学生信息、查询学生信息和查询成绩等功能;3.设计增删改查函数:通过逐步引导用户输入信息或选择操作,实现相应功能;4.设计用户权限函数:管理员通过输入正确的用户名和密码,才能登录进入管理界面,否则无法进行管理操作;5.进行函数间的调试和优化,确保代码的完整性和稳定性;6.设计简易界面:通过打印相应的信息和提示,实现用户友好的界面设计。

五、实际实现效果和展示1.用户界面友好,简单易懂,用户能够通过选择相应的功能来实现对学生信息的管理和查询。

2.数据操作准确,能够准确地增加、删除、修改和查询学生信息以及查询学生成绩。

3.用户权限管理严密,只允许管理员进行管理操作,保证了学生信息的安全性。

六、总结和展望通过本次学生管理系统的设计与实现,我深刻感受到了系统设计的重要性和挑战性。

c语言学生管理系统课程设计报告(一)

c语言学生管理系统课程设计报告(一)

c语言学生管理系统课程设计报告(一)C语言学生管理系统课程设计报告1. 项目介绍•课程名称:C语言学生管理系统课程设计•项目类型:学生管理系统•设计时间:2021年1月•设计人员:XXX2. 项目背景•学生管理系统是一种常见的信息管理系统,用于管理学校、学院或班级的学生信息。

•C语言是一种常用的编程语言,具有良好的跨平台性和高效性。

3. 功能需求设计一个C语言学生管理系统,能够实现以下功能:•学生信息录入:输入学生的基本信息,包括学号、姓名、性别、年龄等。

•学生信息查询:根据学号或姓名查询学生的基本信息。

•学生成绩录入:输入学生的各科成绩,包括语文、数学、英语等。

•学生成绩统计:计算学生的总成绩、平均成绩,并根据成绩进行排名。

•学生信息修改:对已有的学生信息进行修改,包括基本信息和成绩信息。

•学生信息删除:根据学号或姓名删除学生的信息。

4. 技术实现在C语言学生管理系统的设计中,使用到以下技术:•结构体:用于定义学生的基本信息,如学号、姓名、性别、年龄等。

•数组:用于存储多个学生的信息。

•文件读写:将学生信息保存到文件中,实现信息的长久保存和读取。

5. 项目结构•主函数:包括用户菜单的选择和对应功能的调用。

•学生信息模块:实现学生信息的录入、查询、修改和删除等功能。

•成绩管理模块:实现学生成绩的录入、统计等功能。

6. 开发流程•需求分析:明确项目需求,确定功能设计。

•系统设计:设计程序的整体结构,划分模块和函数。

•编码实现:使用C语言编写各个模块的代码,并进行调试测试。

•系统测试:对系统进行整体测试,修复错误和漏洞。

•系统部署:将系统部署到目标环境中,进行性能优化和问题排查。

•用户培训:对系统进行使用说明和培训,保证用户能够熟练使用学生管理系统。

7. 总结与展望通过C语言学生管理系统的设计,我学到了很多关于C语言的基础知识和编程技巧。

在项目开发过程中,我充分利用了C语言的特点,编写出高效、稳定的代码。

c语言课程设计学生成绩管理系统报告

c语言课程设计学生成绩管理系统报告

c语言课程设计学生成绩管理系统报告一、教学目标本课程旨在通过C语言编程实现一个学生成绩管理系统,让学生掌握C语言的基本语法、数据结构、函数、文件操作等知识,培养学生编写程序解决实际问题的能力。

具体目标如下:1.知识目标:(1)掌握C语言的基本语法和编程技巧;(2)了解数据结构的基本概念,学会使用数组、链表等数据结构;(3)熟悉函数的定义和调用,掌握函数的参数传递和返回值;(4)掌握文件操作,了解文件读写的原理和方法。

2.技能目标:(1)能够独立编写C语言程序,解决实际问题;(2)具备良好的编程习惯,代码结构清晰、可读性强;(3)掌握调试和优化程序的方法,提高程序的运行效率;(4)学会使用版本控制系统,如Git,进行代码管理和协作开发。

3.情感态度价值观目标:(1)培养学生的编程兴趣,激发学习C语言的积极性;(2)培养学生团队协作精神,提高沟通与协作能力;(3)培养学生的问题解决能力,培养创新意识和持续学习的态度;(4)培养学生具有良好的职业道德,遵守编程规范,尊重他人代码。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、函数、文件操作等。

具体安排如下:1.C语言基本语法:介绍C语言的数据类型、运算符、表达式、控制语句等基本概念;2.数据结构:讲解数组、链表、栈和队列等数据结构的基本原理和应用;3.函数:讲解函数的定义、声明、调用,以及函数的参数传递和返回值;4.文件操作:介绍文件的概念、文件读写的方法和技巧。

三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法相结合,以激发学生的学习兴趣和主动性。

具体方法如下:1.讲授法:通过讲解C语言的基本语法、数据结构、函数和文件操作等知识,使学生掌握课程的基本概念和编程技巧;2.案例分析法:分析实际编程案例,让学生学会将理论知识应用于实际问题解决;3.实验法:安排上机实验,让学生动手编写程序,培养实际编程能力;4.小组讨论法:学生进行小组讨论,培养团队协作和沟通能力。

C语言课程设计学生课表系统

C语言课程设计学生课表系统

C语言课程设计学生课表系统一、教学目标本课程的学习目标包括知识目标、技能目标和情感态度价值观目标。

知识目标要求学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识。

技能目标要求学生能够使用C语言编写简单的程序,解决实际问题。

情感态度价值观目标要求学生培养编程兴趣,增强自信心,培养良好的编程习惯和团队合作精神。

通过分析课程性质、学生特点和教学要求,我们将目标分解为具体的学习成果。

学生将能够理解并运用C语言的基本语法和编程思想,编写并调试简单的C语言程序。

同时,学生将培养解决问题的能力和团队合作精神,为后续的编程学习打下坚实的基础。

二、教学内容根据课程目标,我们选择和了以下教学内容。

首先,介绍C语言的基本概念和语法,包括数据类型、运算符、控制结构等。

然后,引导学生学习函数的定义和调用,掌握函数的参数传递和返回值。

接下来,通过实例讲解指针的概念和用法,使学生能够理解和运用指针。

最后,结合实际应用,教授学生如何使用C语言进行文件操作和数据结构的应用。

我们制定了详细的教学大纲,明确了教学内容的安排和进度。

教材的章节安排如下:1.第1-3章:C语言基础2.第4-6章:函数和指针3.第7-9章:文件操作和数据结构三、教学方法为了激发学生的学习兴趣和主动性,我们选择多种教学方法相结合的方式进行教学。

首先,通过讲授法,向学生传授C语言的基本概念和语法知识。

其次,利用讨论法,引导学生进行问题讨论和思考,培养解决问题的能力。

同时,通过案例分析法,分析实际应用案例,使学生更好地理解和运用C语言。

最后,进行实验法教学,让学生动手编写和调试程序,培养编程技能和团队合作精神。

四、教学资源为了支持教学内容和教学方法的实施,我们选择了以下教学资源。

教材选用《C程序设计语言》一书,作为学生学习的基础资料。

同时,提供相关的参考书籍和在线资源,供学生进一步学习和参考。

利用多媒体资料,如教学视频和演示文稿,丰富教学手段和学生的学习体验。

C语言课程设计 个人课程表管理系统报告

C语言课程设计 个人课程表管理系统报告

个人课程表管理系统设计报告专业:通信工程班级:通信1401 团队: C.F 指导老师:刘少昌队长:陈志强队员:蔡晶晶、陈超、刘勤、盛玉霞设计时间:2015年7月9日星期四说明*我们的课题是:个人课程表管理系统*选题的目的与意义:我们的系统是为了更加方便的查询课程表,方便我们的大学校园生活而创建。

这个项目符合我们大一学生c语言水平,而且此课题新颖,可以充分锻炼我们团队思维能力。

*项目的主要功能描述:一输入课程:可根据个人需求,填写课程表信息。

二显示课程:按照时间顺序显示。

三查询课表:有以时间、课程名、查询。

四修改课程: 可以按照已有的课程信息,选择要修改课程的序号,可以修改已选序号的全部信息、时间、课程名、教室。

五删除课程:可以按照已有的课程信息,选择要修改课程的序号,进行删除。

六保存文件保存文件七退出程序:退出程序。

结构体设计 struct schedule{char time[8]; 字符型课程时间char lessonname[12]; 字符型课程名char teacher[10]; 字符型授课老师char classroom[10]; 字符型教室char hours[4]; 字符型第几节课 int weeks; 整型周时};全局变量struct schedule str[100];*函数原型设计a)void input(); /*声明输入函数*/b)void menu1(); /*声明主菜单函数*/c)void rank(); /*声明显示时间顺序函数*/d)void querymenu3(); /*声明查询函数*/e)void looktime(); /*声明按照时间查询函数*/f)void looklessonname(); /*声明按照课程名查询函数*/g)void add(); /*声明保存函数*/h)void amend(); /*声明修改课程函数*/i)void amend1(); /*声明修改课程子函数*/j)void amendnews(int i); /*声明修改整个课程信息函数k)void amendtime(int i); /*声明修改课程时间函数*/ l)void lessonname(int i);/*声明修改课程课程名函数*/ m)void amendclassroom(int i);/*声明修改课程教室函数n)void deleted(); /*声明删除函数*/程序登陆界面用户界面输入课程表保存文件表显示课程表查询课程表修改课程表删除课程表课程时间课程名修改教室修改课程名总周时授课老师修改时间教室课程所有信息第几节课返回主菜单按照课程查询按照时间查询*函数结构图*项目流程图*登陆界面*用户界面*各项功能实现输入课程表显示课程表修改课程表保存文件*运行程序注意事项、须知:一、打开程序,登陆界面密码为:123。

c语言学生管理系统课程设计报告总结 (2)

c语言学生管理系统课程设计报告总结 (2)

C语言学生管理系统课程设计报告总结1. 引言本报告总结了我们小组在C语言课程设计中开发的学生管理系统。

该系统旨在简化学校教务管理过程,提高教务工作效率,实现学生信息的快速查询、管理和统计。

本文将介绍系统的设计目标、主要功能模块以及我们在开发过程中遇到的挑战和解决方案。

2. 设计目标我们设计学生管理系统的主要目标是提供以下功能:•学生信息管理:包括学生基本信息的录入、查找、修改和删除操作。

•课程管理:包括课程信息的录入、查找、修改和删除操作。

•成绩管理:包括成绩录入、查询和统计功能。

•班级管理:包括班级信息的录入、查找、修改和删除操作。

3. 系统设计与实现3.1 数据结构设计为了存储学生信息、课程信息和成绩信息,我们设计了以下数据结构:•学生信息结构体:包含学生姓名、学号、性别、出生日期等字段。

•课程信息结构体:包含课程名称、课程号、学分等字段。

•成绩信息结构体:包含学生姓名、课程名称、分数等字段。

3.2 用户界面设计我们采用命令行界面来实现用户和系统的交互。

通过命令行菜单,用户可以选择不同的功能模块,并输入相应的命令进行操作。

我们通过C语言的输入输出函数来实现用户界面的显示和交互。

3.3 功能模块实现学生管理系统主要包含以下功能模块:•学生信息管理模块:实现学生信息的录入、查找、修改和删除操作。

•课程管理模块:实现课程信息的录入、查找、修改和删除操作。

•成绩管理模块:实现学生成绩的录入、查询和统计功能。

•班级管理模块:实现班级信息的录入、查找、修改和删除操作。

4. 开发过程中的挑战和解决方案在开发学生管理系统的过程中,我们遇到了以下挑战:1.数据存储和管理:如何有效地存储和管理大量的学生信息、课程信息和成绩信息。

我们采用了链表的数据结构来组织数据,通过指针进行关联和操作,以提高数据的访问效率。

2.用户界面设计:如何设计一个简洁、直观的用户界面,方便用户进行操作。

我们借鉴了其他类似系统的设计思路,采用了命令行菜单和命令交互的方式来实现用户界面,简化了用户操作的复杂性。

c语言课程设计课表管理系统

c语言课程设计课表管理系统

c语言课程设计课表管理系统一、教学目标本课程旨在让学生掌握C语言课程设计的基本知识和技能,通过设计和实现一个课表管理系统,培养学生运用C语言进行程序设计的能力。

具体目标如下:1.知识目标:•掌握C语言的基本语法和数据结构;•理解程序设计的基本原则和方法;•熟悉课表管理系统的需求分析和设计方法。

2.技能目标:•能够使用C语言编写简单的程序;•能够运用面向对象的方法进行课表管理系统的设计和实现;•能够进行程序调试和优化。

3.情感态度价值观目标:•培养学生的团队合作意识和沟通能力;•培养学生的创新精神和解决问题的能力;•培养学生的自主学习和持续学习的习惯。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、程序设计方法以及课表管理系统的设计和实现。

具体安排如下:1.C语言的基本语法:•变量和常量的声明和使用;•运算符和表达式的使用;•控制语句的使用(if、for、while等)。

2.数据结构:•数组的声明和使用;•链表的声明和操作;•栈和队列的声明和操作。

3.程序设计方法:•面向对象的方法和面向过程的方法;•模块化设计和函数的声明和使用;•程序的调试和优化方法。

4.课表管理系统的设计和实现:•需求分析和系统设计;•数据的表示和操作;•用户界面设计和功能实现。

三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式进行教学。

具体方法如下:1.讲授法:通过讲解C语言的基本语法、数据结构和程序设计方法,使学生掌握相关知识。

2.案例分析法:通过分析典型的课表管理系统的案例,使学生理解并掌握系统的需求分析和设计方法。

3.实验法:通过上机实验,使学生亲自动手编写程序,培养学生的实际编程能力和问题解决能力。

4.讨论法:通过小组讨论和课堂讨论,促进学生之间的交流与合作,培养学生的团队合作意识和沟通能力。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:选用权威、实用的C语言教材,为学生提供全面、系统的学习材料。

C语言课程设计报告 --学生管理系统

C语言课程设计报告 --学生管理系统

C语言课程设计报告 --学生管理系统一、实验目的:通过本次实验,学习C语言的语法和数据类型,设计一个简单的学生管理系统,结合文件I/O所学,可以将学生信息保存至文件中,再读取时自动填充至程序中。

同时,体验软件开发的流程,从需求分析到具体实现。

二、需求分析:1、学生信息包括:学号、姓名、性别、年龄、成绩。

2、学生信息需要添加、删除、修改、查找和显示。

3、程序启动时自动从文件中读取数据,退出时自动保存数据。

三、实验过程:1、确定数据结构和变量类型通过分析需求,学生信息包含多个属性,可以使用结构体来保存每个学生的信息。

同时,为了便于程序运行,需要定义一个链表来保存所有学生信息。

/* 学生信息结构体 */typedef struct _Student {char id[12]; // 学号char name[20]; // 姓名char gender; // 性别int age; // 年龄double score; // 成绩} Student;/* 学生信息链表节点 */typedef struct _StudentNode {Student data; // 学生信息struct _StudentNode *next; // 下一节点指针} StudentNode;/* 学生信息链表头节点 */StudentNode *head = NULL;2、设计主菜单功能考虑学生管理系统的主要功能,可以设计以下主菜单:---------------------------1. 添加学生2. 删除学生3. 修改学生信息4. 查找学生5. 显示所有学生6. 退出---------------------------可以使用一个while循环来循环处理,直到用户选择退出。

3、实现主菜单功能添加学生:先从用户输入中获取学生信息,然后创建一个新的学生信息节点,并将其添加到链表的末尾。

1. 定义变量/* 输入缓存区大小 */#define BUFFER_SIZE 2562. 实现函数/* 添加学生到链表末尾 */void add_student() {Student student; // 待添加的学生信息printf("请输入学号:");scanf("%s", student.id);printf("请输入姓名:");scanf("%s", );printf("请输入性别(M/F):");scanf(" %c", &student.gender);printf("请输入年龄:");scanf("%d", &student.age);printf("请输入成绩:");scanf("%lf", &student.score);StudentNode *node =(StudentNode*)malloc(sizeof(StudentNode));node->data = student;node->next = NULL;if (head == NULL) {head = node;} else {StudentNode *p = head;while (p->next != NULL) {p = p->next;}p->next = node;}printf("添加学生成功!\n");}删除学生:先从用户输入中获取学生学号,然后遍历链表,找到该学号对应的学生信息节点,并删除。

c语言课程设计学生管理系统

c语言课程设计学生管理系统

c语言课程设计学生管理系统一、教学目标本课程的目标是让学生掌握C语言编程的基本技能,通过实现一个学生管理系统,让学生了解和掌握面向对象编程的思想和方法,培养学生的编程能力和问题解决能力。

具体目标如下:1.知识目标:使学生掌握C语言的基本语法、数据结构、算法和面向对象编程思想。

2.技能目标:使学生能够使用C语言独立编写和调试程序,具备基本的软件开发能力。

3.情感态度价值观目标:培养学生对计算机科学的兴趣和热情,增强学生的自主学习意识和团队合作精神。

二、教学内容教学内容以C语言编程为核心,主要包括以下几个部分:1.C语言基础:介绍C语言的基本语法、数据类型、运算符、控制结构等。

2.数据结构:讲解常用的数据结构,如数组、链表、栈和队列等,以及如何在C语言中实现和应用。

3.算法:介绍基本的算法思想和实现方法,如排序、查找等。

4.面向对象编程:讲解面向对象编程的基本概念,如类、对象、封装、继承和多态等,以及如何在C语言中实现面向对象编程。

5.学生管理系统实现:以学生管理系统为案例,引导学生运用所学知识解决实际问题。

三、教学方法为了提高教学效果,将采用多种教学方法相结合的方式进行教学:1.讲授法:讲解C语言的基本语法、数据结构、算法和面向对象编程思想。

2.案例分析法:通过分析学生管理系统的实现,使学生理解和掌握面向对象编程的思想和方法。

3.实验法:安排实验室实践环节,让学生动手编写代码,培养学生的实际编程能力。

4.讨论法:学生进行小组讨论,分享学习心得和解决问题的方法,提高学生的团队合作能力。

四、教学资源为了支持教学内容和教学方法的实施,将准备以下教学资源:1.教材:《C程序设计原理与应用》。

2.参考书:《C语言程序设计》。

3.多媒体资料:制作课件和教学视频,以便于学生复习和自学。

4.实验设备:为学生提供计算机实验室,让学生能够进行实际编程练习。

五、教学评估为了全面、客观地评估学生的学习成果,将采用多种评估方式相结合的方法:1.平时表现:评估学生在课堂上的参与程度、提问和回答问题的积极性等,占总评的20%。

c语言学生管理系统课程设计报告

c语言学生管理系统课程设计报告

c语言学生管理系统课程设计报告C语言学生管理系统课程设计报告一、引言C语言学生管理系统是一款用于学校或教育机构管理学生信息和课程安排的软件系统。

本报告将详细介绍该系统的设计与实现过程,并对系统的功能、模块、算法等进行全面的阐述和分析。

二、系统需求分析1. 功能需求该系统应具备以下主要功能:(1)学生信息管理:包括学生基本信息的添加、修改、删除和查询等操作;(2)课程信息管理:包括课程的添加、修改、删除和查询等操作;(3)成绩管理:包括成绩的录入、查询和统计等操作;(4)学生选课管理:包括学生选课、退课和查询选课情况等操作;(5)教师信息管理:包括教师基本信息的添加、修改、删除和查询等操作;(6)用户权限管理:包括用户登录、权限分配和密码修改等操作;(7)系统设置:包括数据库备份、恢复和系统参数设置等操作。

2. 性能需求该系统应具备良好的性能,能够快速响应用户的操作请求,同时能够支持多用户同时访问。

三、系统设计1. 系统架构该系统采用客户端-服务器架构,客户端通过网络连接到服务器,服务器负责处理客户端发送的请求并返回相应结果。

2. 系统模块(1)学生信息模块:用于管理学生的基本信息,包括学号、姓名、性别、年龄、班级等。

(2)课程信息模块:用于管理课程的基本信息,包括课程编号、课程名称、授课教师、学分等。

(3)成绩管理模块:用于录入学生的成绩,并进行成绩查询和统计。

(4)选课管理模块:用于学生的选课和退课操作,同时提供选课情况的查询功能。

(5)教师信息模块:用于管理教师的基本信息,包括教师编号、姓名、性别、职称等。

(6)用户权限管理模块:用于管理系统用户的登录、权限分配和密码修改等操作。

(7)系统设置模块:用于进行数据库备份、恢复和系统参数设置等操作。

3. 数据库设计该系统采用关系型数据库存储数据,设计以下几个表:(1)学生表:包括学号、姓名、性别、年龄、班级等字段;(2)课程表:包括课程编号、课程名称、授课教师、学分等字段;(3)成绩表:包括学号、课程编号、成绩等字段;(4)选课表:包括学号、课程编号等字段;(5)教师表:包括教师编号、姓名、性别、职称等字段;(6)用户表:包括用户名、密码、权限等字段。

课程管理系统c语言课程设计

课程管理系统c语言课程设计

课程管理系统c语言课程设计一、课程目标知识目标:1. 学生能理解课程管理系统的基本原理,掌握C语言在系统开发中的应用。

2. 学生能运用C语言实现课程管理系统的基本功能,如数据录入、查询、修改和删除。

3. 学生了解结构体、数组、文件操作等C语言知识点在课程管理系统中的作用。

技能目标:1. 学生能运用所学C语言知识,独立完成课程管理系统的设计与编码。

2. 学生具备分析问题、解决问题的能力,能够根据需求调整和优化系统功能。

3. 学生掌握基本的调试技巧,能够排除程序中的错误,确保系统稳定运行。

情感态度价值观目标:1. 学生培养对计算机编程的兴趣和热情,提高自主学习能力和团队协作精神。

2. 学生在课程学习过程中,树立正确的价值观,认识到编程对于解决实际问题的意义。

3. 学生通过课程管理系统设计与实现,增强自信心,培养克服困难的意志。

课程性质:本课程为C语言程序设计实践课程,以课程管理系统为案例,结合课本知识,锻炼学生的编程能力和实际应用能力。

学生特点:学生已具备一定的C语言基础,具有较强的求知欲和动手能力,但对复杂系统的开发尚缺乏经验。

教学要求:教师应注重理论与实践相结合,引导学生主动探究,关注个体差异,提供个性化指导,确保学生在课程学习过程中达到预期目标。

同时,注重培养学生的编程思维和解决问题的能力,为后续学习打下坚实基础。

二、教学内容1. 系统需求分析:介绍课程管理系统的功能需求,分析系统所需处理的数据类型和结构,明确各功能模块之间的关系。

2. C语言基础知识回顾:回顾结构体、数组、文件操作等基础知识,强调在课程管理系统中的应用。

- 结构体:定义课程信息、学生信息等数据结构。

- 数组:存储和管理课程、学生等数据。

- 文件操作:实现数据的持久化存储。

3. 功能模块设计:- 数据录入:设计并实现课程、学生等数据的录入功能。

- 数据查询:设计并实现课程、学生等数据的查询功能。

- 数据修改:设计并实现课程、学生等数据的修改功能。

c语言课程设计教务管理系统

c语言课程设计教务管理系统

c语言课程设计教务管理系统一、教学目标本课程的目标是使学生掌握C语言的基本语法、数据结构、算法和编程思想,能够运用C语言设计和实现简单的教务管理系统。

具体分为以下三个部分:1.知识目标:学生需要掌握C语言的基本语法、数据结构、算法和编程思想,了解教务管理系统的原理和实现方法。

2.技能目标:学生能够运用C语言进行编程,设计和实现一个简单的教务管理系统。

3.情感态度价值观目标:培养学生对计算机科学的兴趣和热情,提高学生的问题解决能力和创新意识。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、算法和编程思想,以及教务管理系统的原理和实现方法。

具体安排如下:1.C语言的基本语法:包括变量、数据类型、运算符、表达式、控制语句等。

2.数据结构:包括数组、链表、栈、队列等。

3.算法:包括排序算法、查找算法等。

4.编程思想:包括结构化编程、面向对象编程等。

5.教务管理系统的原理和实现方法:包括学生信息管理、课程信息管理、成绩管理等。

三、教学方法本课程的教学方法主要包括讲授法、讨论法、案例分析法和实验法。

具体安排如下:1.讲授法:用于讲解C语言的基本语法、数据结构、算法和编程思想。

2.讨论法:用于讨论教务管理系统的原理和实现方法。

3.案例分析法:通过分析典型的教务管理系统案例,让学生了解和掌握教务管理系统的实现方法。

4.实验法:让学生动手实践,设计和实现一个简单的教务管理系统。

四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。

具体安排如下:1.教材:选用《C程序设计语言》作为主要教材,辅助以《C语言编程实例解析》等参考书。

2.多媒体资料:包括PPT课件、教学视频等。

3.实验设备:包括计算机、网络设备等,用于实验和实践教学。

五、教学评估本课程的评估方式包括平时表现、作业和考试。

具体安排如下:1.平时表现:通过课堂参与、提问、讨论等环节评估学生的学习态度和积极性。

2.作业:布置适量的作业,评估学生的理解和应用能力。

C语言课程设计个人课程表管理系统报告

C语言课程设计个人课程表管理系统报告

C语言课程设计个人课程表管理系统报告个人课程表管理系统设计报告专业:通信工程班级:通信1401团队:C.F指导老师:刘少昌队长:陈志强队员:蔡晶晶、陈超、刘勤、盛玉霞设计时间: 7月9日星期四说明*我们的课题是:个人课程表管理系统*选题的目的与意义:我们的系统是为了更加方便的查询课程表,方便我们的大学校园生活而创立。

这个项目符合我们大一学生c语言水平,而且此课题新颖,能够充分锻炼我们团队思维能力。

*项目的主要功能描述:一输入课程:可根据个人需求,填写课程表信息。

二显示课程:按照时间顺序显示。

三查询课表:有以时间、课程名、查询。

四修改课程: 能够按照已有的课程信息,选择要修改课程的序号,能够修改已选序号的全部信息、时间、课程名、教室。

五删除课程:能够按照已有的课程信息,选择要修改课程的序号,进行删除。

六保存文件保存文件七退出程序:退出程序。

*数据结构设计:结构体设计 struct schedule{char time[8]; 字符型课程时间char lessonname[12]; 字符型课程名char teacher[10]; 字符型授课老师char classroom[10]; 字符型教室char hours[4]; 字符型第几节课int weeks; 整型周时};全局变量struct schedule str[100];*函数原型设计a)void input(); /*声明输入函数*/b)void menu1(); /*声明主菜单函数*/c)void rank(); /*声明显示时间顺序函数*/d)void querymenu3(); /*声明查询函数*/e)void looktime(); /*声明按照时间查询函数*/f)void looklessonname(); /*声明按照课程名查询函数*/g)void add(); /*声明保存函数*/h)void amend(); /*声明修改课程函数*/i)void amend1(); /*声明修改课程子函数*/j)void amendnews(int i); /*声明修改整个课程信息函数k)void amendtime(int i); /*声明修改课程时间函数*/l)void lessonname(int i);/*声明修改课程课程名函数*/ m)void amendclassroom(int i);/*声明修改课程教室函数n)void deleted(); /*声明删除函数*/*程序结构图:程序登陆界面用户界面输入课程表保存文件表显示课程表查询课程表修改课程表删除课程表课程时间课程名修改教室修改课程名总周时授课老师修改时间教室课程所有信息第几节课返回按照课按照时。

c语言课程设计课程管理系统

c语言课程设计课程管理系统

c语言课程设计课程管理系统一、教学目标本课程旨在通过C语言编程实现一个简单的课程管理系统。

通过本课程的学习,学生将掌握C语言的基本语法和编程技巧,能够熟练使用C语言进行程序设计。

同时,学生将学会如何运用面向过程的编程思想解决实际问题,培养逻辑思维能力和解决问题的能力。

此外,通过课程管理系统的开发,学生将了解软件开发的基本流程,提高团队合作和沟通的能力。

具体来说,知识目标包括:1.掌握C语言的基本语法和数据结构。

2.理解面向过程的编程思想和程序设计的基本原则。

3.了解软件开发的基本流程和项目管理的方法。

技能目标包括:1.能够使用C语言编写简单的程序,解决实际问题。

2.具备团队合作和沟通的能力,能够在团队中发挥自己的作用。

3.能够运用C语言进行课程管理系统的开发,实现系统的功能。

情感态度价值观目标包括:1.培养对计算机科学和编程的兴趣和热情。

2.培养积极主动的学习态度,养成良好的学习习惯。

3.培养责任心和团队精神,明白团队合作的重要性。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、程序设计方法和课程管理系统的开发。

具体安排如下:1.C语言的基本语法:介绍C语言的数据类型、运算符、表达式、语句等基本语法知识。

2.数据结构:讲解常用的数据结构,如数组、链表、栈和队列等,以及如何在C语言中实现和应用这些数据结构。

3.程序设计方法:介绍程序设计的基本原则和方法,如顺序结构、分支结构、循环结构等,以及如何运用这些方法解决实际问题。

4.课程管理系统的开发:讲解如何使用C语言开发一个简单的课程管理系统,包括系统的需求分析、设计、实现和测试等步骤。

三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式进行教学。

包括:1.讲授法:通过讲解C语言的基本语法、数据结构和程序设计方法,让学生掌握课程的基本知识。

2.案例分析法:通过分析实际案例,让学生学会如何运用C语言解决实际问题。

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

个人课程表管理系统设计报告专业:通信工程班级:通信1401 团队: C.F 指导老师:刘少昌队长:陈志强队员:蔡晶晶、陈超、刘勤、盛玉霞设计时间:2015年7月9日星期四说明*我们的课题是:个人课程表管理系统*选题的目的与意义:我们的系统是为了更加方便的查询课程表,方便我们的大学校园生活而创建。

这个项目符合我们大一学生c语言水平,而且此课题新颖,可以充分锻炼我们团队思维能力。

*项目的主要功能描述:一输入课程:可根据个人需求,填写课程表信息。

二显示课程:按照时间顺序显示。

三查询课表:有以时间、课程名、查询。

四修改课程: 可以按照已有的课程信息,选择要修改课程的序号,可以修改已选序号的全部信息、时间、课程名、教室。

五删除课程:可以按照已有的课程信息,选择要修改课程的序号,进行删除。

六保存文件保存文件七退出程序:退出程序。

结构体设计 struct schedule{char time[8]; 字符型课程时间char lessonname[12]; 字符型课程名char teacher[10]; 字符型授课老师char classroom[10]; 字符型教室char hours[4]; 字符型第几节课 int weeks; 整型周时};全局变量struct schedule str[100];*函数原型设计a)void input(); /*声明输入函数*/b)void menu1(); /*声明主菜单函数*/c)void rank(); /*声明显示时间顺序函数*/d)void querymenu3(); /*声明查询函数*/e)void looktime(); /*声明按照时间查询函数*/f)void looklessonname(); /*声明按照课程名查询函数*/g)void add(); /*声明保存函数*/h)void amend(); /*声明修改课程函数*/i)void amend1(); /*声明修改课程子函数*/j)void amendnews(int i); /*声明修改整个课程信息函数k)void amendtime(int i); /*声明修改课程时间函数*/ l)void lessonname(int i);/*声明修改课程课程名函数*/ m)void amendclassroom(int i);/*声明修改课程教室函数n)void deleted(); /*声明删除函数*/程序登陆界面用户界面输入课程表保存文件表显示课程表查询课程表修改课程表删除课程表课程时间课程名修改教室修改课程名总周时授课老师修改时间教室课程所有信息第几节课返回主菜单按照课程查询按照时间查询*函数结构图*项目流程图*登陆界面*用户界面*各项功能实现输入课程表显示课程表修改课程表保存文件*运行程序注意事项、须知:一、打开程序,登陆界面密码为:123。

二、打开输入项目,输入的周时必须是整数且大于0,负责无法保存。

三、当输入菜单选项时,务必输入是整数,若不是,系统会错误,需按照程序提示输入。

*程序代码:#include <stdio.h>#include <stdlib.h>#include <string.h>#include <conio.h>void input(); /*声明输入函数*/void menu1(); /*声明主菜单函数*/void rank(); /*声明显示时间顺序函数*/void querymenu3(); /*声明查询函数*/void looktime(); /*声明按照时间查询函数*/void looklessonname(); /*声明按照课程名查询函数*/void add(); /*声明保存函数*/void amend(); /*声明修改课程函数*/void amend1(); /*声明修改课程子函数*/void amendnews(int i); /*声明修改整个课程信息函数*/void amendtime(int i); /*声明修改课程时间函数*/void amendlessonname(int i); /*声明修改课程课程名函数*/void amendclassroom(int i); /*声明修改课程教室函数*/void deleted(); /*声明删除函数*/struct student{char time[10]; /*字符型时间*/char lessonname[20]; /*字符型课程名*/char teacher[20]; /*字符型授课老师*/char classroom[10]; /*字符型教室 */char hours[10]; /*字符型第几节课*/int weeks; /*字符型周时*/};struct student str[30]; /*全局变量*/void main(){char password[20];int i,j;system("color 1a"); /*设置颜色源网络资源*/printf("\n");printf("\t *************欢迎使用〖个人课程表管理系统〗程序************\n");printf("\t * 请输入登陆密码(三次输入机会)! *\n");printf("\t***********************************************************\n");printf("\t用户名:CombinedProgammingLanguage.Family\n");for(i=1;i<4;i++) /*密码输入三次 for循环*/{printf("\t 第%d次输入密码:",i);for(j=0;(password[j]=getch())!='\r';j++)/*输入密码*/putch('*'); /*每次输入的密码以*号覆盖隐藏*/printf("\n");password[j]='\0'; /*字符串最后加结束符号*/if((strcmp(password,"123"))==0){printf("\t *密码正确,打开程序!\n");menu1(); /*调用子函数meun1()*/}else{printf("\t *密码错误,请重新输入\n");}if(i==3){printf("\t *您已输入三次,请重新登陆程序\n");exit(0);}}}void menu1() /*主菜单*/{int number;system("cls");while(1){printf("\t**************欢迎使用〖课程表管理系统〗程序**************\n");printf("\t* 1. ☆输入课程表☆*\n");printf("\t* 2. ☆显示课程表☆*\n");printf("\t* 3. ☆查询课程表☆*\n");printf("\t* 4. ☆修改课程表☆*\n");printf("\t* 5. ☆删除课程表☆*\n");printf("\t* 6.☆保存文件表☆*\n");printf("\t* 7. ☆退出课程表☆*\n");printf("\t┏********************************************************┓\n");printf("\t* 团队名:c.f(CombinedProgammingLanguage.Fam ily); * \n");printf("\t* 成员负责任务 * \n");printf("\t* 1.蔡晶晶》》》》》》 ppt制作程序项目分析* \n");printf("\t* 2.陈超》》》》》》ppt制作* \n");printf("\t* 3.陈志强》》》》》》代码编写* \n");printf("\t* 4.刘勤》》》》》》文档制作程序项目分析* \n");printf("\t* 5.盛玉霞》》》》》》文档制作* \n");printf("\t*****************请输入选择的功能编号(1-7):******************\n");printf("\t输入: ");scanf("%d",&number);if(number<0 || number>7){printf("\t\t你输入的功能号错误,请重新输入,按Enter键继续!!\n");system("cls");continue;}switch(number){case 1: input();break;/*调用输入函数*/case 2: rank();break; /*调用显示函数*/case 3: querymenu3();break; /*调用查询函数*/case 4: amend();break; /*调用修改函数*/case 5: deleted();break; /*调用删除函数*/case 6: add();break; /*调用保存函数*/case 7: printf("\t\t\t谢谢你的使用!任意键退出程序!\n");exit(0);}}}void input() /**/{int i=0,flag=1;char a;system("cls");printf("\t****************************************************************\n");printf("\t**您将会输入: 课程时间课程名授课老师教室第几节课总周时**\n");printf("\t**输入内容如: 星期一 C语言刘老师 a1n205 1-3 2 **\n");printf("\t****************************************************************\n");while(flag)/*输入数据*/{printf("\t\t第%d个课程信息:\n",i+1);printf("\t\t课程时间:");scanf("%s",&str[i].time);printf("\t\t课程名:");scanf("%s",str[i].lessonname);printf("\t\t授课老师:");scanf("%s",str[i].teacher);printf("\t\t教室:");scanf("%s",str[i].classroom);printf("\t\t第几节课:");scanf("%s",str[i].hours);printf("\t\t总周时:");scanf("%d",&str[i].weeks);printf("\t*************************** **************\n");printf("\t**您好!是否继续输入下个课程? (Y/N)! 输入: ");getchar();scanf("%c",&a);if(a=='y'||a=='Y') /*如果输入是y则输入下个数据*/flag=1;if(a=='n'||a=='N') /*如果输入是n 则结束输入 */{flag=0;printf("\t****************输入完成,任意键返回主菜单!*************\n");system("pause");system("cls");}i++;}}void rank(){int i,j,flag;struct student temp;system("cls");for(j=0;j<29;j++) /*从大到小排序*/for(i=0;i<29-j;i++)if(strcmp(str[i].time,str[i+1].time)<0){temp.weeks=str[i].weeks; /*利用strpy函数字符串覆盖*/strcpy(temp.time,str[i].time);strcpy(temp.lessonname,str[i].lessonn ame);strcpy(temp.teacher,str[i].teacher) ;strcpy(temp.classroom,str[i].classroo m);strcpy(temp.hours,str[i].hours);str[i].weeks=str[i+1].weeks; strcpy(str[i].time,str[i+1].time);strcpy(str[i].lessonname,str[i+1].les sonname);strcpy(str[i].teacher,str[i+1].teac her);strcpy(str[i].classroom,str[i+1].clas sroom);strcpy(str[i].hours,str[i+1].hours);str[i+1].weeks=temp.weeks;strcpy(str[i+1].time,temp.time);strcpy(str[i+1].lessonname,temp.lesso nname);strcpy(str[i+1].teacher,temp.teacher);strcpy(str[i+1].classroom,temp.classroom);strcpy(str[i+1].hours,temp.hours); /*此时排序为星期一星期五星期四三二不符合*/j=0;/*把星期一移到最后位置*/for(i=0;i<30;i++){ /*判断周时不为0 的个数*/if(str[i].weeks!=0)j++;}for(i=0;i<j-1;i++)/*把每两个数互换达到将第一个换到最后一个*/{temp.weeks=str[i].weeks; /*利用strpy函数字符串覆盖*/strcpy(temp.time,str[i].time);strcpy(temp.lessonname,str[i].lessonname);strcpy(temp.teacher,str[i].teacher);strcpy(temp.classroom,str[i].classroo m);strcpy(temp.hours,str[i].hours);str[i].weeks=str[i+1].weeks;strcpy(str[i].time,str[i+1].time);strcpy(str[i].lessonname,str[i+1].les sonname);strcpy(str[i].teacher,str[i+1].teac her);strcpy(str[i].classroom,str[i+1].clas sroom);strcpy(str[i].hours,str[i+1].hours);str[i+1].weeks=temp.weeks;strcpy(str[i+1].time,temp.time);strcpy(str[i+1].lessonname,temp.lesso nname);strcpy(str[i+1].teacher,temp.teache r);strcpy(str[i+1].classroom,temp.classr oom);strcpy(str[i+1].hours,temp.hours);}i=0; /*将已排序显示*/flag=1;printf("\t********************〖时间顺序显示〗**********************\n"); printf("\t序号\t时间\t课程名\t老师\t教室\t节时\t总周时\n");while(flag){if(str[i].weeks!=0)printf("\t%d\t%s\t%s\t%s\t%s\t%s\t%d\ n",i+1,str[i].time,str[i].lessonname, str[i].teacher,str[i].classroom,str[i ].hours,str[i].weeks);elseflag=0;i++;}printf("\t*************************** *******************************\n"); system("pause");system("cls");}void querymenu3() /*查询函数*/{int number;system("cls");while(1){printf("\t┏**********欢迎使用〖查询课程子子菜单〗程序************┓\n");printf("\t* 1. ☆按照时间查询☆ * \n");printf("\t* 2. ☆按照课程查询☆ * \n");printf("\t* 3. ☆返回主菜单☆ * \n");printf("\t*****************请输入选择的功能编号(1-6):*****************\n");printf("\t 输入: ");scanf("%d",&number);if(number<0 || number>3){printf("\t\t你输入的功能号错误,请重新输入,按任意键继续!!\n");system("cls");continue;}switch(number){case 1: looktime();break; /*调用查询函数*/case 2: looklessonname();break; /*调用查询课程名函数*/case 3: menu1();break; /*调用返回主菜单函数*/}}}void looktime(){int i=0,sum=0;char time1[8];system("cls");printf("\t ***********欢迎使用〖以时间查询课程〗子程序****************\n");printf("\t *****************请输入你想查询课表的时间:");scanf("%s",time1);printf("\t序号\t时间\t课程名\t 老师\t教室\t节时\t总周时\n");for(i=0;i<=30;i++){if((strcmp(time1,str[i].time))==0){printf("\t%d\t%s\t%s\t%s\t%s\t%s\t%d\ n",i+1,str[i].time,str[i].lessonname, str[i].teacher,str[i].classroom,str[i ].hours,str[i].weeks);sum=sum+1; /*如输入查询的内容和课程相同则加一*/ }}if(sum==0) /*如果等于0 则说明没有与输入查询内容相同*/printf("\t *********************无此时间!查询不到!***********************\n");printf("\t *******************按任意键返回查询子菜单:********************\n");system("pause");system("cls");querymenu3();}void looklessonname(){int i=0,sum=0;char lessonname1[12];system("cls");printf("\t ***********欢迎使用〖以课程名查询课程〗子程序****************\n");printf("\t *****************请输入你想查询课表的课程名:");scanf("%s",lessonname1);printf("\t序号\t时间\t课程名\t 老师\t教室\t节时\t总周时\n");for(i=0;i<=30;i++){if((strcmp(lessonname1,str[i].lessonn ame))==0){printf("\t%d\t%s\t%s\t%s\t%s\t%s\t%d\ n",i+1,str[i].time,str[i].lessonname, str[i].teacher,str[i].classroom,str[i ].hours,str[i].weeks);sum=sum+1;}}if(sum==0) /*上面通解*/printf("\t *********************无此课程名!查询不到!***********************\n");printf("\t *******************按任意键返回查询子菜单:********************\n");system("pause");system("cls");querymenu3();}void add(){int i,flag1=1;FILE *fp;system("cls");i=0; /*保存到文本*/if ((fp=fopen("文件保存.txt","w"))==NULL){printf("file openerror!\n");exit(0);}else{fprintf(fp,"\t********************〖按照时间顺序显示〗*********************\n");fprintf(fp,"\t序号\t时间\t课程名\t老师\t教室\t节时\t总周时\n");while(flag1){if(str[i].weeks!=0)fprintf(fp,"\t%d\t%s\t%s\t%s\t%s\t%s\ t%d\n",i+1,str[i].time,str[i].lessonn ame,str[i].teacher,str[i].classroom,s tr[i].hours,str[i].weeks);elseflag1=0;i++;}fprintf(fp,"\t*****************************************************************\n");}fclose(fp);printf("*******************保存成功按任意键返回查询主菜单:********************\n");system("pause");system("cls");}void amend(){int i=0,flag=1,u,n;char c;system("cls");printf("\t**********************〖修改课程〗**********************\n");printf("\t*************************课程列表*************************\n");printf("\t序号\t时间\t课程名\t老师\t教室\t节时\t总周时\n");while(flag){if(str[i].weeks!=0)printf("\t%d\t%s\t%s\t%s\t%s\t%s\t%d\ n",i+1,str[i].time,str[i].lessonname, str[i].teacher,str[i].classroom,str[i ].hours,str[i].weeks);elseflag=0;i++;}printf("\t********************是否确定修改(y修改/n返回主函数):");c=getch();putch(c);printf("\n");if(c=='n'||c=='N'){printf("\t*************************按任意键返回主菜单:**********************\n");system("pause");system("cls");menu1();}else{printf("\t*******************输入需要修改课程的序号:");scanf("%d",&n);while(1){printf("\t┏************************************* ****************┓\n");printf("\t* 1. ☆修改序列%d 课程所有信息☆* \n",n);printf("\t* 2. ☆修改序列%d 课程时间☆* \n",n);printf("\t* 3. ☆修改序列%d 课程课程名☆* \n",n);printf("\t* 4. ☆修改序列%d 课程教室☆* \n",n);printf("\t* 5. ☆返回主菜单☆ *\n");printf("\t*****************请输入选择的功能编号(1-8):*************\n");printf("\t 输入: ");scanf("%d",&u);if(u<0 || u>5){printf("\t\t你输入的功能号错误,请重新输入,按任意键继续!!\n");system("cls");continue;}switch(u){case 1: amendnews(n);break; /*调用修改整个课程信息函数*/case 2: amendtime(n);break; /*调用修改课程时间函数*/case 3: amendlessonname(n);break; /*调用修改课程课程名函数*/case 4: amendclassroom(n);break; /*调用修改课程教室函数*/case 5: menu1();break; /*调用返回主菜单函数*/}}}}void amendnews(int i){printf("\t******************修改序列%d 课程所有信息*******************\n",i);printf("\t\t修改课程信息:\n"); printf("\t\t修改课程时间:");scanf("%s",&str[i-1].time);printf("\t\t修改课程名:");scanf("%s",str[i-1].lessonname);printf("\t\t修改授课老师:");scanf("%s",str[i-1].teacher);printf("\t\t修改教室:");scanf("%s",str[i-1].classroom);printf("\t\t修改第几节课:");scanf("%s",str[i-1].hours);printf("\t\t修改总周时:");scanf("%d",&str[i-1].weeks);printf("\t*****************返回修改子菜单查看修改结果*****************\n");system("pause");system("cls");amend();}void amendtime(int i){printf("\t******************修改序列%d 课程时间*******************\n",i);printf("\t\t修改课程时间:");scanf("%s",&str[i-1].time);printf("\t*****************返回修改子菜单查看修改结果*****************\n");system("pause");system("cls");amend();}void amendlessonname(int i){printf("\t******************修改序列%d 课程课程名*******************\n",i);printf("\t\t修改课程名:");scanf("%s",str[i-1].lessonname);printf("\t*****************返回修改子菜单查看修改结果*****************\n");system("pause");system("cls");amend();}void amendclassroom(int i){printf("\t******************修改序列%d 课程教室*******************\n",i);printf("\t\t修改教室:");scanf("%s",str[i-1].classroom); printf("\t*****************返回修改子菜单查看修改结果*****************\n");system("pause");system("cls");amend();}void deleted(){int i=0,flag=1,n;char c;struct student temp;system("cls");printf("\t**********************〖删除课程〗**********************\n");printf("\t*************************课程列表*************************\n");printf("\t序号\t时间\t课程名\t老师\t教室\t节时\t总周时\n");while(flag){if(str[i].weeks!=0)printf("\t%d\t%s\t%s\t%s\t%s\t%s\t%d\n",i+1,str[i].time,str[i].lessonname,str[i].teacher,str[i].classroom,str[i].hours,str[i].weeks);elseflag=0;i++;}printf("\t********************是否确定修改(y修改/n返回主函数):");c=getch();putch(c);printf("\n");if(c=='n'||c=='N'){printf("\t*************************按任意键返回主菜单:**********************\n");menu1();}else{printf("\t*******************输入需要删除课程的序号:");scanf("%d",&n);for(i=n-1;i<=30;i++) {temp.weeks=str[i].weeks;strcpy(temp.time,str[i].time);strcpy(temp.lessonname,str[i].lessonn ame);strcpy(temp.teacher,str[i].teacher) ;strcpy(temp.classroom,str[i].classroo m);strcpy(temp.hours,str[i].hours);str[i].weeks=str[i+1].weeks; strcpy(str[i].time,str[i+1].time); strcpy(str[i].lessonname,str[i+1].lessonname);strcpy(str[i].teacher,str[i+1].teac her);strcpy(str[i].classroom,str[i+1].clas sroom);strcpy(str[i].hours,str[i+1].hours);str[i+1].weeks=temp.weeks;strcpy(str[i+1].time,temp.time);strcpy(str[i+1].lessonname,temp.lesso nname);strcpy(str[i+1].teacher,temp.teache r);strcpy(str[i+1].classroom,temp.classr oom);。

相关文档
最新文档