c语言课程设计报告学生成绩管理系统

合集下载

C语言课程设计学生成绩管理系统

C语言课程设计学生成绩管理系统

C语言课程设计学生成绩管理系统在当今数字化的时代,学生成绩管理系统对于学校和教育机构来说至关重要。

它不仅能够提高教学管理的效率,还能为教学决策提供有力的数据支持。

本次 C 语言课程设计的目标就是创建一个功能齐全、操作便捷的学生成绩管理系统。

一、系统需求分析首先,明确系统需要实现的基本功能。

包括学生信息的录入,如姓名、学号等;课程信息的设置,如课程名称、学分等;成绩的录入、修改和查询;以及成绩的统计分析,如计算平均分、排名等。

同时,系统应具备良好的用户界面,操作简单易懂,方便教师和管理人员使用。

对于数据的存储和管理,要保证数据的安全性和完整性,防止数据丢失或被篡改。

二、系统设计(一)数据结构设计选择合适的数据结构来存储学生、课程和成绩信息。

可以使用结构体来定义学生和课程的数据类型,使用数组或链表来存储多个学生和课程的信息。

例如,定义学生结构体如下:```ctypedef struct student {int id;char name50;float scores10; //假设最多 10 门课程} Student;```(二)功能模块设计将系统划分为多个功能模块,如录入模块、查询模块、修改模块、统计模块等。

每个模块负责完成特定的功能,模块之间相互独立,便于代码的维护和扩展。

录入模块负责接收用户输入的学生、课程和成绩信息,并进行合法性检查。

查询模块可以根据用户输入的条件,如学号、姓名、课程名称等,查询相应的学生成绩信息。

修改模块允许用户对已录入的成绩进行修改,但需要进行权限验证。

统计模块用于计算学生的平均分、总分,并进行排名。

(三)界面设计设计简洁明了的用户界面,使用菜单选项让用户选择不同的功能。

可以使用控制台输入输出的方式,也可以考虑使用图形界面库来实现更友好的界面。

三、系统实现(一)数据输入与存储使用文件来存储学生成绩数据,便于数据的持久化。

在程序启动时,读取文件中的数据;在程序结束时,将修改后的数据保存回文件。

学生成绩管理系统c语言课程设计报告

学生成绩管理系统c语言课程设计报告

学生成绩管理系统c语言课程设计报告一、引言学生成绩管理系统是一个为学校或教育机构提供学生学业成绩管理的重要工具。

通过该系统,可以方便地记录和查询学生的各项成绩,帮助教师和学生了解学生的学业表现,及时作出教学和学习的调整和改进。

本文将介绍一个基于C语言的学生成绩管理系统的设计与实现。

二、需求分析1. 学生信息管理:包括学生基本信息的录入、修改和删除。

2. 成绩信息管理:包括成绩的录入、修改和删除。

3. 成绩查询与统计:可以按照学生学号或姓名查询学生的成绩,并能够进行成绩的统计分析,如计算平均分和排名等。

4. 数据存储与备份:能够将学生信息和成绩信息存储在文件中,并能够进行数据的备份和恢复。

三、系统设计1. 学生信息管理模块:设计一个结构体来存储学生的基本信息,包括学号、姓名、性别、年龄等。

通过菜单选择,可以实现学生信息的录入、修改和删除功能。

2. 成绩信息管理模块:设计一个结构体来存储学生的成绩信息,包括科目名称和成绩。

通过菜单选择,可以实现成绩信息的录入、修改和删除功能。

3. 成绩查询与统计模块:通过学号或姓名查询学生的成绩,并能够进行成绩的统计分析,如计算平均分和排名等。

4. 数据存储与备份模块:设计文件操作函数,将学生信息和成绩信息存储在文件中,并能够进行数据的备份和恢复。

四、系统实现1. 使用C语言编写程序代码,通过结构体和数组等数据结构实现学生信息和成绩信息的存储。

2. 利用文件操作函数实现数据的读取和存储,包括学生信息和成绩信息的存储和备份。

3. 设计菜单界面,通过用户选择来实现各个功能模块的调用。

五、系统测试与优化1. 针对各个功能模块进行测试,验证系统的正确性和稳定性。

2. 根据测试结果优化程序代码,提高系统性能和用户体验。

3. 完善系统功能,考虑异常情况的处理,提高系统的容错性和健壮性。

六、总结与展望通过本次课程设计,我们成功实现了一个基于C语言的学生成绩管理系统。

该系统能够方便地记录和查询学生的成绩信息,帮助教师和学生进行教学和学习的分析和改进。

C语言课程设计_学生成绩管理系统

C语言课程设计_学生成绩管理系统

部署步骤:安装 操作系统、安装 数据库、安装应 用软件等
维护方案:定期 备份数据、定期 检查系统、定期 更新软件等
系统维护方案
定期备份数据: 确保数据安全, 防止数据丢失
定期更新系统: 确保系统安全, 防止病毒和恶意 软件攻击
定期检查硬件: 确保硬件正常运 行,防止硬件故 障
定期培训员工: 确保员工熟悉系 统操作,提高工 作效率
06 系统测试与优化
单元测试
目的:验证单个模块或功能的正确 性
测试内容:功能测试、性能测试、 兼容性测试、安全性测试
添加标题
添加标题
添加标题
添加标题
测试方法:白盒测试、黑盒测试、 灰盒测试
测 试 工 具 : JU n it 、 Te s t NG 、 Selenium等
集成测试
目的:验证系统各模块间的接口和交互是否正常 测试方法:黑盒测试、白盒测试、灰盒测试 测试内容:功能测试、性能测试、安全测试、兼容性测试 测试工具:JMeter、Selenium、Appium等
系统性能优化
性能测试:使用自 动化工具进行性能 测试,如JMeter、 LoadRunner等
性能瓶颈分析:分 析性能测试结果, 找出性能瓶颈,如 数据库查询、网络 延迟等
性能优化:针对性 能瓶颈进行优化, 如优化数据库查询 、减少网络延迟等
性能监控:建立性 能监控体系,实时 监控系统性能,及 时发现和解决性能 问题
学生成绩管理系统是一个用 于管理学生成绩的软件系统
Байду номын сангаас
系统采用模块化设计,易于 维护和扩展
系统支持多种数据格式,如 Excel、CSV等,方便数据
导入和导出
系统目标
提高学生成绩管理效率 方便教师查询、统计和分析学生成绩 提供个性化学习建议和指导 促进家校沟通,提高家长对学生成绩的了解

c语言成绩管理系统课程设计报告

c语言成绩管理系统课程设计报告

c语言成绩管理系统课程设计报告一、引言:成绩管理系统是一种可以有效管理学生课程成绩的工具。

通过该系统,教师可以方便地录入、修改和查询学生的成绩,而学生和家长也可以方便地查看自己的成绩情况。

本次课程设计旨在设计一个基于C语言的成绩管理系统,实现对学生课程成绩的录入、修改和查询等功能。

二、系统设计:1. 数据结构设计:为了实现成绩管理系统的各项功能,需要设计相关的数据结构。

对于学生信息,可以设计一个结构体,包含学号、姓名、性别等字段;对于课程成绩,可以设计一个结构体,包含学号、课程名称、成绩等字段。

2. 功能设计:(1) 学生信息录入功能: 教师可以通过输入学生的学号、姓名、性别等信息,将学生信息录入系统中。

(2) 成绩录入功能: 教师可以通过输入学生的学号和课程名称,将学生的课程成绩录入系统中。

(3) 成绩修改功能: 教师可以根据学生的学号和课程名称,修改学生的课程成绩。

(4) 成绩查询功能: 学生和家长可以通过输入学生的学号,查询学生的课程成绩。

三、系统实现:1. 用户界面设计:使用C语言中的控制台窗口,通过菜单的方式显示系统功能选项,用户可以通过键盘输入选择对应的功能。

2. 数据存储设计:使用文件存储学生信息和课程成绩。

通过读取和写入文件的方式,实现数据的持久化存储。

3. 功能实现:(1) 学生信息录入功能的实现: 用户输入学生的学号、姓名、性别等信息后,将学生信息写入文件。

(2) 成绩录入功能的实现: 用户输入学生的学号、课程名称和成绩后,将成绩信息写入文件。

(3) 成绩修改功能的实现: 用户输入学生的学号、课程名称和新的成绩后,根据学号和课程名称找到对应的成绩信息并修改。

(4) 成绩查询功能的实现: 用户输入学生的学号后,根据学号在文件中查找对应的成绩信息并显示在控制台窗口。

四、系统测试:对于每一个功能,设计相应的测试用例,验证系统的正确性和稳定性。

例如,录入一个学生信息后,查询该学生的信息是否正确;录入一门课程成绩后,修改该成绩并查询是否修改成功等。

C语言课程设计报告(学生成绩管理系统)

C语言课程设计报告(学生成绩管理系统)

C语言课程设计报告:学生成绩管理系统系统需求一、当前学生信息:通过结构体struct student 来保存学生的姓名,学号,性别,语文,数学,英语和计算机等等相关信息,并且通过cin函数来进行给当前学生输入初始信息。

二、学生成绩查询: 输入一个学号,在文件中查找此学生, 若找到则输出此学生的全部信息和成绩;若找不到则输出查找失败的信息。

同时也可以全部把各科的平均成绩,最高和最低分输出.三、新生插入:通过给该生的学号来和原班上的学生的学号比较大小,若大就在后,若小则靠前排,将此生的信息保存下来.四、输出全部学生信息和全部学生成绩。

五、退出系统.六、附加说明:系统将来完善的功能有:可以通过性别来模糊查询,也可以通过姓名的姓来先进行模糊查询,以便后面精确查找。

总体设计一、仔细阅读系统要求,首先将此系统化分为如下模块(即如下函数)1、输入初始的学生信息:其中包括学生的姓名、学号和性别以及学生的语文、数学、英语和计算机等相关信息;可用函数cin(stu *p1)来实现此操作。

2、查询模块:可用stu *lookdata(stu *p1)来实现。

找到就输出此学生全部信息包括学生的语文、数学、英语和计算机等的成绩。

3、插入模块:可用insert( )函数来实现。

其中通过学号的大小来比较的,并且以此来排序.4、输出学生的信息以及成绩:通过学生的姓名来查看学生的语文、数学、英语和计算机等相关成绩,同时也可以分别通过caverage()、maverage()、eaverage() 和comaverage() 来输出语文、数学、英语和计算机等成绩的平均分数、最高和最低分数。

5、退出系统:可用一个函数exit()来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。

二、系统主模块结构图:详细设计一、界面设计此系统界面采用图形和数字化菜单设计。

主界面设计如下:学生成绩管理系统请选择相应的数字执行相应的功能:1:是否输入其他数据2:查看数据3:插入数据4:查找数据5:更新数据6:保留数据7:显示或打印数据8:语文成绩状况9:数学成绩状况10:英语成绩状况11:计算机成绩状况12:?13:退出系统二、数据结构设计:程序设计中用到的结构体类型:学生信息结构体类型:typedef struct student{char name[MAX];int num[MAX];char sex[MAX];int chinese;int mathematic;int english;int computer;struct student *next;}程序代码://原始密码是123456#include"stdio.h”#include"stddef.h"#include"stddef。

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

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

c语言学生成绩管理系统课程设计一、教学目标本课程的教学目标是使学生掌握C语言学生成绩管理系统的开发方法,培养学生的编程能力和实际应用能力。

具体分为以下三个部分:1.知识目标:学生需要掌握C语言的基本语法、数据结构、函数、文件操作等编程知识,了解学生成绩管理系统的需求分析和系统设计方法。

2.技能目标:学生能够运用C语言独立完成一个学生成绩管理系统的设计和实现,具备一定的编程实践能力和问题解决能力。

3.情感态度价值观目标:培养学生对计算机科学的兴趣和热情,增强学生对技术改变生活的认识,培养学生的创新精神和团队合作意识。

二、教学内容教学内容以教材《C语言程序设计》为主线,结合实际应用需求,安排如下:1.C语言基础知识:数据类型、运算符、控制结构、数组、字符串等。

2.函数与模块化编程:函数定义与调用、局部变量与全局变量、递归、文件操作等。

3.数据结构:链表、栈、队列、树等。

4.学生成绩管理系统设计:需求分析、系统设计、模块划分、编程实现等。

5.调试与优化:调试方法、性能分析、代码优化等。

三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法相结合,以激发学生的学习兴趣和主动性。

1.讲授法:用于传授C语言基本语法和编程原理,帮助学生建立扎实的理论基础。

2.案例分析法:通过分析实际案例,让学生了解学生成绩管理系统的需求分析和设计方法,提高学生的实际应用能力。

3.实验法:安排实验课,让学生动手编写代码,培养学生的编程实践能力和问题解决能力。

四、教学资源教学资源包括教材、多媒体资料、实验设备等,以支持教学内容和教学方法的实施,丰富学生的学习体验。

1.教材:《C语言程序设计》。

2.多媒体资料:教学PPT、视频教程、在线编程练习等。

3.实验设备:计算机、网络设备、编程环境等。

五、教学评估教学评估是检验学生学习成果的重要手段,主要包括以下几个方面:1.平时表现:通过课堂参与、提问、讨论等方式评估学生的学习态度和积极性。

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

c学生成绩管理系统课程设计报告一、教学目标本课程的教学目标是使学生掌握学生成绩管理系统的核心知识,包括系统的设计、实现和应用。

具体来说,知识目标要求学生了解成绩管理系统的原理、结构和常用技术;技能目标要求学生能够使用相关工具和语言进行成绩管理系统的开发和维护;情感态度价值观目标要求学生认识到成绩管理系统在教育领域的重要性,培养学生的责任感和使命感。

二、教学内容根据课程目标,教学内容主要包括成绩管理系统的原理、结构、设计和实现。

具体来说,教材的章节安排如下:1.第一章:成绩管理系统的概述,介绍成绩管理系统的定义、功能和应用场景。

2.第二章:成绩管理系统的结构与原理,讲解成绩管理系统的组成部分、工作原理和关键技术。

3.第三章:成绩管理系统的需求分析,引导学生学习如何进行需求分析,并编写需求说明书。

4.第四章:成绩管理系统的系统设计,教授系统设计的方法和技巧,包括数据库设计、界面设计和模块划分。

5.第五章:成绩管理系统的实现与测试,指导学生进行系统编码、调试和测试,确保系统功能的正确性和稳定性。

三、教学方法为了实现课程目标,我们将采用多种教学方法,如讲授法、讨论法、案例分析法和实验法。

具体来说:1.讲授法:用于讲解成绩管理系统的理论知识,帮助学生建立系统性的知识体系。

2.讨论法:鼓励学生就实际问题进行讨论,培养学生的思考能力和团队协作精神。

3.案例分析法:通过分析典型成绩管理系统案例,使学生更好地理解并应用所学知识。

4.实验法:让学生动手实践,亲身体验成绩管理系统的开发和应用过程,提高学生的实际操作能力。

四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:选用权威、实用的教材,为学生提供系统性的知识学习。

2.参考书:提供丰富的参考资料,帮助学生拓展视野,深入理解成绩管理系统。

3.多媒体资料:制作课件、教学视频等多媒体资料,增强课堂教学的趣味性和互动性。

4.实验设备:配置必要的实验设备,确保学生能够进行实际操作,提高实践能力。

C语言学生成绩管理系统课程设计报告

C语言课程设计报告一 .问题描述:题目七:学生成绩管理系统设计学生成绩信息包括:学期,学号,班别,姓名,四门课程成绩(语文、数学、英语和计算机)等。

主要功能:(1)能按学期、按班级完成对学生成绩的录入、修改(2)能按班级统计学生的成绩,求学生的总分及平均分(3)能查询学生成绩,不及格科目及学生名单(4)能按班级输出学生的成绩单要求:使用二进制文件方式存储数据,系统以菜单方式工作学生成绩信息包括:学期,学号,班别,姓名,四门课程成绩(语文、数学、英语和计算机)等。

要求使用二进制文件方式存储数据,系统以菜单方式工作,实现对学生成绩的录入,修改,统计,排序,查询,输出等功能。

二 .设计目的设计“学生成绩管理系统”使其具有以下功能:(1)能完成对学生成绩的录入(2)能按班级统计学生的成绩,求学生的总分及平均分,排序(3)能按班级,学期输出学生的成绩单和不及格科目及学生名单(4)能查询单个学生成绩(5)能修改单个学生信息三 . 要求系统以菜单方式工作四 . 功能1 输入功能:可以一次完成无数条信息的输入。

2 输出功能:能按班级输出学生的成绩单。

3 修改功能:完成对单个学生成绩的修改。

4 查找功能:完成对单个学生信息查找,并显示。

5 排序功能:按学生成绩进行排序,并显示。

六 . 详细内容整个系统除了主函数外,另外还有5个函数,实现六大功能:输入功能、输出功能、修改功能,查找并显示功能、排序并显示功能。

各个函数的详细设计说明分别如下:1 . 定义结构体及宏定义#include <stdlib.h>#include <stdio.h>#include <string.h>#define NUM 100struct student{ int term;int num;int classes;char name[10];int score[4];int sum;float average;}stu[NUM];2.主函数 main()利用无限次循环for(;;)和swithch()进行菜单选择来实现各函数的调用,系统根据输入的数字选项来调用相应的函数。

c语言课程设计学生成绩管理系统报告(一)

c语言课程设计学生成绩管理系统报告(一)C语言课程设计学生成绩管理系统报告介绍•学生成绩管理系统的设计背景•项目的目的和意义系统需求分析•功能需求–学生信息录入–成绩管理–查询与统计•性能需求–系统响应速度–数据存储和读取效率系统设计•系统结构•数据库设计•模块功能划分技术选型•编程语言选择:C语言•数据库选择:SQLite 实现步骤•搭建开发环境•创建学生信息录入模块•创建成绩管理模块•创建查询与统计模块•进行系统集成和测试系统遇到的问题与解决方案•内存管理问题•数据库操作问题•用户界面设计问题系统改进与优化•提升性能•增加功能•修复bug结果与展望•成果总结•可能的进一步发展方向参考资料•《C语言程序设计》•《数据库系统概念》•网上开源学生成绩管理系统案例介绍本文将介绍一款基于C语言的学生成绩管理系统的设计与开发。

学生成绩管理系统是一种用于方便高校或学校管理学生成绩的工具。

本项目的目的是提供一个简单易用、功能全面的学生成绩管理系统。

系统需求分析功能需求学生成绩管理系统需具备以下功能:1.学生信息录入:能够方便地录入学生的基本信息,包括姓名、学号、班级等。

2.成绩管理:能够记录学生的各科成绩,并能对成绩进行增、删、改、查等操作。

3.查询与统计:能够根据学号、姓名等条件进行查询,还能对成绩进行统计,包括总分、平均分等。

性能需求为确保学生成绩管理系统的良好使用体验,有以下性能需求:1.系统响应速度:系统应具备快速响应用户操作的能力,避免出现卡顿现象。

2.数据存储和读取效率:系统应能高效地存储和读取学生信息和成绩数据,以保证系统的稳定性和可靠性。

系统设计系统结构学生成绩管理系统采用前后端分离的设计方式,前端使用C语言编写,后端使用SQLite数据库进行数据存储和读取。

系统结构由三个主要模块组成:学生信息录入模块、成绩管理模块和查询与统计模块。

数据库设计系统使用SQLite数据库进行数据存储和读取。

数据库设计包括学生表和成绩表,学生表存储学生的基本信息,成绩表存储学生的各科成绩。

c语言课程设计报告学生成绩管理系统

c语言课程设计报告学生成绩管理系统一、教学目标本课程旨在让学生掌握C语言的基本语法和编程技巧,通过实现一个学生成绩管理系统,培养学生运用C语言解决实际问题的能力。

具体目标如下:1.知识目标:–掌握C语言的数据类型、运算符、控制结构、函数等基本语法。

–理解结构体和文件操作等相关知识。

2.技能目标:–能够运用C语言编写简单的程序。

–学会使用C语言实现数据的输入、输出和处理。

–掌握使用结构体创建学生成绩数据结构,并实现对成绩的增删改查等操作。

3.情感态度价值观目标:–培养学生对编程的兴趣,增强自信心。

–培养学生的团队协作能力和解决问题的能力。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、文件操作等。

具体安排如下:1.C语言基本语法:数据类型、变量、运算符、控制结构、函数等。

2.数据结构:结构体、数组、指针等。

3.文件操作:文件的打开、关闭、读写等。

4.学生成绩管理系统:实现一个学生成绩管理系统,包括学生的增删改查、成绩的排序、统计等功能。

三、教学方法本课程采用讲授法、案例分析法和实验法相结合的教学方法。

1.讲授法:用于讲解C语言的基本语法和概念。

2.案例分析法:通过分析实际案例,让学生学会运用C语言解决实际问题。

3.实验法:让学生动手实践,编写程序,培养实际编程能力。

四、教学资源1.教材:《C程序设计语言》或《C语言入门教程》。

2.参考书:《C Primer Plus》、《C语言编程思想》等。

3.多媒体资料:教学PPT、视频教程等。

4.实验设备:计算机、网络等。

五、教学评估本课程的评估方式包括平时表现、作业、考试等。

评估方式应客观、公正,能够全面反映学生的学习成果。

具体安排如下:1.平时表现:占课程总评的30%,包括课堂参与度、提问回答、小组讨论等。

2.作业:占课程总评的30%,包括课后练习、编程作业等。

3.考试:占课程总评的40%,包括期中考试和期末考试。

六、教学安排本课程的教学安排如下:1.教学进度:按照教材的章节进行教学,确保在有限的时间内完成教学任务。

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

C语言课程设计报告题目:学生成绩管理系统设计者:张帅专业班级:计算机应用技术101班学号: 20101712101指导教师:高国红2011年 12 月 23 日学生成绩管理系统课程设计报告目录一.系统软件环境 (3)二.课程设计目的 (3)三.内容与要求 (3)四.程序主要功能 (4)五.系统功能设计 (4)六.函数实现功能说明 (6)七.调试分析 (9)八.心得与体会 (10)九.各功能模块的实现及其程序清单 (10)十、附页源程序清单 (11)学生成绩管理系统课程设计报告一.系统软件环境:本程序主要运行在:Visual C++ 6.0(主要)Turbo C/C++ 3.0Turbo C 2.0二.课程设计目的:本课程设计的系统是早已在很多领域均有应用,是一个很不错的教学管理系统,而且其功能更是相当强大、界面更加友好的应用型软件。

而现在我的设计并非是重走旧路,而我的设计主要目的在于学习并深刻地掌握对C语言的基础知识以及其实践经验,更好地在以后的学习中能够更好地运用学习。

特别是像这种比较多运用到一些课本上没有教的知识,比如说,像清屏函数CLRSCR、菜单函数MENU等。

许多都是一开始就没有涉及到的知识,在自已的设计中得到了提升,更加重要的一点就是增加了自已的实践操作能力。

三.内容与要求:内容:成绩信息,内容如下:姓名学号语文数学英语张明明 01 67 78 82李成友 02 78 91 88张辉灿 03 68 82 56王露 04 56 45 77陈东明 05 67 38 47请用C/C++编写一系统,实现学生信息管理,软件的入口界面应包括如下几个方面:要求:(一)功能要求:(1)信息维护:要求:学生信息数据要以文件的形式保存,能实现学生信息数据的维护。

此模块包括子模块有:增加学生信息、删除学生信息、修改学生信息(2)信息查询:要求:查询时可实现按姓名查询、按学号查询(3)成绩统计:要求:A输入任意的一个课程名(如数学)和一个分数段(如60--70),统计出在此分数段的学生情况。

(二)其它要求:(1)只能使用C/C++语言,源程序要有适当的注释,使程序容易阅读Array(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)(3)可自动增加新功能模块(视情况可另外加分)(4)写出课程设计报告,具体要求见相关说明文档四.程序主要功能:本系统的主要功能有如下:(1)、新输入学生的详细信息(包括:学号、姓名、语文成绩、数学成绩、英语成绩)(2)、增加学生的信息(3)、删除学生的信息(4)、查询学生的信息(5)、统计学生的成绩注:由于本人能力有限,不能完全地将所有的功能模块做出来;但我相信我能够再接再Array厉,继续开发下去的,并向人性化发展。

五.系统功能设计:(一)、本系统的总体框架图:(二)、本系统的总体流程图:(1)、MENU函数是定义一个菜单函数,其功能在于输出菜单界面供使用者选择。

其运行结果如下图:(以下的皆是在Visual C++ 6.0 中的运行结果)(2)、CREAT函数是定义用于创建新的链表,并带回一个指向链表头的指针。

其功能是输入最初的学生信息。

其运行结果如下图:(3)、ADD函数是定义用于再次输入学生信息,并将所有的学生信息按学号排序。

其运行结果如图:(4)、DEL函数是定义用于删除学生信息。

其运行如下图:(5)、SEARCH函数是定义义用于查询学生信息,主要是学号的查询。

其运行结果如下图:(6)、TAXIS函数是定义用于统计学生的成绩信息,采用排序函数的方式对学号/数学等的排序。

其运行结果如下图:七.调试分析:因在不同的环境中运行是有不同的结果,以下分三个环境中说明:(1)、在Turbo C 2.0在这个环境下运行警告之处比较多,在调试时采用的图象处理函数在其它两个环境中不能运行。

例如:在原程序中加入#include “graphics.h”{ int gdtiver=DETECT,gmode;Initgraph(&gdriver,&gmode,“图象处理函数的路径”);Cleardevice();Setbkcolor(颜色值);}**在Turbo C/C++ 3.0 中的Error提示是:Undefined symboc _c closegraph in module ……原因在于:TC 3.0中对图象的处理函数有不足之处。

**在Visual C++ 6.0 中的Error提示是:BGI Error:Graghics not initialized (use’initgraph’)Cannot open includefile:”graphics.h”No such file or diretory原因在于:VC 6.0中对图象处量理的函数与TC中的不一样。

(2)、在Turbo C/C++ 3.0在这个环境中运行到输入学生姓名时就出错:Error:(在用户窗口中可以看到)Scanf:floating point formats not linkedAb mormal program termination**原因在于:连接浮点库错误。

**解决办法:在主函数中加入:fioat arg,*pointer=&arg;即可运行。

(3)、在Visual C++ 6.0在此环境下运行比较好,其界面十分友好并且能正常运行。

#include “process.h”{ system(“cls”);}八.心得与体会:(1)、通过本次对C功地运用各类函数、循环变量、结构化的程序设计,以及结构体、指针的使用。

(2)、但在学习中发现,编程确实不是很好做的,并非是你想要就能完成的,它需要的是认真、仔细地对待每一个程序块,特别是在对指针的使用时更加困难,那些指针指来指去,一不小心就会看错,编译不出来。

(3)、由于学生的我只是大一而已,没能够完完全全地把程序做出来,而且程序中有许多不足之处不能够正确地将它改正,但总体上是可以运行的。

九.各功能模块的实现及其程序清单:(1)、各功能模块的实现(请参照第六点:函数实现功能说明)(2)、程序清单(请见附页)参考文献[1] 谭浩强编著.C程序设计第三版.北京:清华大学出版社,2005[2] 林瑞仲等编著.C语言实例解析精粹.北京:人民邮电出版社,2005附页:学生成绩管理系统源程序清单#include "stdio.h"#include "stdlib.h"#include "malloc.h"#define ABC sizeof(struct scoreflie)#define ABCDE#include "string.h"struct scoreflie{int number;char name[10];float yuwen;float shuxue;float yingyu;struct scoreflie *next; };typedef struct scoreflie score;int n,k;功能(1):创建链表,输入学生成绩信息score *creat(void){score*head;score *p1,*p2,*p3,*max;int i,j;float fen;char t[10];n=0;p1=p2=p3=(score *)malloc(ABC);head=p3; /*开辟一个新单元*/printf("Please Input Students Message,Piess(0)is out!\n");repeat1: printf("Input the numder(N.>0):");/*输入学号,学号应大于0*/scanf("%d",&p1->number);while(p1->number<0){getchar();printf("Is wrong, Input again the numder:");scanf("%d",&p1->number);}/*输入学号为字符或小于0时程序报错,提示重新输入学号*/ if(p1->number==0)goto end;/*当输入的学号为0时,转到末尾,结束创建链表*/else{ p3=head;if(n>0){for(i=0;i<n;i++){if(p1->number!=p3->number)p3=p3->next;else{ printf("The numder is Repetition,Input again!:\n");goto repeat1;/*当输入的学号已经存在,程序报错,返回前面重新输入*/} } } }printf("Input The Name:");scanf("%s",&p1->name);/*输入学生姓名*/printf("Input yuwen Score(0~100):");/*输入语文成绩,成绩应在0-100*/scanf("%f",&p1->yuwen);while(p1->yuwen<0||p1->yuwen>100){getchar();printf("Is wrong,Input again:");/*输入错误,重新输入语文成绩直到正确为止*/ scanf("%f",&p1->yuwen);}printf("Input shuxue Score(0~100):");/*输入数学成绩,成绩应在0-100*/scanf("%f",&p1->shuxue);while(p1->shuxue<0||p1->shuxue>100){getchar();printf("Is wrong,Input again:");/*输入错误,重新输入数学成绩直到正确为止*/ scanf("%f",&p1->shuxue);}printf("Input yingyu Score(0~100):");/*输入英语成绩,成绩应在0-100*/scanf("%f",&p1->yingyu);while(p1->yingyu<0||p1->yingyu>100){getchar();printf("Is wrong,Input again:");scanf("%f",&p1->yingyu);}/*输入错误,重新输入英语成绩直到正确为止*/head=NULL;while(p1->number!=0){ n=n+1;if(n==1)head=p1;elsep2->next=p1; p2=p1;p1=(score *)malloc(ABC);/*开辟一个新单元以下的注释内容同上*/printf("Please Input Students Message,Piess(0)is out!\n");repeat2:printf("Input the numder(N.>0):");scanf("%d",&p1->number);while(p1->number<0){getchar();printf("Is wrong, Input again the numder:");scanf("%d",&p1->number);}if(p1->number==0)goto end;else{p3=head;if(n>0){for(i=0;i<n;i++)- 11 -。

相关文档
最新文档