C++课程设计(课表管理系统).doc

合集下载

课程设计-教学管理系统

课程设计-教学管理系统

课程设计-教学管理系统1. 课程设计的目的与要求1.1设计目的设计一个简单的教学管理系统,要求存储学生基本情况、课程基本情况,教师授课情况与学生成绩记录等,提供成绩录入、信息查询等功能以满足日常教学管理需要。

对学生的成绩的管理、查询学生的各科成绩的学生成绩管理系统。

该系统可以帮助我们更方便的管理学生的成绩,替代了以前的手工操作管理学生的成绩,节约我们珍贵的时间。

而且老师和学生可以以不同个的身份登录,获得不同的操作权限,有效的提高教学管理系统的工作效率。

1.2设计要求(1)软件开发环境:操作系统:Windows 7;数据库使用软件:Microsoft Office Access 2003开发工具: Microsoft Visual C++6.0 (2)功能需求按照提供的各表的数据结构和数据创建数据库与表实现学生基本情况、课程基本情况、教师授课表情况及学生成绩的数据录入与编辑、删除等。

能够按姓名查询教师授课情况。

1.3 系统总体设计的体系结构图设计系统的体系结构图见下页教学管理系统教师管理系统学生管理系统学生基本课程管信息管理理系统课程基本学生课程信息管理成绩管理图1. 设计系统的体系结构图2. 数据库设计数据库技术是信息资源管理最有效的手段,它是指对于一个给定的应用环境,利用现有的数据库管理系统构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。

本系统的数据库是采用Microsoft Office Access 2003设计的。

数据库设计分为6个阶段:需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、数据库物理设计阶段、数据库实施阶段、数据库运行和维护阶段。

数据库应用系统经过调试运行后即可投入正式运行。

在数据库系统运行过程中,必须不断地对其进行评价、调整与修改。

设计一个完善的数据库应用系统不可能一蹴而就,它往往是上述6个阶段的不断反复。

2.1 系统数据库概念结构设计2.1.1 局部E-R图将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。

数据库课程设计--学校教务管理系统

数据库课程设计--学校教务管理系统

学校教务管理的数据库设计I.需求分析:随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。

面对庞大的信息量,就需要有学生教务信息管理系统来提高学生管理工作的效率。

通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。

学校为方便教务管理,需开发一个教务管理系统。

为便于学生,老师,教务管理人员信息查询,注册以及信息修改,学校把学生的信息,包括姓名、性别、年龄,成绩等信息输入教务管理系统的数据库,然后在管理终端可以对数据进行查询和修改操作。

要求系统能有效、快速、安全、可靠和无误的完成上述操作。

并要求系统界面要简单明了,易于操作,程序利于维护。

一、信息分析:(1)学校教务管理的数据库,包含以下信息:学校有若干个系,每个系有若干名教师和学生,每个教师可以担任若干门课程,并参加多个项目,每个学生可以同时选修多门课程,每门课程每学期可能有多名教师教授,课程分为必修、选修、任选三种。

(2)学校的教务管理的信息包括:学生姓名、学号、班级、性别、班号,籍贯、出生日期、所属系编号、所属系名称、系主任,教师编号,教师姓名,教师职称,教师所授课程、课程编号,课程名,课程学分,项目编号,项目名称,项目负责人,学生选修课程及成绩。

学生如果课程及格,可以取得该课程的学分。

学生的各类型课程学分和总学分累计到一定程度,学生可以毕业。

根据成绩高低,可以计算学分积。

及格学生的学分积公式:课程学分积=(该课程成绩-50)/10×该课程学分。

二、功能分析:(1)用户能够使用友好的图形用户界面实现对系、班级、学生、教师、课程、选课等内容进行增、删、改,以及对信息的查询。

对于查询要实现比较强大的功能,包括精确查询、模糊查询以及统计查询。

(2)具体查询在数据库中要实现以下的功能:1)所有来自某省的男生2)所有某课程成绩>90的同学3)教授某课程的老师4)某班年龄最大的5名同学5)某年以后出生的男同学6)选修某课程的学生及其成绩7)没有授课的教师8)某学生所选课程的总学分9)教授某学生必修课程的老师情况10)某学生选修了哪些系的课程11)某系学生所学的所有课程12)按总学分找出某系学习最好的5名同学13)按总学分积找出某系学习最好的5名同学14)可以毕业的学生三、软、硬件配置程序运行的环境:具体运行环境为软件方面,操作系统为windows2000/XP,并且系统装有SQL Server2000数据库管理系统。

学生选课管理系统c课程设计

学生选课管理系统c课程设计

学生选课管理系统c 课程设计一、课程目标知识目标:1. 让学生理解学生选课管理系统的基本概念和功能,掌握系统设计的基本原理。

2. 使学生掌握数据库的基本操作,如查询、插入、删除和更新数据。

3. 帮助学生了解软件开发流程,熟悉系统设计、编码、测试等环节。

技能目标:1. 培养学生运用所学知识,独立设计并实现一个简单的学生选课管理系统。

2. 提高学生分析问题和解决问题的能力,学会运用数据库技术解决实际应用问题。

3. 培养学生的团队协作能力,学会在项目中进行有效沟通和分工合作。

情感态度价值观目标:1. 培养学生积极的学习态度,激发学生对计算机科学的兴趣和热情。

2. 培养学生的创新意识和实践能力,鼓励学生勇于尝试,敢于挑战。

3. 增强学生的责任心,让学生明白系统设计的重要性,关注用户需求,为用户带来更好的体验。

本课程针对高年级学生,课程性质为理论与实践相结合。

在教学过程中,注重培养学生的实际操作能力和解决问题的能力。

结合学生特点和教学要求,将课程目标分解为具体的学习成果,以便进行后续的教学设计和评估。

通过本课程的学习,使学生能够掌握学生选课管理系统设计的相关知识和技能,为今后从事软件开发和数据库管理等相关工作打下坚实基础。

二、教学内容1. 学生选课管理系统的基本概念与功能- 系统需求分析- 功能模块划分2. 数据库基础知识- 数据库设计原则- 数据表创建与维护- 数据查询、插入、删除和更新操作3. 系统设计- 系统架构设计- 界面设计- 数据库连接与操作4. 编程实现- 编程语言选择(如Java、Python等)- 系统功能编码- 代码调试与优化5. 系统测试与维护- 测试方法与策略- 常见问题分析与解决- 系统维护与升级6. 项目实践- 团队协作与分工- 项目进度管理- 系统部署与展示教学内容根据课程目标制定,涵盖学生选课管理系统设计的相关知识。

本课程采用教材相关章节,结合实际案例,保证教学内容的科学性和系统性。

课程信息管理系统c语言

课程信息管理系统c语言

课程信息管理系统c语言课程信息管理系统(C语言)一、引言课程信息管理系统是一种用来管理和组织课程信息的软件系统。

它能够对教学计划、课程表、学生选课等进行管理,帮助学校、教育机构或教师高效地管理课程信息。

本文将通过介绍课程信息管理系统的功能、特点和实施过程,详细阐述C语言在该系统中的应用。

二、功能介绍1. 学生管理:该系统能够记录学生的个人信息,如学号、姓名、班级等,并能进行学生选课管理,包括选课、退课等操作。

2. 课程管理:系统可以管理各门课程的信息,如课程编号、课程名称、学分等,并能进行课程安排,制定教学计划。

3. 教师管理:系统可以记录教师的基本信息,提供教师选课、授课安排等功能。

4. 成绩管理:系统能够记录学生的各科成绩,并提供成绩查询、统计等功能,方便学生和教师进行学业评估。

5. 课程评价:系统可以记录学生对课程的评价和反馈,帮助学校和教师改进教学质量。

三、特点和优势1. 数据集中管理:课程信息管理系统将学生、教师、课程等信息集中管理,方便快捷,减少重复工作。

2. 数据安全性高:系统采用数据库来存储和管理数据,确保数据的安全性和完整性。

3. 操作简便:系统界面友好,操作简单明了,即使对计算机操作不熟悉的教师和学生也能够轻松上手。

4. 信息共享:系统支持信息共享,学生、教师和管理者可以通过系统查询相关信息,提高工作效率。

5. 数据分析功能:系统能够对学生选课情况、成绩分布等进行统计和分析,为教学改革提供数据支持。

四、实施过程1. 需求分析:通过与学校、教师和学生的沟通,明确系统的需求和功能。

2. 系统设计:根据需求分析的结果,设计系统的数据库结构、界面和功能模块。

3. 编码实现:使用C语言编写相应的代码,实现系统的各个功能模块。

4. 测试调试:对系统进行功能测试和性能测试,确保系统的稳定性和可靠性。

5. 上线部署:将系统部署到服务器上,并进行相关的数据迁移和备份工作。

6. 培训和维护:对教师和学生进行系统培训,并进行后期的系统维护和更新。

教务管理系统课程设计报告

教务管理系统课程设计报告

教务管理系统课程设计报告一、引言教务管理系统是为了提高学校教务工作效率而开发的一种信息管理系统。

本课程设计报告主要介绍了教务管理系统的设计思路、功能模块以及系统实现等方面的内容。

二、设计思路教务管理系统的设计思路是基于学校教务工作的需求和特点,通过信息技术手段对教务工作进行信息化管理,提高工作效率和服务质量。

在设计思路上,本系统采用了模块化的设计,将教务工作拆分成多个模块,分别进行管理。

同时,系统还采用了数据库技术,将数据存储在数据库中,方便对数据进行管理和查询。

三、功能模块教务管理系统的功能模块包括学生管理模块、课程管理模块、教师管理模块、成绩管理模块和课表管理模块等。

1. 学生管理模块学生管理模块主要包括学生信息的录入、修改和查询功能。

系统管理员可以通过该模块实现对学生信息的管理和维护。

2. 课程管理模块课程管理模块主要包括课程信息的录入、修改和查询功能。

教务处老师可以通过该模块实现对课程信息的管理和维护。

3. 教师管理模块教师管理模块主要包括教师信息的录入、修改和查询功能。

系统管理员可以通过该模块实现对教师信息的管理和维护。

4. 成绩管理模块成绩管理模块主要包括学生成绩的录入、修改和查询功能。

教师可以通过该模块实现对学生成绩的管理和维护。

5. 课表管理模块课表管理模块主要包括课表信息的录入、修改和查询功能。

教务处老师可以通过该模块实现对课表信息的管理和维护。

四、系统实现教务管理系统的实现主要包括前端界面设计和后端数据库设计两个方面。

1. 前端界面设计前端界面设计主要包括系统登录界面、主页面和各个功能模块的页面设计。

界面设计应简洁明了,符合用户使用习惯,提高用户体验。

2. 后端数据库设计后端数据库设计主要包括数据库表的设计和数据表之间的关系设计。

数据库表的设计应符合数据的规范和一致性要求,同时保证数据的安全性和可靠性。

五、总结教务管理系统是提高学校教务工作效率的重要工具,通过对教务工作进行信息化管理,可以提高工作效率和服务质量。

c学生选课管理系统课程设计

c学生选课管理系统课程设计

c 学生选课管理系统课程设计一、课程目标知识目标:1. 学生能够理解学生选课管理系统的基本概念和功能,掌握系统设计的基本原理。

2. 学生能够描述数据库的基本结构,了解数据表之间的关系,并运用SQL语句进行数据查询和操作。

3. 学生能够了解软件工程的基本流程,包括需求分析、系统设计、编码实现和测试等环节。

技能目标:1. 学生能够运用结构化分析方法进行需求分析,独立设计学生选课管理系统的功能模块。

2. 学生能够使用数据库设计工具,创建数据库和表,编写SQL查询语句,实现数据的有效管理。

3. 学生能够运用编程语言(如Java、C#等)实现学生选课管理系统的部分功能,具备基本的编程实践能力。

情感态度价值观目标:1. 培养学生独立思考、解决问题的能力,增强团队合作意识和沟通能力。

2. 培养学生对信息技术的兴趣和热情,提高学生的信息素养,使他们对信息技术的发展保持关注。

3. 培养学生具备诚信、负责的态度,认识到信息技术对社会发展的重要影响,树立正确的价值观。

课程性质:本课程为信息技术学科,旨在培养学生掌握学生选课管理系统设计与实现的基本技能,提高学生的编程实践能力和信息素养。

学生特点:学生具备一定的计算机操作能力和编程基础,对信息技术有一定的兴趣。

教学要求:注重理论与实践相结合,以项目为导向,培养学生动手实践能力和解决问题的能力。

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

二、教学内容1. 学生选课管理系统概述:介绍学生选课管理系统的基本概念、功能模块及其在实际应用中的重要性。

- 教材章节:第一章 绪论2. 需求分析:讲解如何运用结构化分析方法进行需求分析,包括用例图、活动图等工具的使用。

- 教材章节:第二章 需求分析3. 数据库设计:介绍数据库的基本概念、关系型数据库的设计方法,以及SQL 语言进行数据操作。

- 教材章节:第三章 数据库设计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语言课程设计课表管理系统

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 学生课程设计管理系统一、课程目标知识目标:1. 学生能理解课程设计管理系统的基本概念,掌握其功能与作用。

2. 学生能掌握课程设计的基本流程,了解各个环节的要求。

3. 学生能了解课程设计中所涉及的数据处理和信息管理知识。

技能目标:1. 学生能运用所学知识,设计并实现一个简单的课程设计管理系统。

2. 学生能运用编程语言或工具进行数据录入、查询、修改等操作。

3. 学生能通过课程设计管理系统,提高课程学习效率。

情感态度价值观目标:1. 学生培养良好的团队协作意识,学会与他人共同完成课程设计任务。

2. 学生培养自主学习、主动探究的学习习惯,提高解决问题的能力。

3. 学生通过课程设计,认识到信息技术在现实生活中的应用,增强对信息技术的兴趣。

课程性质:本课程为信息技术课程,旨在让学生通过实际操作,掌握课程设计管理系统的设计与实现。

学生特点:学生为初中生,具有一定的信息技术基础,对新鲜事物充满好奇,喜欢动手实践。

教学要求:教师需结合学生特点,采用任务驱动法,引导学生自主探究,培养其动手能力和团队协作能力。

同时,注重培养学生的情感态度价值观,使其在学习过程中形成正确的价值观。

通过分解课程目标,将目标具体化为可衡量的学习成果,为后续教学设计和评估提供依据。

二、教学内容1. 课程设计管理系统概述:介绍课程设计管理系统的基本概念、功能、作用及其在课程学习中的应用。

相关教材章节:第一章 信息管理系统概述2. 课程设计流程:详细讲解课程设计的流程,包括需求分析、系统设计、系统实现、测试与维护等环节。

相关教材章节:第二章 系统分析与设计3. 数据库基础知识:介绍数据库的基本概念、数据表的设计与创建,以及数据查询、修改等操作。

相关教材章节:第三章 数据库基础4. 编程语言或工具的选择与使用:根据学生实际情况,选择合适的编程语言或工具,如Access、Python等,进行课程设计管理系统的开发。

相关教材章节:第四章 编程语言与工具5. 课程设计案例分析与实践:分析实际课程设计案例,引导学生进行实践操作,掌握课程设计的方法和技巧。

《教务管理—课程管理系统》系统分析实验报告.docx

《教务管理—课程管理系统》系统分析实验报告.docx

实验报告0实践报告口课程名称:系统分析与设让实验、实践名称:教务管理一一课程管理系统实验、实践地点:专业班级:学号:学生姓名:指导教师:20**年10月17日绘制活动图需要确定参与活动的对象、动作状态、动作流,以及对象流。

4. 3. 4状态图状态机图表现一个对象(类)的生命史。

对于一些实现重要行为动作的对象应当绘制状态机图。

绘制状态机图需要确定一个对象的生命期可能出现的全部状态,哪些事件将引起状态的转移,将会发生哪些动作。

4. 3.5分析与讨论比较顺序图与通信图、活动图与状态图的应用。

顺序图和通信图都属于交互图。

这两种图之间的区别在于:顺序图基于时间,按时间顺序显示出现的任务;血通信图显示任务和信息(对象)的交互方式。

在通信中,时间以编码形式显示,很难选取。

虽然存在这些根木区别,但这两类图有相同之处:都用于显示对象和用户如何交互以执行任务。

状态图是描述某一对象的状态转化的,它主要表现的是该对象的状态。

从状态图中可以看出,该对象在接受了外界的某种刺激之后,会做出什么样的反应。

描述的是一个对象的事情。

可以说是对类图的一种补充,帮助井发者完善某•类。

活动图是描述系统在执行某一用例时的具体步骤的,它主要表现的是系统的动作。

从活动图中可以看出,系统是如何一步一步的完成用例规约的,主要用于业务建模阶段=活动图描述的是整个系统的事情=可以说活动图是对用例图的一种细化,帮助开发者理解业务领域。

4.4系统设计掌握系统的架构设计、资源设计及设计模式的应用。

4. 4.1构建系统体系结构的初始逻辑设计包图。

4. 4.2构建系统的物理模型构建系统体系结构的物理设计构件图及部署图。

构件图:系统实现的源代码、二进制码、执行码可以按照模块化的思想,用构件分别组织起来,明确系统各部分的功能职责和软件结构。

部署图(学生补充自选系统的部署图并解释说明)4. 5对象模型设计掌握设计类的识别方法;掌握类的职责分配方法,并精化类的属性和操作;能够确定类的接口、优化类间的关系并将设计类图分组成包。

数据库课程设计(学生选课管理系统)

数据库课程设计(学生选课管理系统)

数据库课程设计(学⽣选课管理系统)⼀、系统总体功能设计1.1开发背景随着学校规模不断扩⼤、课程项⽬不断增多,为了解决学⽣选课管理上的复杂的⼈⼯操作,减轻重复⼯作,故设计了选课系统。

为了适应课程的改⾰,学校在每个学期都要开设⼀定的课程提供给学⽣,让学⽣根据⾃⼰的情况来选择,根据学⽣选择结果给出课程表。

学⽣选课系统开发的⽬标就是实现学⽣选课信息关系的系统化、规范化和⾃动化。

因此基于以上原因设计开发学⽣选课管理系统。

1.2 设计思想⽤户的需求具体表现在对各种信息的提供、编辑、处理及查询统计上。

这就要求数据库结构能充分满⾜各种信息的输⼊、处理和输出。

通过分析学⽣选课管理系统的现实需求,学⽣选课管理系统各环节的基本数据及数据处理流程,在与管理⼈员沟通、交流与探讨的基础上,可以得到学⽣选课系统的数据流程图。

根据得到的数据流图设计并实现数据库,然后进⾏系统编程,设计相应的图形⽤户界⾯,并实现相应数据库的连接。

⾄此可以完成整个系统的设计与开发。

1.3 功能需求分析该系统具备管理学⽣信息、课程信息、选课信息的功能:⽤户通过输⼊账号和密码进下该系统后,可以进⾏⼀些基础维护(学⽣信息维护、课程信息维护、选课信息维护)。

全部都可以进⾏增加、修改、删除、模糊查询。

具体来说多功能和系统的要求如下:(⼀)对功能的规定1. 可实现学⽣选课。

2. ⽅便实现学⽣选课信息查询。

3. 安全有效的⽤户区分,管理。

4. 档案数据的⾼安全性,保密性。

(⼆)对性能的规定使⽤稳定,操作性能好,操作⽅法易于掌握,系统的安全性强。

1.4 功能设计模块该⼩型系统主要是⽤于管理学⽣及课程的基本信息,主要功能包括四⽅⾯的:1.管理学⽣信息,其中包括添加,删除,修改等操作。

2.管理课程信息,其中包括添加,删除,修改等操作。

3.管理选课信息,其中包括添加,删除,修改等操作。

4.查询信息,其中包括查询学⽣信息,查询课程信息,查询选课信息等操作。

其功能模块结构图如下所⽰⼆、数据库设计2.1 数据库概念设计描述概念模型的有⼒⼯具是E-R模型,下⾯将⽤E-R模型来描述概念结构。

课程表课程设计

课程表课程设计

课程表课程设计⼀、需求分析由于⼤学上课教室分散,学⽣经常会忘记⾃⼰的课程或是上课的教室。

这在⼀定程度上促进学⽣课表软件的开发。

使其可以帮助学⽣记录⾃⼰的课程和对⾃⼰课程的掌握。

因为⼿机相对笔记本电脑更加具有便携性,可以随时随地的打开并使⽤它。

相对于笔记本电脑的开机并打开软件所⽤的时间,其需要的时间更短,所以⼿机端的学⽣课表备受学⽣⽤户的青睐。

通过⼿机管理课表也是⽬前⽐较流⾏的⽅式,该款软件是基于Android Studio平台与SQLite数据库开发的⼀款学⽣课表软件。

UML需求⽤例图⼆、系统设计通过对Android技术的相关研究,了解Android源码实现原理以及过程,从⽽设计出⼀款能够使⽤的课程表。

这款课程表实现的相关内容如下:简洁、实⽤的操作界⾯课程的增加课程的删除课程的修改课程的查看三、系统测试1、课程的增加添加课程时,数据由⽤户输⼊,点击确定按钮,判断数据是否合法(及⽤户名是否为空),合法则插⼊到数据库;不合法,提⽰课程信息有误,让⽤户重新输⼊。

2、课程的删除当⽤户选定⼀个课程时,单击课程菜单,点击删除按钮,则从数据库中删除此条记录。

数据删除流程3、课程的修改编辑课程时,输⼊修改后的数据,点击确定按钮,判断数据是否合法,合法,则更新数据库;不合法,则返回错误信息。

4、课程的查看四、系统实现连⽴数据库,在数据库中创建表⽤来存储课程数据,其中包括课程名,星期⼏,课程开始结束时间,教师和教室。

数据库有关代码//从数据库加载数据private void loadData() {//ArrayList<Course> coursesList = new ArrayList<>(); //课程列表DbHelper helper = new DbHelper(this);try {Dao<Course,Integer> sdao = helper.getDao(Course.class);List<Course> sl = sdao.queryForAll();//使⽤从数据库读取出来的课程信息来加载课程表视图for (Course course : sl) {createCourseView(course);}} catch (SQLException e) {e.printStackTrace();}}//保存数据到数据库private void saveData(Course course) {try {Dao<Course,Integer> sdao = helper.getDao(Course.class);sdao.create(course);} catch (SQLException e) {e.printStackTrace();}}//更新数据到数据库private void updataData(Course course) {try {Dao<Course,Integer> sdao = helper.getDao(Course.class);sdao.updateId(course,Integer.valueOf(course.getId()));} catch (SQLException e) {e.printStackTrace();}}//删除数据到数据库private void delData(Course course) {try {Dao<Course,Integer> sdao = helper.getDao(Course.class);sdao.deleteById(Integer.valueOf(course.getId()));} catch (SQLException e) {e.printStackTrace();}}五、总结对于安卓,由于平时对⼿机这⽅⾯很感兴趣,所以在学习的时候,带着兴趣去学习的。

学生课程信息管理系统c语言

学生课程信息管理系统c语言

学生课程信息管理系统c语言学生课程信息管理系统是一个用于管理学生课程信息的软件系统。

它可以帮助学校、教师和学生轻松地进行课程管理、成绩管理和学生信息管理。

本文将介绍该系统的主要功能和特点。

一、系统概述学生课程信息管理系统是为了方便学校管理学生课程信息而开发的一款软件。

它可以实现学生选课、查看课程信息、查询成绩等功能。

通过该系统,学校可以更好地管理学生的学习情况,提高教学质量,促进学生的成长。

二、系统功能1. 学生选课功能:学生可以通过系统选择自己感兴趣的课程。

系统会显示可选课程的详细信息,包括课程名称、授课教师、上课时间等。

学生可以根据自己的兴趣和学习计划进行选择。

2. 课程信息查询功能:学生可以通过系统查询自己已选课程的详细信息。

系统会显示课程的名称、授课教师、上课时间、上课地点等信息,方便学生及时了解课程的相关信息。

3. 成绩查询功能:学生可以通过系统查询自己的课程成绩。

系统会根据学生的学号和课程信息,显示对应的成绩。

学生可以及时了解自己的学习成果,并根据成绩进行学习调整。

4. 学生信息管理功能:系统可以记录学生的基本信息,如学号、姓名、年龄、性别等。

教师和学校管理者可以通过系统对学生信息进行管理,包括添加学生信息、修改学生信息、删除学生信息等。

5. 教师信息管理功能:系统可以记录教师的基本信息,如教师编号、姓名、性别等。

学校管理者可以通过系统对教师信息进行管理,包括添加教师信息、修改教师信息、删除教师信息等。

6. 课程信息管理功能:系统可以记录课程的详细信息,如课程编号、课程名称、授课教师、上课时间、上课地点等。

学校管理者可以通过系统对课程信息进行管理,包括添加课程信息、修改课程信息、删除课程信息等。

三、系统特点1. 界面友好:系统的界面设计简洁美观,操作简单明了,方便用户使用。

2. 数据安全:系统采用数据库存储学生课程信息,保证数据的安全性和完整性。

3. 高效性:系统能够快速响应用户的请求,提供及时的信息查询和管理功能。

c++学生成绩管理系统课程设计

c++学生成绩管理系统课程设计

C++学生成绩管理系统课程设计本课程设计旨在介绍如何使用 C++语言设计和实现一个学生成绩管理系统,包括学生信息管理、成绩管理、课程管理等功能。

下面是本店铺为大家精心编写的4篇《C++学生成绩管理系统课程设计》,供大家借鉴与参考,希望对大家有所帮助。

《C++学生成绩管理系统课程设计》篇1引言学生成绩管理系统是教育信息化建设的重要组成部分,它的自动化和信息化程度对于提高学校管理效率和教学质量具有重要意义。

本课程设计使用 C++语言设计和实现一个学生成绩管理系统,包括学生信息管理、成绩管理、课程管理等功能。

该系统可以方便地管理学生信息和成绩,为学校和教师提供高效的管理工具。

一、系统功能本系统主要包括以下功能:1. 学生信息管理:包括添加、删除、修改和查询学生信息 (如学号、姓名、性别、年龄、班级等)。

2. 成绩管理:包括添加、删除、修改和查询学生成绩 (如课程名称、成绩等)。

3. 课程管理:包括添加、删除、修改和查询课程信息 (如课程名称、学分等)。

二、系统设计1. 数据库设计本系统使用 MySQL 数据库存储学生和课程信息。

数据库包括以下表:- 学生表 (student):包括学号、姓名、性别、年龄、班级等字段。

- 成绩表 (score):包括学号、课程名称、成绩等字段。

- 课程表 (course):包括课程名称、学分等字段。

2. 界面设计本系统使用 Visual Studio 2017 开发,采用 Windows Forms 界面设计。

界面包括以下组件:- 菜单栏:包括“文件”、“学生信息管理”、“成绩管理”、“课程管理”、“帮助”等菜单项。

- 工具栏:包括“添加”、“删除”、“修改”、“查询”等按钮。

- 数据表格:用于显示学生和课程信息。

3. 功能实现本系统使用 C++语言实现,主要包括以下代码文件:- main.cpp:程序入口文件,负责启动程序和显示界面。

- student.cpp:学生信息管理模块,负责实现学生信息的添加、删除、修改和查询功能。

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

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

c 学生课程管理系统课程设计一、课程目标知识目标:1. 让学生理解课程管理系统的基本概念和功能,掌握其操作流程;2. 使学生了解课程管理系统中数据存储、查询和修改的基本原理;3. 帮助学生掌握课程管理系统中的课程信息、教师信息和学生信息的关联关系。

技能目标:1. 培养学生运用课程管理系统进行课程查询、选课、退课等操作的能力;2. 培养学生利用课程管理系统进行课程安排、课程评价和教学反馈的能力;3. 提高学生分析课程管理系统中问题、提出解决方案并进行实际操作的能力。

情感态度价值观目标:1. 培养学生积极学习、主动参与课程管理的态度,增强其对课程学习的责任感;2. 培养学生合作、分享的团队精神,使其在课程管理中学会与他人沟通与协作;3. 引导学生认识到课程管理系统在现代教育管理中的重要性,培养其创新意识和实践能力。

课程性质:本课程为实践性较强的课程,旨在帮助学生掌握课程管理系统的应用,提高其课程管理能力。

学生特点:学生具备一定的计算机操作基础,具有较强的学习能力和探究精神。

教学要求:结合课程性质、学生特点,将课程目标分解为具体的学习成果,注重实践操作,鼓励学生主动参与、积极思考。

在教学过程中,关注学生的个体差异,提供个性化指导,确保课程目标的达成。

二、教学内容1. 课程管理系统概述:介绍课程管理系统的定义、作用和功能,使学生对其有一个全面的了解。

教材章节:第一章 课程管理系统简介2. 课程管理系统操作流程:讲解课程管理系统的注册、登录、课程查询、选课、退课等操作步骤。

教材章节:第二章 课程管理系统操作流程3. 数据存储与查询原理:阐述课程管理系统中数据存储、查询的基本原理,帮助学生理解其背后的技术。

教材章节:第三章 数据存储与查询原理4. 课程信息管理:详细介绍课程信息、教师信息和学生信息的录入、修改、删除等操作。

教材章节:第四章 课程信息管理5. 课程安排与评价:讲解如何利用课程管理系统进行课程安排、课程评价和教学反馈。

教务管理系统(软件工程课程设计)

教务管理系统(软件工程课程设计)

教务管理系统(软件工程课程设计)1000字一、需求分析一所大学的教务管理系统是一个全校公共的支持多角色操作的系统,它包含多个子系统,如学生信息管理系统,教师信息管理系统,课程信息管理系统等等。

本系统的主要功能是对学校内的教师和学生进行统一管理,并提供方便快捷的服务,帮助教职员工和学生更好地管理自己的信息和资源,提高教学质量,提高学生成绩。

二、系统设计(一)技术选型1.前端技术本系统采用HTML5、CSS、JavaScript 和Bootstrap框架等技术来开发,以保证系统界面的美观、流畅和兼容性。

2.后端技术本系统采用MySQL数据库,以及Java语言和Spring Boot框架,实现后端的主要功能,如数据持久化、权限验证、敏感数据加密等。

(二)系统模块划分根据系统分析,我们将教务管理系统分为以下模块:1.登录模块:学生、教师、管理员通过不同的角色登录系统,每种角色对应不同的界面和功能。

2.学生管理模块:对学生信息进行统一管理,包括基本信息、选课信息、成绩信息等。

3.教师管理模块:对教师信息进行统一管理,包括基本信息、授课信息、考试信息等。

4.课程管理模块:对课程信息进行统一管理,包括开课信息、排课信息、成绩评定信息等。

5.系统管理模块:对整个系统进行管理,包括权限管理、数据备份、系统设置等。

(三)系统流程图(四)系统数据结构设计数据库主要包含以下表:1.学生表:用于存储学生的基本信息,如姓名、性别、年龄、学号等。

2.教师表:用于存储教师的基本信息,如姓名、性别、工号、联系方式等。

3.课程表:用于存储课程的基本信息,如课程名称、授课教师、授课时间等。

4.选课表:用于存储学生报名的选修课程,包括学生学号、选课课程编号等。

5.成绩表:用于存储学生的成绩信息,包括学生姓名、课程编号、成绩等。

三、安全性设计为了保证数据安全,本系统采取以下安全性措施:1.权限控制:学生、教师、系统管理员需要通过不同的账号密码登录,系统根据不同角色进行权限控制,防止信息泄露和非法操作。

c课程设计排课系统

c课程设计排课系统

c 课程设计排课系统一、教学目标本章节的教学目标是使学生掌握C课程设计排课系统的基本原理和方法,培养学生运用计算机技术解决实际问题的能力。

具体目标如下:1.知识目标:使学生了解排课系统的基本概念、特点和应用场景;掌握排课算法的基本原理和方法;了解数据库在排课系统中的应用。

2.技能目标:培养学生使用排课系统进行课程安排的能力;培养学生运用编程语言实现简单排课算法的能力;培养学生运用数据库管理排课信息的能力。

3.情感态度价值观目标:培养学生对计算机技术的兴趣和好奇心,提高学生运用计算机技术解决实际问题的意识;培养学生团队合作精神,提高学生沟通协作能力。

二、教学内容本章节的教学内容主要包括排课系统的基本概念、特点和应用场景,排课算法的基本原理和方法,以及数据库在排课系统中的应用。

具体内容包括:1.排课系统的基本概念、特点和应用场景:介绍排课系统的定义、功能、特点和在我国教育领域的应用。

2.排课算法的基本原理和方法:讲解排课算法的基本原理,如贪心算法、遗传算法等,以及如何实现这些算法。

3.数据库在排课系统中的应用:介绍数据库在排课系统中的作用,如何设计和使用数据库存储排课信息,以及如何利用数据库进行查询和统计。

三、教学方法为了提高教学效果,本章节将采用以下教学方法:1.讲授法:教师讲解排课系统的基本概念、特点和应用场景,排课算法的基本原理和方法,以及数据库在排课系统中的应用。

2.案例分析法:分析实际案例,使学生更好地理解排课系统的原理和应用。

3.实验法:安排实验课,让学生动手实践,培养实际操作能力。

4.讨论法:学生分组讨论,促进学生思考和交流,提高团队合作能力。

四、教学资源为了支持教学,本章节将采用以下教学资源:1.教材:选用权威、实用的教材,为学生提供系统、全面的知识体系。

2.参考书:推荐相关参考书,拓展学生的知识视野。

3.多媒体资料:制作课件、教学视频等多媒体资料,提高教学的直观性和趣味性。

4.实验设备:提供计算机、数据库服务器等实验设备,保障实验教学的顺利进行。

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

C/C++ 课程设计报告题目:课表管理系统学生姓名:学号:专业班级:同组姓名: 指导教师:设计时间:指导老师意见:评定成绩:签名: 日期:1 系统(项目)设计通过查阅相关资料和仔细分析,得出系统功能模块图如图1所示。

系统主要由老师资料管理,班级信息管理,课表资料管理等几个功能模块组成,我负责的是班级信息管理的查询、修改、删除等功能。

其中班级资料管理包括:班号,班主任,学院,年级等属性。

图1 系统功能模块图2 系统登陆模块系统登陆模块主要完成系统登陆和系统退出功能。

其详细流程图如图2所示。

主菜单中选择1、2、3,分别进入老师信息管理、班级课表信息管理、班级信息管理;菜单中选择0,退出程序;在该课表管理管理系统中,班级信息管理模块部分共定义两个基础类:1: class class 这是定义每个班级的信息。

在该类中定义了班号、班主任、学院、年级等属性。

还定义了操作这些信息成员的函数,如输入、输出该站点信息等函数。

2: class classlist 这是定义一条班级链。

在该类中定义了class节点,还定义了操作这些信息成员的函数,如输入、输出、查找、修改、删除并且可以查每个class的信息等信息的函数,当然包括操作class class节点的函数。

特色算法:在该系统中,可以根据班级信息管理查到该班级的班主任,所在学院,以及年级等信息,从而实现了链表之间的关联、查找,还有该系统中的操作非常人性化,如:删除、修改等操作都有是否操作的提示,防止用户误操作。

2 系统实现主菜单:图1 主菜单表1 主菜单的功能命令含义步骤1 输入1 进入老师信息管理步骤2 输入2 进入班级课表资料管理步骤3 输入3 进入班级资料管理步骤4 输入0 退出系统命令含义步骤1 输入1 进入添加班级步骤2 输入2 进入显示所有班级记录步骤3 输入3 进入保存班级记录步骤4 输入4 进入读取班级记录步骤5 输入5 进入查找班级记录步骤6 输入6 进入查找班级课表记录步骤7 输入7 进入删除班级步骤8 输入8 进入修改记录步骤9 输入0 进入返回主菜单3系统测试系统各功能的运行时界面及使用说明主菜单窗口图1 主菜单窗口班级信息管理窗口图2 班级信息管理窗口添加班级信息窗口图3 添加班级信息窗口显示班级信息窗口图4 显示班级信息窗口保存班级信息窗口读取班级信息窗口图6 读取班级信息窗口查找班级记录图7 查找班级记录窗口删除班级窗口图8 删除班级记录窗口修改记录窗口图9 修改记录窗口返回主菜单图10 返回主菜单窗口4 小结通过为期一周的课程设计使我对C/C++有了更深的认识和理解,也使我更加明白系统在C/C++中的重要性和地位。

课表管理系统采用模块化结构和高性能的微处理器技术,具有很高的处理能力和更大的接入密度,可以为校园网提供全方位的网络解决方案。

我们小组在编写课表管理系统这个程序时,本来每个人的编程水平有很大差别,所以在讨论时有很多知识点串不起来,导致浪费了很多的时间去熟悉各个知识模块,也是因为对知识的不熟悉,导致我们组的程序在给老师看的时候出了点小问题,但这都不重要,重要的是我们在这期间学到的知识是最宝贵的!通过这次编程实践,巩固了C++的知识,对C++的内容有了深入的理解,尤其对链表的认识更近了一步,让自己深刻了解到编程中的种种技巧与乐趣,与此同时,在这段时间里,我也发现了自己的学习态度有问题,平时没怎么认真听讲,课后又没花时间去复习造成了许多知识的缺陷,很多知识不能运用自如,一开始我连链表时什么都不知道,但通过这次课表管理系统的编程训练,我及时补看了链表这一章节,这些都说明:学习是自己的事情,今后上课一定要认真听讲,及时复习,多动手去编程,养成良好的编程习惯,增强实践能力!5 参考文献[1]谭浩强,C语言程序设计第二版[M],清华大学出版社[2]陈维兴,林小茶C++面向对象程序设计教程[M],清华大学出版社[3] /lk/132m2zwnvc源代码:class.cpp#include"class.h"#include <iostream>using namespace std;char* Class::Getclass_num(){return class_num;}void Class::Setclass_teacher(char n[]){strcpy(class_teacher,n);}void Class::Setcollege(char n[]){strcpy(college,n);}void Class::Setgrade(char n[]){strcpy(grade,n);}void Class::Setclass_num(char n[]){strcpy(class_num,n);}void Class::Input(){ char ch[50];cout<<"\t班号:";cin>>ch;Setclass_num(ch);cout<<"\t班主任:";cin>>ch;Setclass_teacher(ch);cout<<"\t学院:";cin>>ch;Setcollege(ch);cout<<"\t年级:";cin>>ch;Setgrade(ch);cout<<endl;}void Class::Display(){ cout<<"\t"<<class_num<<"\t"<<class_teacher<<"\t"<<college<<"\t"<<grade<<e ndl;cout<<"\t-----------------------------------------\n";}classlist.cpp#include"classlist.h"#include <iostream>#include <fstream>using namespace std;#include"syllabus.h"#include"syllabuslist.h"classlist::classlist(){phead = NULL;}void classlist::souxuoclass()//{ char num[20];cout<<"\t请输入你需要搜寻的班级的班号: ";cin>>num;Class *p;p=phead;while(p!=NULL){ if(!strcmp(p->Getclass_num(),num)){ cout<<"\t找到该班级: "<<endl;show();// cout<<"名字"<<" 工号"<<" 年龄"<<" 工龄"<<endl;p->Display();return ;}p=p->next;}if(p==NULL)cout<<"\t没有找到该班级!"<<endl;}void classlist::Add(){ Class *pcurrent;if( phead==NULL )//如果是空链表,需特殊处理{ phead = new Class();phead->Input();phead->next = NULL;}else{ //将新节点添加到链表最后面pcurrent = phead;while(pcurrent->next != NULL)pcurrent = pcurrent->next;pcurrent->next = new Class();pcurrent = pcurrent->next;pcurrent->Input();pcurrent->next = NULL;}}void classlist::Adds(){ int n;cout<<"\t请输入班级数量:";cin>>n;getchar();//消除回车符if(n<=0)return;for( int i=1;i<=n;i++ ){Add();}}void classlist::Display(){ cout<<"\t————————————————————"<<endl;cout<<"\t|班号"<<"\t班主任"<<"\t学院"<<"\t年级"<<endl;cout<<"\t————————————————————"<<endl;Class *pcurrent;pcurrent = phead;while(pcurrent!=NULL){ pcurrent->Display();pcurrent=pcurrent->next;}cout<<"\t━━━━━━━━━━━━━━━━━━━"<<endl;}classlist::~classlist(){ //要将所有节点释放掉//链表操作相关程序,需结合画图来帮助理解if( phead!=NULL ){ Class *pcurrent;pcurrent=phead;while(pcurrent->next!=NULL){ phead=phead->next;free(pcurrent);pcurrent=phead;}free(pcurrent);}}//保存链表到文件void classlist::Save(char file_class[]){ //打开文件ofstream oile(file_class,ios::out|ios::binary);// 二进制方式写入文件if(!oile){ cout<<"\t文件“"<<file_class<<"”打开失败!"<<endl;return;}Class *pcurrent;pcurrent=phead;while(pcurrent!=NULL){ oile.write((char *)pcurrent,sizeof(*pcurrent));pcurrent=pcurrent->next;}cout<<"\t班级信息保存成功!"<<endl;oile.close();//别忘了关闭文件流}void classlist::Load(char file_class[]){ ifstream ile(file_class,ios::in|ios::binary);if(!ile){ cout<<"\t文件“"<<file_class<<"”打开失败!"<<endl;return;}if( ile.peek()!=EOF )//文件内容不为空,EOF即end of file{ //第一个节点需单独读取phead = new Class();ile.read((char *)phead,sizeof(*phead));}else{ phead=NULL;return;}Class *pcurrent;pcurrent = phead;while(ile.peek()!=EOF)//后续节点循环读取{ pcurrent->next = new Class();ile.read((char *)&(*(pcurrent->next)),sizeof(*(pcurrent->next)));pcurrent=pcurrent->next;}pcurrent->next = NULL;cout<<"\t读取成功!"<<endl;ile.close();//别忘了关闭文件流}int classlist::Menu_select(){ int cn;cout<<"\t**********************\n";cout<<"\t-----班级信息管理-----\n";cout<<"\t1.添加班级\n";cout<<"\t2.显示所有班级记录\n";cout<<"\t3.保存班级记录\n";cout<<"\t4.读取班级记录\n";cout<<"\t5.查找班级记录\n";cout<<"\t6.查找班级课表记录\n";cout<<"\t7.删除班级\n";cout<<"\t8.修改记录\n";cout<<"\t0.返回主菜单\n";cout<<"\t**********************\n";cout<<"\t选择0-8:";for(;;){ cin>>cn;if(cn>8)cout<<"\n\t输入错误,重选0-8:";elsebreak;}return cn;}void classlist::Menu(){ for(;;){ switch(Menu_select()){case 1:Adds();break;case 2:Display();break;case 3:Save("class.data");break;case 4:Load("class.data");break;case 5:souxuoclass();break;case 6:souxuosyllabus();break;case 7:Deletes();break;case 8:again();break;case 0:return;}}}void classlist::souxuosyllabus()cout<<"\t请输入你需要搜寻的班级的课表班号: ";cin>>num;syllabuslist q;syllabus *p;p=q.GetpHead();while(p!=NULL){ if(!strcmp(p->Getclass_num(),num)){ cout<<"\t找到该班级的课表: "<<endl;show();// cout<<"名字"<<" 工号"<<" 年龄"<<" 工龄"<<endl;p->show();return ;}p=p->next;}if(p==NULL)cout<<"\t没有找到该班级的课表!"<<endl;}void classlist::again(){ char num[20];cout<<"\t请输入你需要修改班级的班号: ";cin>>num;Class* p;p=phead;while(p!=NULL){ if(!strcmp(p->Getclass_num(),num)){ cout<<"\t请输入你需要修改的信息: "<<endl;show();// cout<<"名字"<<" 工号"<<" 年龄"<<" 工龄"<<endl;p->Input();return ;}p=p->next;}if(p==NULL)cout<<"\t没有找到要修改班级!"<<endl;}void classlist::Delete(){ char num[20];cout<<"\t请输入你需要删除的班级的班号: ";cin>>num;Class *p,*q;q=NULL;p=phead;while(p!=NULL)if(!strcmp(p->Getclass_num(),num)){ cout<<"\t找到该班级: "<<endl;cout<<"\t班号"<<"\t班主任"<<"\t学院"<<"\t年级"<<endl;p->Display();cout<<"\t是否删除?"<<endl;cout<<"\t请输入'y' 或'n': ";while(true){ cin>>k;if(k=='y')break;else if(k=='n')return;elsecout<<"\t输入出错!请重新输入:";}if(p==phead)phead=p->next;elseq->next=p->next;cout<<"\t删除成功!"<<endl;return ;}q=p;p=p->next;if(q!=NULL)free(q);}if(p==NULL)cout<<"\t没有找到该班级!"<<endl;void classlist::show(){cout<<"\t班号"<<"\t班主任"<<"\t学院"<<"\t年级"<<endl;}void classlist::Deletes(){ int deletes;char k;while(true){ show();cout<<"\t1.根据班号来删除"<<endl;cout<<"\t0.返回"<<endl;cout<<"\t请输入: ";while(true){ cin>>deletes;if(deletes>1 || deletes<0)cout<<"\t输入出错!请重新输入: ";elsebreak;}switch(deletes){ case 1: Delete();break;case 0:return ;}cout<<"\t是否再次删除?"<<endl;cout<<"\t请输入'y' 或'n': ";while(true){ cin>>k;if(k=='y')break;else if(k=='n')return;elsecout<<"\t输入出错!请重新输入:";}}}Class.h#if !defined(CLASS_H)#define CLASS_H#include"syllabus.h"class Class{private:char class_teacher[20];//班主任char college[20];//学院char class_num[20];//班号char grade[20];//年级public:Class *next;//下一个班级,用于链表syllabus *shixian;public:void Setclass_teacher(char[]);void Setcollege(char[]);void Setgrade(char[]);void Setclass_num(char[]);char* Getclass_num();void Input();void Display();};#endifclasslist.h#if !defined(CLASSLIST_H)#define CLASSLIST_H#include"class.h"#include"syllabus.h"#include"syllabuslist.h"class classlist{public:void show();//Class* phead;classlist();//无参数构造函数void Adds();//添加多个班级void Display();//显示所有班级信息void Save(char file_class[]);//保存所有班级信息到文件void Load(char file_class[]);//从文件中读取班级信息~classlist();//析构函数,释放资源void Menu();//处理班级信息模块菜单void souxuoclass();//查找班级void souxuosyllabus();//查找班级课表void again();//修改void Delete();//删除void Deletes();//void Add();//添加一个班级private:int Menu_select();//显示和处理班级信息模块菜单};#endif。

相关文档
最新文档