学生学籍管理系统c++课程设计
- 格式:doc
- 大小:61.00 KB
- 文档页数:25
c 高校学籍管理系统课程设计一、课程目标知识目标:1. 学生能够理解高校学籍管理系统的基本概念、功能模块和操作流程。
2. 学生掌握数据库的基本操作,如查询、插入、删除和修改学籍信息。
3. 学生了解学籍管理系统的安全性和权限设置,认识到信息保护的重要性。
技能目标:1. 学生能够运用所学知识,独立进行学籍管理系统的基本操作。
2. 学生具备分析和解决学籍管理过程中遇到问题的能力,如数据冲突、信息错误等。
3. 学生能够利用数据库查询语句,提取所需学籍信息,为学校各部门提供数据支持。
情感态度价值观目标:1. 学生认识到学籍管理系统在高校管理中的重要性,增强责任感和使命感。
2. 学生在团队合作中,学会沟通、协作,培养团队精神。
3. 学生通过学习,提高对信息技术的兴趣,树立正确的信息技术观念。
课程性质:本课程为高校计算机科学与技术专业的实践课程,旨在让学生通过学习,掌握学籍管理系统的设计与实现,提高实际操作能力。
学生特点:学生具备一定的计算机基础,对数据库和编程有一定的了解,但实践经验不足。
教学要求:结合学生特点和课程性质,注重理论与实践相结合,强化实践操作,提高学生的动手能力。
通过课程学习,使学生能够将所学知识应用于实际项目中,为高校学籍管理工作提供技术支持。
同时,关注学生的情感态度价值观培养,提高学生的综合素质。
在教学过程中,将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. 高校学籍管理系统概述:介绍学籍管理系统的基本概念、发展历程、功能模块和实际应用。
教材章节:第一章 绪论2. 数据库基础知识:讲解数据库的基本概念、关系型数据库的设计与操作。
教材章节:第二章 数据库基础3. 学籍管理系统设计:分析学籍管理系统的需求,设计数据库表结构,讲解系统模块划分和功能实现。
教材章节:第三章 学籍管理系统设计4. 学籍管理系统实现:介绍系统开发环境,讲解编程语言(如Java、C#等)在学籍管理系统中的应用。
课程设计学籍管理c语言一、教学目标本课程的教学目标是使学生掌握学籍管理系统的基本原理和编程方法,能够运用C语言实现简单的学籍管理功能。
具体分为以下三个维度:1.知识目标:使学生了解C语言的基本语法和数据结构,理解学籍管理系统的原理和流程。
2.技能目标:培养学生具备使用C语言进行编程的能力,能够独立完成简单的学籍管理系统的设计和实现。
3.情感态度价值观目标:培养学生对编程语言的兴趣,增强其自主学习和解决问题的意识,培养其团队协作和沟通能力。
二、教学内容教学内容以教材《C程序设计》为主线,结合学籍管理系统的实际需求进行调整和补充。
具体安排如下:1.C语言基础知识:数据类型、运算符、表达式、函数、数组、指针等。
2.控制结构:顺序结构、分支结构、循环结构等。
3.数据结构:链表、队列、栈等。
4.文件操作:文件的打开、关闭、读写等。
5.学籍管理系统的设计与实现:系统需求分析、功能模块设计、界面设计、数据库设计等。
三、教学方法本课程采用多种教学方法相结合,以提高学生的学习兴趣和主动性:1.讲授法:讲解C语言的基本语法和概念,阐述学籍管理系统的原理。
2.案例分析法:分析典型的学籍管理案例,引导学生运用C语言解决问题。
3.实验法:安排实验课程,让学生动手实践,巩固所学知识。
4.讨论法:学生进行小组讨论,分享学习心得,互相答疑解惑。
四、教学资源1.教材:《C程序设计》。
2.参考书:《C语言编程思想》、《C语言 Primer》。
3.多媒体资料:教学PPT、视频教程、在线编程练习平台。
4.实验设备:计算机、网络设施、编程调试工具。
5.网络资源:相关论坛、博客、在线课程、开源项目等。
五、教学评估本课程的教学评估分为三个方面:平时表现、作业和考试。
1.平时表现:包括课堂参与度、提问回答、小组讨论等,占总评的20%。
2.作业:布置适量作业,巩固所学知识,占总评的30%。
3.考试:包括期中考试和期末考试,期中考试占30%,期末考试占50%。
c语言课程设计学生学籍管理系统一、教学目标本课程的教学目标是使学生掌握C语言的基本语法和编程方法,能够运用C语言设计学生学籍管理系统。
具体分为三个部分:1.知识目标:学生需要掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识。
2.技能目标:学生能够运用C语言进行程序设计,具备编写和调试程序的能力。
3.情感态度价值观目标:学生通过完成学生学籍管理系统的设计和实现,培养对计算机科学和编程的兴趣和热情,提高解决实际问题的能力。
二、教学内容根据课程目标,教学内容主要包括C语言的基本语法和编程方法,具体包括以下部分:1.C语言的基本语法:数据类型、变量、运算符、控制结构等。
2.函数:函数的定义、调用、参数传递、返回值等。
3.学生学籍管理系统的需求分析:系统的功能、数据结构、界面设计等。
4.编程实践:学生通过编写和调试程序,完成学生学籍管理系统的实现。
三、教学方法本课程采用讲授法、讨论法、案例分析法和实验法等多种教学方法,以激发学生的学习兴趣和主动性。
1.讲授法:教师通过讲解C语言的基本语法和编程方法,为学生提供系统的知识结构。
2.讨论法:教师引导学生进行问题讨论,培养学生的思考和解决问题的能力。
3.案例分析法:教师通过分析学生学籍管理系统的案例,引导学生理解和应用C语言编程。
4.实验法:学生通过动手编写和调试程序,提高编程实践能力。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备等。
1.教材:选用权威、实用的C语言教材,为学生提供系统的知识结构。
2.参考书:提供相关的参考书籍,丰富学生的知识视野。
3.多媒体资料:制作多媒体课件,生动、形象地展示C语言编程的方法和技巧。
4.实验设备:提供计算机实验室,让学生进行编程实践。
五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分,以全面、客观、公正地评价学生的学习成果。
1.平时表现:通过课堂参与、提问、讨论等方式评估学生的学习态度和积极性。
c语言课程设计学生学籍管理系统一、教学目标本课程旨在让学生掌握C语言的基本语法,培养学生编写结构化程序的能力,使学生能够运用C语言实现简单的学生学籍管理系统。
通过本课程的学习,学生将能够:1.知识目标:–理解C语言的基本数据类型、运算符和表达式;–掌握函数的定义和调用,理解局部变量和全局变量的概念;–熟悉控制结构,如if语句、for循环和while循环;–了解数组、字符串和指针的基本使用方法。
2.技能目标:–能够使用C语言编写简单的程序,解决实际问题;–掌握基本的调试技巧,能够找出并修复程序中的错误;–具备阅读和理解他人代码的能力。
3.情感态度价值观目标:–培养学生对计算机科学的兴趣和热情,提高学生的自主学习能力;–培养学生团队协作的精神,增强学生的沟通能力;–培养学生解决问题的能力,提高学生的创新意识。
二、教学内容本课程的教学内容主要包括以下几个部分:1.C语言基本语法:数据类型、运算符、表达式、函数、局部变量和全局变量等;2.控制结构:if语句、for循环、while循环等;3.数据结构:数组、字符串、指针等;4.学生学籍管理系统的实现:学生信息的添加、删除、修改和查询等功能。
三、教学方法本课程采用讲授法、案例分析法和实验法等多种教学方法相结合的方式进行教学:1.讲授法:通过讲解C语言的基本语法和概念,使学生掌握相关知识;2.案例分析法:通过分析实际案例,使学生理解并掌握C语言在学生学籍管理系统中的应用;3.实验法:让学生动手编写代码,实现学生学籍管理系统的功能,提高学生的实际操作能力。
四、教学资源本课程的教学资源包括:1.教材:《C语言程序设计》;2.参考书:《C语言 Primer》;3.多媒体资料:教学PPT、视频教程等;4.实验设备:计算机、网络等。
以上教学资源将有助于实现本课程的教学目标,提高学生的学习效果。
五、教学评估本课程的教学评估将采用多元化评价方式,全面客观地评价学生的学习成果。
学生管理系统c课程设计一、教学目标本课程的学习目标包括知识目标、技能目标和情感态度价值观目标。
知识目标要求学生掌握学生管理系统的概念、特点和应用场景;理解学生管理系统的数据库设计、模块设计和程序设计;熟悉学生管理系统的操作和维护。
技能目标要求学生能够使用学生管理系统进行日常的学生信息管理;能够根据实际需求进行学生管理系统的功能扩展和优化;具备学生管理系统的故障排查和解决问题的能力。
情感态度价值观目标要求学生树立正确的信息道德观念,保护学生隐私和数据安全;培养学生团队合作意识和创新精神,以适应未来社会的发展需求。
二、教学内容根据课程目标,教学内容主要包括学生管理系统的概念与特点、数据库设计、模块设计、程序设计、操作与维护等方面的知识。
具体包括以下几个部分:1.学生管理系统的概念与特点:介绍学生管理系统的定义、功能、特点和应用场景,使学生了解学生管理系统在教育领域的重要性。
2.数据库设计:讲解学生管理系统的数据库设计原则和方法,包括数据表的创建、字段定义、关系建立等,培养学生具备基本的数据库设计能力。
3.模块设计:介绍学生管理系统的各个功能模块,如学生信息管理、成绩管理、教师管理等,使学生掌握模块设计的方法和技巧。
4.程序设计:讲解学生管理系统的程序设计方法,包括前后端开发、接口设计、算法实现等,培养学生具备一定的程序设计能力。
5.操作与维护:教授学生如何使用学生管理系统进行日常的学生信息管理,以及如何对系统进行维护和优化,提高学生的实际操作能力。
三、教学方法本课程采用讲授法、讨论法、案例分析法和实验法等多种教学方法,以激发学生的学习兴趣和主动性。
1.讲授法:通过教师讲解,使学生掌握学生管理系统的相关理论知识,为学生实践操作打下基础。
2.讨论法:学生就学生管理系统的设计与实现展开讨论,培养学生的团队协作能力和创新精神。
3.案例分析法:分析实际案例,使学生了解学生管理系统的应用场景和实际效果,提高学生的应用能力。
c 学生管理系统课程设计一、课程目标知识目标:1. 学生能够理解学生管理系统的基本概念,掌握其功能模块和使用方法。
2. 学生能够掌握数据库的基本操作,包括数据的增、删、改、查。
3. 学生能够了解软件开发的流程,包括需求分析、设计、编码、测试等环节。
技能目标:1. 学生能够运用所学知识,独立完成学生管理系统的简单功能设计和实现。
2. 学生能够运用数据库技术,完成对学生信息的管理操作。
3. 学生能够在团队协作中发挥自己的作用,与他人共同完成一个完整的学生管理系统项目。
情感态度价值观目标:1. 培养学生热爱信息技术,主动学习新知识、新技术,提高自身信息素养。
2. 培养学生具有团队协作精神,懂得尊重他人,善于沟通交流。
3. 培养学生具有问题解决意识,面对困难敢于挑战,勇于克服。
课程性质:本课程为实践性较强的信息技术课程,旨在通过学生管理系统的设计与实现,使学生掌握数据库应用开发的基本技能,提高实际操作能力。
学生特点:学生具备一定的计算机操作基础,对编程和数据库有一定了解,但实践经验不足。
教学要求:结合学生实际情况,注重理论与实践相结合,充分调动学生的积极性,培养学生的动手能力和团队协作能力。
通过课程学习,使学生能够达到课程目标,并为后续相关课程打下坚实基础。
二、教学内容本课程教学内容主要包括以下几部分:1. 学生管理系统概述:介绍学生管理系统的基本概念、功能模块和实际应用。
- 教材章节:第一章 软件概述- 内容:系统需求分析、系统功能模块划分、系统开发流程。
2. 数据库基础知识:讲解数据库的基本概念、关系型数据库的设计和操作。
- 教材章节:第二章 数据库基础- 内容:数据库原理、SQL语言、数据表设计、数据增删改查操作。
3. 编程语言基础:学习一种编程语言,如Python或Java,为开发学生管理系统提供技术支持。
- 教材章节:第三章 编程语言基础- 内容:编程语法、控制结构、面向对象编程、文件操作。
4. 学生管理系统设计与实现:结合前面所学知识,分组完成一个简单的学生管理系统项目。
c 课程设计学生学籍管理系统一、教学目标本课程旨在让学生掌握学生学籍管理系统的基本概念、设计与实现。
通过本课程的学习,学生将能够:1.理解学生学籍管理系统的需求和功能。
2.掌握学生学籍管理系统的数据库设计。
3.学会使用编程语言实现学生学籍管理系统的基本功能。
4.培养学生的团队协作能力和问题解决能力。
二、教学内容本课程的教学内容主要包括以下几个部分:1.学生学籍管理系统的需求分析:介绍学生学籍管理系统的功能和需求,使学生了解系统的设计背景。
2.数据库设计:教授学生如何设计学生学籍管理系统的数据库,包括表结构的设计和关系的建立。
3.系统实现:教授学生如何使用编程语言实现学生学籍管理系统的基本功能,包括数据的增删改查等。
4.测试与优化:介绍如何对实现的学生学籍管理系统进行测试和优化,以提高系统的稳定性和性能。
5.案例分析:分析一些实际的学生学籍管理系统案例,使学生更好地理解系统的设计和实现过程。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式进行教学:1.讲授法:教师讲解学生学籍管理系统的基本概念、需求分析和数据库设计等知识点。
2.案例分析法:分析实际案例,让学生更好地理解学生学籍管理系统的设计和实现过程。
3.实验法:学生动手实现学生学籍管理系统,培养学生的实际操作能力。
4.小组讨论法:学生分组讨论问题,培养学生的团队协作能力和问题解决能力。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:为学生提供学生学籍管理系统的基本概念、需求分析和数据库设计等知识点的教材。
2.参考书:提供一些与学生学籍管理系统相关的参考书,供学生课后自主学习。
3.多媒体资料:制作一些与课程相关的多媒体资料,如PPT、视频等,以便于学生更好地理解课程内容。
4.实验设备:为学生提供必要的实验设备,如计算机、数据库服务器等,以便于学生动手实践。
五、教学评估本课程的教学评估将采用多元化评价方式,全面客观地评价学生的学习成果。
c 高校学籍管理系统课程设计一、教学目标本课程旨在通过学籍管理系统的课程设计,让学生掌握以下知识目标:1.理解高校学籍管理的基本流程和规则。
2.掌握学籍管理系统的基本模块和功能。
3.熟悉数据库在学籍管理中的应用。
4.能够独立设计和实现一个简单的学籍管理系统。
5.能够运用数据库进行数据存储和管理。
6.能够对学籍管理系统进行性能优化和故障排除。
情感态度价值观目标:1.培养学生对于信息技术在教育管理中重要性的认识。
2.培养学生解决问题的能力和团队合作精神。
3.培养学生对于学术诚信和数据保护的重视。
二、教学内容本课程的教学内容将围绕学籍管理系统的设计和实现展开,具体包括以下几个部分:1.学籍管理的基本概念和流程。
2.学籍管理系统的基本模块和功能设计。
3.数据库的设计和应用。
4.学籍管理系统的实现和调试。
5.学籍管理系统的性能优化和故障排除。
三、教学方法为了提高教学效果,我们将采用多种教学方法相结合的方式进行教学,包括:1.讲授法:用于讲解学籍管理的基本概念和流程,以及学籍管理系统的设计和实现方法。
2.案例分析法:通过分析具体的学籍管理案例,让学生更好地理解和掌握学籍管理系统的应用。
3.实验法:通过实际操作,让学生掌握学籍管理系统的设计和实现技术。
四、教学资源为了支持教学内容的传授和教学方法的实施,我们将准备以下教学资源:1.教材:选用权威、实用的教材,为学生提供系统的理论知识。
2.参考书:提供相关的参考书籍,丰富学生的知识视野。
3.多媒体资料:制作精美的PPT和教学视频,提高学生的学习兴趣。
4.实验设备:准备计算机和相关设备,为学生提供实践操作的机会。
五、教学评估为了全面、客观地评估学生的学习成果,本课程将采用以下评估方式:1.平时表现:通过课堂参与、提问、小组讨论等环节,评估学生的学习态度和理解程度。
2.作业:布置相关的编程练习和案例分析,评估学生的实践能力和分析问题的能力。
3.考试:设置期中考试和期末考试,以评估学生对课程知识的掌握程度。
c 课程设计学籍管理系统一、课程目标知识目标:1. 理解数据库的基本概念,掌握学籍管理系统的基础知识;2. 学会使用数据库管理系统(如Excel、Access等)进行数据录入、查询、更新和删除操作;3. 了解学籍管理系统在实际中的应用场景,掌握其功能和操作流程。
技能目标:1. 培养学生运用数据库技术进行数据管理的能力;2. 提高学生利用计算机软件解决实际问题的能力;3. 培养学生的团队协作能力和沟通表达能力。
情感态度价值观目标:1. 培养学生对信息技术的兴趣,激发其学习积极性;2. 培养学生严谨、细致的学习态度,提高其自我管理能力;3. 增强学生的社会责任感,使其认识到学籍管理的重要性。
课程性质:本课程为信息技术课程,结合学籍管理系统,旨在让学生掌握数据库基础知识和应用技能,培养其解决实际问题的能力。
学生特点:六年级学生具备一定的计算机操作基础,对信息技术感兴趣,具有较强的学习能力和合作意识。
教学要求:注重实践操作,以学生为主体,引导学生主动参与,培养其独立思考和解决问题的能力。
将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. 数据库基础知识:介绍数据库的定义、作用和分类,使学生了解数据库的基本概念。
教材章节:第一章 数据库基础内容列举:数据库的定义、数据库的作用、数据库的分类。
2. 学籍管理系统功能与操作:讲解学籍管理系统的功能模块,指导学生进行实际操作。
教材章节:第二章 学籍管理系统内容列举:系统登录、学生信息录入、信息查询、信息更新与删除、系统退出。
3. 数据库操作技巧:教授如何使用数据库管理系统(如Excel、Access等)进行高效的数据管理。
教材章节:第三章 数据库操作内容列举:数据录入、数据查询、数据更新、数据删除、数据排序与筛选。
4. 实践项目:组织学生分组完成学籍管理系统的搭建与操作,巩固所学知识。
教材章节:第四章 实践项目内容列举:项目要求、分组协作、操作指导、成果展示。
c语言课程设计 学生学籍管理系统一、课程目标知识目标:1. 理解C语言在开发学生学籍管理系统中的应用,掌握基本的数据类型、语法和结构;2. 学习使用结构体、数组、文件操作等C语言特性实现学生信息的增、删、改、查功能;3. 了解系统设计的基本流程,掌握模块化编程思想。
技能目标:1. 能够运用所学知识,独立设计并编写一个简单的学生学籍管理系统;2. 培养良好的编程习惯,写出结构清晰、易于维护的代码;3. 提高问题分析能力,学会运用C语言解决实际问题。
情感态度价值观目标:1. 培养学生对计算机编程的兴趣,激发学习积极性;2. 培养学生的团队合作精神,提高沟通与协作能力;3. 增强学生的自信心,使其勇于面对挑战,积极解决问题。
分析课程性质、学生特点和教学要求:本课程为C语言课程设计,旨在让学生将所学知识应用于实际项目中,提高编程实践能力。
学生已具备一定的C语言基础,但独立完成项目的能力尚需培养。
因此,课程目标应注重培养学生的实践能力、团队合作精神和解决问题的能力。
将目标分解为具体的学习成果:1. 学生能够独立设计并实现学生学籍管理系统的核心功能;2. 学生能够编写结构清晰、易于维护的代码,并通过测试;3. 学生能够在团队中发挥积极作用,共同完成项目任务;4. 学生能够通过本课程的学习,提升自身编程能力和解决问题的能力。
二、教学内容1. 数据类型与变量:回顾基本数据类型、变量定义和初始化,强调其在系统设计中的应用。
教材章节:第二章 数据类型与表达式2. 控制结构:复习顺序结构、分支结构和循环结构,讲解其在程序流程控制中的应用。
教材章节:第三章 控制结构3. 函数:介绍函数的定义、调用和参数传递,强调模块化编程思想。
教材章节:第四章 函数4. 结构体与数组:讲解结构体的定义和使用,以及结构体数组的应用。
教材章节:第五章 结构体与联合5. 文件操作:介绍文件读写的基本方法,讲解如何将数据存储到文件中,以及如何从文件中读取数据。
《学生学籍管理系统》程序设计基础课程设计报告专业:班级:学号:姓名:指导教师:二OO八年六月二十六日C++课程设计——学籍管理系统实验报告1、对C++设计的《学生学籍管理系统》总体说明我这次做的课程设计是《学生学籍管理系统》,本程序采用C++程序语言编写,运用了基于对象和面向对象的程序设计。
它主要是完成对学生的基本信息和成绩进行录入、查询和删除功能。
实施起来简单快捷,虽然程序简单,但可以作为老师的辅助软件对学生的基本信息和各科成绩进行管理。
2、总体设计本程序的流程图如下:3、对《学生学籍管理系统》的介绍(1)具体功能:a)数据录入功能:对进行数据录入,只录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据. 综合成绩、学分由程序根据条件自动运算(2)查询功能:分为学生基本情况查询和成绩查询两种:A:学生基本情况查询:A1----输入一个学号或姓名(可实现选择),查出此生的基本信息并显示输出。
A2---输入一个宿舍号码,可查询出本室所有的学生的基本信息并显示输出。
B:成绩查询:B1:输入一个学号时,查询出此生的所有课程情况,格式如下:学号:xx 姓名:xxxxx课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx………………………共修:xx科,实得总学分为: xxxb)删除功能:当在中删除一个学生时,自动地在中删除此人所有信息。
c)排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。
(2)源程序说明:源程序清单及注释如下:#include<iostream>#include<fstream>#include<iomanip>using namespace std;class Basic{public:virtual int input(ifstream &its)=0;virtual void input()=0;virtual void display(ofstream &its)=0;virtual void display()=0;virtual void display_1(){}friend class College;protected://把这些数放在这,方便调用Basic *next;//指针int number;//学号char name[40];//姓名int dom_number;//宿舍号double mark; //综合成绩int credit; //实得学分};class Student:virtual public Basic{public:int input(ifstream &its)//输入流{its>>number;if(number==-1)return 0;else{its>>name>>sex>>dom_number>>phone_number;return 1;}}void input()//输入{cout<<"学号:";cin>>number;cout<<" 姓名:";cin>>name;cout<<"性别:";cin>>sex;cout<<"宿舍号码:";cin>>dom_number;cout<<"电话号码:";cin>>phone_number;}void display(ofstream &its)//输出流{its<<number<<" "<<name<<" "<<sex<<" "<<dom_number<<" "<<phone_number<<endl;}void display()//输出{cout<<number<<setw(10)<<name<<setw(6)<<sex<<setw(10)<<dom_number<<setw(13)< <phone_number<<endl;}private:char sex[5];//性别char phone_number[20];//电话号码};class Course:virtual public Basic{public:int input(ifstream &its)//输入流函数{its>>number;if(number==-1)return 0;else{its>>chass_number>>chass_name>>chass_mark>>peacetime_mark>>experiment_mark>>txt_mark;account();return 1;}}void input()//输入函数{cout<<"学号=";cin>>number;cout<<"课程编号=";cin>>chass_number;cout<<"课程名称=";cin>>chass_name;cout<<"学分=";cin>>chass_mark;cout<<"平时成绩=";cin>>peacetime_mark;cout<<"实验成绩=";cin>>experiment_mark;cout<<"卷面成绩=";cin>>txt_mark;account();}void account()//计算综合成绩和实得学分{int i;if(experiment_mark==-1)mark=peacetime_mark*+experiment_mark*+txt_mark*;else mark=peacetime_mark=peacetime_mark*+txt_mark*;i=mark/10;switch(i){case 10: credit=chass_mark;break;case 9: credit=chass_mark;break;case 8: credit=chass_mark*;break;case 7: credit=chass_mark*;break;case 6: credit=chass_mark*;break;default:credit=0;break;}}void display(ofstream &its)//输出流函数{its<<number<<" "<<chass_number<<" "<<chass_name<<" "<<chass_mark<<" "<<peacetime_mark<<" "<<experiment_mark<<" "<<txt_mark<<endl;}void display()//输出函数{cout<<number<<setw(10)<<chass_number<<setw(11)<<chass_name<<setw(5)<<chass_ mark<<setw(7)<<peacetime_mark<<setw(10)<<experiment_mark<<setw(10)<<txt_mark<<setw(10)<<ma rk<<setw(10)<<credit<<endl;}void display_1(){cout<<"课程编号:"<<chass_number<<" "<<"课程名称:"<<chass_name <<" "<<"综合成绩:"<<mark<<" "<<"实得学分:"<<credit<<endl;}private:char chass_number[30];//课程编号char chass_name[30];//课程名称int chass_mark; //学分int peacetime_mark;//平时成绩int experiment_mark;//实验成绩int txt_mark; //卷面成绩};class College//链表类{public:College(int i)//构造函数建立初链,i=0建立Student链表,i=1建立Course链表{ji=0;Basic *p;int t;PL=i;if(PL==0)//根据PL,打开相应的文件{("",ios::in);head=new Student;p=new Student;}else{("",ios::in);head=new Course;p=new Course;}if(!f)//判断f是否打开文件{cout<<"错误"<<endl;abort();}t=head->input(f);head->next=p;p->next=NULL;for(;;)//读入文件数据,并将数据插入链表中{if(i==0)p=new Student;else p=new Course;t=p->input(f);if(t==0)break;head=Build(p);}();//关闭文件}~College(){save();}Basic *Build(Basic *p)//插入函数,将p有序的插入链表中{Basic *p1=head,*p2=head;int i;for(i=0;p1->next!=NULL;i++){if(i==0&&p->number<p1->number)//处理头链{p->next=p1;head=p;ji++;break;}else if(p->number<p1->number)//处理中间{p2->next=p;p->next=p1;ji++;break;}else if(i==ji)//处理尾{p2=p1;p1=p1->next;p2->next=p;p->next=p1;ji++;break;}p2=p1;p1=p1->next;}return head;}void display()//输出链表信息{Basic *a=head;for(;a->next!=NULL;a=a->next)a->display();}void find_number()//查找学号(student) {int i;Basic *h=head;cout<<"请输入你想找的学号:";cin>>i;for(;h->next!=NULL;h=h->next){if(h->number==i){h->display();break;}}}void find_name()//查找姓名(student) {char i[40];Basic *h=head;cout<<"请输入你想找的姓名:";cin>>i;for(;h->next!=NULL;h=h->next){if(strcmp(h->name,i)==0){h->display();break;}}}void find_dom_number()//查找宿舍号码(student){int i;Basic *h=head;cout<<"请输入你想找的宿舍号码:";cin>>i;for(;h->next!=NULL;h=h->next)if(h->dom_number==i)h->display();}Basic *get_head(){return head;}void find(Basic *a)//输入一个学号时,查询出此生的所有课程情况(Course) {int i;Basic *h=head;cout<<"请输入你想查的学号:";cin>>i;for(;a->next!=NULL;a=a->next){if(a->number==i){cout<<"学号:"<<i<<" ";cout<<"姓名:"<<a->name<<endl;break;}}for(;h->next!=NULL;h=h->next)if(h->number==i)h->display_1();}void Delete(int j)//删除,j表示学号{Basic *p1=head,*p2=head;int i=0;for(;p1->next!=NULL;){if(i==0&&p1->number==j)//处理头{head=p1->next;i=-1;//保证下次还可以删除头链}else if(p1->number==j)//处理尾{p2->next=p1->next;}p2=p1;p1=p1->next;i++;}}void delete_student(College &b)//当在中删除一个学生时,自动地在中删除此人所有信息(student){int i;cout<<"请输入你想删除的学生的学号:";cin>>i;Delete(i);(i);}void taxis_mark()//综合成绩排序(Course){Basic *a=head;Basic *m[90],*t;int i,j,k,b;cout<<"升序-1 降序-2"<<endl;cin>>b;if(b==1)//升序{for(i=0;a->next!=NULL;i++){m[i]=a;a=a->next;}for(j=0;j<i;j++)for(k=j;k<i;k++){if(m[j]->mark>m[k]->mark){t=m[j];m[j]=m[k];m[k]=t;}}cout<<"按综合成绩升序排序为"<<endl;for(j=0;j<i;j++)m[j]->display();}else if(b==2)//降序{for(i=0;a->next!=NULL;i++){m[i]=a;a=a->next;}for(j=0;j<i;j++)for(k=j;k<i;k++){if(m[j]->mark<m[k]->mark){t=m[j];m[j]=m[k];m[k]=t;}}cout<<"按综合成绩降序排序为"<<endl;for(j=0;j<i;j++)m[j]->display();}}void taxis_credit()//学分排序(Course){Basic *a=head;Basic *m[90],*t;int i,j,k,b;cout<<"升序-1 降序-2"<<endl;cin>>b;if(b==1)//升序{for(i=0;a->next!=NULL;i++){m[i]=a;a=a->next;}for(j=0;j<i;j++)for(k=j;k<i;k++){if(m[j]->credit>m[k]->credit){t=m[j];m[j]=m[k];m[k]=t;}}cout<<"按学分升序排序为"<<endl;for(j=0;j<i;j++)m[j]->display();}else if(b==2)//降序{for(i=0;a->next!=NULL;i++){m[i]=a;a=a->next;}for(j=0;j<i;j++)for(k=j;k<i;k++){if(m[j]->credit<m[k]->credit){t=m[j];m[j]=m[k];m[k]=t;}}cout<<"按学分降序排序为"<<endl;for(j=0;j<i;j++)m[j]->display();}}void save() //保存函数{Basic *h=head;int i=-1;if(PL==0)("",ios::out);else if(PL==1)("",ios::out);for(;h->next!=NULL;h=h->next)h->display(s);s<<i<<endl;();}private:ifstream f;ofstream s;Basic *head;//链表的头指针int ji;//计算插入的数int PL;//判断建立怎样的链表};int main(){int i,k[10];Course *c;College a(0),b(1);cout<<" ************************* 欢迎进入!**********************"<<endl;cout<<" *************************学籍管理系统**********************"<<endl;cout<<" ******** ********"<<endl;cout<<" ******** ********"<<endl;to:cout<<" ******** <1> 录入 <2> 查询 <3> 删除********"<<endl;cout<<" ******** ********"<<endl;cout<<" ******** <4> 排序 <5> 全部输出 <其他> 结束********"<<endl;cout<<" ******** ********"<<endl;cout<<"******** ********"<<endl;cout<<"***********************************************************"<<endl;cin>>i;if(i==1){c=new Course;c->input();(c);goto to;}else if(i==2){cout<<"1-学生基本情况查询 2-成绩查询"<<endl;cin>>k[0];if(k[0]==1){cout<<"1-学号查询 2-姓名查询 3-宿舍号码查询"<<endl;cin>>k[1];if(k[1]==1)();else if(k[1]==2)();else if(k[1]==3)();goto to;}else if(k[0]==2)());goto to;}else if(i==3){(b);goto to;}else if(i==4){cout<<"1-综合成绩排序 2-实得学分排序"<<endl;cin>>k[2];if(k[2]==2)();else if(k[2]==1)();goto to;}else if(i==5){cout<<"学号姓名性别宿舍号码电话号码"<<endl;();cout<<endl;cout<<"学号课程编号课程名称学分平时成绩实验成绩卷面成绩综合成绩实得学分"<<endl;();goto to;}return 0;}4、遇到问题及解决方案本程序是运用类编写但与平时作业不同的是难度较大,涉及内容较广。