1、所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段.但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差,人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着来越重要的作用。作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学校信息管
2、理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。1.3 项目开发的目标 建立学生信息管理系统,采用计算机对学生信息进行管理,进一步提高办学效益和现代化水平。帮助广大教师提高工作效率,实现学生信息管理工作流程的系统化、规范化和自动化。4 开发工具的选择现在,市场上可以选购的应用开发产品很多,流行的也有数十种。目前在我国市场上最为流行、使用最多、最为先进的可用作企业级开发工具的产品有:Microsoft公司的VisualC+6。0,TurboC等.本系统在MicrosoftVisual0下开发。1.2 面向过程编程的基础知识1.2.1 面向过程基本概念面向过程其实是最为实际的一种思
3、考方式,就是算面向对象的方法也是含有面向过程的思想。可以说面向过程是一种基础的方法。它考虑的是实际的实现。一般的面向过程是从上往下步步求精。所以面向过程最重要的是模块化的思想方法。对比较面向对象,面向对象的方法主要是把事物给对象化,对象包括属性与行为.当程序规模不是很大时,面向过程的方法还会体现出一种优势,因为程序的流程很清楚,按着模块与函数的方法可以很好的组织.1.2。2 使用面向过程的C语言简介1. C语言C言是一种面向过程的计算机程序设计语言,它是目前众多计算机语言中举世公认的优秀的结构程序设计语言之一。它由美国贝尔研究所的D.M.Ritchie于1972年推出。1978后,C语言已先后
4、被移植到大、中、小及微型机上. C语言发展如此迅速,而且成为最受欢迎的语言之一,主要因为它具有强大的功能。许多著名的系统软件,如DBASE 都是由C 语言编写的。用C 语言加上一些汇编语言子程序,就更能显示C 语言的优势了,像PC DOS 、WORDSTAR等就是用这种方法编写的。2. C 语言特点:C语言是一种成功的系统描述语言,用C语言开发的UNIX操作系统就是一个成功的范例;同时C语言又是一种通用的程序设计语言,在国际上广泛流行.世界上很多著名的计算公司都成功的开发了不同版本的C语言,很多优秀的应用程序也都使用C语言开发的,它是一种很有发展前途的高级程序设计语言。1. C是中级语言。它把
5、高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。 2。C是结构式语言。结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。3.C语言功能齐全.具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。另外C语言也具有强大的图形功能,支持多种显示器和驱动器。而且计算功能、逻辑判断功能也比较强大,可以
6、实现决策目的的游戏。4. C语言适用范围大。适合于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。 C语言对编写需要硬件进行操作的场合,明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的. C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言。5.C语言文件由数据序列组成,可以构成二进制文件或文本文件 常用的C语言IDE(集成开发环境)有Microsoft Visual C+,Dev-C+,Code::Blocks,Borland C+,Watcom C+ ,Borland C+ Bu
7、ilder,GNU DJGPP C+ ,Lccwin32 C Compiler 3。1,High C,Turbo C,C-Free,win-tc 等等 对于一个初学者,Microsoft Visual C+是一个比较好的软件.界面友好,功能强大,调试也很方便。第2章 需求分析学籍管理系统应具有如下1、能录入学生的基本信息,包括学号、姓名、专业、年级、性别和出生日期信息,保存到结构体数组中。2、能根据输入的学号查找学生,进行信息的修改。3、能根据输入的学号从结构体数组中删除学生的记录。4、实现查询功能,能根据输入的学号或年级在屏幕上显示相应的学生信息。5、能在屏幕上以列表的方式输出所有学生的信息
8、.1 目标(1)掌握和利用C语言进行程序设计的能力。(2)理解和运用结构化程序设计的思想和方法。(3)掌握开发一个小型实用系统的基本方法。(4)学会调试一个较长程序的基本方法。(5)掌握书写程序设计开发文档的能力(书写课程设计报告).2.2 要求(1)用C语言实现系统。(2)利用结构体链表实现学生成绩的数据结构设计。(3)系统具有增加、查询、插入、排序等基本功能.(4)系统的各个功能模块要求用文件的形式实现。(5)完成设计任务并书写课程设计报告.(6)将学生成绩信息存在文件中。2.3 学生成绩管理系统的功能1-按学号查询学生信息2按姓名查询学生信息3-显示所有学生信息4-根据学号、姓名、单科成
9、绩进行排序5-添加学生信息6-删除学生信息7修改学生信息8-保存学生信息文件9读入学生信息文件0退出此项目主要考察我们对结构体、指针、文件的操作,以及C语言算法的掌握,所以完成此题目要求较高的设计能力,尤其是要有大局意识。如何调试程序也非常重要,通过这个程序可学到以前调试程序没有的经验。第3章概要设计将学生成绩管理系统划分为以下几个模块3.1主模块功能概述: 提供系统菜单的显示功能 提供打开文件,并导入文件记录的功能3. 提供保存文件信息的功能3.2 添加学生信息功能:1 根据输入的相关信息,将学生信息添加到单向链表中 3.3 显示学生信息1. 将链表中的所有信息完全显示3。4 排序学生信息(
10、排序分为升序和降序两种排序方式)1. 根据学号进行排序 根据姓名进行排序3. 根据单科成绩进行排序4。 根据平均分进行排序3.5 查找学生信息(查找学生信息包含根据输入学号进行查找和根据输入的姓名进行查找两种方式,并根据返回的学生信息,进行以下三种操作)1. 查询学生信息,直接返回找到的信息 修改学生信息,根据找到的学生信息,对其进行修改3. 删除学生信息,根据找到的相关学生信息,从链表中删除这条记录第4章 详细设计与实现 程序设计中用到的学生信息结构体类型在单独的头文件stu.h中定义相应的数据结构体类型,全局变量,和宏名:LEN 记录结构体的大小定义学生结构体 STU,包含相关的学生信息s
11、truct student char number10; char name10; char sex; int score5; /用于记录5门课程的成绩 float average; /平均分 struct student next; /下个结点;typedef struct student STU;定义*head全局指针,作为链表的头结点static STU *head=NULL; /全局指针定义fomat字符串变量,作为录入文件的数据格式char fomat=”10s10s2c4d%4d4d%4d4d5。1fn”;定义shouldsave全局变量,判断是否需要保存资料(0为不保存,1为保存
12、)int shouldsave = 0;各相关函数的声明extern void append_record(); /添加记录extern void show_record(); /输出全部记录extern void delete_record(); /删除记录extern void change_record(); /更改记录extern void inquire_record(); /查询记录extern void sort_record(); /记录排序第5章 流程图图1.1第6章 源代码6。1 数据结构与函数声明的头文件stu。h头文件:ifndef STU_H#define STU_H
13、#includestdio。hinclude#includenext; head-next=headnext free(p); free(head); exit(0); if(head-next=NULL) printf(”n记录为空n”); return; else p=head-next; if(fp=fopen(filename,”w)=NULL)n文件不能打开n); return; while(p!=NULL) fprintf(fp,fomat,p-number,p-name,psex,pscore0,p-score1,p-score2,p-score3,p-score4,pavera
14、ge); p=pnext; count+; fclose(fp);保存完毕,共保存d条记录,是否继续?n”,count); scanf(”c”,y_n); if(y_n=y|y_n=Y) return; else head-next! head-next=head-next- free(p); free(head); printf(”n你已退出系统,再见。n”); exit(0); else printf(n你已退出系统,再见。.nvoid menu()n*n添加学生n printf(”2。显示学生n”); printf(”3.删除学生n printf(”4。修改学生n5,查询学生n printf(”6。排序学生n printf(”0。退出n”); printf(”*n请选择void openfile() /用于打开文件,形成链表 FILE *fp; STU p1=NULL,p2=NUL
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1