数据结构课程设计学生信息管理系统

合集下载

数据结构课程设计学生信息管理系统

数据结构课程设计学生信息管理系统

数据结构课程设计学生信息管理系统学生信息管理系统是一种用于管理学生信息的软件系统。

它主要用于学校、教育机构或者其他组织中的学生信息管理工作。

该系统可以匡助学校或者教育机构高效地采集、存储和管理学生的个人信息、学籍信息、成绩信息等。

一、系统架构学生信息管理系统通常由前端界面、后端数据库和服务器组成。

1. 前端界面:提供给用户使用的界面,包括学生信息录入、查询、修改和删除等功能。

界面设计应简洁、直观,方便用户操作。

2. 后端数据库:用于存储学生信息的数据库,可以使用关系型数据库如MySQL或者非关系型数据库如MongoDB。

数据库应具备高效的读写能力和良好的数据结构设计,以提高系统的性能和稳定性。

3. 服务器:用于承载学生信息管理系统的运行,包括前端界面的展示和与后端数据库的交互。

服务器应具备高并发处理能力,以应对大量用户同时访问的情况。

二、功能需求学生信息管理系统应具备以下功能:1. 学生信息录入:提供学生信息的录入界面,包括学生姓名、性别、出生日期、联系方式等基本信息的录入。

2. 学生信息查询:提供学生信息的查询功能,可以根据学生姓名、学号、班级等条件进行查询,并展示查询结果。

3. 学生信息修改:提供学生信息的修改功能,可以根据学生学号或者其他惟一标识符进行信息的修改。

4. 学生信息删除:提供学生信息的删除功能,可以根据学生学号或者其他惟一标识符进行信息的删除。

5. 学生成绩管理:提供学生成绩的录入、查询、修改和删除功能,可以根据学生学号或者其他惟一标识符进行成绩信息的管理。

6. 学生信息统计:提供学生信息的统计功能,可以统计学生的人数、男女比例、年龄分布等信息,并以图表形式展示。

7. 用户权限管理:提供不同用户角色的权限管理功能,如管理员、教师和学生等角色,不同角色具有不同的系统访问权限。

三、数据结构设计为了高效地存储和管理学生信息,需要设计合适的数据结构。

1. 学生信息表:用于存储学生的基本信息,包括学生学号、姓名、性别、出生日期、联系方式等字段。

数据结构课程设计-学生成绩管理系统

数据结构课程设计-学生成绩管理系统

广东学院《数据结构课程设计》题目:学生成绩管理系统学号:姓名:年级:计算机科学与技术6班学院:智能制造学院专业:指导教师:目录一、问题描述与基本要求 (3)1.1问题描述 (3)1.2基本要求 (3)二、数据结构的设计 (3)2.1数据结构的选择 (3)2.2单链表的定义 (3)2.3重要函数的定义及说明 (4)三、软件模块结构图....................... 错误!未定义书签。

3.1大体模块关系图 (13)3.2各模块具体分析..................... 错误!未定义书签。

四、程序流程图 (15)五、源程序 (17)六、调试分析............................. 错误!未定义书签。

6.1程序错误修改及完善的过程 (37)6.2最终程序所有功能运行结果........... 错误!未定义书签。

6.3测试数据 (39)七、用户使用手册 (40)八、心得体会............................. 错误!未定义书签。

一、问题描述与基本要求1.1问题描述设计一个学生管理系统,建立初始学生成绩,添加/插入,查找,修改,删除学生成绩。

1.2基本要求系统设计要求:1、能比较迅速地实现添加学生的学号,姓名和成绩2、能比较迅速地通过学生的学号或姓名查询、修改或删除学生成绩3、当有学生时,输出所有学生的成绩信息,包括语文,数学,英语的成绩二、数据结构的设计2.1数据结构的选择课程设计题目的要求是,要较简单迅速地实现添加、查询、修改、删除学生成绩的的功能,于是我很自然地想到了可以用单链表的结构,通过编写相应功能函数来实现建立新结点、删除结点、修改结点中数据域的内容、输出结点数据域中的内容等功能,即可满足课程设计题目的要求。

2.2单链表的定义先定义单链表结点的数据域,数据域包括学生姓名、学生学号、学生成绩等学生信息,然后再定义链表结点,链表结点包括结点数据域和结点链域,最后再定义指向链表结点的指针。

(完整版)数据库毕业课程设计_学生信息管理系统

(完整版)数据库毕业课程设计_学生信息管理系统

数据库原理与开发课程设计报告设计题目:学生信息管理系统学生姓名张留春学号专业名称信息管理与信息系统日期2013.1.1学生信息管理系统学生姓名:张留春一、课程设计说明数据库是信息系统的核心内容,信息系统的设计、开发、维护都建立在后台完备的数据库系统的基础之上。

本课程设计拟通过给定题目,要求学生选择指定的系统,按照数据库设计的一般要求和流程,分析并设计出该系统的数据库结构(包括逻辑结构和物理结构)。

并最终将所设计的数据库使用SQL语句在SQL Server2000数据库管理系统中建立相应的数据库。

二、系统功能描述:随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量成倍增长。

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

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

三、课程设计任务需要完成的功能主要有:有关学籍等信息的输入,包括学生基本信息、所在班级、所学课程和成绩等学生信息的查询,包括学生基本信息、所在班级、所学课程和成绩等学生信息的修改班级管理信息的输入,包括班级设置、年级信息等班级管理信息的查询班级管理信息的修改学生基本课程信息的输入学生课程信息的修改学生课程的设置和修改学生成绩信息的输入学生成绩信息的修改学生成绩信息的查询学生成绩信息的统计2系统结构分析2.1需求分析学生管理系统是适应时代发展的需要,提高管理的效率而开发设计的。

通过对信息的收集、存储、传递、统计、分析、综合查询、报表输出和信息共享,及时为管理者提供学生基础信息,违规记录,考试成绩信息的查询。

实现了学生信息管理的简单化和规划化,提高了学校日常的工作效率,从而提高学校日常管理的效率,满足管理者对信息的需求。

经过综合分析,确定了学生管理系统的主要包括以下功能:(1)用户登陆功能管理员登陆界面主要为管理员提供对系统使用者的操控,确保系统信息的安全性,可靠性,登陆后可以通用系统管理中的用户管理增加或修改用户帐户。

软件工程课程设计-学生信息管理系统

软件工程课程设计-学生信息管理系统

数据库设计
数据表设计
01
根据系统需求,设计合理的数据表结构,包括学生信息表、课
程信息表、成绩信息表等。
数据关系设计
02
定义数据表之间的关系,如学生信息表和成绩信计
03
采用加密技术对敏感数据进行加密存储和传输,确保数据的安
全性。
界面设计
界面风格设计
版本控制
Git
关键代码实现
学生信息管理
实现学生信息的增删改查功能 ,包括基本信息、成绩、奖惩 情况等。
课程信息管理
实现课程信息的增删改查功能 ,包括课程名称、学分、任课 教师等。
用户登录验证
通过用户名和密码进行身份验 证,采用MD5加密密码确保安 全性。
班级信息管理
实现班级信息的增删改查功能 ,包括班级名称、班主任、学 生列表等。
THANKS
感谢观看
等。
课程管理
系统应支持课程的添加、修改、查询和删除 ,包括课程名称、课程描述、授课老师等。
用户管理
系统应提供用户注册、登录、权限分配等功 能,确保不同用户角色的操作权限。
非功能性需求
系统性能
系统应保证稳定运行,处理速 度快,响应时间合理。
数据安全
系统应采取必要的数据加密和 备份措施,确保学生信息的安 全性和完整性。
3
学生信息管理系统通常采用B/S或C/S架构,具有 用户界面友好、操作简便、数据安全性高等特点 。
设计目标与要求
实现学生信息的全面管 理,包括基本信息、成 绩信息、课程信息、奖
惩信息等。
01
保证数据的安全性和完 整性,采用合理的权限 控制和数据备份机制。
03
采用先进的软件开发技 术和工具,确保系统的

数据库课程设计-学生管理系统

数据库课程设计-学生管理系统

成绩:__________《数据库原理及应用》课程设计课题数据库课程设计之学生管理系统班级学号姓名指导教师2012 年 6 月 25 日—2012年 6 月 29 日前言 (3)概述 (3)项目背景 (3)编写目的 (3)定义 (4)开发环境 (4)需求分析 (5)问题陈述 (5)功能需求 (5)运行需求 (5)数据流图 (6)存储说明 (9)数据字典 (10)概念结构设计 (14)逻辑结构设计 (17)软件功能设计 (22)代码设计和界面设计 (25)小结................................................................................................ 错误!未定义书签。

参考文献........................................................................................ 错误!未定义书签。

附录................................................................................................ 错误!未定义书签。

网络的兴起和巨大发展对人们的生活方式产生了深远的改变,通过互联网络,人们获得了一个更加便捷更加广阔的获取有用信息的途径,人们可以足不出户坐在电脑前便可以做很多事情。

而数据库系统的不断发展与完善,则让互联网络在人们生活中的应用如虎添翼,因为随着越来越多的人认识到WEB网络给我们日常生活带来的巨大便利,WEB 应用的用户也在爆炸式增长,在方便我们生活的同时,许多问题也接踵而至,越来越庞大的数据量让工作人员不堪重负,无论在建立数据库和维护数据库方面,近几个月来,CSDN、天涯等知名IT企业相继出现数据库信息泄露事件向我们昭示了数据库安全方面所面临的严峻挑战。

数据库学生信息管理系统实验报告

数据库学生信息管理系统实验报告

数据库学生信息管理系统实验报告一、实验目的本次实验的目的是设计并实现一个基于数据库的学生信息管理系统,通过该系统可以对学生的基本信息进行增删改查等操作,方便高效地管理学生信息。

二、实验内容1. 创建数据库:首先,在MySQL中创建一个名为"student_info"的数据库,用于存储学生信息的表。

2. 创建表结构:在数据库中创建一个名为"student"的表,用于存储学生的基本信息,包括学号、姓名、性别、年龄、班级等字段。

3. 实现增加学生信息的功能:设计一个界面,在界面上输入学生的基本信息,然后将这些信息插入到数据库的"student"表中。

4. 实现删除学生信息的功能:设计一个界面,在界面上输入要删除的学生的学号,然后根据学号将该学生的信息从数据库的"student"表中删除。

5. 实现修改学生信息的功能:设计一个界面,在界面上输入要修改的学生的学号和需要修改的字段信息,然后根据学号将该学生的相应字段信息更新到数据库的"student"表中。

6. 实现查询学生信息的功能:设计一个界面,在界面上输入要查询的学生的学号,然后根据学号从数据库的"student"表中查询相应学生的信息并显示在界面上。

三、实验过程1. 创建数据库:在MySQL中执行以下指令创建名为"student_info"的数据库:CREATE DATABASE student_info;2. 创建表结构:在"student_info"数据库中执行以下指令创建名为"student"的表:CREATE TABLE studentid INT PRIMARY KEY AUTO_INCREMENT,student_id VARCHAR(20) NOT NULL,name VARCHAR(20) NOT NULL,gender VARCHAR(4) NOT NULL,age INT NOT NULL,class VARCHAR(20) NOT NULL3. 实现增加学生信息的功能:使用Java编写一个程序,通过JDBC 连接到MySQL数据库,然后通过用户界面输入学生的基本信息,将这些信息插入到"student"表中。

学生信息管理系统详细设计

学生信息管理系统详细设计

学生信息管理系统详细设计
1.系统结构设计
2.数据库设计
-学生表:存储学生的基本信息,如学号、姓名、性别、出生日期等;
-班级表:存储班级信息,如班级号、班级名称等;
-成绩表:存储学生的成绩信息,如学号、科目、成绩等。

3.功能模块设计
-学生信息录入模块:提供学生信息的录入功能,包括学号、姓名、
性别、出生日期等;
-学生信息查询模块:提供学生信息的查询功能,可以根据学号、姓
名等条件进行查询;
-学生信息修改模块:提供学生信息的修改功能,允许修改学生的基
本信息;
-成绩录入模块:提供成绩的录入功能,包括科目、成绩等;
-成绩查询模块:提供学生成绩的查询功能,可以根据学号、科目等
条件进行查询。

4.界面设计
学生信息管理系统的界面设计应简洁、直观。

可以使用面向对象的设
计风格,将相关的功能进行分组,并采用菜单、按钮等交互元素来展示和
操作功能。

在设计界面时,应注重界面的可用性和用户体验,使用户能够
方便地进行操作。

5.安全性设计
6.性能优化设计
总之,学生信息管理系统的详细设计需要考虑系统结构、数据库设计、功能模块、界面设计、安全性设计和性能优化设计等方面,以确保系统的
稳定性、安全性和性能。

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

数据库课程设计学生选课管理系统
管理。
01
课程管理
包括课程信息录入、查询、修改等功 能,支持多类型课程管理。
03
排课管理
根据课程和学生信息,自动生成排课表,支 持手动调整。
05
02
学生管理
包括学生基本信息录入、查询、修改等功能 。
04
选课管理
支持学生在线选课、退课,实现选课 过程的自动,生成成 绩单等功能。
数据库课程设计学生 选课管理系统
2024-01-09
目录
• 系统概述 • 需求分析 • 系统设计 • 系统实现 • 系统运行与维护 • 课程设计总结与展望
01
系统概述
背景与意义
教育信息化趋势
随着教育信息化的深入发展,学生选课管理系统的建立成 为提高教学管理水平、优化资源配置的必然趋势。
传统选课方式弊端
教师用户
能够发布课程信息、查看 选课学生名单、录入学生 成绩。
管理员用户
能够管理系统用户、课程 信息、学生选课数据、成 绩数据。
功能需求
课程管理
实现课程信息的增 删改查等功能。
成绩管理
实现学生成绩的录 入、修改、查看等 功能。
用户管理
实现用户注册、登 录、权限分配等功 能。
选课管理
实现学生选课、退 课、查看选课结果 等功能。
技术应用
采用了先进的数据库技术,如SQL语言、数据库 设计等,确保了系统的稳定性和高效性。
3
用户界面
设计了简洁、直观的用户界面,方便学生进行选 课操作。
经验教训分享
需求分析重要性
01
在项目初期,充分进行需求分析,明确系统功能和性能要求,
有助于避免后期需求变更带来的麻烦。
团队协作
02

学生信息管理系统(顺序表)实验1

学生信息管理系统(顺序表)实验1

数据结构课程设计设计题目: 学生信息管理系统(顺序)姓名及学号:专业班级:09计算机科学与技术指导教师:完成时间:信息工程学院计算机科学系安徽新华学院课程设计成绩评定表(本科)目录一、实验目的 (1)二、实验内容 (1)三、基本要求 (1)四、算法设计思想 (1)五、算法流程图 (1)六、算法源代码 (6)七、运行结果 (22)八、收获和体会 (25)九、致谢 (25)1。

实验目的:通过制作学生信息管理系统(1)基本掌握面向过程程序设计的的基本思路和方法;(2)达到熟练掌握C语言的基本知识和技能;(3)能够利用所学的基本知识和技能,解决简单的程序设计问题。

2.实验内容:输入一个班学生的学号,姓名,性别,成绩。

编程插入学生信息,设计查找每个学生的信息,删除学生信息,输出学生信息,修改学生信息,报表和显示学生信息,及退出学生信息管理系统。

3.基本要求:(1)硬件:微机,打印机各一台(2)软件:Visual C++,windows74。

算法设计思想(1)。

分析程序的功能要求,划分程序功能模块.(2). 画出系统流程图。

(3)。

代码的编写。

定义数据结构和各个功能子函数。

(4)。

程序的功能调试。

5。

算法的流程图6。

算法源代码:#include<stdio.h〉#include〈stdlib.h〉#include〈string。

h>#define OK 1#define ERROR 0#define OVERFLOW —2#define MAXSIZE 10#define List_INIT_SPACE 10 #define List_INC_SPACE 1 typedef struct{char number[15];char name[10];char sex[10];int score;}Elemtype;typedef struct{Elemtype *elem;int length;int listsize;}sqlist;/*1创建空顺序表并初始化*/void creatList(sqlist *L){int i=0,n;Elemtype *newbase;L-〉elem=(Elemtype*)malloc(List_INIT_SPACE*(sizeof(Elemtype)));if(!L-〉elem)exit(OVERFLOW);L—〉length=0;L->listsize=List_INIT_SPACE;printf("有几位同学:\n");scanf(”%d”,&n);for(i=0;i<n;i++){if(L-〉length==L->listsize){newbase=(Elemtype*)realloc(L—〉elem,(List_INIT_SPACE+List_INC_SPACE)*sizeof(Elemtype));if(newbase){L—〉elem=newbase;L—〉listsize+=List_INC_SPACE;}else exit(OVERFLOW);}printf(”请输入第%d名同学的信息:\n”,i+1);printf("学号(15)\n");scanf("%16s",L—>elem[L->length].number);printf("姓名(15)\n");scanf(”%16s”,L-〉elem[L->length]。

UML学生管理系统(两篇)2024

UML学生管理系统(两篇)2024

引言概述:UML学生管理系统是一种用于管理学生信息的软件系统,可以实现学生信息的增、删、改、查等功能。

本文将继续探讨UML学生管理系统的设计和实现,包括数据结构设计、功能模块设计、界面设计、系统性能优化以及安全性设计等方面。

正文内容:一、数据结构设计1. 学生信息表的设计:包括学生基本信息、课程信息、成绩信息等字段,采用关系数据库进行存储,设计合适的表结构以满足系统的需求。

2. 学生关系表的设计:建立学生与课程、学生与成绩之间的关系,采用关系型数据库的外键关联机制实现关系表的设计。

二、功能模块设计1. 学生信息管理模块:包括学生信息的增加、删除、修改和查询等功能,通过对学生信息表的操作实现。

2. 课程管理模块:包括课程信息的增加、删除、修改和查询等功能,通过对课程信息表的操作实现。

3. 成绩管理模块:包括成绩信息的增加、删除、修改和查询等功能,通过对成绩信息表的操作实现。

4. 班级管理模块:包括班级信息的增加、删除、修改和查询等功能,通过对班级信息表的操作实现。

5. 用户权限管理模块:包括用户登录、权限分配和用户信息管理等功能,通过对用户表的操作实现。

三、界面设计1. 登录界面设计:提供用户登录的界面,包括用户名和密码的输入框以及登录按钮。

2. 学生信息管理界面设计:提供学生信息的录入、修改以及查询功能的界面,以表格形式展示学生信息。

3. 课程管理界面设计:提供课程信息的录入、修改以及查询功能的界面,以表格形式展示课程信息。

4. 成绩管理界面设计:提供成绩信息的录入、修改以及查询功能的界面,以表格形式展示成绩信息。

5. 用户权限管理界面设计:提供用户登录、权限分配和用户信息管理功能的界面,包括用户信息的录入、修改以及查询功能。

四、系统性能优化1. 数据库索引优化:通过添加适当的数据库索引,提高数据库查询的效率,减少查询时间。

2. 数据批量处理优化:对于批量的数据操作,采用批量处理的方式,减少数据库访问次数,提高系统的响应速度。

学生通讯录管理系统设计(数据结构)

学生通讯录管理系统设计(数据结构)

学生通讯录管理系统设计(数据结构)一、总体设计1、系统开发环境本系统采用C++语言,运行在Windows平台上,数据库采用MySQL。

2、系统功能(1)登陆:系统登录,验证用户名/密码,权限认证等。

(2)新增:新增学生通讯录信息,包括姓名、联系电话、地址、备注等信息。

(3)修改:修改学生通讯录信息,可以修改学生姓名、联系电话、地址等信息。

(4)删除:删除学生通讯录信息,可以根据姓名、联系电话删除学生的通讯录信息。

(5)查询:可以根据姓名、联系电话查询学生的通讯录详细信息。

(6)权限管理:根据用户类别对不同用户进行不同级别的权限管理。

(7)数据管理:根据学生查询,统计学生的报表信息和查询结果,可以对学生的通讯录数据实行一定的数据管理。

3、数据结构用于存储、管理学生通讯录信息的数据结构,采用链表法。

首先将学生信息定义为一个结构体,包含学生的姓名、联系电话、联系地址等信息,此构造体可存储学生一种或者多种信息;然后建立一个学生链表来存储学生信息,每个结点中存放学生结构体,在链表末尾增加一个指向学生链表头结点的指针,即实现了学生通讯录的输出。

二、模块分解1、登录模块实现用户名/密码的验证,权限的认证,权限管理等功能。

2、新增模块用于实现新增学生信息,信息包括姓名、联系电话、联系地址等,并将学生信息存放到学生链表中。

4、删除模块用于实现删除学生信息,使用链表的查找、删除等来实现。

6、权限管理模块用于实施对不同用户类别的权限管理,实现对不同用户类别的权限管理,保证数据的安全。

7、数据管理模块用于实施对学生数据的安全,统计报表信息,数据标准化处理。

数据结构之学生成绩管理系统

数据结构之学生成绩管理系统

学生成绩管理系统一、试验目旳1. 通过本次课程设计中学生成绩管理系统旳题目,掌握链表等数据构造旳基本操作方面旳知识,并能灵活旳处理某些基本旳问题,加深对其性质及各项操作旳理解;2. 将所学数据构造方面旳知识与一门详细旳语言——C语言来进行实现, 感受数据构造旳强大作用, 加深理解。

二、试验规定(1)管理系统中有五个规定: 输入查找修改插入删除存储(2)输入规定: 可以通过键盘输入和文献输入两种(3)查找规定:可以根据学生号查找单个学生旳信息, 也可以遍历所有学生信息(4)修改规定: 可以根据学生号修改单个学生所有信息(5)插入规定: 可以实现头插和尾插(6)删除规定: 可以根据学生号删除单个学生信息三、存储规定: 通过链表存储所有信息四、算法旳思想与算法实现环节1. 基本思想通过链表数据类型进行基本操作, 重要有三个模块: 分别是主函数模块、重要操作函数及基本操作函数。

其中, 主函数负责其他子函数旳调用实现以及基本界面旳操作重要函数包括:void StuInput(Student *); //学生成绩管理系统旳输入函数, 由主函数调用void StuSelect(Student *); //学生成绩管理系统旳查找函数, 由主函数调用void StuAlter(Student *); //学生成绩管理系统旳修改函数, 由主函数调用void StuInsert(Student *); //学生成绩管理系统旳插入函数, 由主函数调用void StuDelect(Student *); //学生成绩管理系统旳删除函数, 由主函数调用void StuSave(Student *); //学生成绩管理系统旳存储函数, 由主函数调用基本操作函数:void StuOutput(Student *p); //输出函数int StuImport(Student *head,Student *p); //输入函数void StuInputHand(Student *head); //学生成绩管理系统旳手动输入函数, 由输入函数调用void StuInputFile(Student *head); //学生成绩管理系统旳文献输入函数, 由输入函数调用void StuSelectErg(Student *head); //学生成绩管理系统旳遍历函数, 由查找函数调用void StuSelectNumFind(Student *head); //学生成绩管理系统旳按学号查找函数, 由查找函数调用void StuSelectSubFind(Student *head); //学生成绩管理系统旳按科目查找函数, 由查找函数调用2. 实现环节首先, 分析题目规定划分实现模块, 定义基本数据类型, 诸如构造体、链表等;另一方面, 针对上述旳基本操作实现详细需要进行旳操作, 详细实现每个环节需要进行旳基本操作, 即详细编写每个小函数实现功能;最终, 编写主函数对每个实现进行按需调用, 实现操作。

数据结构课程设计

数据结构课程设计

数据结构课程设计(学生信息管理系统)(总17页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--1需求分析设计任务要求通讯录系统主要包含以下要求:(1)设计一个学生通讯录管理系统,每个学生数据信息包括:姓名、电话号码、qq、邮编和地址;(2)创建学生数据类型为结构体并以磁盘文件保存;(3)能读取磁盘文件并显示输出学生的相关信息;(4)能按姓名或电话等多种方式进行学生信息查询;(5)能查询、添加、修改和删除学生通讯录。

系统功能需求分析系统主要包含以下主要功能:(1)查询通讯录记录;(2)添加通讯录记录;(3)修改通讯录记录;(4)删除通讯录记录;(5)关闭通讯录。

2 概要设计数据类型本系统中所有变量都定义为字符串型,学生通讯录数据类型定义为结构体类型。

然而为了更加方便,添加了抽象数据类型类book,再私有继承了以结构体存储的学生数据。

主程序及各程序层次关系以下是系统功能模块关系图,主要包含查询、添加、修改、删除联系人和关闭系统等功能。

另外还提供了键盘式选择菜单实现功能选择。

图系统功能模块关系图查询联系人:可以选择用姓名和电话两种方式查询添加联系人:可以添加通讯录记录,依次输入姓名、电话、qq、邮编和地址修改联系人:输入欲修改联系人姓名后,再依次输入修改姓名、电话、qq、邮编和地址即可完成修改删除联系人:输入欲删除联系人的姓名后,会自动删除该联系人的记录内容关闭系统:选择相关操作进行系统正常关闭,保存有效数据记录3 详细设计实现数据类型(1)以字符串类型定义通讯录中学生数据信息变量:string name;程序的调试过程中遇上了文件存储数据的正确读取错误,但经过不断查问和查阅相关书籍后,根据调试提示错误,解决了所有错误。

通过文件存储学生数据信息,使得读取信息操作更加方便、省事;2.在执行操作时,是根据文件搜索算法,去获取学生数据信息。

使得在时间和空间上读取数据都要更加快捷、省事。

数据结构课程设计学生信息管理系统

数据结构课程设计学生信息管理系统

数据结构课程设计学生信息管理系统一、引言学生信息管理系统是一种常见的信息管理系统,它可以方便地对学生的基本信息进行管理和查询。

在数据结构课程设计中,我们需要设计一个学生信息管理系统,使用数据结构来存储和处理学生的信息。

二、需求分析1. 功能需求(1)录入学生基本信息:包括姓名、性别、年龄、专业等;(2)查询学生基本信息:可以按照姓名、年龄、专业等条件进行查询;(3)修改学生基本信息:可以修改学生的姓名、年龄、专业等;(4)删除学生基本信息:可以按照姓名或者其他条件进行删除操作;(5)统计学生人数:可以统计当前系统中的学生总人数。

2. 性能需求要求系统能够快速响应用户的操作请求,同时具备较高的稳定性和可靠性。

三、概要设计1. 数据结构选择我们选择使用链表作为存储和处理数据的数据结构。

链表具有插入和删除元素方便,而且不需要预先分配内存空间。

2. 数据结构定义我们定义了一个名为“Student”的结构体,包括以下成员变量: typedef struct Student {char name[20]; // 学生姓名char gender[10]; // 学生性别int age; // 学生年龄char major[20]; // 学生专业struct Student *next; // 指向下一个学生的指针} Student;我们还定义了一个头指针,用于指向链表的头节点:Student *head = NULL;3. 系统流程设计(1)录入学生基本信息:用户输入学生的姓名、性别、年龄、专业等信息,然后将这些信息存储到一个新的Student结构体中,最后将该结构体插入到链表中。

(2)查询学生基本信息:用户输入查询条件(如姓名、年龄、专业等),然后遍历整个链表,找到符合条件的学生并输出其基本信息。

(3)修改学生基本信息:用户输入要修改的学生姓名,然后找到该学生在链表中对应的结点,再让用户输入新的信息进行修改。

学生信息管理系统数据结构课程设计

学生信息管理系统数据结构课程设计

华中科技大学文华学院数据结构课程设计报告题目:学生信息管理系统专业:计算机应用与技术学号:姓名:指导老师:时间:一、总体框架图1、题目:学生信息管理系统2、设计内容及要求:内容:完成简单的学生信息管理系统要求:(1)学生信息包括:学号、、数学成绩、英语成绩、数构成绩;(2)用链表存放学生信息;(3)实现简单的菜单调用;(4)程序的功能包括:学生信息链表的建立;学生信息的显示;学生信息的查询;学生信息的删除;学生信息的插入;编写算法,以实现基本要求。

二、本程序用到的基本操作InintList(&l):操作结果:构造一个空的线性表L。

DestroList(&L)初始条件:线性表已存在。

操作结果:销毁线性表。

ListInsert(&L,i,e)初始条件:线性表L已存在,操作结果:在L中第i 个位置之前插入新的数据元素e。

L的长度加1.ListDelete(&L,i,e)初始条件:线性表L已存在且非空操作结果:删除L的第i个数据元素,并用e返回其值,L的长度减1.}ADT List三、模块设计模块一:头文件,变量定义,函数的声明对系统所使用的变量进行定义,对函数进行声明模块二:结构体的建立,定义学生的学号,名字,和各成绩模块三:学生信息系统使用菜单声明函数void menu(),对整个系统进行明模块四:链表的建立,用void creat()来建立链表模块五:显示学生信息,声明void print()显示学生的信息模块六:学生信息的查找声明void search()为查找函数,通过switch(a)设定用学号查找,用姓名查找两个分支模块七:删除学生信息通过void delete()实现学生信息的删除,确定要删除的信息,再删除掉。

模块七:插入学生信息,通过void insert()为插入函数,通过switch(a)插入到指定学生的后面。

模块八:学生信息按学号排序声明void sort()将录入学生系按升序排列,用的是“冒泡排序法”实现排序四、系统设计流程图五、源代码#include "stdio.h"#include "stdlib.h"#include "string.h"#define STUDENT 2typedef struct student{int num; //学号char name[20]; //int math;//高数int English;//英语int Data;//数据结构struct student *next;}student;student *head=NULL;int length; //链表的长度void create(){student *p1,*p2;length=0;int number=0;p1=(student *)malloc(sizeof(student));p1->num=-1;if(head==NULL)head=p1;printf("请输入学生的学号、、高数、英语、数据结构:\n");while(number<=3){p2=(student *)malloc(sizeof(student));scanf("%d %s %d %d %d",&p2->num,p2->name,&p2->math,&p2->English,&p2-> Data); //输入学生信息if(p2->num==0){printf("链表创建完成!\n");break;}length++; //链表的长度p1->next=p2;p2->next=NULL;p1=p1->next;number++;}return ;}void display(){student *p=head->next;printf("链表中所有的学生信息如下:\n");while(p!=NULL){printf("%d %s %d %d %d\n",p->num,p->name,p->math,p->English,p->Data);p=p->next;}return ;}void search(){int num_;student *p=head->next;printf("需要查找的学生学号为:");scanf("%d",&num_);while(p!=NULL){if(p->num==num_){printf("学号为%d的学生的信息如下:\n",num_);printf("%d %s %d %d %d\n",p->num,p->name,p->math,p->English,p->Data);return;}p=p->next;}if(p==NULL)printf("无此记录!\n");return ;}void search1()char na_me[20];student *p=head->next;printf("需要查找的学生姓名为:");scanf("%s",na_me);while(p!=NULL){if(!(strcmp(p->name,na_me))){printf("姓名为%s的学生的信息如下:\n",na_me);printf("%d %s %d %d %d\n",p->num,p->name,p->math,p->English,p->Data);return;}p=p->next;}if(p==NULL)printf("无此记录!\n");return ;}void insert(){int num_,i;student *p,*q;p=head;printf("请输入你要插入位置: ");scanf("%d",&num_);if(num_>length){printf("找不到要插入的位置\n");return ;}else{printf("请输入你要插入的学生的学号、、高数、英语、数据结构:\n");q=(student *)malloc(sizeof(student));scanf("%d %s %d %d %d",&q->num,q->name,&q->math,&q->English,&q->Data);while(p!=NULL){if(p->num==q->num){printf("该学号已经存在,无法插入!\n");return ;}p=p->next;}p=head;for(i=0;i<num_;i++)p=p->next;q->next=p->next;p->next=q;length++;printf("插入成功!\n");return ;}}void Delete(){student *p,*q;q=head,p=head->next;printf("请输入要删除的学生的学号:\n"); scanf("%d",&num_);while(p!=NULL){if(p->num==num_){q->next=p->next;free(p);length--;printf("删除成功!\n");return ;}p=p->next;q=q->next;}if(p==NULL){printf("找不到要删除的编号!\n");}}void menu(){printf("________________________________________________________________\n");printf("| 学生信息管理系统|\n");printf("| 0、退出系统|\n");printf("| 1、建立链表|\n");printf("| 2、显示链表|\n");printf("| 3、查找链表中的某个学生信息|\n");printf("| 4、删除链表中指定学号的学生|\n");printf("| 5、指定的位置上插入一个学生|\n");printf("________________________________________________________________\n");return ;}int main(void){int a;menu();while(1){printf("请选择相应的功能:");scanf("%d",&a);switch(a){case 0:return 0;case 1:create();menu();break;case 2:if(head){display();menu();}else{printf("链表为空,请先建立链表!\n");menu();}break;case 3:if(head){printf("请选择是按学号查找还是按姓名查找,若是学号就按7,姓名按8\n");scanf("%d",&choice);if(choice==7){search();}else{search1();}menu();}else{printf("链表为空,请先建立链表!\n");menu();}break;case 4:if(head){Delete();menu();}else{printf("链表为空,请先建立链表!\n");menu();}break;case 5:if(head){insert();menu();}else{printf("链表为空,请先建立链表!\n");menu();}break;default:break;}}system("pause");return 0;}六、程序结果建立链表显示链表查询学生信息按学号查按姓名查删除信息插入信息退出系统七、心得体会这次的《学生信息管理系统》的设计中,使我懂得课堂上的知识,必须要通过实践操作才能掌握。

数据库课程设计(学生管理系统)-附代码

数据库课程设计(学生管理系统)-附代码

数据库课程设计报告题目:学生信息管理系统院系名称:计算机学院专业名称:班级:学生姓名:学号(8位):指导教师:设计起止时间:2011年12月19日~2011年12月30日一. 设计目的1、掌握DBMS的基本工作原理2、培养数据库应用系统设计的基本思路和方法3、培养分析、解决问题的能力二. 设计内容利用数据库实现对学生信息的管理所用数据库:sqlserver 2008开发语言:java、开发工具:eclipse三.概要设计通过访问数据库实现以下功能:1、不同用户权限登陆系统2、用户密码修改3、学生信息的添加、查询、修改、浏览1.功能模块图2.各个模块详细的功能描述。

1、系统用户管理模块管理员和普通用户通过这个模块登陆系统,不同的用户用不同的用户名登陆,通过选择登陆模式(管理员或者普通用户)登陆系统,完成不同的操作。

两种用户都可以对自己的登陆密码进行修改。

新用户可进行注册操作,注册后登陆,并进行信息的完善。

2、学生信息管理模块管理员和普通用户对学生信息由不同的操作。

管理员可以对信息进行增加,删除,修改和列表查看,普通用户对自己的信息可进行查询,和修改。

四.详细设计1.功能函数的调用关系图2.各功能函数的数据流程图3.重点设计及编码、--学生信息表--create table studentinfo(Sid int primary key identity(1,1),Sname varchar(30) not null,Ssex varchar(10) check(Ssex='男' or Ssex='女'),Snumber varchar(8) check(Snumber like '0409[0-9][0-9][0-9][0-9]') not null,Sprofession varchar(30),Sclass varchar(20),Sdate datetime default getDate());--普通用户登陆信息表--create table userinfo(id int primary key identity(1,1),name varchar(30) not null,mima varchar(20) not null);--管理员登陆信息表--create table userinfo(id int primary key identity(1,1),name varchar(30) not null,mima varchar(20) not null);--连接数据库—try{Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");}catch(ClassNotFoundException e){System.out.print("加载驱动程序失败");}String conURL="jdbc:sqlserver://localhost:1433; DatabaseName=SIMS";try{Connectioncon=DriverManager.getConnection(conURL,"sa","majie");Statement st=con.createStatement();、}catch(SQLException g){System.out.println("错误代码:"+g.getErrorCode());System.out.println("错误内容:"+g.getMessage());}五.测试数据及运行结果1.正常测试数据和运行结果登录信息查询修改信息2.异常测试数据及运行结果六.调试情况,设计技巧及体会1.改进方案本次课程设计实现了系统的基本功能,做的不是很复杂,跟预期想的结果有些差距,数据库表的设计有点简单,下来还要增加表的复杂度,以及触发器的使用。

数据结构_利用单链表实现学生基本信息管理_课程设计_实验报告

数据结构_利用单链表实现学生基本信息管理_课程设计_实验报告



课程设计目的和意义
1、课程设计目的: (1)学会单链表结点的定义 (2)掌握单链表的基本运算,熟悉对单链表的一些基本操作和具体函数的 定义。 (3)加深对链表的理解,逐步培养解决实际问题的编程能力 (4)创建一个初始链表,通过调用定义的基本操作函数来实现单链表上的 插入、删除元素等操作。调试程序并对相应的输出做出分析;修改输入数据,预 期输出并验证输出的结果。加深对有 关 2、课程设计意义: 一般来讲,课程设计教学实验复杂一些,深度更广并且更加接近实用.通过课 程设计的综合训练,培养学生实际分析问题,编程和动手能力,使学生 对数据结 构进行更深一层的了解,培养同学们对学习数据结构这门课程的兴趣, 让同学们 学会如何去查找资料和整合处理这些资料的能力, 也为以后的大学毕业 设计论 文打下了一个初步的基础.这些课程设计都是比较难的,要分成几个小项 目, 几 个学生一组, 培养团队协作精神. 最终帮助学生系统掌握课程的主要内容, 更 好地完成教学任务. 基本掌握面向过程程序设计的基本思路和方法; (2)达到熟 练掌握数据结构的基本知识和技能;(3)能够利用所学的基本知识和技能,解决 简单的程序设计问题.
-2-
要求利用 C 语言面向过程的编程思想来完成系统的设计; 突出 C 语言的函数特征,以多个函数实现每一个子功能; 画出功能模块图; 进行简单界面设计,能够实现友好的交互 具有清晰的程序流程图和数据结构的详细定义; 熟练掌握 C 语言对文件的各种操作。
一 : 课程设计目的和意义........................................................................................................- 1 1、课程设计目的:..............................................................................................................- 1 2、课程设计意义:..............................................................................................................- 1 二 :需求分析与要求 :............................................................................................................ - 1 1、程序功能:...................................................................................................................... - 1 2、基本要求:...................................................................................................................... - 2 3、功能要求:...................................................................................................................... - 2 (1)信息录入功能:..................................................................................................- 2 (2)查询功能:..........................................................................................................- 2 (3)插入功能:..........................................................................................................- 2 (4)删除功能:..........................................................................................................- 2 (5)输出功能:..........................................................................................................- 2 4、说明:.............................................................................................................................. - 2 5、输入输出的形式:..........................................................................................................- 3 6、开发环境:...................................................................................................................... - 3 三、概要设计:............................................................................................................................ - 3 四、模块图:................................................................................................................................ - 5 五、详细设计:............................................................................................................................ - 5 六、 运行结果与分析:............................................................................................................- 10 1 、主界面.......................................................................................................................... - 10 2.建立学生信息表.............................................................................................................. - 11 3、查询某学生的所有信息。............................................................................................- 11 4.插入学生信息.................................................................................................................. - 12 5、删除某学生的所有信息。............................................................................................- 13 七 、总结:................................................................................................................................ - 14 八:源代码.................................................................................................................................. - 14 九、参考文献.............................................................................................................................. - 19 -

学生信息管理系统(完整)

学生信息管理系统(完整)

学生信息管理系统(总体设计)1、管理系统功能模块设计本系统需要完成的功能主要有:(1)、输入学生基本信息、所在班级、所学课程和成绩等。

(2)、学生信息的查询,包括查询学生基本信息、所在班级、已学课程和成绩等。

(3)、学生信息的修改。

(4)、班级信息的输入,包括输入班级设置、年级信息等。

(5)、班级信息的查询。

(6)、班级信息的修改。

(7)、班级课程信息的输入。

(8)、班级课程信息的修改。

(9)、学生课程添加和修改。

(10)、学生成绩信息的输入。

(11)、学生成绩信息的修改。

(12)、学生成绩信息的查询。

(13)、学生成绩信息的统计。

2、功能模块设计:3、数据库设计:学生信息管理系统(需求分析)1.系统开发背景分析系统的功能取决开用户的需求。

随着科技进步和信息时代的到来,教育的普及程度起来起高,学校的人数也在迅速的增长,怎样的管理好成千上万的学生,已经成为一个学校的管理者必须面对的问题。

编写本报告的目的就是用最少的代价,尽可能短的时间内确定问题是否能够解决,通过对学校的一些管理软件的调研分析,发现了一些不足,所以拟做此系统,使学生信息的管理更加准确,安全和快捷。

在本次试验中包括的模块有学生信息管理、课程信息管理、成绩信息管理和班级信息管理等几项,各项管理工作涉及到的内容用下面的关系模式表示。

a)学生(学号,姓名,性别,年龄,班级,电话,备注,出生日期,入学时间,班级编号,家庭地址)b)课程(课程编号,课程名称,课程类别,学分,学时)c)班级(系,班级号,指导老师)2.系统分析1.抽象出当前系统的逻辑模型画出反映当前系统工作的数据流程图。

数据流程图是逻辑模型的图形表示,即使不是专业的计算机技术人员也能非常容易理解,它是一种很好的系统构造的表示方法。

画数据流程图是应该从已获得的人工处理流程中去掉物理因素,只保留数据、信息处理部分。

2.系统功能分析系统主要用于学校学生信息管理,主要任务是用计算机对学生各种信息进行日常管理,如:查询、修改、增加、删除。

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

题目2。

学生信息管理系统一、课程设计目的1.数据结构课程设计是综合运用数据结构课程中学到的几种典型数据结构,以及程序设计语言(C语言),自行实现一个较为完整的应用系统的设计与开发2.通过课程设计,自己通过系统分析、系统设计、编程调试,写实验报告等环节,进一步掌握应用系统设计的方法和步骤,灵活运用并深刻理解典型数据结构在软件开发中的应用。

3.学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力。

学生信息管理系统:(1)熟练掌握链表存储结构及其建立过程和常用操作;(3)学会自己调试程序的方法并掌握一定的技巧二、课程设计内容建立学生信息管理系统,通过链表实现对学生信息的输入,查找,删除,插入和排序等操作。

三、需求分析1.每位学生的信息有:学号,姓名,性别,出生日期,E—mile,电话,c成绩,数学成绩等,用链表对学生的信息进行存储。

2.全部数据可以只放在内存中;3.系统能实现的操作和功能如下:a)输入学生信息:对不同学生分别输出下列信息:学号,姓名,性别,出生日期,E—mile,电话,c成绩,数学成绩等。

b) 查找学生信息:根据学生的学号或姓名对学生的信息进行查找。

c)删除学生信息:删除某个学生的所有信息。

d) 插入学生信息:将某个学生的信息插入到已经输入的信息中.e)显示学生信息:将所有学生的信息显示出来.f)排序:将所有学生按某个学科的成绩依次排序。

四、概要设计1.系统结构图(功能模块图)2.功能模块说明①.输入学生信息,creat()函数:建立单向链表,组织循环,将学生的信息依次录入.②:查找学生信息:a.按学号查找,find1()函数;b。

按姓名查找,find2()函数;③.删除学生信息,del()函数:建立指针,在链表中寻找要删除信息的学生的学号,找到后p—〉next=p—〉next-〉next,将其删除。

④.插入学生信息,insert()函数;输入要插入的信息,建立指针,寻找要插入的节点。

⑤.显示学生信息,print()函数;将以存在的学生信息输出⑥.按某科成绩对学生进行排序,sort()函数;五、详细设计及运行结果1。

菜单:2。

creat()函数。

Compare()Add添加且输入np!=null输入信息p=p->nextp==null存入链表显示最终结果fclose(fp)结束3. find ()函数.查找成功,输出输入学生信息p :null否find()p->num:num !==没有该学生信息=结束find1():find2():3。

del()函数。

没有该学生信息输入学号del()p:null =结束p:null 否p->num:num!=否p0->next=p->next 删除成功4。

insert()函数。

5. print()函数.没有该学生信息输入信息insert()p->num:a !=结束head:null 否p->p->next!=否s->next=hesd,hesd=s插入成功q->next=s;s->next=p插入成功=是6. sort()函数。

排序完毕,输出信息sort ()结束head:null 否没有学生信息可以查询是p->next:t->nextt->next=p分数大的放在前面,p 始终指向第一个节点p :null !==六、调试情况,设计技巧及体会通过这次课程设计,我对这门课又有了一个新的理解,最大的喜悦不是写出程序,而是从中学会了怎么去写,该如何去写,在老师的严格监督下,自己也养成了独立思考的习惯,真的从中得到了很多好处,从思想到着手,所有都是程序化的,必须踏踏实实的来.通过学生信息管理系统的设计,使我对链表有了更深的了解,也懂得了如何用链表进行输入,插入,排序等操作,两个礼拜的实习很快就过去了,这一次真的学到了很多东西,我也将会将自己所学到的东西用到自己以后的学习中去。

七、参考文献C语言程序设计—-——-——-——--——科学出版社数据结构(C语言描述)---—-清华大学出版社数据结构(使用C语言)——-——电子科技大学出版社八、附录:源代码#include〈stdio。

h〉#include〈string。

h〉#include<stdlib.h〉#define N sizeof(struct stu)void clearscreen() /*清屏函数*/{getchar();system(”cls”);}struct date /*定义出生年月日的结构体*/{int year;int mouth;int day;};struct stu /*定义学生信息的结构体*/{ int number;char name[30];char sex[5];struct date birthday;char mail[30];char phone[30];int cscore,mscore;struct stu *next;};/*输出函数*/int print(struct stu *p){while(p!=NULL) /*如果P所指的结点不为空执行循环*/{ printf(”学号姓名性别出生日期E—mail 电话C成绩数学成绩\n”);printf(” %2d%6s%6s%8d—%2d—%2d%11s%11s%6d%8d\n",p-〉number,p—>name,p-〉sex,p—>birthday。

year,p—>birthday.mouth,p-〉birthday.day,p—〉mail,p-〉phone,p—〉cscore,p—>mscore);p=p-〉next;}printf(”\n\n按回车键返回\n\n”);getchar();return 0;}/*创建链表*/struct stu *creat(){ struct stu *p,*head;int i,k;printf(”请输入学生的数:\n”);scanf("%d",&k);p=head=(struct stu *)malloc(N);printf("请输入学号\n”);scanf(”%d",&p—〉number);printf(”姓名\n”);scanf(”%s”,&p—〉name);printf(”性别\n");scanf(”%s”,&p-〉sex);printf(”出生日期\n");scanf("%d-%d—%d”,&p—>birthday。

year,&p—>birthday。

mouth,&p—>birthday.day);printf(”E—mail\n”);scanf("%s”,&p—〉mail);printf(”电话\n”);scanf(”%s”,&p—>phone);printf(”c成绩\n”);scanf("%d”,&p—>cscore);printf(”数学成绩\n");scanf(”%d”,&p->mscore);if(k〉1)for(i=1;i<k;i++){ p—>next=(struct stu *)malloc(N);p=p-〉next;printf(”请输入学号\n”);scanf(”%d",&p—〉number);printf(”姓名\n”);scanf("%s",&p-〉name);printf(”性别\n”);scanf(”%s”,&p->sex);printf("出生日期\n”);scanf("%d—%d—%d”,&p—〉birthday.year,&p—〉birthday.mouth,&p—>birthday。

day);printf("E-mail\n”);scanf("%s",&p—〉mail);printf("电话\n");scanf(”%s”,&p->phone);printf(”c成绩\n”);scanf("%d",&p—〉cscore);printf(”数学成绩\n”);scan f(”%d”,&p—>mscore);}p-〉next=NULL;return head;}/*查找链表*/struct stu *find1(struct stu *p){ int number;if(p==NULL){printf("\n提示:没有资料可以查询!\n");return 0;}printf(”请输入要查找的学生学号:”);scanf(”%d”,&number);while(p!=NULL){if(p—>number==number){return(p);break;}elsep=p->next;}return NULL;}struct stu *find2(struct stu *p){char name[30];if(p==NULL){printf("\n提示:没有资料可以查询!\n”);return 0;}printf(”请输入要查找的学生姓名:”);scanf(”%s",name);while(p!=NULL){if(strcmp(p-〉name,name)==0)return(p);elsep=p—〉next;}return NULL;}/*删除链表*/int del(struct stu **h){int number;struct stu *p,*p0;if(*h==NULL)return 0;printf("请输入要删除的学号\n”);scanf("%d",&number);p0=*h;if(p0—〉number==number){*h=p0—〉next;free(p0);return 1;}p=p0—>next;while(p!=NULL){if(p-〉number==number){p0—〉next=p—>next;free(p);return 1;}p0=p;p=p—〉next;}printf(”\n按回车键返回\n”);getchar();return 0;}/*插入链表*/int insert (struct stu **h){struct stu *p,*p0;p=(struct stu *)malloc(N);printf(”请输入要插入的学号\n”);scanf("%ld”,&p—〉number);p0=*h;if(p0—>number==p—>number)return 0;printf("姓名\n");scanf("%s”,&p->name);printf("性别\n”);scanf(”%s”,&p—〉sex);printf(”出生日期\n”);scanf(”%d%d%d”,&p—〉birthday.year,&p->birthday.mouth,&p-〉birthday.day);printf(”E—mail\n");scanf(”%s”,&p->mail);printf(”电话\n”);scanf("%s",&p-〉phone);printf(”c成绩\n”);scanf(”%d”,&p—>cscore);printf("数学成绩\n");scanf(”%d”,&p—〉mscore);p—〉next=NULL;if(*h==NULL){*h=p;return 1;}p0=*h;if(p0—>number〉p-〉number){p—>next=*h;*h=p;return 1;}while(p0-〉next!=NULL&&p0->next—>number〈p—〉number)p0=p0->next;if(p0—>next==NULL){p0—〉next=p;return 1;}p—〉next=p0—〉next;p0—〉next=p;printf(”\n\n按回车键返回\n\n");getchar();return 1;}/*排序*/struct stu* sort(struct stu *p0){struct stu *t,*p,*q,*z;if(p0==NULL){printf("没有学生信息可排序!\n”);return 0;}if((p0==NULL)||(p0—>next==NULL))/*当节点不存在或者只有一个节点时*/ {return p0;}t=p0;p=t-〉next;t—〉next=NULL;/*将头节点孤立出来*/while(p) /*t始终指向头节点*/{q=p-〉next;if(p->cscore〉t->cscore)/*用头节点的后一个节点与头节点进行比较*/{p—〉next=t;/*将分数大的放在前面*/t=p; /*t始终指向当前第一个节点*/}else{z=t;while(z—>next&&z-〉next->cscore>=p-〉cscore)z=z—〉next;p->next=z—〉next;z-〉next=p;}p=q;}p0=t;return p0;}void main()struct stu *head,*p;int a;int b;printf("*****************************西安邮电学院学生管理系统***************************\n”);printf(”要进入系统请按任意键\n");getchar();printf("*****************************欢迎您!您已进入管理系统***************************\n");printf("*********************************学生成绩管理系统*******************************\n”);do{clearscreen();printf(”学生纪录操作:\n”);printf(”1:输入学生信息\n");printf("2:查找学生信息\n");printf(”3:删除学生信息\n”);printf(”4:插入学生信息\n");printf(”5:显示学生信息\n");printf(”6:按C语言成绩排序\n”);printf(”0:退出系统\n");printf("请选择(0~6):”);scanf("%d",&b);switch(b){case 1:head=creat();print(head);break;case 2:printf(”请输入要查找的种类:如为学号请输1,如为姓名请输2:\n");scanf(”%d”,&a);switch(a){case 1:p=find1(head);break;case 2:p=find2(head);break;}if(p){printf(”找到情况如下:\n");getchar();printf(”学号:%d 姓名:%s 性别:%s 出生日期:%d—%d—%d E—mail:%s 电话:%s C成绩:%d 数学成绩:%d\n”,p—>number,p—>name,p->sex,p->birthday.year,p—〉birthday。

相关文档
最新文档