c语言课程设计学生档案管理系统
c语言学生管理系统课程设计
C语言学生管理系统课程设计1. 引言学生管理系统是为了方便学校或教育机构对学生信息进行管理和维护而开发的应用软件。
本文将介绍一个使用C语言编写的学生管理系统的课程设计方案。
该系统将实现学生信息的增加、查询、修改和删除等功能,并通过文件存储学生信息。
2. 功能需求学生管理系统应该具备以下基本功能: - 添加学生信息:包括学号、姓名、性别、年龄等基本信息。
- 查询学生信息:按照学号或姓名查询学生信息,并显示在屏幕上。
- 修改学生信息:根据学号或姓名修改学生的基本信息。
- 删除学生信息:按照学号或姓名删除学生的信息。
- 显示所有学生信息:将所有学生的信息显示在屏幕上。
3. 系统设计3.1 数据结构设计系统采用结构体作为学生信息的数据结构,每个学生的信息包括学号、姓名、性别、年龄等字段。
struct Student {int id;char name[20];char gender;int age;};3.2 文件存储设计系统将学生信息存储在一个文本文件中。
文件的每一行表示一个学生的信息,各个字段之间通过分隔符进行分隔(如逗号或制表符)。
3.3 系统模块设计系统可以划分为以下几个模块: - 添加学生模块:负责获取用户输入的学生信息,并将其添加到文件中。
- 查询学生模块:负责根据用户输入的学号或姓名,在文件中查询学生信息,并显示在屏幕上。
- 修改学生模块:负责根据用户输入的学号或姓名,找到对应的学生信息并修改。
- 删除学生模块:负责根据用户输入的学号或姓名,找到对应的学生信息并删除。
- 显示学生模块:负责将所有学生信息从文件中读取出来,并显示在屏幕上。
4. 流程图以下是学生管理系统的主要流程图:graph LRA[学生信息管理系统] --> B(显示菜单)A --> C(添加学生信息)A --> D(查询学生信息)A --> E(修改学生信息)A --> F(删除学生信息)A --> G(显示所有学生信息)B --> H(退出系统)C --> I(获取学生信息)C --> J(将学生信息添加到文件中)D --> K(获取查询条件)D --> L(根据条件查询学生信息)D --> M(将查询结果显示在屏幕上)E --> N(获取修改条件)E --> O(找到对应的学生信息并修改)E --> P(将修改后的学生信息保存到文件中)F --> Q(获取删除条件)F --> R(找到对应的学生信息并删除)F --> S(将删除后的学生信息保存到文件中)G --> T(从文件中读取所有学生信息)G --> U(将学生信息显示在屏幕上)5. 实现方法学生管理系统可以使用C语言中的文件操作函数来实现。
c语言课程设计学生信息管理系统
c语言课程设计学生信息管理系统一、背景介绍二、需求分析1.功能需求2.性能需求三、系统设计1.系统架构设计2.数据库设计3.界面设计四、系统实现与测试1.环境搭建与配置2.代码实现3.测试与调试五、总结一、背景介绍学生信息管理系统是一个基本的信息管理系统,用于管理学生的基本信息和课程成绩等数据。
在高校中,学生信息管理系统是一个非常重要的工具,可以帮助教师和管理员更好地了解学生情况,为教育教学提供数据支持。
C语言作为一门非常重要的编程语言,在计算机科学领域得到了广泛应用。
在C语言课程设计中,开发一个学生信息管理系统是非常有意义的。
二、需求分析1.功能需求(1)添加学生信息:包括姓名、性别、年龄等基本信息以及选修课程成绩等详细信息。
(2)删除学生信息:根据学号或姓名删除已有的学生信息。
(3)修改学生信息:根据学号或姓名修改已有的学生信息。
(4)查询学生信息:根据姓名或年龄等条件查询学生基本信息以及选修课程成绩等详细信息。
(5)统计学生信息:统计学生的人数、男女比例、平均年龄等信息。
2.性能需求(1)系统响应速度快,操作简单方便。
(2)数据存储稳定可靠,数据安全性高。
三、系统设计1.系统架构设计本系统采用B/S架构,即浏览器/服务器架构。
用户通过浏览器访问服务器上的网站,进行学生信息管理操作。
服务器端采用C语言编写,通过CGI技术实现与客户端的交互。
客户端使用HTML、CSS和JavaScript等技术实现用户界面。
2.数据库设计本系统采用MySQL数据库存储学生信息和课程成绩等数据。
数据库中包含两张表:学生表和成绩表。
其中,学生表包含字段:学号、姓名、性别、年龄;成绩表包含字段:学号、课程名称、成绩。
3.界面设计本系统的界面应该简洁明了,易于操作。
主要分为以下几个模块:(1)登录模块:用户输入账号和密码登录系统。
(2)添加模块:用户可以添加新的学生信息和课程成绩等数据。
(3)删除模块:用户可以根据学号或姓名删除已有的学生信息。
c语言课程设计学生信息管理系统
C语言课程设计学生信息管理系统1. 简介本文将详细介绍基于C语言的学生信息管理系统的设计和实现。
该系统旨在帮助学校或教育机构有效管理和维护学生的个人信息,包括基本信息、成绩等。
通过该系统,可以方便地查询、修改和删除学生信息,实现学生信息的快速检索和更新。
2. 系统需求分析在设计学生信息管理系统之前,我们首先需要明确系统的需求。
以下是该系统的基本需求:1.学生基本信息管理:包括学生的姓名、学号、性别、年龄、出生日期等信息。
2.学生成绩管理:包括学生的各科成绩、总分以及平均分等信息。
3.学生信息查询:用户可以根据学生的学号或姓名进行信息查询。
4.学生信息修改:用户可以修改学生的基本信息和成绩信息。
5.学生信息删除:用户可以删除学生的信息。
3. 系统设计与实现3.1 数据结构设计为了存储和管理学生信息,我们需要设计合适的数据结构。
以下是一个简单的示例:struct Student {char name[100];int studentId;char gender[10];int age;char birthdate[20];float scores[5];float totalScore;float averageScore;};3.2 界面设计在设计用户界面时,我们可以利用C语言提供的基本控制台窗口进行操作。
可以使用菜单方式的交互,通过键盘输入选择相应的功能。
3.3 功能实现根据系统需求,我们需要实现以下功能:3.3.1 学生信息录入用户可以输入学生的基本信息和成绩信息,并将其存储到系统中。
在录入信息时,需要检查输入的合法性,如学号是否唯一、成绩是否在有效范围内等。
3.3.2 学生信息查询用户可以根据学生的学号或姓名进行信息查询。
系统会返回与输入内容匹配的学生信息列表,并打印在屏幕上供用户查看。
3.3.3 学生信息修改用户可以选择要修改的学生信息,并提供新的值进行修改。
系统会根据用户的输入更新相应学生的信息。
c语言课程设计之学生信息管理系统 (2)
学生信息管理系统设计案例一、引言学生信息管理系统是一种集学生信息录入、查询、修改和删除等功能于一体的软件系统。
为了满足学校对学生信息的有效管理和查询需求,本文将介绍一种用C语言实现的学生信息管理系统设计案例。
二、需求分析学生信息管理系统主要有以下几个功能模块: 1. 学生信息录入:包括学生姓名、学号、年龄、性别等基本信息的录入。
2. 学生信息查询:可以根据学号或姓名进行查询,并显示查询结果。
3. 学生信息修改:可以根据学号或姓名选择要修改的学生信息,并进行修改操作。
4. 学生信息删除:可以根据学号或姓名选择要删除的学生信息,并进行删除操作。
三、系统设计1. 数据结构设计为了存储学生信息,我们需要定义一个学生结构体,包括姓名、学号、年龄、性别等字段。
同时,为了方便管理学生信息,我们可以使用链表数据结构来存储学生信息,并设计一个头节点来指向链表的第一个节点。
struct student {char name[20];int student_id;int age;char gender[10];struct student* next;};struct student* head; // 头节点2. 功能模块设计2.1 学生信息录入在该功能模块中,用户需要输入学生的姓名、学号、年龄和性别等信息,并将该学生信息添加到链表中。
为了方便起见,我们可以将该功能模块定义为一个函数add_student()。
2.2 学生信息查询在该功能模块中,用户可以根据学号或姓名进行学生信息的查询。
查询结果将会显示学生的基本信息。
为了方便起见,我们可以将该功能模块定义为一个函数search_student()。
2.3 学生信息修改在该功能模块中,用户可以根据学号或姓名选择要修改的学生信息,并进行修改操作。
为了方便起见,我们可以将该功能模块定义为一个函数update_student()。
2.4 学生信息删除在该功能模块中,用户可以根据学号或姓名选择要删除的学生信息,并进行删除操作。
学生档案管理系统c语言课程设计报告
目录一、课题设计容与主要功能 (1)第1节.设计容 (1)第2节.主要功能 (1)二、课题分析...................... 错误!未定义书签。
第1节.类声明表.................... 错误!未定义书签。
第2节.分析课程设计项目的实现方法 (3)三、主要功能的实现步骤 (4)四、程序测试与结论 (5)五、总结 (11)六、附件14一、课题设计容与主要功能1、设计容:为了满足学生档案管理的要求,通过计算机技术给档案管理人员带来便利。
使用c 语言编写了学生档案此管理系统。
本系统主要实现学生档案管理的功能,通过此系统方便对学生档案管理。
包括学号、、性别、年龄、备注。
所设计的系统以菜单方式工作,为用户提供清晰的使用提示,依据用户的选择来进行各种处理。
图书信息的录入后,系统按照有一定的规格式显示,录入的学生信息用文件形式保存,并可以对其进行修改、排序、插入、排序查询等基本操作。
整个程序实现链表操作,对学生信息的操作逐个地进行。
学生档案管理系统构建框架2、主要功能:1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:学号、、性别、年龄、备注。
2、本系统显示这样的菜单:请选择系统功能项:1.学生基本信息录入;2.学生基本信息显示;3.学生基本信息保存;4.学生基本信息修改;5.学生基本信息插入;6.学生基本信息删除;7.学生基本信息排序;8.学生基本信息按查询;9.从文件中读入学生基本信息;10.退出系统3、执行一个具体的功能之后,程序将重新显示菜单。
4、将学生基本信息保存到文件中。
二、课题分析1、类说明表2、实现方法及核心算法实现代码:主函数: void main()录入函数:void enter()显示函数:void list()保存函数:void save()插入函数:insert()修改函数:void revise()删除函数:void delete()删除录入的学生信息排序函数:void sort()排序录入的学生信息查找函数:void qseek()查找录入的学生信息读取函数:int load()读取保存在文件中的学生信息三、主要功能的实现步骤模块一:头文件,变量定义,函数的声明对系统所使用的变量进行定义,对函数进行声明模块二:学生信息的录入int enter(STUDENT t[])录入学生的基本信息。
c语言课程设计学生学籍管理系统
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)第1节.设计内容 (1)第2节.主要功能 (1)二、课题分析...................... 错误!未定义书签。
第1节.类声明表.................... 错误!未定义书签。
第2节.分析课程设计项目的实现方法 (3)三、主要功能的实现步骤 (4)四、程序测试与结论 (5)五、总结 (11)六、附件14一、课题设计内容与主要功能1、设计内容:为了满足学生档案管理的要求,通过计算机技术给档案管理人员带来便利。
使用c 语言编写了学生档案此管理系统。
本系统主要实现学生档案管理的功能,通过此系统方便对学生档案管理。
包括学号、姓名、性别、年龄、备注。
所设计的系统以菜单方式工作,为用户提供清晰的使用提示,依据用户的选择来进行各种处理。
图书信息的录入后,系统按照有一定的规范格式显示,录入的学生信息用文件形式保存,并可以对其进行修改、排序、插入、排序查询等基本操作。
整个程序实现链表操作,对学生信息的操作逐个地进行。
学生档案管理系统构建框架2、主要功能:1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:学号、姓名、性别、年龄、备注。
2、本系统显示这样的菜单:请选择系统功能项:1.学生基本信息录入;2.学生基本信息显示;3.学生基本信息保存;4.学生基本信息修改;5.学生基本信息插入;6.学生基本信息删除;7.学生基本信息排序;8.学生基本信息按姓名查询;9.从文件中读入学生基本信息;10.退出系统3、执行一个具体的功能之后,程序将重新显示菜单。
4、将学生基本信息保存到文件中。
二、课题分析1、类说明表2、实现方法及核心算法实现代码:主函数: void main()录入函数:void enter()显示函数:void list()保存函数:void save()插入函数:insert()修改函数:void revise()删除函数:void delete()删除录入的学生信息排序函数:void sort()排序录入的学生信息查找函数:void qseek()查找录入的学生信息读取函数:int load()读取保存在文件中的学生信息三、主要功能的实现步骤模块一:头文件,变量定义,函数的声明对系统所使用的变量进行定义,对函数进行声明模块二:学生信息的录入int enter(STUDENT t[])录入学生的基本信息。
c语言课程设计学生管理系统
c语言课程设计学生管理系统一、教学目标本课程的学习目标包括知识目标、技能目标和情感态度价值观目标。
知识目标要求学生掌握C语言的基本语法、数据结构、算法和编程技巧。
技能目标要求学生能够使用C语言进行程序设计,解决实际问题。
情感态度价值观目标要求学生培养良好的编程习惯,注重代码的可读性和可维护性,提高团队合作能力和解决问题的能力。
通过本课程的学习,学生将能够熟练掌握C语言的基本语法和编程技巧,具备独立编写简单程序的能力。
同时,学生将培养良好的编程习惯,注重代码的质量,提高团队合作能力和解决问题的能力。
学生将能够运用C语言进行程序设计,解决实际问题,提高自己的计算思维能力和创新能力。
二、教学内容教学内容将根据课程目标进行选择和,确保内容的科学性和系统性。
教学大纲将明确教学内容的安排和进度,指出教材的章节和列举内容。
教材:C程序设计语言(K&R)第1周:C语言概述、基本语法、数据类型和运算符第2周:控制语句、函数、数组和字符串第3周:指针、结构体和文件操作第4周:算法和编程技巧第5周:项目实践和问题解决三、教学方法教学方法将多样化,以激发学生的学习兴趣和主动性。
将采用讲授法、讨论法、案例分析法和实验法等教学方法。
讲授法:通过讲解和示范,引导学生掌握C语言的基本语法和编程技巧。
讨论法:学生进行小组讨论,促进学生之间的交流和合作,培养团队合作能力。
案例分析法:通过分析实际案例,引导学生运用C语言解决实际问题,提高问题解决能力。
实验法:安排实验课程,让学生亲自动手编写代码,培养实际编程能力和创新思维。
四、教学资源教学资源的选择和准备将充分支持教学内容和教学方法的实施,丰富学生的学习体验。
将使用教材、参考书、多媒体资料和实验设备等教学资源。
教材:C程序设计语言(K&R)参考书:C Primer Plus、C和指针多媒体资料:教学PPT、视频教程、在线编程练习平台实验设备:计算机、编程环境、网络资源通过以上教学资源的支持,学生将能够更好地学习C语言,提高编程能力,培养创新思维和问题解决能力。
c语言课程设计(学生信息管理系统)
c语言课程设计(学生信息管理系统)一、系统功能学生信息管理系统是一款基于C语言开发的数据管理程序,可实现对学生信息的增删改查等功能。
具体功能列表如下: a. 添加学生信息:可根据学生的基本信息,如学生学号、姓名、性别、地址、联系电话等,依次记录入系统; b. 删除学生信息:可根据学生学号、姓名等信息,从系统中删除不必要的学生信息; c. 修改学生信息:可根据已有的学生信息,修改学生某些属性内容,以更新系统中的数据; d. 查看学生信息:可根据学生学号、姓名等信息,查看指定学生的所有信息及多种查询功能; e. 数据保存功能:可将当前系统中的学生信息,保存成文件的形式; f. 备份/恢复功能:可对学生信息文件进行备份并对备份文件进行恢复; g. 查询统计功能:可根据学院代号、专业代号等信息,进行不同的查询统计; h. 排序功能:可根据学生学号、姓名等信息,对学生信息进行排序; i. 帮助功能:可提供详细的使用帮助文档,以帮助用户更好地使用系统;二、程序实现及结构1. 主程序:此程序用于控制整个系统的运行,可实现系统菜单显示、功能调用及功能切换等功能,可根据用户的操作需求,调用其他子程序实现各项功能。
2. 子程序:此程序是系统的主要部分,可实现学生信息的增删改查等功能,并可支持学生信息的备份,恢复,排序及查询统计等功能,用于实现主程序调用的功能。
3. 管理模块:此模块可实现对用户的登录及注册功能,可检测用户登录及注册的账号是否正确,以及是否有权限使用系统;4. 数据库模块:此模块可实现对学生信息的存储及调用,便于对各类学生信息进行更方便的管理。
此模块还可以负责系统的备份及恢复功能的实现。
5. 图形界面模块:此模块负责实现系统的图形化界面,使用户可以更加友好地操作系统,可以根据用户的需求,随时更改系统界面设置。
三、程序设计学生信息管理系统的设计主要有四个部分:1. 主程序:主程序的设计要求负责控制整个系统的运行,并根据用户的操作调用子程序实现各个功能。
c语言课程设计学生信息管理系统
c语言课程设计学生信息管理系统一、教学目标本课程旨在通过学习C语言,使学生掌握学生信息管理系统的基本概念、设计方法和实现技巧。
具体目标如下:1.知识目标:学生应掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识。
学生应了解学生信息管理系统的需求分析、系统设计、编码实现、测试等基本过程。
2.技能目标:学生能够运用C语言编写简单的程序,解决实际问题。
学生能够独立完成学生信息管理系统的设计和实现。
3.情感态度价值观目标:学生应培养对计算机科学的兴趣和热情,形成良好的学习习惯和团队合作精神。
学生应理解编程不仅仅是一种技能,更是一种思考问题和解决问题的方式。
二、教学内容本课程的教学内容主要包括C语言的基本语法和编程方法,以及学生信息管理系统的设计和实现。
具体安排如下:1.C语言基本语法:数据类型、运算符、控制结构、函数等。
2.学生信息管理系统需求分析:系统功能、数据结构、界面设计等。
3.学生信息管理系统设计:模块划分、算法实现、接口设计等。
4.学生信息管理系统实现:编码、调试、测试等。
三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性:1.讲授法:讲解C语言的基本语法和概念,学生信息管理系统的需求分析和设计方法。
2.案例分析法:分析实际案例,引导学生运用C语言解决实际问题。
3.实验法:学生动手编写代码,实现学生信息管理系统。
4.讨论法:分组讨论,促进学生之间的交流与合作。
四、教学资源本课程所需教学资源包括:1.教材:《C语言程序设计》等相关教材。
2.参考书:提供给学生额外的学习资料,以加深对C语言和编程的理解。
3.多媒体资料:PPT、视频教程等,用于辅助讲解和演示。
4.实验设备:计算机、编程环境等,用于学生动手实践。
五、教学评估本课程的评估方式包括以下几个方面:1.平时表现:通过课堂参与、提问、讨论等环节,评估学生的学习态度和积极性。
2.作业:布置适量的作业,评估学生的编程能力和对知识的理解程度。
学生档案管理系统c语言代码
学生档案管理系统c语言代码整个档案管理系统主要包括两个部分:数据结构和函数实现。
数据结构包括学生信息结构体和链表结构,而函数实现则包括链表操作函数和主函数。
1. 数据结构学生信息结构体包含学生姓名、学号、性别、出生日期、班级和联系方式:```struct student_info{char name[20]; //姓名char id[10]; //学号char sex[5]; //性别char birthday[20]; //出生日期char classname[10]; //班级char tel[20]; //联系方式};```链表结构包含指向学生信息结构体的指针和指向下一个节点的指针:```struct node{struct student_info* data; //指向学生信息结构体的指针struct node* next; //指向下一个节点的指针};```2. 函数实现链表操作函数实现了对链表的基本操作,包括创建节点、插入节点、删除节点和遍历链表:(1)创建节点函数createNode:```struct node* createNode(struct student_info* data){struct node* newNode= (struct node*) malloc(sizeof(struct node));newNode->data= data;newNode->next= NULL;return newNode;}```if(current!= NULL && current->data== data){ //头节点是要删除的节点*headRef= current->next; //把头节点下移free(current);return;}previous->next= current->next; //跳过要删除的节点free(current);}```(4)遍历链表函数displayList:主函数将这些函数调用起来,完成整个档案管理系统的功能:switch(choice){case 1:s= (struct student_info*) malloc(sizeof(struct student_info)); //为新学生信息结构体分配内存printf("Please enter student's name, ID, sex, birthday, classname, and telephone number: ");scanf("%s %s %s %s %s %s", s->name, s->id, s->sex, s->birthday,s->classname, s->tel);insertNode(&head, s); //插入新节点printf("New student record has been added.\n");break;case 3:displayList(head); //遍历链表,输出所有学生记录break;以上就是学生档案管理系统c语言代码的基本实现。
C课程设计学生信息管理系统
查询模块:根据条件查询学生信息
系统管理模块:系统设置、权限管理 等功能
01
系统实现
系统开发环境与工具
开发语言:Java 开发工具:Eclipse 数据库:MySQL
前端框架:Bootstrap 版本控制工具:Git 测试工具:JUnit
系统关键技术实现
数据库设计:使用SQL Server 或MySQL等数据库管理系统进 行数据存储和管理
稻壳公司
C课程设计学生信息 管理系统
单击此处添加副标题
汇报人:
目录
单击添加目录项标题
01
系统概述
02
系统需求分析
03
系统设计
04
系统实现
05
系统评估与总结
06
01
添加章节标题
01
系统概述
系统的目标与功能
目标:实现学生信息的高效管理 功能:学生信息录入、查询、修改、删除 功能:课程信息录入、查询、修改、删除 功能:成绩信息录入、查询、修改、删除 功能:用户权限管理,确保信息安全
01
系统设计
系统架构设计
前端:使用HTML、CSS、 JavaScript等技术进行 页面布局和功能实现
后端:使用Java、 Spring Boot等技术进 行业务逻辑处理和数据库 操作
数据库:使用MySQL、 Oracle等关系型数据库 进行数据存储和管理
接口:使用RESTful API 进行前后端数据交互
风险评估:系统可能面临 的风险及应对措施
系统性能评估
响应时间:系统处理用户请求所需的时 间
可靠性:系统在运行过程中出现故障 的概率
吞吐量:系统在单位时间内处理的请 求数量
可扩展性:系统适应未来业务增长的 能力
c语言课程设计学生管理系统设计
c语言课程设计学生管理系统设计一、教学目标本课程的教学目标是使学生掌握C语言的基本语法,熟练使用C语言进行程序设计,并通过学生管理系统的设计与实现,让学生了解面向对象编程的基本思想,培养学生解决实际问题的能力。
1.掌握C语言的基本语法和数据结构。
2.理解面向对象编程的基本概念。
3.能够使用C语言编写简单的程序。
4.能够设计和实现一个学生管理系统。
情感态度价值观目标:1.培养学生的团队合作意识和解决问题的能力。
2.培养学生的创新精神和对计算机科学的热爱。
二、教学内容教学内容主要包括C语言的基本语法、数据结构、面向对象编程思想以及学生管理系统的设计与实现。
1.C语言的基本语法:包括变量、数据类型、运算符、控制结构等。
2.数据结构:包括数组、链表、栈、队列等。
3.面向对象编程:包括类、对象、封装、继承、多态等。
4.学生管理系统:包括学生信息的增删改查、成绩管理等。
三、教学方法本课程采用讲授法、案例分析法和实验法相结合的教学方法。
1.讲授法:用于讲解C语言的基本语法、数据结构和面向对象编程的基本概念。
2.案例分析法:通过分析实际的学生管理系统案例,让学生了解面向对象编程的思想和应用。
3.实验法:让学生通过实际操作,动手编写代码,培养学生的编程能力和解决实际问题的能力。
四、教学资源教学资源包括教材、实验设备和学生管理系统案例。
1.教材:选用权威、实用的C语言教材,为学生提供系统的理论知识。
2.实验设备:提供计算机实验室,让学生进行实际操作。
3.学生管理系统案例:提供实际的学生管理系统案例,供学生分析和实践。
以上是本课程的教学设计,希望能够帮助学生更好地学习C语言,提高编程能力,培养解决实际问题的能力。
五、教学评估本课程的教学评估主要包括平时表现、作业和考试三个部分,以全面、客观、公正地评估学生的学习成果。
1.平时表现:通过课堂参与、提问、讨论等方式评估学生的学习态度和积极性。
2.作业:布置适量的作业,评估学生的编程能力和对知识的理解程度。
班级档案管理系统c课程设计语言
班级档案管理系统c课程设计语言一、引言1.1 项目背景随着信息技术的不断发展,各行各业都逐渐向数字化、信息化方向转变。
教育领域也不例外,学校班级档案管理系统的建设已经成为了教育信息化建设的重要组成部分。
班级档案管理系统是指对各个班级的学生档案进行管理和维护,包括学生基本信息、家庭联系方式、考试成绩、奖惩记录等内容。
1.2 项目目标本项目旨在开发一个功能完备的班级档案管理系统,能够满足学校对班级档案管理的需求,同时提高教师和管理员工作效率。
二、需求分析2.1 功能需求分析(1)用户登录:用户通过输入账号和密码登录系统。
(2)学生档案管理:管理员可以添加、删除和修改学生档案信息,并能够查询和打印学生档案。
(3)成绩管理:管理员可以录入和查询学生考试成绩,并能够生成成绩统计报表。
(4)奖惩记录:管理员可以添加、删除和修改学生奖惩记录,并能够查询和打印奖惩记录。
(5)家长联系方式:管理员可以录入和查询学生家长联系方式,并能够打印学生家长通讯录。
(6)系统设置:管理员可以对系统进行设置,包括修改管理员账号和密码、备份和恢复数据等。
2.2 非功能需求分析(1)易用性:系统界面简洁明了,操作简单方便。
(2)可靠性:系统具有良好的稳定性和可靠性,能够保证数据的安全性和完整性。
(3)安全性:系统具有较高的安全性,包括用户权限管理、数据加密等措施。
三、技术选型3.1 开发语言本项目采用C#语言进行开发。
C#是一种面向对象的编程语言,具有良好的扩展性和可维护性,同时也是Windows平台上广泛使用的编程语言之一。
3.2 开发工具本项目采用Visual Studio 2019作为开发工具。
Visual Studio 2019是微软公司推出的一款强大的集成开发环境,支持多种编程语言,并提供了丰富的开发工具和组件库,能够极大地提高开发效率。
四、系统设计4.1 数据库设计本项目采用MySQL数据库进行数据存储。
数据库中包含以下表:(1)学生档案表:存储学生基本信息、家庭联系方式等内容。
c语言课程设计学生档案管理系统
程序设计基础课程设计实验报告书目录1.设计题目 (3)2.正文 (3)2.1系统简介 (3)2.2选题背景 (4)2.3设计内容 (4)2.4设计思路 (4)2.5算法(条列式或流程图) (4)2.6程序清单与运行结果 (9)2.7总结 (15)1.设计题目学生信息管理系统设计2.正文2.1 系统简介学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail 等。
试设计一学生信息管理系统,使之能提供以下功能:1、系统以菜单方式工作2、学生信息录入功能(学生信息用文件保存)--输入3、学生信息浏览功能--输出4、学生信息查询功能--按学号查询、按姓名查询、5、学生信息的删除与修改(可选项)要求:使用文件方式存储数据。
2.2选题背景经典计算机问题,设计学生信息管理系统,可以进行多项系统信息管理功能。
2.3设计内容设计学生信息管理的各个功能。
系统以菜单方式工作。
学生信息录入功能(学生信息用文件保存)--输入。
学生信息浏览功能--输出。
学生信息查询功能--按学号查询、按姓名查询。
学生信息的删除与修改(可选项)2.4设计思路将程序的各个功能分开独立的执行,问题有大而小,细化。
2.5算法(条列式或流程图)主程序模块:删除信息模块(独立函数):显示浏览信息模块(独立函数)查找学生信息模块(独立函数):2.6程序清单与运行结果#include<stdio.h>#include<stdlib.h>#include<string.h>#include<io.h>struct birth{int year,month,day;};struct student{int number,age,tel[10];char name[10],sex,address[20],E_mail[20];struct birth birthday;struct student *link;};void show( ){printf(" 请输入数字加回车键进行选择:\n");printf(" 1、学生信息录入功能(学生信息用文件保存)--输入\n");printf(" 2、学生信息浏览功能--输出\n");printf(" 3、学生信息查询功能--按学号查询、按姓名查询\n");printf(" 4、学生信息的删除与修改(可选项)\n");printf(" 按其他任意键加回车退出程序\n");}\* 创建文件夹并存入信息模块: *\void credit(int n){FILE *fp;char fpname[20];struct student *head,*next,*end;int i;printf("请输入用于存放文件的文件路劲及文件名:");scanf("%s",fpname);getchar();fp=fopen(fpname,"w+");head=(struct student *)malloc(sizeof(struct student));printf("请输入学生学号姓名性别出生年月日地址电话 e_mail:");scanf("%d %s %c %d %d %d %s %s %s",&head->number,head->name,&head->sex,&(*h ead).birthday.year,&(*head).birthday.month,&(*head).birthday.day,head->address,head->te l,head->E_mail);getchar();fprintf(fp,"%d %s %c %d %d %d %s %s %s",head->number,head->name,head->sex,( *head).birthday.year,(*head).birthday.month,(*head).birthday.day,head->address,head->te l,head->E_mail);end=head;for(i=1;i<n;i++){next=(struct student *)malloc(sizeof(struct student));printf("请输入学生学号姓名性别出生年月日地址电话 e_mail:");scanf("%d %s %c %d %d %d %s %s %s",&next->number,next->name,&next->sex,&(*n ext).birthday.year,&(*next).birthday.month,&(*next).birthday.day,next->address,next->te l,next->E_mail);getchar();fprintf(fp,"%d %s %c %d %d %d %s %s %s",next->number,next->name,next->sex,( *next).birthday.year,(*next).birthday.month,(*next).birthday.day,next->address,next->te l,next->E_mail);end->link=next;end=next;end->link=NULL;}fclose(fp);}\* 浏览信息模块: *\void show2(int n){FILE *fp;int i;char fpname[20];struct student *head;head=(struct student *)malloc(sizeof(struct student));printf("请输入存放信息的文件路径以及文件名:");gets(fpname);fp=fopen(fpname,"r+");for(i=0;i<n;i++){fscanf(fp,"%d %s %c %d %d %d %s %s %s",&head->number,head->name,&head->sex, &(*head).birthday.year,&(*head).birthday.month,&(*head).birthday.day,head->address,head ->tel,head->E_mail);printf("%d %s %d %d %d %d %s %s %s",&head->number,head->name,head->sex,(*he ad).birthday.year,(*head).birthday.month,(*head).birthday.day,head->address,head->tel,h ead->E_mail);}fclose(fp);}\* 按学号查找学生信息模块: *\int search1(int n){int i,checkname;FILE *fp;char fpname[20];struct student *head;head=(struct student *)malloc(sizeof(struct student));printf("请输入存放信息的文件路径以及文件名:");gets(fpname);fp=fopen(fpname,"r+");printf("请输入要查询信息的学生学号:");scanf("%d",&checkname);getchar();for(i=0;i<n;i++){fscanf(fp,"%d %s %c %d %d %d %s %s %s",&head->number,head->name,&head->sex, &(*head).birthday.year,&(*head).birthday.month,&(*head).birthday.day,head->address,head ->tel,head->E_mail);if(checkname==head->number){printf("%d %s %c %d %d %d %s %s %s\n",head->number,head->name,head->sex,(*h ead).birthday.year,(*head).birthday.month,(*head).birthday.day,head->address,head->tel, head->E_mail);fclose(fp);return(1);}}printf("未找到");}\* 按姓名查找学生信息模块: *\void search2(int n){int i;FILE *fp;char fpname[20],checkname[10];struct student *head;head=(struct student *)malloc(sizeof(struct student));printf("请输入存放信息的文件路径以及文件名:");gets(fpname);fp=fopen(fpname,"r+");printf("请输入要查询信息的学生姓名:");scanf("%s",checkname);getchar();for(i=0;i<n;i++){fscanf(fp,"%d %s %c %d %d %d %s %s %s",&head->number,head->name,&head->sex, &(*head).birthday.year,&(*head).birthday.month,&(*head).birthday.day,head->address,head ->tel,head->E_mail);if(strcmp(checkname,head->name)==0){printf("%d %s %c %d %d %d %s %s %s",head->number,head->name,head->sex,(*hea d).birthday.year,(*head).birthday.month,(*head).birthday.day,head->address,head->tel,he ad->E_mail);fclose(fp);return(1);}}printf("未找到\n");}\* 删除或修改文件信息模块: *\int most(n){FILE *fp;char get;char fpname[20];struct student *ans[500];int i;char checkname[10];printf("请输入存放信息的文件路径以及文件名:");gets(fpname);fp=fopen(fpname,"r+");ans[0]=(struct student *)malloc(sizeof(struct student));fscanf(fp,"%d %s %c %d %d %d %s %s %s",&ans[0]->number,ans[0]->name,&ans[0] ->sex,&(*ans[0]).birthday.year,&(*ans[0]).birthday.month,&(*ans[0]).birthday.day,ans[0] ->address,ans[0]->tel,ans[0]->E_mail);for(i=1;i<n;i++){ans[i]=(struct student *)malloc(sizeof(struct student));fscanf(fp,"%d %s %c %d %d %d %s %s %s",&ans[i]->number,ans[i]->name,&ans[i] ->sex,&(*ans[i]).birthday.year,&(*ans[i]).birthday.month,&(*ans[i]).birthday.day,ans[i] ->address,ans[i]->tel,ans[i]->E_mail);ans[i-1]->link=ans[i];}ans[i]->link=NULL;printf("如果想修改信息请输入1加回车键,想删除信息输入2加回车键:");get=getchar();getchar();if(get=='1'){printf("请输入要修改信息的学生姓名:");scanf("%s",checkname);getchar();for(i=0;i<n;i++){if(strcmp(checkname,ans[i]->name)==0){printf("请输入学生新信息学号姓名性别出生年月日地址电话e_mail:");scanf("%d %s %c %d %d %d %s %s %s",&ans[i]->number,ans[i]->name,&ans[i]->se x,&(*ans[i]).birthday.year,&(*ans[i]).birthday.month,&(*ans[i]).birthday.day,ans[i]->ad dress,ans[i]->tel,ans[i]->E_mail);getchar();}}}if(get=='2'){printf("请输入要删除的学生姓名:");scanf("%s",checkname);getchar();for(i=0;i<n;i++){if(strcmp(checkname,ans[i]->name)==0){ans[i-1]->link=ans[i]->link;n--;break;}}}fp=fopen(fpname,"w+");for(i=0;i<n;i++){fprintf(fp,"%d %s %c %d %d %d %s %s %s",ans[i]->number,ans[i]->name,ans[i]->sex,(*ans[i]).birthday.year,(*ans[i]).birthday.month,(*ans[i]).birthday.day,ans[i]->ad dress,ans[i]->tel,ans[i]->E_mail);}fclose(fp);return(n);}\*主函数模块*\void main(){char get,get2;int n;while(1){show();get=getchar();getchar();switch(get){case '1':printf("请输入学生人数:");scanf("%d",&n);getchar();credit(n);break;case '2':show2(n);break;case '3':printf("按学号查找请输入1加回车键,按姓名查询请输入2加回车键:");get2=getchar();getchar();if(get2=='1'){search1(n);}if(get2=='2'){search2(n);}break;case '4':n=most(n);break;}if(get!='1'&&get!='2'&&get!='3'&&get!='4'){break;}}}2.7总结该程序主要使用结构体与结构化程序的设计,调用文件函数,设计函数时保持头脑思路清晰,有条理,保持各功能独立的函数来实现,需要对程序能熟练使用与掌握,我的函数侧重对单链表的使用,同时侧重文件运用时文件流动时文件信息不会流失。
学生档案管理系统c语言
学生档案管理系统c语言学生档案管理系统1 内容与要求【问题描述】设计一个学生档案管理系统,对学生档案进行管理。
每个学生的信息包括:学号、姓名、性别、出生年月、是否党员、手机号码、家庭住址、各门课成绩(每门课包括课程名与成绩)。
系统要求包含如下功能:1。
创建功能:初始输入每个学生的信息(学号、姓名、性别、出生年月、是否党员、手机号码、家庭住址)并保存。
2。
显示功能:显示全部学生的信息(包括各门课的成绩)。
3。
输入某课程成绩功能:按学号、成绩输入选修某门课的所有学生的成绩(说明:并不是所有学生都选同一门课,每个学生选的课可不一样)。
4。
统计平均成绩功能:计算每个学生的平均成绩。
5。
查找功能:按姓名或学号查找学生记录,并显示。
6。
排序功能:按学号或平均成绩进行排序,并显示。
7。
插入功能:插入一条学生记录。
8。
删除功能:删除指定学生的记录。
要求提供一个界面来调用各个功能,界面应尽可能清晰美观。
【具体要求】1。
系统应以菜单方式工作,举例如下:程序运行后显示如下主界面:**************************************** 1--------------创建 2--------------显示 3--------------输入成绩 4--------------统计成绩 5--------------查找 6--------------排序 7--------------插入 8--------------删除 9--------------退出**************************************** 通过选择1-9来确定要做哪一个操作。
若选5,则出现如下界面:**************************************** 1----------按学号查询 2----------按姓名查询****************************************2。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序设计基础课程设计实验报告书目录1.设计题目.......................................................2.正文...........................................................2.1系统简介.......................................................2.2选题背景.......................................................2.3设计内容.......................................................2.4设计思路.......................................................2.5算法(条列式或流程图).........................................2.6程序清单与运行结果.............................................2.7总结...........................................................1.设计题目学生信息管理系统设计2.正文2.1 系统简介学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。
试设计一学生信息管理系统,使之能提供以下功能:1、系统以菜单方式工作2、学生信息录入功能(学生信息用文件保存)--输入3、学生信息浏览功能--输出4、学生信息查询功能--按学号查询、按姓名查询、5、学生信息的删除与修改(可选项)要求:使用文件方式存储数据。
2.2选题背景经典计算机问题,设计学生信息管理系统,可以进行多项系统信息管理功能。
2.3设计内容设计学生信息管理的各个功能。
系统以菜单方式工作。
学生信息录入功能(学生信息用文件保存)--输入。
学生信息浏览功能--输出。
学生信息查询功能--按学号查询、按姓名查询。
学生信息的删除与修改(可选项)2.4设计思路将程序的各个功能分开独立的执行,问题有大而小,细化。
2.5算法(条列式或流程图)主程序模块:按退格键删除信息模块(独立函数):不相同2.6程序清单与运行结果#include<stdio.h>#include<stdlib.h>#include<string.h>#include<io.h>struct birth{int year,month,day; };struct student{int number,age,tel[10];char name[10],sex,address[20],E_mail[20];struct birth birthday;struct student *link;};void show( ){printf(" 请输入数字加回车键进行选择:\n");printf(" 1、学生信息录入功能(学生信息用文件保存)--输入\n");printf(" 2、学生信息浏览功能--输出\n");printf(" 3、学生信息查询功能--按学号查询、按姓名查询\n");printf(" 4、学生信息的删除与修改(可选项)\n");printf(" 按其他任意键加回车退出程序\n");}\* 创建文件夹并存入信息模块: *\void credit(int n){FILE *fp;char fpname[20];struct student *head,*next,*end;int i;printf("请输入用于存放文件的文件路劲及文件名:");scanf("%s",fpname);getchar();fp=fopen(fpname,"w+");head=(struct student *)malloc(sizeof(struct student));printf("请输入学生学号姓名性别出生年月日地址电话 e_mail:");scanf("%d %s %c %d %d %d %s %s %s",&head->number,head->name,&head->sex,&(*head).birthday.year,&(*head).birthday.month,&(*head).birthday.day,head ->address,head->tel,head->E_mail);getchar();fprintf(fp,"%d %s %c %d %d %d %s %s %s",head->number,head->name,he ad->sex,(*head).birthday.year,(*head).birthday.month,(*head).birthday.day,head ->address,head->tel,head->E_mail);end=head;for(i=1;i<n;i++){next=(struct student *)malloc(sizeof(struct student));printf("请输入学生学号姓名性别出生年月日地址电话 e_mail:");scanf("%d %s %c %d %d %d %s %s %s",&next->number,next->name,&next->sex,&(*next).birthday.year,&(*next).birthday.month,&(*next).birthday.day,next ->address,next->tel,next->E_mail);getchar();fprintf(fp,"%d %s %c %d %d %d %s %s %s",next->number,next->name,ne xt->sex,(*next).birthday.year,(*next).birthday.month,(*next).birthday.day,next ->address,next->tel,next->E_mail);end->link=next;end=next;end->link=NULL;}fclose(fp);}\* 浏览信息模块: *\void show2(int n){FILE *fp;int i;char fpname[20];struct student *head;head=(struct student *)malloc(sizeof(struct student));printf("请输入存放信息的文件路径以及文件名:");gets(fpname);fp=fopen(fpname,"r+");for(i=0;i<n;i++){fscanf(fp,"%d %s %c %d %d %d %s %s %s",&head->number,head->name,&h ead->sex,&(*head).birthday.year,&(*head).birthday.month,&(*head).birthday.day, head->address,head->tel,head->E_mail);printf("%d %s %d %d %d %d %s %s %s",&head->number,head->name,head->sex,(*head).birthday.year,(*head).birthday.month,(*head).birthday.day,head->a ddress,head->tel,head->E_mail);}fclose(fp);}\* 按学号查找学生信息模块: *\int search1(int n){int i,checkname;FILE *fp;char fpname[20];struct student *head;head=(struct student *)malloc(sizeof(struct student));printf("请输入存放信息的文件路径以及文件名:");gets(fpname);fp=fopen(fpname,"r+");printf("请输入要查询信息的学生学号:");scanf("%d",&checkname);getchar();for(i=0;i<n;i++){fscanf(fp,"%d %s %c %d %d %d %s %s %s",&head->number,head->name,&h ead->sex,&(*head).birthday.year,&(*head).birthday.month,&(*head).birthday.day, head->address,head->tel,head->E_mail);if(checkname==head->number){printf("%d %s %c %d %d %d %s %s %s\n",head->number,head->name,head->sex,(*head).birthday.year,(*head).birthday.month,(*head).birthday.day,head-> address,head->tel,head->E_mail);fclose(fp);return(1);}}printf("未找到");}\* 按姓名查找学生信息模块: *\void search2(int n){int i;FILE *fp;char fpname[20],checkname[10];struct student *head;head=(struct student *)malloc(sizeof(struct student));printf("请输入存放信息的文件路径以及文件名:");gets(fpname);fp=fopen(fpname,"r+");printf("请输入要查询信息的学生姓名:");scanf("%s",checkname);getchar();for(i=0;i<n;i++){fscanf(fp,"%d %s %c %d %d %d %s %s %s",&head->number,head->name,&h ead->sex,&(*head).birthday.year,&(*head).birthday.month,&(*head).birthday.day, head->address,head->tel,head->E_mail);if(strcmp(checkname,head->name)==0){printf("%d %s %c %d %d %d %s %s %s",head->number,head->name,head-> sex,(*head).birthday.year,(*head).birthday.month,(*head).birthday.day,head->ad dress,head->tel,head->E_mail);fclose(fp);return(1);}}printf("未找到\n");}\* 删除或修改文件信息模块: *\int most(n){FILE *fp;char get;char fpname[20];struct student *ans[500];int i;char checkname[10];printf("请输入存放信息的文件路径以及文件名:");gets(fpname);fp=fopen(fpname,"r+");ans[0]=(struct student *)malloc(sizeof(struct student));fscanf(fp,"%d %s %c %d %d %d %s %s %s",&ans[0]->number,ans[0]->nam e,&ans[0]->sex,&(*ans[0]).birthday.year,&(*ans[0]).birthday.month,&(*ans[0]).b irthday.day,ans[0]->address,ans[0]->tel,ans[0]->E_mail);for(i=1;i<n;i++){ans[i]=(struct student *)malloc(sizeof(struct student));fscanf(fp,"%d %s %c %d %d %d %s %s %s",&ans[i]->number,ans[i]->nam e,&ans[i]->sex,&(*ans[i]).birthday.year,&(*ans[i]).birthday.month,&(*ans[i]).b irthday.day,ans[i]->address,ans[i]->tel,ans[i]->E_mail);ans[i-1]->link=ans[i];}ans[i]->link=NULL;printf("如果想修改信息请输入1加回车键,想删除信息输入2加回车键:");get=getchar();getchar();if(get=='1'){printf("请输入要修改信息的学生姓名:");scanf("%s",checkname);getchar();for(i=0;i<n;i++){if(strcmp(checkname,ans[i]->name)==0){printf("请输入学生新信息学号姓名性别出生年月日地址电话e_mail:");scanf("%d %s %c %d %d %d %s %s %s",&ans[i]->number,ans[i]->name,&a ns[i]->sex,&(*ans[i]).birthday.year,&(*ans[i]).birthday.month,&(*ans[i]).birth day.day,ans[i]->address,ans[i]->tel,ans[i]->E_mail);getchar();}}}if(get=='2'){printf("请输入要删除的学生姓名:");scanf("%s",checkname);getchar();for(i=0;i<n;i++){if(strcmp(checkname,ans[i]->name)==0){ans[i-1]->link=ans[i]->link;n--;break;}}}fp=fopen(fpname,"w+");for(i=0;i<n;i++){fprintf(fp,"%d %s %c %d %d %d %s %s %s",ans[i]->number,ans[i]->nam e,ans[i]->sex,(*ans[i]).birthday.year,(*ans[i]).birthday.month,(*ans[i]).birth day.day,ans[i]->address,ans[i]->tel,ans[i]->E_mail);}fclose(fp);return(n);}\*主函数模块*\void main(){char get,get2;int n;while(1){show();get=getchar();getchar();switch(get){case '1':printf("请输入学生人数:");scanf("%d",&n);getchar();credit(n);break;case '2':show2(n);break;case '3':printf("按学号查找请输入1加回车键,按姓名查询请输入2加回车键:");get2=getchar();getchar();if(get2=='1'){search1(n);}if(get2=='2'){search2(n);}break;case '4':n=most(n);break;}if(get!='1'&&get!='2'&&get!='3'&&get!='4'){break;}}}2.7总结该程序主要使用结构体与结构化程序的设计,调用文件函数,设计函数时保持头脑思路清晰,有条理,保持各功能独立的函数来实现,需要对程序能熟练使用与掌握,我的函数侧重对单链表的使用,同时侧重文件运用时文件流动时文件信息不会流失。