自动化c语言课程设计任务书教师评价系统数据库管理系统设计大学论文
C语言课程设计之评分系统
华中师范大学传媒学院课程设计课程名称C语言课程设计题目__________________专业__________________ 班级__________________ 学号__________________ 姓名__________________ 成绩__________________ 指导教师_________________________年_______ 月_______日课程设计任务书设计题目:设计比赛评分系统(给分原则:满分为10分;裁判给出分数后,去掉一个最高分和一个最低分后的平均分为选手的最后得分(精确到小数点后两位)。
)设计目的:1. 巩固和加深课堂所学知识;2. 将课本上的理论知识和实际应用有机的结合起来,培养同学们分析和解决实际问题的能力;3. 学会编制结构清晰、风格良好、数据结构选择恰当的C语言程序;设计任务:(在规定的时间内完成下列任务)功能:1、设参赛人数为为裁判人数为(不少于11的奇数)位,2、录入参赛人员的资料和得分情况好,统计最后得分,3、按最后得分结果从高分到低分排序,4、公布一、二、三等奖的得奖选手名单。
5、此系统能够查询选手的得分情况。
具体要求:设计报告按统一撰写格式要求,应包含以下内容:1、题目:2、设计目的:2、设计内容:写出简要的程序功能描述、程序运行条件所需工具软件、输入/输出描述等。
3、程序结构:①函数定义说明;②用到的库函数(宏)的功能说明、调用关系说明、参数传送方式说明等;③主要算法描述等(各模块功能实现)。
13、设计要求:①绘制设计系统的结构层次图,各功能实现的算法、绘制结构化流程图。
②程序流程图、源程序(程序必须有简单注释,源程序若太长,可作为附录)③设计输入、输出界面。
(输出)5、(1)程序结构设计特点;(2)设计、调试程序心得、体会或不足。
附录:①参考文献百度文库C语言设计(第三版)谭浩强清华大学出版社C语言设计试题汇编(第二版)搜搜文献C语言上机指导指导教师签名:2011 年9 月5日教研室主任(或责任教师)签名:2011 年月日。
C语言学生管理系统论文
综合实验报告( 2008-- 2009年度第1学期)实验名称:C语言课程设计题目:学生籍贯信息记录簿院系:控制于计算机学院班级:计算0802班成员学号:1101250224成员姓名:温裕青指导教师:郑玲设计周数: 2 周成绩:1本次课程设计目的通过一个企业人事管理系统,使学校档案管理工作系统化、规范化、自动化,从而达到提高学校管理效率。
使学生掌握一门高级程序设计语言,了解面向对象程序设计的基本概念与方法,进而学会利用C++语言学会解决一般应用问题,并为后续的专业课程奠定程序设计基础。
系统的基本模块:根据系统功能的要求,学生档案系统可以分为新学生档案的输入,学生档案的修改、查询和删除等模块。
2 系统需求分析2.1问题定义项目:学生管理应用软件。
目的:让院校有效的管理体制学生信息,帮助学校老师掌握学生的情况。
背景:根据当前某高校的学生管理出现异常问题,它浪费人力和其它资源。
因此,这种缺陷而制定开发这个学生管理系统软件。
2.2 可行性研究从技术方面,是通过C来做系统的前台,来实现整系统的功能;从操作方面,基本的录入、查询、修改等都能满足用户的需求;此次设计没有考虑经济可行性。
经过这一阶段确定了该系统的粗略系统流程图。
可行研究阶段的目标是:使工作人员从繁琐的填表,查表工作中解放出来;提高工作质量,使供需双方都获得满意的结果;促进报表,提高工作效率。
2.3 需求分析应该确定系统必须在Microsoft Visual C++ 6.0的环境下实现具有添加新学生、显示全部、删除、删除全部、修改、退出等功能的学生档案管理系统。
通过以上可以知道该软件主要有以下功能模块:➢学生学籍异动管理➢奖惩情况管理➢档案管理➢成绩管理➢考勤管理其中本次课程设计实现的档案模块又分为如下子模块:➢登陆界面:主要是对用户权限的判断,.判断是否为合法用户,是合法用户的就可以对数据进行。
➢新生录入:主要是将新生信息录入到数据库中;➢管理项目:对学生信息进行添加、删除、修改、查询等。
学生综合测评系统(C语言设计)
郑州科技学院C语言课程设计设计(论文)题目:学生成绩管理系统所在院:信息工程学院专业班级:15计算机科学与技术3班学生姓名:宋建军学号:201515085指导教师:周丽2016年9月11日郑州科技学院课程设计(论文)任务书设计题目:学生综合信息测评系统专业班级:15计算机科学与技术3班学号2015150085姓名宋建军主要内容设计学生成绩管理系统,主要包含:输入记录模块、查询记录模块、更新记录模块、统计记录模块和输出记录模块。
采用字符用户界面,通过菜单选择相应的操作,直观且操作简单。
数据的存储选用数据文件方式;编辑平台选用Microsoft Visual C++ 6.0 。
所用到的知识点有:三种基本程序结构,数组,函数,指针,结构体,文件操作和链表。
基本要求:按照内容要求,设计完整的学生成绩管理系统。
要求调试通过,不存在漏洞,方便用户操作。
功能的实现上力求容错能力要强且提示信息完备。
完成期限:2016年9月11日指导教师签名:1概述 ........................................................ 错误!未定义书签。
1.1程序要求 (1)1.2具体分工情况 (1)1.3开发环 (1)2需求分析 (2)3总体设计 (2)3.1程序主界面设计……………………………………………………………..3.2学生信息处理子界面设计........................................................................3.3学生数据处理子界面设计………………………………………………4 程序设计.............................................................................................错误!未定义书签。
5 程序调试 (40)6 程序评估 (40)7 参考文献 ................................................. 错误!未定义书签。
基于c语言的图书管理系统毕业(设计)论文
基于c语言的图书管理系统毕业(设计)论文图书分类号:密级:毕业设计论文基于C语言的图书管理系统Design and Implementation of Books Management System Based on C Language学生姓名学院名称专业名称指导教师2012年5月日摘要人类已经跨入了新世纪,正在进入信息化时代。
信息化浪潮、网络革命在给社会带来冲击的同时,也使图书馆业务受到了强烈的冲击,图书馆传统的管理和服务方式已不能适应读者对日益增长的文献信息的需求。
随着馆藏量的不断增加,图书资料的录入和查询的难度也就相应增加,数据处理手工操作,工作量大,出错率高,出错后不易更改的手工方式,已经不能满足要求。
基于此问题,建立一个规范化,系统化,程序化的图书管理系统迫不急待。
为方便对图书馆书籍、读者资料、借还书等进行高效的管理,特编写程序以提高图书馆的管理效率。
使用程序之后,工作人员可以查询某位读者、某种图书的借阅情况,还可以对当前图书借阅情况进行一些统计,以便全面掌握图书的流通情况等等。
关键词:C语言;图书管理;数据处理;信息技术AbstractMankind has entered the new century, which is entering the information age. Wave of information technology, the network revolution has brought about the impact, but also make the library service has been badly hit,and library management and services of traditional methods can not meet the growing literature on the information the reader needs. With the continuous increase in the collections, books, data entry and also a corresponding increase in the difficulty of queries, data processing manual operation, heavy workload, error rate, error is not easy to changeafter the manual mode can no longer meet the requirements.Based on this problem, the establishment of a standardized, systematic, process-oriented library management system can not wait. For the convenience of library books, readers information, such as borrowing and returning books for efficient management, especially the preparation of the management procedures to enhance the efficiency of the library. After using the program, staff can search for certain readers, borrow some books, can also borrow books on the current situation of some statistics in order to fully grasp the flow of books.KEY WORDS:C language, Library Management, Data Processing, Information Technology目录摘要IAbstract II1 绪论11.1 选题的背景和选题的意义 1 选题的背景 1选题的意义 11.2 系统的特点 21.3 需求分析 22 系统的总体设计 32.1 系统总体设计 32.2运行环境和开发工具 3具 3境 42.3 系统流程图 43 系统的详细设计 63.1主体界面设计 66块 7块 8块 9块 10块 12块 14数 154 系统调试165系统运行17结论21致谢22参考文献23附录程序源代码 241.1 选题的背景和选题的意义选题的背景随着社会,信息系统。
【完整版】基于c语言的教务系统软件设计毕业论文设计
河南理工大学毕业设计(论文)任务书专业班级学生姓名一、题目二、起止日期年月日至年月日三、主要任务与要求指导教师职称学院领导签字(盖章)年月日河南理工大学毕业设计(论文)评阅人评语题目评阅人职称工作单位年月日河南理工大学毕业设计(论文)评定书题目指导教师职称年月日河南理工大学毕业设计(论文)答辩许可证答辩前向毕业设计答辩委员会(小组)提交了如下资料:1、设计(论文)说明共页2、图纸共张3、指导教师意见共页4、评阅人意见共页经审查,专业班同学所提交的毕业设计(论文),符合学校本科生毕业设计(论文)的相关规定,达到毕业设计(论文)任务书的要求,根据学校教学管理的有关规定,同意参加毕业设计(论文)答辩。
指导教师签字(盖章)年月日根据审查,准予参加答辩。
答辩委员会主席(组长)签字(盖章)年月日河南理工大学毕业设计(论文)答辩委员会(小组)决议学院专业班同学的毕业设计(论文)于年月日进行了答辩。
根据学生所提供的毕业设计(论文)材料、指导教师和评阅人意见以及在答辩过程中学生回答问题的情况,毕业设计(论文)答辩委员会(小组)做出如下决议。
一、毕业设计(论文)的总评语二、毕业设计(论文)的总评成绩:三、答辩组组长签名:答辩组成员签名:答辩委员会主席:签字(盖章)年月日基于c语言的教务系统软件设计摘要本系统依据开发要求主要应用于教育系统,完成对日常的教育工作中学生成绩档案的数字化管理。
开发本系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化。
目前,学校工作繁杂、资料重多,虽然各类管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。
因此,开发一套适和大众的、兼容性好的系统是很有必要的。
本系统在开发过程中,注意使其符合操作的业务流程,并力求系统的全面性、通用性,使得本系统不只适用于一家教育机构。
教师系统管理c语言课设概要设计
教师系统管理c语言课设概要设计
概要设计主要包括以下几个方面:系统需求分析、系统结构设计、功能模块设计和数据库设计。
系统需求分析:
1. 了解教师系统的基本需求,如教师信息管理、课程信息管理、学生信息管理等。
2. 了解系统所需的技术要求,如使用C语言作为开发语言,使用MySQL数据库等。
系统结构设计:
1. 系统采用客户端-服务器模式。
2. 客户端部分包括用户界面和业务处理模块,服务器部分负责数据存储和管理。
功能模块设计:
1. 教师信息管理模块:包括教师个人信息的增删改查功能。
2. 课程信息管理模块:包括课程的增删改查功能。
3. 学生信息管理模块:包括学生信息的增删改查功能。
4. 成绩管理模块:包括成绩的录入和查询功能。
5. 数据统计模块:包括课程平均成绩、学生平均成绩等数据的统计功能。
数据库设计:
1. 设计数据库表结构,包括教师表、课程表、学生表和成绩表等。
2. 设计表之间的关系,如教师与课程之间为一对多关系,学生与成绩之间为一对多关系。
以上为教师系统的概要设计,具体的实施细节可以根据实际情况进行调整和完善。
c语言课程设计优秀论文
c语言课程设计优秀论文一、教学目标本课程旨在通过C语言的学习,让学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识,培养学生编程思维和解决问题的能力。
同时,通过编程实践,使学生能够熟练使用C语言进行程序设计,提高学生的动手能力和创新能力。
此外,通过课程的学习,使学生养成良好的编程习惯,培养学生的团队合作精神和自主学习能力。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识。
在教学过程中,我们将按照教材的章节顺序进行讲解,并结合实际案例进行演示和分析。
具体的教学内容安排如下:1.第一章:C语言概述介绍C语言的历史、特点和应用领域,熟悉C语言的编译环境和基本语法。
2.第二章:数据类型和运算符学习C语言的基本数据类型、运算符及其使用方法。
3.第三章:控制结构学习条件语句、循环语句及其应用。
4.第四章:函数学习函数的定义、声明和调用,熟悉常用的库函数。
5.第五章:数组和字符串学习数组的概念和应用,字符串的操作。
6.第六章:指针学习指针的概念、运算和应用。
7.第七章:结构体和联合体学习结构体、联合体的定义和应用。
8.第八章:文件操作学习文件的概念、文件操作函数及其应用。
三、教学方法为了提高教学效果,我们将采用多种教学方法相结合的方式进行教学。
包括:1.讲授法:通过教师的讲解,使学生掌握C语言的基本知识和编程技巧。
2.案例分析法:通过分析实际案例,使学生更好地理解和掌握C语言的应用。
3.实验法:通过动手实践,使学生熟练掌握C语言的编程方法和技巧。
4.小组讨论法:通过小组合作,培养学生的团队合作精神和沟通能力。
四、教学资源为了支持教学内容的实施,我们将准备以下教学资源:1.教材:《C程序设计语言》(K&R)2.参考书:《C Primer Plus》、《C语言编程思想》3.多媒体资料:教学PPT、视频教程、在线编程练习平台4.实验设备:计算机、编程环境、调试工具五、教学评估为了全面、客观地评估学生的学习成果,我们将采用多元化的评估方式。
教师评价系统c语言课程设计
教师评价系统c语言课程设计一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识,培养学生具备基本的编程能力,能够使用C语言编写简单的程序。
同时,通过课程的学习,使学生掌握编程的基本思维和方法,培养学生的逻辑思维能力和问题解决能力。
此外,通过课程的学习,使学生养成良好的编程习惯,培养学生的团队合作意识和创新精神。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识。
具体包括以下几个方面:1.C语言的基本语法和规则,如变量声明、数据类型、运算符、表达式等。
2.控制结构,如条件语句、循环语句等。
3.函数的定义和调用,包括主函数、用户自定义函数等。
4.基本的数据结构,如数组、字符串等。
5.指针的概念和应用。
6.文件操作的基本方法。
三、教学方法本课程的教学方法采用讲授法、实验法相结合的方式。
在讲授基本知识的同时,通过实验操作来巩固和加深学生对知识的理解和掌握。
此外,还可以采用讨论法、案例分析法等教学方法,激发学生的学习兴趣和主动性,提高学生的编程能力和问题解决能力。
四、教学资源本课程的教学资源包括教材、实验设备、多媒体资料等。
教材选用《C程序设计语言》或《C语言程序设计》等权威教材,为学生提供系统的学习资料。
实验设备包括计算机、网络等,为学生提供实践操作的平台。
多媒体资料包括教学PPT、视频教程等,为学生提供丰富的学习资源。
此外,还可以引导学生参考相关的参考书籍、在线教程、开源项目等,丰富学生的学习体验。
五、教学评估本课程的教学评估主要包括平时表现、作业、考试等几个方面。
平时表现主要评估学生的出勤、课堂参与度、提问回答等情况,通过观察学生的课堂表现来了解学生的学习态度和理解程度。
作业主要评估学生的编程实践能力,通过布置编程题目来检验学生对知识的掌握程度。
考试主要包括期中考试和期末考试,采用闭卷考试的方式,评估学生的知识掌握和应用能力。
c语言程序设计论文模板(10篇)
c语言程序设计论文模板(10篇)1.1教学设计概述所谓教学设计,就是为了达到一定的教学目的,对教什么(课程、教学内容等)和怎么教(组织、方法、媒体的使用等)进行设计。
教学设计不等同于传统的备课写教案。
教学设计有利于教学工作的科学化,使教学活动纳入科学的轨道。
教学设计的意义就在于追求教学效果的最优化,不仅关心教师如何教,更关心学生如何学,注重将人类对教与学的研究结果和理论综合应用于教学实践。
教学设计主要包括确定教学目标、组织教学内容、分析教学对象、选择教学形式和方法及教学媒体、设计教学过程、教学质量评价设计等基本环节,其中,设计教学过程是课程教学设计的核心。
1.2该课程教学设计的内容2教学设计的实践及效果[2]李迎秋.C语言程序设计项目教程[M].大连:东软电子出版社,2023.1.引言2.教学中充分调动学生学习的积极性学生只有对C语言程序有浓厚的兴趣,才会积极和创造性地学习。
可从以下几个方面探讨:(1)强调学生学习C语言的重要性。
突出教学重点,使学生明确学习任务。
在首次课堂教学中,教师一定要向学生讲解清楚C语言课程的教学目标(为什么学习编程或程序设计)。
对于C语言程序设计课程的教学目标,可有如下三方面的讲解,学习基本的编程知识、培养求解问题的能力和具备一定的创新素质。
知识的传授和学习应融入问题求解中;问题求解能力是创新的基础。
(2)结合《C语言全国计算机等级考试》的试题库进行教学,学生学习起来更有动力。
试题库包括笔试试题库和上机试题库。
试题库按章节分类,题目类型以程序设计为主。
笔试题型有单项选择、程序分析、程序填空、程序改错和程序设计,上机题型有程序改错、程序填空和程序设计。
(3)利用Visual c++6.0工具进行C语言程序教学,培养学生的学习兴趣。
VC是一种基于Windows操作系统的可视化集成开发环境,是广泛使用的一种开发工具。
VC程序的两种模式是WINAPI方式和MFC方式。
应用这两种模式能够有效提高教学质量,激发学生的学习兴趣。
教务管理系统数据库课程设计报告大学论文
河南城建学院Henan University of Urban Construction 《数据库原理》课程设计报告课程名称:《数据库原理》课程设计设计题目:《教务管理系统》指导教师:何宗耀班级:0844141学号:084414144学生姓名:同组人员:计算机科学与工程学院2016年6月目录第1章概述 (3)1.1选题的背景与意义 (3)1.2相关技术分析 (3)第2章系统功能设计 (4)2.1系统总体结构设计图 (4)2.2系统功能模块 (4)1.2.1 模块 (4)1.2.2 模块功能 (4)第3章数据库设计 (5)3.1需求分析 (5)3.1.1流程图 (5)3.1.2 数据字典 (7)3.2概念结构设计 (9)3.2.1 E—R图 (9)3.3逻辑结构设计 (11)3.3.2范式的判定(3NF) (11)3.3.3 子模式的设计(视图) (13)3.4物理结构设计 (15)3.4.1存储结构与存取方法 (15)3.4.2数据的易变与稳定部分 (16)3.4.3索引的建立 (16)3.5数据库、表建立的代码 (16)3.5.1建立视图 (20)3.5.2建立存储过程 (21)3.5.4建立触发器 (22)3.6数据库实施 (24)3.6.1 数据表截图 (24)3.6.2视图的截图 (27)3.6.3存储过程的截图 (29)3.6.4 触发器实现过程的截图 (30)第4章 (32)第1章概述1.1 选题的背景与意义现如今高等院校的招生人数越来越多,必然就会有大量的学生信息、教师信息及课程信息需要处理。
如果只靠人力来完成,这将会变成一项非常繁琐、复杂的工作,而且还有可能出现很多意想不到的错误,给管理这些数据带来了极大的不便,越来越不适合高校的发展需要。
教务管理系统是一个庞大而复杂的系统,它包括对教师信息的管理,对课程资料的管理,对学生信息的管理和对学生成绩的管理等主要功能。
教务管理系统是每所高校的一项必不可少的内容,但最基本的还是教务管理系统数据库的设计,它的好坏直接影响到学校的主要工作。
教师信息管理系统(C语言课程设计)资料整理
课程设计任务书计算机科学与技术专业_年级—班一、设计题目教师信息管理系统设计二、主要内容教师信息包括教师号、姓名、性别、年龄、学历、职称、工资、住址、电话等(教师号不重复)。
试设计一教师信息管理系统,使之能提供以下功能:(1)系统以菜单方式工作(2)教师信息录入功能输入(3)教师信息删除功能(4)教师信息浏览功能输出(5)查询和排序功能:(至少一种查询方式)一一算法按教师号查询按职称查询等三、具体要求围绕课程设计的目的和意义,基本要求如下:1、认真阅读《C语言课程设计》指导书,明确课程设计的目的、意义和要求;2、快速总结C程序设计语言的精髓,如:函数的概念、函数的设计和函数的调用;3、快速熟悉Tuber C或C++的上机环境。
能熟练进行高级编辑操作(特别是字块操作);熟悉步进式、断点跟踪的程序调试方法,提高工作效率。
4、根据“课程设计题目”,采用结构化的程序设计思想,确定系统的总体设计方案、确"定时间进度。
如果是多人共一题,则要首先完成小组内的人员分工及安排,不允许重题现象。
5、学习并了解良好的程序设计风格。
按质、按量、并按时间完成课程设计的任务。
6、提供可运行的课程设计系统,参加上机面试答辩。
本次课程设计的重点是:学会设计并编写函数,掌握好各函数之间的调用关系;利用文件操作函数,建立数据库并完成对数据库的各种操作;掌握几种典型算法的应用(如:冒泡法、选择排序法和折半查找法)。
同时锻炼学生根据题目进行分析、设计、编码、调试程序和书写必要文档的综合处理能力,从实践中学习并体会程序设计的结构化思想和设计方法。
四、进度安排依照教学计划,课程设计时间为3周。
按照软件工程的思想,软件系统的分析设计至关重要,并要充分重视书写“文档”。
避免甚至杜绝“拿到题目就编码”的现象。
建议将时间分为三个阶段:第一阶段,根据题目要求,拿出系统的总体设计方案:即构思各程序模块的算法,并画出相应的N-S图,同时编写相应的文档;第二阶段,根据N-S图编写程序代码并单独调试,再将调试通过的各个子模块进行集成调试;第三阶段,归纳文档资料,按要求填写在《课程设计说明书》上,并参加答辩。
C语言课程设计任务书(18份)详细版
C语言课程设计任务书详细版(18份)C语言课程设计任务书1题目:某学院教学信息管理系统功能:1、每一条记录包括一位教师的职工号、姓名、职称、性别、3门主讲课程(课程名称、开课学期、课程性质(学位与非学位课)和教学效果),教学效果综合评分。
2、输入功能:可以一次完成若干条记录的输入。
3、显示功能:完成全部教师记录的显示。
4、查找功能:完成按姓名或课程查找教师的相关记录,并显示。
5、排序功能:按职工号或教学效果综合评分进行排序。
6、插入功能:按教学效果综合评分高低插入一条教师记录。
7、将教师记录存在文件中。
8、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!要求:1、用C语言实现系统;2、利用结构体数组实现教学信息的数据结构设计;3、系统具有增加,查询,插入,排序等基本功能;4、系统的各个功能模块要求用函数的形式实现;5、将教学信息存在文件中。
课程设计的最后成果是实验报告一份,内容包括:1、预习报告(题目、流程图、程序的设计思想等);2、实验总结报告(测试方案、源程序代码(需打印)、调试中问题及解决方案、小结等)。
C语言课程设计任务书2题目:酒店房间登记与计费管理系统功能:1、屏幕上出现一个界面,让操作员能够方便的选择所需要进行的操作,包括登记入住、查询房间的入住情况、查询当前费用、结账退房等操作。
2、对不同标准的房间实施不同的收费标准,也可以按天收费或按小时收费,可根据顾客需要在登记的入住的时候进行选择。
3、在结账退房时,根据入住的时间,计费方式和房间单价计算出总费用。
分步实施:1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;2、完成最低要求:建立房间列表,完成登记入住、查询房间入住情况功能。
3、进一步要求:完成计费和费用查询功能。
要求:1、用C语言实现系统;2、函数功能要划分好(结构化程序设计);3、界面友好(良好的人机交互),加必要的注释;4、要提供程序测试方案,程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。
C语言课程设计教师信息管理系统
课程设计任务书题目:教师信息管理系统一、课程设计时间共计1周,20学时。
二、课程设计内容用C语言编写具有以下功能的程序:1 录入教师信息,并将信息保存在teachers.txt文件中。
2 教师信息的浏览功能(输出)。
3 教师信息的查询功能,应分别能够按照工资和学历查询。
4 教师信息包括教师号、姓名、性别、年龄、学历、工资、电话等(教师号不重复)。
三、课程设计要求1. 程序质量:✧贯彻结构化的程序设计思想。
✧用户界面友好,功能明确,操作方便。
✧用户界面中的菜单至少应包括“输入教师信息”、“显示教师信息”、“查询信息”、“退出”4项。
✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。
2. 课程设计说明书:课程结束后,上交课程设计说明书和源程序。
课程设计说明书的格式和内容参见提供的模板。
四、指导教师和学生签字指导教师:________ 学生签名:________五、说明书成绩六、教师评语目录一、需求分析 ................................... 错误!未定义书签。
二、程序流程图 ............................... 错误!未定义书签。
三、核心技术的实现说明及相应程序段错误!未定义书签。
四、课设总结 ................................... 错误!未定义书签。
五、参考文献 ................................... 错误!未定义书签。
六、源程序 ....................................... 错误!未定义书签。
一、需求分析经过对程序设计题目的分析可知,整个程序的设计实现大致分为七个模块,每一个模块对应一个函数。
在这些函数当中,添加教师数据函数,显示教师数据函数,查询教师信息函数的实现严格按照题目的要求。
读取文件函数和保存信息函数对其它函数的实现起辅助作用,主函数及菜单函数控制程序的整体运行。
c语言课程设计优秀论文
c语言课程设计优秀论文c语言课程设计优秀论文(精选6篇)C语言程序设计课程是高等院校计算机专业基础课程之一,其教学效果直接影响学生在计算机方面的应用。
今天小编为大家准备了c语言课程设计优秀论文,欢迎阅读!c语言课程设计优秀论文篇1摘要:现代化的图书管理需要有现代化的管理系统,采用计算机管理信息系统已成为图书管理科学化和现代化的一个重要特征,给图书管理带来极大的便利.近年来图书事业的发展,以及软件开发的逐步成熟,图书管理系统使得原来繁重而易出错的图书管理变得简单而有条理,我所开发这一图书管理系统的目的在于能够节省大量的人员成本,使得管理变得方便可靠。
关键词:图书管理系统关系模型功能模块随着社会的进步与发展,资源高效利用提高效率越来越受到人们的关注.图书管理也提出这样的要求,因此图书管理的数字化越来越受到大众的青睐.图书管理系统是现代图书管理工具中的重要组成部分。
它广泛应用于图书馆管理,力求开发出一套严谨、可靠、功能完整的管理系统。
使用图书管理系统能够很好的解决了传统图书管理的问题.人员需求能够减少,工作效率明显提高,管理更加便利。
一、系统介绍此图书管理系统主要采用的是VisualStudio2008做为前台开发工具以及SQL Server 2005做为后台支持。
以操作便捷、界面友好、灵活、实用为出发点,设计采用了模块化设计方法。
系统实现了以下基本功能:日常操作:此功能实现图书的借阅、归还。
读者管理:可以实现读者的添加、修改、查询等操作。
图书管理:实现图书的添加、修改、查询等操作。
系统管理:实现了对管理员的添加、修改、查询等操作。
开发工具:Microsoft Visual Studio2008(C#) 和SQL Server2005。
图书管理系统具有如下一些特点:方便性:读者以及工作人员能够及时了解图书情况,以便完成需要的工作。
稳定性:系统性能稳定。
操作性强:由于系统及面简洁,使用容易很便于用户操作。
c语言课程设计学生选修课程管理系统大学论文
内蒙古科技大学本科生课程设计说明书题目:C语言课程设计——学生选修课程管理系统学生姓名:学号:专业:软件工程班级:软件一班指导教师:日期:2014年12月23日内蒙古科技大学课程设计说明书内蒙古科技大学课程设计任务书I内蒙古科技大学课程设计说明书目录内蒙古科技大学课程设计任务书 (I)目录.........................................................................................................I I 第一章需求分析 (3)1.1引言 (3)1.2任务概述 (3)1.3数据描述 (3)1.4功能需求 (3)1.5性能需求 (3)1.6运行需求 (4)1.7任务计划 (4)第二章概要设计 (4)2.1总体设计 (4)2.2数据类型设计(或数据结构设计) (5)2.3接口设计 //函数声明 (6)2.4运行界面设计 (6)第三章详细设计 (10)3.1输入模块设计 (10)3.2输出模块设计 (12)3.3查找模块设计 (18)第四章测试分析 (20)4.1测试程序执行情况 (20)第五章用户手册(可选) (26)5.1使用说明 (26)5.2运行说明 (26)第六章课程设计总结 (27)附录:程序代码 (28)参考文献 (48)致谢 (48)II内蒙古科技大学课程设计说明书第一章需求分析1.1引言本课设真对于选修课,增加课程,阅览课程,按学分选择课程,等一系列功能。
现在大学生正处于选课阶段,特作本课设,帮助学生选课。
1.2任务概述1、采用结构体的形式进行信息输入与输出。
2、对输入的课程的信息进行简单的排序。
3、对输入的课程的信息进行删除。
4、对输入的课程信息进行修改。
5、对输入的课程信息进行浏览。
6、对输入的课程信息进行查询。
1.3数据描述1.4功能需求1、有登陆系统的界面和一些必要的提示。
2、有输入信息的界面和返回主目录的功能。
教学信息管理系统c语言课程设计报告
教学信息管理系统c语言课程设计报告《程序设计基础》课程设计报告题目:学院教学信息管理系统日期:2012.5.21班级:计算机应用技术1102班学号:姓名:一.设计目的本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《程序设计基础(C语言)》课程后进行的一次全面的综合练习。
本课程设计的目的:1. 巩固和加深学生对C语言课程的基本知识的理解和掌握2. 掌握C语言编程和程序调试的基本技能3. 利用C语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用C语言解决实际问题的能力二.课程设计任务书题目:学院教学信息管理系统学院教学信息管理系统,每一条记录包括一位教师的职工号、姓名、职称、性别、3门课程教学效果、综合评分。
系统要求实现以下功能:1、输入:输入每一位教师记录,将其信息写入文件中。
2、显示:显示每位教师记录。
3、排序:按职工号或教学效果综合评分进行排序,并显示。
4、查找:完成按姓名或职工号查找教师的相关记录,并显示。
分步实施:1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。
2、建立一个文件,将每位教师的相关(教学)信息写入文件中并能显示于屏幕上。
3、完成排序(按职工号、姓名、职称等)、查找等功能。
要求:1、用C语言实现程序设计;2、利用结构体数组或者链表实现教师信息的数据结构设计;3、系统的各个功能模块要求用函数实现;4、界面友好(良好的人机交互),程序加必要的注释。
三.系统设计方案用到数据结构的定义:在此程序中用到了结构体的定义,结构体数组的定义以及变量的申明,还用到了外部函数的申明及调用。
在主函数中,输出教师信息的函数是贯穿在程序始终的,例如要实现教师的排序这一模块时,排完序后就需要用输出信息的函数来输出排序后的信息。
这就得需要多个函数共同实现这一个模块。
此程序的流程:由于系统需要实现返回主界面的功能,那么在程序的开头就需要使用do....while语句,在do....while语句内首先将系统的主界面写下来,然后又要根据不同的按键实现排序、查找、结束等功能,这就必须使用switch 语句来实现,由于实现一个功能后,还需要跳出此功能进入下一个功能,这样就要需要使用while语句来循环,直到用户需要返回主界面时就设定一个条件跳出while语句。
C语言课程设计论文及代码—学生管理系统
项目名称:学生管理系统学生姓名:学号:班级:指导教师:武汉长江工商学院电子信息与计算机技术系目录1 实验目的和意义 (1)1.1目的 (1)1.2意义 (1)2 系统功能描述及设计 (2)2.1学生管理系统存储的信息 (2)2.2学生管理系统能够完成的基本功能 (2)2.3系统功能描述及大致分析 (2)2.4系统功能模块图 (3)3 系统存储结构设计与描述 (6)3.1全局变量存储 (6)3.2结构体类型存储 (6)4 系统功能实现及算法描述 (7)4.1MAIN()函数的流程图 (7)4.2SAVE ()函数的流程图 (7)4.3PAIXU()函数的流程图 (8)4.4SHC()函数的流程图 (10)4.5CHARU()函数的流程图 (11)4.6F()函数的流程图 (12)5 系统性能测试 (14)5.1菜单函数的功能测试 (14)5.2浏览函数的功能测试 (14)5.3输入函数的功能测试 (14)5.4排序函数的功能测试 (15)5.5统计函数的功能测试 (16)5.6查询函数的功能测试 (17)5.7删除函数的功能测试 (17)5.8修改函数的功能测试 (18)5.9插入函数的功能测试 (20)6 设计小结 (22)参考文献 (23)1 实验目的和意义1.1 目的(1)熟练掌握if、if…else、do-while语句和witch语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用do-while语句和switch语句实现菜单功能。
(2)熟练掌握while语句、do…while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用循环语句实现循环结构。
(3)掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。
进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。
(4)掌握三种程序设计结构的概念;掌握结构体数组的应用;掌握数组(一维和二维)的概念和应用;达到可灵活运用的状态。
C语言课程设计报告——教务管理系统
功能说明:实现两种权限的身份登陆的教务管理系统*/#include "stdio.h"#include "stdlib.h"#include "string.h"#include "time.h"#include "memory.h"#define share "d:\\share.dat" //定义邮件地址#define manager "d:\\manager.dat" //定义管理员邮件地址#define outmsg "d:\\outmsg.dat" //定义公告邮件地址#define logtimemsg "d:\\used login time.dat" //定义用户登录时间信息#define star_stu "d:\\stu_scname.dat" //定义学生起始文件信息#define stu_msg "d:\\stu.dat" //定义学生成绩信息地址#define mass_key "3110008758" //定义文件头部密码typedef struct student stu;#define sc_num 4 //只设定4门科目,不允许改动#define uint unsigned int/*学生成绩管理系统结构*/struct student{char num[10]; /*学生学号*/char name[10]; /*学生姓名*/uint score[sc_num]; /*科目分数*/uint average; /*科目平均分*/stu *next;}st;char gettemp=0;/*管理员身份识别结构*/typedef struct username user;struct username{char username[20];//char password[20];}use;/*时间登录信息*/struct Logtime{char userlogin[20];struct tm;};char logc;//登录次数typedef struct Logtime logtime;//========================================================== //定义通讯协议//==========================================================#define mass_max 200 //定义信息量struct Massage{int cont; //文件数量char username[15]; //发送人char mass[mass_max];//信息}mas;typedef struct Massage massage;//========================================================== //========================================================== char userlogin[10];char sc_name[sc_num][10];/*以上是学生信息*/char welcome(void);/*用户界面,返回0,则表示退出系统*//*==================================================================== 学生信息操作==================================================================== */stu*creat();/*建立链表*/void display(stu *head);/*显示用户信息*/void insert(stu *head);/*增加学生信息*/stu* delname(stu*head,char *stu_name);/*根据学生姓名删除用户信息*/stu* delnum(stu *head,char *stu_num);/*根据学生学号删除用户信息*/stu* checkname(stu *head,char *stu_name);/*输出指定学生的信息*/stu* checknum(stu *head,char *stu_num);/*输出指定学生学号的学生信息*/ void changsc_name(stu *head,char *name);/*修改用户成绩*/void changsc_num(stu *head,char *num);/*修改用户成绩*/void waring(void);/*产生警告信息*/char cheknum(char *num);/*检查学生学号是否符合格式*/char chekname(char *name);/*检查学生姓名是否符合格式*/char chekscore(char score);/*检查学生分数是否符合格式*/stu* sortscore(stu *head);/*学生按平均成绩排序*/stu* sortnum(stu *head);/*学生信息按学号排序*//*==================================================================== 学生用户登录==================================================================== */char stulogin(void);/*进入普通用户登录界面*/char stucheck(char *nam,char *stnum);/*查找是否存在该学生信息*/char newlogin(char *nam,char *stnum);/*注册学生信息*/void disnewst(void);/*获得学生信息*//*==================================================================== 系统管理选择,管理员权限==================================================================== */void stu_system(void);/*对各种操作集中管理*/void sentmsg(void);/*发送公告*/char readmsg(void);/*浏览信息*/char delemsg(void);//删除信息void chagesbject(void);/*修改课程信息*//*==================================================================== 用户登录信息==================================================================== */void setlogintime(void);/*记录用户登录时间*/void dislogintime(void);/*显示用户登录信息*/void setused(void);/*注册新用户资料*/char usedcheckname(char *name);/*用户信息检查,若存在用户,则返回1,否则返回0*/ char usedcheckpass(char *name,char *password);/*查看用户名密码是否符合*//*====================================================================存储操作====================================================================*/char save(stu *head);/*保存用户数据*/char disload();/*显示用户信息*/stu* load(void);/*加载用户数据*/void clrtxt(char *str);/*清除文本信息*/char* creat_txt(char *username);/*根据用户名,创建一个用户文件*/FILE* chekuser(char *username);/*根据用户名,查找是否有此用户信息,若无,返回NULL*/ /*====================================================================---------------main函数----------====================================================================*/void main(){FILE *fp;char i,j;char name[15];system("color b5");memset(name,'\0',sizeof(name));if((fp=fopen(star_stu ,"r+"))==NULL){printf("将新建文件!\n");fp=fopen(star_stu ,"w+");}fread(name,sizeof(name),1,fp);if(strcmp(name,mass_key)!=0){printf("文件载入出错!\t N为退出回车键继续...:");i=getchar();if((i=='n')||(i=='N')){fclose(fp);exit(1);}else{printf("\n\n数据将重新初始化!\n");printf("\n\n请输入4门科目名称\n");memset(name,'\0',sizeof(name));fwrite(name,sizeof(name),5,fp);strcpy(name,mass_key);rewind(fp);fwrite(name,sizeof(name),1,fp);for(i=0;i<sc_num;i++){printf("\n\n第%d门科目名称: ",i+1);scanf("%s",sc_name[i]);if(fwrite(sc_name[i],sizeof(sc_name[i]),1,fp)!=1){printf("\n\n\t\t\t\t保存出错!\n");getchar();exit(1);}}}}else{if(fp==NULL)printf("\n文件错误!");fscanf(fp,"%s%s%s%s",sc_name[0],sc_name[1],sc_name[2],sc_name[3]);}fclose(fp);fp=fopen(share,"w"); //为防止文件在后面打开错误fclose(fp);fp=fopen(manager,"w");fclose(fp);fp=fopen(outmsg,"w");fclose(fp);do{j=welcome();if(j==1){system("cls");printf("\t\t欢迎进入学生用户中心系统!");setlogintime();j=stulogin();}else if(j==2){setlogintime();stu_system();}}while(j!=0);fp=fopen(share,"w"); //为防止文件未关闭,倒置文件内容丢失fclose(fp);fp=fopen(manager,"w");fclose(fp);fp=fopen(outmsg,"w");fclose(fp);fp=fopen(logtimemsg,"w");fclose(fp);fp=fopen(star_stu,"w");fclose(fp);fp=fopen(stu_msg,"w");fclose(fp);}/*====================================================================---------------------------初始化用户界面---------------------------====================================================================*///返回1,则进入stu用户界面//返回0,则表示退出//返回2,则表示进入管理员界面char welcome(void){char username[20];char userpass[20];char i,wrong_cont=0,key=0,weling=1,back=0;char temp;system("color b5");while(weling){do{system("cls");printf("\t*********************欢迎进入教务管理系统********************\n");printf("\t* *\n");printf("\t* 1.用户登录*\n");printf("\t* *\n");printf("\t* 2.用户注册*\n");printf("\t* *\n");printf("\t* 3.管理员登陆*\n"); printf("\t* *\n"); printf("\t* 4.管理员注册*\n"); printf("\t* *\n"); printf("\t* 5.退出系统*\n"); printf("\t* *\n"); printf("\t=============================================================\n"); printf("\t 请按命令提示操作\n"); printf("\n\n\n");printf("\n\n\n");printf("您输入的命令为:\t");i=getchar();if((i!='1')&&(i!='2')&&(i!='3')&&(i!='4')&&(i!='5')){printf("\n输入错误的指令!请按命令提示操作1-3\n");getchar();}}while((i!='1')&&(i!='2')&&(i!='3')&&(i!='4')&&(i!='5'));switch(i){case '1':{system("cls");memset(username,'\0',sizeof(username));memset(userpass,'\0',sizeof(userpass));printf("\n\t请输入用户名:\t");scanf("%s",username);printf("\n\t请输入学号:\t");scanf("%s",userpass);temp=stucheck(username,userpass);if(temp==0){printf("没有学生档案信息!请注册...\n");getchar();break;}else if(temp==1){memset(userlogin,'\0',sizeof(userlogin));strcpy(userlogin,username);printf("\n\t学生成绩登录有效!");getchar();return 1;}getchar();//=======================break;}case '2':{system("cls");memset(username,'\0',sizeof(username));memset(userpass,'\0',sizeof(userpass));printf("\n\t请输入用户名:\t");scanf("%s",username);printf("\n\t请输入学号:\t");scanf("%s",userpass);while(cheknum(userpass)!=1){printf("您的输入格式有误,请重新输入!\n");printf("按回车键继续...\n");getchar();memset(userpass,'\0',sizeof(userpass));printf("\n\t请输入学号:\t");scanf("%s",userpass);}if(newlogin(username,userpass))printf("\n\t注册成功!用户名:%s\t学号:%s",username,userpass);getchar();break;}case '3':{do{system("cls");memset(username,'\0',sizeof(username));memset(userpass,'\0',sizeof(userpass));printf("\n\t请输入用户名:\t");scanf("%s",username);printf("\n\t请输入密码:\t");scanf("%s",userpass);if(usedcheckpass(username,userpass)==0){wrong_cont++;if(wrong_cont==3){printf("\n\t输入次数大于3次!请按回车键退出系统!\n");getchar();weling=0;return 0;}key=1;printf("\n\t按1选择返回主菜单\n\t按0继续输入用户验证码\n");do{back=getchar();if((back!='1')&&(back!='0')){printf("\n\t输入错误!按回车键继续...");getchar();}}while((back!='1')&&(back!='0'));if(back=='1')key=0;}else{key=0;weling =0;system("cls");printf("\n\n\t\t欢迎%s进入学生管理系统\n",username);memset(userlogin,'\0',sizeof(userlogin));strcpy(userlogin,username); //记录用户登录信息return 2;}}while(key);back=0;weling=1;break;return 2;}case '4':{setused();/*注册新管理员资料*/weling=1;break;}case '5':{weling=0;return 0;}}}return 1;}/*==================================================================== ---------------建立链表----------==================================================================== */stu*creat()/*建立链表*/{char i,j;char stu_num;stu *p1, *p2;stu *head;FILE *fp;fp=fopen(stu_msg,"w+");head=(stu*)malloc(sizeof(stu));head->next=NULL;p1=p2=(stu*)malloc(sizeof(stu));i=0,j=0;system("cls");printf("\n\n请输入要录入的学生人数: ");scanf("%d",&stu_num);for(i=0;i<stu_num;i++){system("cls");p1->average=0;printf("\n\n请输入学生学号: ");scanf("%s",p1->num);while(!cheknum(p1->num)){printf("\n\n输入格式错误!请重新输入学号: ");scanf("%s",p1->num);}printf("\n\n请输入学生姓名: ");scanf("%s",p1->name);while(!chekname(p1->name)){printf("\n\n输入格式出错!不能带数字或下划线!\n");printf("\n\n请重新输入学生姓名: ");scanf("%s",p1->name);}do{printf("\n\n请输入学生%s成绩:",sc_name[j]);scanf("%d",&p1->score[j]);while((100<p1->score[j])||(p1->score[j]<0)){printf("\n\n成绩格式出错!\n ");getchar();printf("\n\n请重新输入学生成绩: ");scanf("%d",&p1->score[j]);}p1->average+=p1->score[j];j++;}while(j<sc_num);j=0;p1->average=p1->average/4;if(i==0){head->next=p1; /*分清楚是head->next=p还是head=p*/p2=p1;p1->next=NULL;}else{p2->next=p1;p2=p1;p2->next=NULL; /*产生新的节点*/}fwrite(p1,sizeof(stu),1,fp);p1=(stu*)malloc(sizeof(stu));}display(head);getchar();fclose(fp);return head;}/*====================================================================检查学生学号是否符合格式,若正确,则返回1,否则返回0==================================================================== */char cheknum(char *num)/*检查学生学号是否符合格式*/{char i; /*获取字符串长度*/char j=strlen(num);for(i=0;i<j;i++){if(('0'>num[i])||('9'<num[i])){return 0;exit(1);}}return 1;}/*==================================================================== 检查学生姓名是否符合格式,若正确,则返回1,否则返回0==================================================================== */char chekname(char *name)/*检查学生姓名是否符合格式*/{char i;for(i=0;i<strlen(name);i++){/*if(('A'>name[i])||(('Z'<name[i])&&('a'>name[i]))||('z'<name[i]))/if(name[i]<18){return 0;exit(1);}*/}return 1;}/*==================================================================== 显示学生成绩情况==================================================================== */void display(stu *head)/*显示用户信息*/{stu *p1;char i=0;p1=head->next;system("cls");if(p1!=NULL){while(p1!=NULL){if(i==0){printf("姓名\t学号\t %s\t %s\t %s\t%s\t平均分\n",sc_name[0],sc_name[1],sc_name[2],sc_name[3]);i++;}printf("%s\t%s\t %d\t %d\t%d\t%d\t%d\n",\p1->name,p1->num,p1->score[0],p1->score[1],p1->score[2],p1->score[3],p1->average);p1=p1->next;}getchar();}else{printf("\t\t\t链表为空!\n\n\n请按回车键继续...\n");getchar();}}/*====================================================================插入学生信息====================================================================*/void insert(stu *head)/*增加学生信息*/{stu *p1,*p2;char j=0;p1=head->next;p2=(stu*)malloc(sizeof(stu)); /*创建新的学生信息*/p2->average=0;system("cls");printf("\n\n请输入要增加的学生学号: ");scanf("%s",p2->num);while(!cheknum(p2->num)){printf("\n\n输入格式错误!请重新输入学号: ");scanf("%s",p2->num);}printf("\n\n请输入学生的姓名: ");scanf("%s",p2->name);while(!chekname(p2->name)){printf("\n\n输入格式出错!不能带数字或下划线!\n");printf("\n\n请重新输入学生姓名: ");scanf("%s",p2->name);}do{printf("\n\n请输入学生%s成绩:",sc_name[j]);scanf("%d",&p2->score[j]);while((100<p2->score[j])||(p2->score[j]<0)){printf("\n\n成绩格式出错!\n ");getchar();printf("\n\n请重新输入学生成绩: ");scanf("%d",&p2->score[j]);}p2->average+=p2->score[j];j++;}while(j<sc_num);p2->average=p2->average/4;if(head->next==NULL){printf("\n原链表为空!");getchar();head->next=p2;}else{while(p1->next!=NULL)p1=p1->next;p1->next=p2;p2->next=NULL;}display(head);getchar();}/*====================================================================删除学生信息====================================================================*/stu* delname(stu*head,char *stu_name)/*根据学生姓名删除用户信息*/{stu *p1,*p2;char i,j=0;system("cls");if(head->next==NULL){printf("\n\n没有学生信息!\t操作错误!\n");return head;}p1=head->next;p2=p1;while(p1!=NULL){if(strcmp(p1->name,stu_name)==0){printf("\n\n你所删除的学生姓名为: %s\t学号为:%s\n",p1->name,p1->num);printf("\n\n确定为:y,取消为n\t:");i=getchar();while(!((i=='y')||(i=='Y')||(i=='n')||(i=='N'))){printf("\n\n输入错误!\t请重新输入:");i=getchar();}if((i=='y')||(i=='Y')){if(j==0){head->next=p1->next;/*删除头部接点*/}else{p2->next=p1->next;}printf("\n\n\t\t\t\t成功删除用户信息!\n\n\t\t\t按回车键继续...\n");free(p1);return head;}else{return head;}}j++;p2=p1;p1=p1->next;}printf("\n\n\t\t没有此用户记录信息!\n按回车键继续\n");getchar();system("cls");display(head);getchar();return head;}/*====================================================================删除学生信息(以学号为对象)====================================================================*/stu* delnum(stu *head,char *stu_num)/*根据学生学号删除用户信息*/{stu *p1,*p2;char i,j=0;system("cls");if(head->next==NULL){printf("\n\n\t\t没有存储学生信息!\n\n\t\t操作错误!\n");return head;}p1=head->next;p2=p1;while(p1->next!=NULL){if(strcmp(p1->num,stu_num)==0){printf("\n\n你所删除的学生姓名为: %s\t学号为:%s\n",p1->name,p1->num);printf("\n\n确定为:y,取消为n\t:");i=getchar();while(!((i=='y')||(i=='Y')||(i=='n')||(i=='N'))){printf("\n\n输入错误!\t请重新输入:");i=getchar();}if((i=='y')||(i=='Y')){if(j==0){head->next=p1->next;}else{p2->next=p1->next;}printf("\n\n\t\t\t\t成功删除用户信息!\n\n\t\t\t按回车键继续...\n");free(p1);return head;}elsereturn head;}p2=p1;p1=p1->next;j++;}printf("\n\n没有此用户信息!\n按回车键继续...\n");getchar();system("cls");display(head);getchar();return head;}/*====================================================================输出指定学生信息(以学生姓名为对象)====================================================================*/stu* checkname(stu *head,char *stu_name)/*输出指定学生的信息*/{stu *p1;system("cls");if(head==NULL){printf("\n\n\t\t没有存储学生信息!\t操作错误!\n");getchar();return head;}p1=head;while(p1->next!=NULL){if(strcmp(p1->name,stu_name)==0){printf("\n\n你所查找的学生信息如下\n");printf(" \n\n%s\t学号为:%s\n",p1->name,p1->num);printf("姓名\t学号\t\t %s\t %s\t %s\t%s\t平均分\n",\sc_name[0],sc_name[1],sc_name[2],sc_name[3]);printf("%s\t%s\t\t %d\t %d\t%d\t%d\t%d\n",\p1->name,p1->num,p1->score[0],p1->score[1],p1->score[2],p1->score[3],p1->average);getchar();return p1;}p1=p1->next;}printf("\n\n\t\t找不到相关用户信息!\n按回车键继续...\n");getchar();system("cls");display(head);getchar();return (stu*)NULL;}/*====================================================================输出指定学生信息(以学生学号为对象)====================================================================*/stu* checknum(stu *head,char *stu_num)/*输出指定学生学号的学生信息*/{stu *p1,*p2;p2=(stu*)malloc(sizeof(stu));system("cls");if(head==NULL){printf("\n\n\t\t没有存储学生信息!\t操作错误!\n");return head;}p1=head;while(p1->next!=NULL){if(strcmp(p1->num,stu_num)==0){printf("\n\n你所查找的学生信息如下\n");printf(" %s\t学号为:%s\n",p1->name,p1->num);printf("姓名\t学号\t\t %s\t %s\t %s\t%s\t平均分\n",\sc_name[0],sc_name[1],sc_name[2],sc_name[3]);printf("%s\t%s\t\t %d\t %d\t%d\t%d\t%d\n",\p1->name,p1->num,p1->score[0],p1->score[1],p1->score[2],p1->score[3],p1->average);getchar();return p1;}p1=p1->next;}printf("\n\n\t\t找不到相关用户信息!\n按回车键继续...\n");getchar();return (stu*)NULL;}/*====================================================================修改指定学生信息(以学生姓名为对象)====================================================================*/void changsc_name(stu *head,char *name)/*修改用户成绩*/{stu *p;char j=0;system("cls");p=checkname(head,name);if(p!=NULL){p->average=0;printf("\n\n请输入学生新的学号: ");scanf("%s",p->num);while(!cheknum(p->num)){printf("\n\n输入格式错误!请重新输入学号:\n ");scanf("%s",p->num);}do{printf("\n\n请输入学生成绩%s :",sc_name[j]);scanf("%d",&p->score[j]);while((100<p->score[j])||(p->score[j]<0)){printf("\n\n成绩格式出错!\n ");getchar();printf("\n\n请重新输入学生成绩: ");scanf("%d",&p->score[j]);}p->average+=p->score[j];j++;}while(j<sc_num);p->average=p->average/4;printf("\n\n\t\t用户数据更新完毕!\n请按回车键退出...\n");getchar();system("cls");display(head);getchar();}}/*==================================================================== 修改指定学生信息(以学生学号为对象)==================================================================== */void changsc_num(stu *head,char *num)/*修改用户成绩*/{stu *p2;char j=0;system("cls");p2=checknum(head,num);if(p2!=NULL){p2->average=0;printf("\n\n请输入学生姓名: ");scanf("%s",p2->name);while(!chekname(p2->name)){printf("\n\n输入格式错误!请重新输入学号: ");scanf("%s",p2->name);}do{printf("\n\n请输入学生成绩%s :",sc_name[j]);scanf("%d",&p2->score[j]);while((100<p2->score[j])||(p2->score[j]<0)){printf("\n\n成绩格式出错!\n ");getchar();printf("\n\n请重新输入学生成绩: ");scanf("%d",&p2->score[j]);}p2->average+=p2->score[j];j++;}while(j<sc_num);p2->average=p2->average/4;printf("\n\n\t\t用户数据更新完毕!请按回车键退出...\n");getchar();}}/*==================================================================== ==================================================================== ============================存储操作类函数========================== ==================================================================== ==================================================================== *//*==================================================================== 加载学生信息==================================================================== */stu* load(void)/*加载用户数据*/{FILE *fp;stu *p,*head,*p1;char i=0,j=0;fp=fopen(stu_msg,"r");rewind(fp);head=(stu*)malloc(sizeof(stu));p1=p=(stu *)malloc(sizeof(stu));while(fread(p,sizeof(stu),1,fp)==1){if(i==0){head->next=p;p1=p;}else{p1->next=p;p1=p;p1->next=NULL;}i++;p=(stu*)malloc(sizeof(stu));j++;}if(j==0){printf("\n\n\t\t\t没有数据信息可载入!\n");head=NULL;free(p);getchar();}fclose(fp);return head;}/*====================================================================显示学生信息====================================================================*/char disload()/*显示用户信息*/{FILE *fp;stu *p1;char i=0;p1=(stu*)malloc(sizeof(stu));if((fp=fopen(stu_msg,"r+"))==NULL)fp=fopen(stu_msg,"w+");rewind(fp);while(fread(p1,sizeof(stu),1,fp)==1){printf("%s\t%s\t %d\t %d\t%d\t%d\t%d\n",\p1->name,p1->num,p1->score[0],p1->score[1],p1->score[2],p1->score[3],p1->average);i++;//fread(p1,sizeof(stu),1,fp);}fclose(fp);if(i==0){printf("\n\t\t\t文件中不含学生信息!\n\t\t\t按回车键继续...\n");getchar();}else{printf("\n\t\t\t一共记录了%d名学生信息!\n\t\t\t按回车键继续...\n",i);getchar();}}/*==================================================================== 保存学生信息==================================================================== */char save(stu *head)/*保存用户数据*/{stu *p;FILE *fp;stu stt;char i=0;p=head->next;system("cls");clrtxt(stu_msg);fp=fopen(stu_msg,"w");rewind(fp);//if(head->next!=NULL){while(p!=NULL){fwrite(p,sizeof(stu),1,fp);p=p->next;i++;}if(i==0){printf("没有保存数据!\n");getchar();fclose(fp);return 0;}else{fclose(fp);return 1;}}else{fclose(fp);return 0;}fclose(fp);return 0;}/*==================================================================== 创建文本信息==================================================================== */char* creat_txt(char *username)/*根据用户名,创建一个用户文件*/{char name[20];FILE *fp;strcpy(name,"d:\\");strcat(name,username);strcat(name,".txt");fp=fopen(name,"w+");system("cls");if(fp!=NULL){//printf("\n\n文件路径为:%s\n\n",name);//printf("\n\n\t\t用户文件创建成功!\n\n\t\t请按回车键继续...\n");//getchar();fclose(fp);return name;}else{printf("\n\n\t\t无法创建用户文件!\n\n\t\t请按回车键继续...\n");getchar();fclose(fp);return name;}}/*====================================================================清除文本信息====================================================================*/FILE* chekuser(char *username)/*根据用户名,查找是否有此用户信息,若无,返回NULL*/ {}/*====================================================================清除文本信息====================================================================*/void clrtxt(char *str)/*清除文本信息*/{char clrmem[10];char semem[40];FILE *fp;int i=0,j=0;if((fp=fopen(str,"r"))==NULL){printf("\n\t无此文件!");getchar();}else{fclose(fp);fp=fopen(str,"w");memset(clrmem,'\0',sizeof(clrmem));rewind(fp);for(i=0;i<40;i++){if(fwrite(clrmem,sizeof(clrmem),1,fp)!=1){if(j==0){printf("\n\n\t\t文件清除失败!\n\n\t\t请按回车键继续...\n");getchar();break;}else{//printf("\n\n\t\t文件清除成功!\n\n\t\t请按回车键继续...\n");//getchar();break;}}elsej++;}fclose(fp);}}/*====================================================================用户登录信息====================================================================*/void setlogintime(void)/*记录用户登录时间*/{FILE *fp;int y,m,d,hour,min,sec;time_t T; // 一个可以包含时间信息的长整型struct tm *timeinfo;time( &T ); // 得到机器的日历时间if((fp=fopen(logtimemsg,"a+"))==NULL){fp=fopen(logtimemsg,"w");}time( &T ); // 得到机器的日历时间timeinfo = localtime( &T ); // 将日历时间转换为当地时间,timeinfo 是一个时间格式的指针y=timeinfo->tm_year + 1900; // 年份m=timeinfo->tm_mon + 1; // 月份d=timeinfo->tm_mday; // 日期hour=timeinfo->tm_hour;min=timeinfo->tm_min;sec=timeinfo->tm_sec;fwrite(userlogin,sizeof(userlogin),1,fp);fwrite(timeinfo,sizeof(struct tm),1,fp);//写入用户登陆信息printf("\n\n\n\t\t登陆时间为:\n\t\t%d年%d月%d日%d时%d分%d秒\n\n\n", y, m, d,hour,min,sec);fclose(fp);}/*====================================================================用户登录信息====================================================================*/void dislogintime(void)/*显示用户登录信息*/{FILE *fp;int y,m,d,hour,min,sec;struct tm *timeinfo;char name[10];int i=0;timeinfo=(struct tm*)malloc(sizeof(struct tm));fp=fopen(logtimemsg,"r+");if(fp==NULL){printf("\n\n\t\t找不到文件信息!\n\n\t\t按回车键继续...\n");getchar();}else{memset(name,'\0',sizeof(name));while(fread(name,sizeof(name),1,fp)==1){fread(timeinfo,sizeof(struct tm),1,fp);y=timeinfo->tm_year + 1900; // 年份insm=timeinfo->tm_mon + 1; // 月份d=timeinfo->tm_mday; // 日期hour=timeinfo->tm_hour;min=timeinfo->tm_min;sec=timeinfo->tm_sec;i++;printf("\n\t第%d次登陆时间为:%d年%d月%d日%d时%d分%d秒\t%s用户登录",i,y, m, d,hour,min,sec,name);memset(name,'\0',sizeof(name));}if(i==0)printf("\n没有记录用户登录时间!\n");getchar();free(timeinfo);fclose(fp);}}/*====================================================================用户登录信息====================================================================*/。
基于C++语言的教务管理系统毕业设计论文
毕业设计(论文)题目(中文):基于C++语言的教务管理系统的设计与实现(英文):Educational Administration Management System Designand Implementation Based on C++ language上海师范大学天华学院本科毕业设计(论文)诚信声明本人郑重声明:所呈交的毕业设计(论文),题目《基于C++语言的教务管理系统的设计与实现》是本人在指导教师的指导下,进行研究工作所取得的成果。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式注明。
除此之外,本设计(论文)不包含任何其他个人或集体已经发表或撰写过的作品成果。
本人完全意识到本声明应承担的法律责任。
作者(签名):日期:年月日毕业设计(论文)任务书(2015 届)题目(中文):基于C++语言的教务管理系统的设计与实现(英文):Educational Administration Management System Designand Implementation Based on C++ language学院工学院专业班级学生姓名学号指导教师学院负责人(签章)日期:2014年12月 5 日注:1. 本任务书一式两份,须双面打印。
由指导教师填写并经所在系审核确认后交系部;2. 本任务书一份须与学生的毕业设计(论文)一并存档,另一份系部存档3. 指导教师、学生可各执一份复印件,供检查论文进度时使用。
上海师范大学天华学院2015届毕业设计(论文)开题报告注:1. 本开题报告,须双面打印。
由学生填写并经指导老师审核、评价。
2. 本开题报告一式两份,一份须与学生的毕业设计(论文)一并存档,一份作系部存档用。
目录摘要 (I)Abstract (II)1 绪论 (1)1.1 课题的背景 (1)1.2 课题的意义 (2)1.3 论文的主要任务 (2)2 开发软件的简介 (3)2.1 Visual Studio简介 (3)2.2 C++介绍 (4)2.3 C++发展历史 (5)3 系统分析与设计 (6)3.1 系统设计思路 (6)3.2 系统功能设计 (7)3.2.1 学生资料管理模块设计 (8)3.3.2 学生成绩统计管理设计 (9)3.3.3 学生查询模块设计 (10)4 系统功能的实现 (10)4.1 登录界面的设计 (10)4.2 系统功能模块 (12)4.3 学生资料管理 (13)4.3.1 录入学生资料功能 (14)4.3.2 删除资料功能 (16)4.3.3 添加学生资料功能 (16)4.3.4 修改学生资料功能 (17)4.3.5 读取学生资料功能 (18)4.4 学生成绩统计管理 (19)4.4.1 按总分排名 (20)4.4.2 按单科成绩排名 (21)4.4.3 查看最高以及最低总分 (22)4.4.4 按平均分排名 (23)4.4.5 及格率 (23)4.5 学生查询管理 (24)4.5.1 按学号查询 (25)4.5.2 按姓名查询 (26)4.5.3 按班级查询 (26)4.6 关于系统模块 (27)5 总结 (27)参考文献 (29)致谢 (30)附录 (32)摘要随着现代计算机网络技术与校园信息化的联系越来越紧密,信息技术在学生信息的管理上已经逐步成熟学生信息以及学生成绩的管理是一项繁琐而复杂的工作,并且拥有着巨大的工作量,每一所学校都必须建立一套与学校自身校园网特点紧密结合的教务管理系统,方能更好的提高管理力度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告课程名称C语言程序设计课题名称教师评价系统数据库管理系统设计专业自动化班级学号姓名指导教师湖南工程学院课程设计任务书课程名称C语言程序设计课题教师评价系统数据库管理系统设计专业班级自动化1602学生姓名学号指导老师审批任务书下达日期2016 年12 月19 日任务完成日期2016年12 月30 日一、设计内容与设计要求1.设计内容:数据库管理系统设计涉及的知识点:①掌握并熟练运用C语言的基本数据类型与各种表达式,程序的流程控制语句;②掌握函数的定义,函数的返回值,函数的调用,函数的形式参数和实际参数之间的关系;掌握变量的作用域与生存期,了解函数的作用域。
③掌握并熟练运用C语言的图形处理功能和库函数的应用。
④掌握数组的基本概念。
熟练掌握一维数组、二维数组的应用、掌握字符数组与字符串的关系以及字符串的简单处理。
⑤掌握结构的概念,结构类型的定义,结构变量的定义和初始化,结构成员的表示,结构的赋值含义,结构与指针、函数的关系。
⑥掌握基本的文件操作。
题目5:教师评价系统输入教师评价信息,提供新增、修改和显示等功能。
成绩单如下:教师编号:long 4bytes教师姓名:char 20bytes教师评分:int 4bytes总分:int 2bytes名次:float 4bytes等级:char 8bytes系统功能模块如下:(1) 建立教师评价数据库;(2) 菜单实现以下功能:①计算每个教师的总成绩;②按总成绩排定教师名次;③给教师评定等级(85以上优秀,60~84合格,60以下不合格)④新增一个教师信息进行评价⑤按教师编号查询教师评价信息;2.设计要求:1)要求每个学生必须独立思考,认真并按时完成本课程设计所包含的所有内容;2)要求学生必须按照课程设计报告的完整格式说明设计内容,设计任务分析过程和算法,给出程序流程图和全部源程序;3)设计报告的完整格式应包括以下部分的内容:①设计总体思路;②总体模块框图;③各个程序模块说明;④程序流程图;⑤程序清单;⑥课程设计总结与体会(不少于400字)。
4)上机时要求必到,设计完成,必须演示程序,答辩并提交设计报告。
5)总评成绩由三部分组成:报告占20%,平时占20%,课程设计题目各占30%。
二、进度安排附:课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。
正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。
正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。
正文总字数要求在5000字以上(不含程序原代码)。
目录一、程序设计的总体思路 (1)1.1程序的功能二、各个模块三、主要功能的实现3.1主函数模块void main()3.2显示模块 void disp()3.3求和模块 void count()3.4分级模块 void sort()3.5追加模块 void appe()3.6修改模块 void modi()3.7查询模块 void query()3.8排序模块void mc ()3.9退出模块 void exit()四、程序调试及运行4.1.主函数void main4.2 显示模块调试 void disp()4.3求和模块调试 void count()\4.4分级模块调试void sort()4.5追加模块调试void appe()4.6修改模块调试 void modi()4.7查询模块调试 void query()4.8排序模块调试 void mc()4.9退出模块 void exit()五、课程设计总结与体会六、附件一、程序设计的总体思路1.1程序的功能该程序利用主函数的swich函数来调用各个模块的功能。
switch(choice){case 1:Input();break; (输入模块)case 2:Disp();break; (显示模块)case 3:Count();break; (求和模块)case 4:Sort();break; (分级模块)case 5:Append();break; (追加模块)case 6:Query();break; (查询模块)case 7:Modify();break; (修改模块)case 8:mc();break; (排序模块)case 0:exit(0); (退出模块)}二、各个模块。
三、主要功能的实现3.1 void main主函数模块void main(){int choice;menu:printf("\t\t\t1.Input teacher's information\n");printf("\t\t\t2.Display teacher's information\n");printf("\t\t\t3.Count\n");printf("\t\t\t4.Sort\n");printf("\t\t\t5.Append a teacher's information\n");printf("\t\t\t6.Query a teacher information\n");printf("\t\t\t7.Modify teacher's intformation\n");printf("\t\t\t8.mc \n");printf("\t\t\t0.Exit system\n\n");printf("\t\t\tPlease enter choice(0~8)");scanf("%d",&choice);switch(choice){case 1:Input();break;case 2:Disp();break;case 3:Count();break;case 4:Sort();break;case 5:Append();break;case 6:Query();break;case 7:Modify();break;case 8:mc();break;case 0:exit(0);}if(choice<0||choice>8)printf("\n\n\n\t\tplease choose again!\n\n"); goto menu;}3.2 void Disp显示模块void Disp(){int i;printf("************************************************************\n");printf("Num Name Sco1 Sco2 Sco3 Sum Mc Grade\n");printf("************************************************************\n");for(i=0;i<size;i++)printf("%-5ld%-10s%-5d%-5d%-5d%-5d%-5d%-5s\n",s[i].num,s[i].name,s[i].sc o[0],s[i].sco[1],s[i].sco[2],s[i].sum,s[i].mc,s[i].grade);printf("************************************************************\n");}void Count(){int i;for(i=0;i<size;i++){s[i].sum=s[i].sco[0]+s[i].sco[1]+s[i].sco[2];}Disp();}3.3 void count求和模块void Count(){int i;for(i=0;i<size;i++){s[i].sum=s[i].sco[0]+s[i].sco[1]+s[i].sco[2];}Disp();3.4 void sort 分级模块void Sort(){int i;for(i=0;i<size;i++){if(s[i].sum>=85)strcpy(s[i].grade,"优秀");if(s[i].sum>60&&s[i].sum<85)strcpy(s[i].grade,"合格");if(s[i].sum<=60)strcpy(s[i].grade,"不及格");}Disp();3.5 void appe 追加模块v oid Append(){int n,i,j;printf(" ----------------\n");printf(" | 是否新增: |\n");printf(" | 1确定 2取消 |\n");printf(" -----------------");scanf("%d",&n);if(n==1){printf(" 请输入新增个数\n");printf(" ****************\n");scanf("%d",&i);printf(" 编号姓名 sco0 sco1 sco2 \n ");printf("***********************************\n");for(j=0;j<i;j++){scanf("%ld%s%d%d%d",&s[size].num,s[size].name,&s[size].sco[0],&s[size].sco[ 1],&s[size].sco[2]);printf("%ld %s %d %d %d\n",s[size].num,s[size].name,s[size].sco[0],s[size]. sco[1],s[size].sco[2]);size++;}printf(" ~~~~~~~~~~~~~~~~~~\n");printf(" | 新增成功 |\n");printf(" ~~~~~~~~~~~~~~~~~~\n");}if(n==2)printf("\n");3.6 void modi 修改模块void Modify(){int n,m;long int num;printf(" ***********************\n");printf(" * 请输入教师编号: *\n");printf(" ***********************\n");scanf("%ld",&num);for(n=0;n<size;n++)if(s[n].num==num)break;if(n!=size){printf("************************************************************\n"); printf(" sco0 sco1 sco2\n");scanf("%d%d%d",&s[n].sco[0],&s[n].sco[1],&s[n].sco[2]);}else if(n==size){printf(" ***********************************\n");printf(" * 输入编号不存在,请重新输入 *\n");printf(" ***********************************\n");}{printf(" ***************************\n");printf(" * 是否继续查询: *\n");printf(" * 1 是 2 否 *\n");printf(" ***************************\n");scanf("%d",&m);if(m==1)Modify();if(m==2)printf("\n");}Disp();3.7 void query 查询模块void Query(){int n,m;long int num;printf(" ************************\n");printf(" * 请输入教师编号: *\n");printf(" ************************\n");scanf("%ld",&num);for(n=0;n<size;n++)if( s[n].num==num)break;if(n!=size){printf("Num Name Sco1 Sco2 Sco3 Sum Mc Grade\n");printf("%-5ld%-10s%-5d%-5d%-5d%-5d%-5d%-5s\n",s[n].num,s[n].name,s[n].sc o[0],s[n].sco[1],s[n].sco[2],s[n].sum,s[n].mc,s[n].grade);}else if(n==size){printf(" ***********************************\n");printf(" * 输入编号不存在,请重新输入 *\n");printf(" ***********************************\n");}{printf(" ***************************\n"); printf(" * 是否继续查询: *\n"); printf(" * 1 是 2 否 *\n"); printf(" ***************************\n"); scanf("%d",&m);if(m==1)Query();if(m==2)printf("\n");}Disp();3.8 void mc 排序模块void mc(){struct teacher p1;int i,j;for(i=0;i<size-1;i++)for(j=i+1;j<size;j++)if(s[i].sum<s[j].sum){p1=s[i];s[i]=s[j];s[j]=p1;}for(i=0;i<size;i++)s[i].mc=i+1;Disp();}四、程序调试及运行4.1 主函数 void main ()4.2显示模块 void disp()4.3求和模块 void count()4.4分级模块 void sort()4.5追加模块 void appe()4.6 修改模块 void modi()4.7 查询模块 void query()4.8退出模块 void exit()六、课程设计总结与体会在科技高度发展的今天,计算机在人们之中的作用越来越突出。