当前位置:文档之家› C语言职工工资管理系统程序设计报告

C语言职工工资管理系统程序设计报告

C语言职工工资管理系统程序设计报告
C语言职工工资管理系统程序设计报告

C语言课程设计报告题目小型职工工资管理系统

专业班级2016级通信工程本科1班

组别通信第二组

学生姓名

院(系)信息工程系

指导教师(职称)

完成时间2017年5月31日

课程设计任务书

题目职工工资管理系统

班级2016级通信工程本科1班

学号姓名

学号姓名

学号姓名

学号姓名

学号姓名

一、主要内容:

本课程设计结合本学期所学C语言知识,准备设计开发一个简单职工工资管理

系统。工资管理系统是企业不可或缺的一部分,它利用计算机对员工工资进行统一

管理,实现工资管理系统的系统化、规范化和自动化,为企业提高工作效率。设计

开发这个系统需要用到单链表、文件读取操作、结构体、函数、指针等C语言知识。本课程设计准备通过Windows控制台应用程序实现职工工资管理系统的简单运行。

利用所学知识,本着简单、易用的设计原则,本课程设计尽量实现良好、美观的

“人机界面”,便于软件的操作使用。

本次设计主要学习内容包括:

(一)进一步学习并熟练掌握C语言语法和编程思想。

(二)学习C语言提供的库函数,熟悉VisualC++的开发工具。

(三)学习C语言函数、链表、结构体、文件读取、指针等知识。

(四)学习如何查阅他人的文档进行软件的设计与开发。

二、基本要求:

(一)质量要求

1.职工工资管理系统基本功能模块的设计应包括:显示主菜单功能、职工信

息的录入、添加、删除、修改、查询、排序功能,退出系统。测试文件的读取与存

储是否正常、测试评估界面是否合理,友好。

2.对职工工资管理系统设计并进行调试、修复、完善、测试。

3.定期主动向指导教师汇报任务进度,认真填写相关报告文档。

4.按时完成各阶段工作,不突击,不抄袭。

(二)进度要求

1.明确课程设计任务,搜集资料:2017年2月28日—3月14日。

2.完成程序的设计与实现,撰写课程设计论文初稿:2017年3月15日—5月15日。

3.与指导教师沟通,完成课程设计论文定稿:2016年5月16日—2017年5月28日。

4.进入课程设计论文审阅阶段,准备答辩:2017年5月29日—6月9日。

三、主要参考资料:

1.工资管理系统课程设计程序

语言程序设计规范及基础

3.《明解C语言第3版》,(日)柴田望洋着,人民邮电出版社

4.《CPrimerPlus第6版中文版》,姜佑?译,人民邮电出版社

5.《C程序设计第四版》,谭浩强着,清华大学出版社

6.《C和C++实物精选》,徐波着,北京邮电出版社

学生签名:

指导教师签名:

年月日

目录

1概述

设计思想

1.系统分成几个相对独立的模块,但这些模块都进行集中式管理。

2.分层的模块化程序设计思想,整个系统采用模块化结构设计作为应用程

序,有较强的可操作性和扩展性。

3.合理的数据设计,在应用系统设计中,相对独立的模块间以数据相互连

接,使各模块间的耦合性较低,方便系统运行,提高系统安全性。

设计原则

为了使本系统功能齐全完备,操作简便,最大限度的提高软件的质量,从而满足用户的实际需要,在设计开发过程中遵循了如下原则:

1.合法性原则:依据产品核算系统的工作规定以及要求,参照核算实际的工作情况,进行诸如产品进货、销售等工作。

2.实用性原则:适合产品信息管理工作的实际需求,并能够处理一些特殊情况的要求,此外,尽可能预留空间,以便扩充功能。

3.准确性原则:对输入的相关资料建立检错机制,及时报错,使用户能够及时准确的输入合法资料(如:类型匹配,长度不超限等)。

4.易操作原则:要求设计的系统功能齐全,界面友好,操作方便,必要的地方进行提示。

5.源程序可读性原则:为了便于其他设计,维护人员读懂代码或以后的代码修改,软件升级维护,即可能做好代码注释工作。

性能需求

(1)支持工资信息一次性多组导入

(2)非法操作能够提示错误并且知道安全行为方式

(3)信息查询时界面显示数量

课程设计报告内容及分工情况

课程设计报告内容

1.系统功能模块结构图和程序流程图

2.数据结构设计及用法说明

3.程序结构(画功能模块图或流程图)

4.各模块的功能

5.实验结果(包括输入数据和输出结果)

6.设计体会

7.参考文献

课程设计分工情况

本组共有5人,具体分工情况如下:

(1)学号:,姓名:司笑笑,具体负责功能模块结构图和程序流

程图的设计;负责“排序”代码的编写及整体代码的整合;负责程序设计报告中函数详细设计。

(2)学号:,姓名:代慧,负责“添加”、“录入”代码的编写;负责显示界面的优化、美化。

(3)学号:,姓名:王春亚,负责“查询”代码的编写;程序的测试与调试;。(4)学号:,姓名:董子阳,负责“修改”代码的编写;具体负责实验结果的采集;程序设计报告书的校对;负责流程图的绘制。

(5)学号:,姓名:马良智,负责“删除”代码的编写;具体负责程序设计报告书的排版与完善;相关文献的查找和参考。

2总体设计

系统功能设计图

系统功能设计是使整个系统能基本实现职工工资管理功能,能让公司的管理者利用计算机对员工工资进行统一管理,实现工资管理系统的系统化、规范化和自动化,提高了工作效率。管理信息系统(MIS)主要的功能就是进行信息的收集、查询、存储,同时对这些信息进行维护的。

本系统共包括七大模块,分别是录入模块,添加模块,修改模块,删除模

块,查询模块,排序模块,输出模块。系统功能模块设计如图2-1所示。

图2-1小型职工工资管理系统功能模块结构图

主函数main()

(1)函数的功能:用于联系各个功能函数模块,以及退出程序时的退出画面提示。

(2)函数的入口:整个程序是从主函数开始的。

(3)函数的出口:当从main()的switch()开关结构中进入,即choise的值大于7时通过return退出main()函数,即:退出整个程序。

(4)函数调用关系:该函数不被其它函数调用。

程序流程图

3详

细设

3.1函

(1)功

能函数mainMenu()

①函数的功能:显示主菜单

②函数的入口:从main()进入,main()运行时进入该函数。

③函数调用关系:被主函数调用。

④函数的出口:当主菜单显示在屏幕上,结束该函数。

(2)功能函数input(LinkListhead)

①函数的功能:进入录入职工信息系统。

②函数的入口:程序从main()的switch()开关结构中进入,即choice的值为1时,开始进入该函数,进入函数后,首先用inputMenu()显示录入菜单选项,然后选择选项进行录入职工信息。

③函数调用关系:被主函数调用。从switch()开关结构中进入,并在文中无返回值的空值void函数。

④函数的出口:录入职工信息完成后,结束该函数而并执行主函数main()中“output(head);”,输出职工信息在屏幕上并保存职工信息在磁盘上,然后执行“break;”跳出switch()开关函数,继续执行while循环结构。

(3)功能函数inputMenu()

①函数的功能:显示录入菜单。

②函数的入口:从input(LinkListhead))进入,input(LinkListhead)被调用时进入该函数。

③函数调用关系:被input(LinkListhead))调用,并在文中无返回值的空值void函数。

④函数的出口:当录入菜单显示在屏幕上,结束该函数。

(4)功能函数hand(LinkListhead)

①函数的功能:进入“手动录入职工信息”。

②函数的入口:程序从input(LinkListhead)的switch()开关结构中进入,即choice的值为1时,开始进入该函数,进入函数后,首先输入录入职工人数,然后逐个录入职工信息。

③函数调用关系:被input(LinkListhead)调用。从switch()开关结构中进入,并在文中无返回值的空值void函数。

④函数的出口:录入全部职工信息完成后,结束该函数并执行

input(LinkListhead)中“break;”跳出switch()开关函数,继续执行while循环结构。

(5)功能函数read(LinkListhead)

①函数的功能:进入“文件录入职工信息”。

②函数的入口:程序从input(LinkListhead)的switch()开关结构中进入,即choice的值为2时,开始进入该函数,进入函数后,输入需要录入的文件路径fileName,通过fopen()函数,即“if((fq=fopen(fileName,"r"))==NULL)”打开文件,进入数据的处理。

③函数调用关系:被input(LinkListhead)调用。从switch()开关结构中进入,并在文中无返回值的空值void函数。

④函数的出口:自动录入文件中全部职工信息后,结束该函数并执行

input(LinkListhead)中“break;”跳出switch()开关函数,继续执行while循环结构。

(6)功能函数output(LinkListhead)

①函数的功能:输出职工信息。

②函数的入口:程序在录入、添加、修改、删除、查询、排序后都进入该函数,进入函数后,将职工信息用printf()标准输出到屏幕上,然后通过fopen()函数,即“if((fp=fopen("d:\\","w"))==NULL)”打开文件,将职工信息写到d:\\文件中。

③函数调用关系:被main()等多个调用。在文中无返回值的空值void函数。

④函数的出口:将职工信息用printf()标准输出到屏幕上,将职工信息存入磁盘后,结束该函数。

(7)功能函数add(LinkListhead)

①函数的功能:添加一个职工信息。

②函数的入口:从main()的switch()开关结构中进入,即choice的值为2的时侯,进入该函数,根据提示输入职工信息。

③函数调用关系:被主函数调用。由switch()开关结构中进入,并在文中有返回值的整型int函数,返回值为1添加成功。

④函数的出口:职工信息添加成功返回1后结束该函数,并执行主函数main()中“output(head);”,输出职工信息在屏幕上并保存职工信息在磁盘上,然后执行“break;”跳出switch()开关函数,继续执行while循环结构。

(8)功能函数deleteWorker(LinkListhead)

①函数的功能:删除一个职工信息。

②函数的入口:从main()的switch()开关结构中进入,即choice的值为3的时侯,进入该函数,输入要删除的职工编号,删除改编号职工信息。

③函数调用关系:被主函数调用。由switch()开关结构中进入,并在文中有返回值的整型int函数,返回值为1删除成功。

④函数的出口:职工信息删除成功返回1后结束该函数,并执行主函数main()中“output(head);”,输出剩余的职工信息在屏幕上,然后执行“break;”跳出switch()开关函数,继续执行while循环结构。

(9)功能函数update(LinkListhead)

①函数的功能:修改一个职工信息。

②函数的入口:从main()的switch()开关结构中进入,即choice的值为4的时侯,进入该函数,输入要修改的职工编号,根据提示输入新的职工信息。

③函数调用关系:被主函数调用。由switch()开关结构中进入,并在文中有返回值的整型int函数,返回值为1修改成功。

④函数的出口:职工信息修改成功返回1后结束该函数,并执行主函数main()中“output(head);”,输出职工信息在屏幕上并保存职工信息在磁盘上,然后执行“break;”跳出switch()开关函数,继续执行while循环结构。

(10)功能函数find(LinkListhead)

①函数的功能:进入查询职工信息系统

②函数的入口:程序从main()的switch()开关结构中进入,即choice的值为5时,开始进入该函数,进入函数后,首先用findMenu()显示查询菜单选项,然后选择选项进行查询职工信息。

③函数调用关系:被主函数调用。从switch()开关结构中进入,并在文中无返回值的空值void函数。

④函数的出口:查询职工信息完成后,结束该函数,然后执行主函数main()中的“break;”跳出switch()开关函数,继续执行while循环结构。

(11)功能函数findMenu()

①函数的功能:显示查询菜单。

②函数的入口:从find(LinkListhead)进入,find(LinkListhead)被调用时进入该函数。

③函数调用关系:被find(LinkListhead)调用,并在文中无返回值的空值void 函数。

④函数的出口:当查询菜单显示在屏幕上,结束该函数。

(12)功能函数findByWay(LinkListhead,intn)

①函数的功能:查询职工信息”。

②函数的入口:程序从find(LinkListhead)的switch()开关结构中进入,即choice的值为1,2,3,4,5,6时,开始进入该函数,进入函数后,根据不同的选项值进行相应的查询。

③函数调用关系:被find(LinkListhead)调用。从switch()开关结构中进入,并在文中有返回值的的整型int函数,返回值为1查询成功。

④函数的出口:查询职工信息完成后,执行“output(head);”,输出职工信息在屏幕上并保存职工信息在磁盘上,然后结束该函数,执行find(LinkListhead)中“break;”跳出switch()开关函数,继续执行while循环结构。

(13)功能函数sort(LinkListhead)

①函数的功能:进入职工信息排序系统

②函数的入口:程序从main()的switch()开关结构中进入,即choice的值为6时,开始进入该函数,进入函数后,首先用sortMenu()显示排序菜单选项,然

后选择选项进行职工信息排序。

③函数调用关系:被主函数调用。从switch()开关结构中进入,并在文中无返回值的空值void函数。

④函数的出口:职工信息排序完成后,结束该函数,然后执行主函数main()中的“break;”跳出switch()开关函数,继续执行while循环结构。

(14)功能函数sortMenu()

①函数的功能:显示排序菜单。

②函数的入口:从sort(LinkListhead)进入,sort(LinkListhead)被调用时进入该函数。

③函数调用关系:被sort(LinkListhead)调用,并在文中无返回值的空值void 函数。

④函数的出口:当排序菜单显示在屏幕上,结束该函数。

(15)功能函数sortByWay(LinkListhead,intn)

①函数的功能:职工信息排序。

②函数的入口:程序从sort(LinkListhead)的switch()开关结构中进入,即choice的值为1,2,3,4,5,6时,开始进入该函数,进入函数后,根据不同的选项值进行相应的排序。

③函数调用关系:被sort(LinkListhead)调用。从switch()开关结构中进入,并在文中有返回值的的整型int函数,返回值为1排序成功。

④函数的出口:职工信息排序完成后,执行“output(head);”,输出职工信息在屏幕上并保存职工信息在磁盘上,然后结束该函数,执行sort(LinkListhead)中“break;”跳出switch()开关函数,继续执行while循环结构。

(16)功能函数uqnum(LinkListhead,intnum)

①函数的功能:判断职工编号是否已存在。

②函数的入口:程序add(LinkListhead)中进入,输入职工编号后,开始进入该函数,进入函数后,判断输入的职工编号是否已经存在。

③函数调用关系:被add(LinkListhead)调用。在文中有返回值的的整型int

函数,返回值为1职工编号已存在。

④函数的出口:判断职工编号是否已存在后返回add(LinkListhead),继续输入其它职工信息或重新输入职工编号。

功能实现效果如图3-1所示。

图3-1主菜单界面

3.2函数流程图

(1)录入职工信息

该功能模块流程如图3-2所示。

图3-2“录入职工信息”功能模块流程图

(2)添加职工信息

该功能模块流程如图3-3所示。

图3-3“添加职工信息”功能模块流程图

(3)删除职工信息

该功能模块流程如图3-4所示。

图3-4“删除职工信息”功能模块流程图

(4)修改职工信息

该功能模块流程如图3-5所示。

图3-5“修改职工信息”功能模块流程图

(5)查询职工信息

该功能模块流程如图3-6所示。

图3-6“查询职工信息”功能模块流程图

(6)排序职工信息

该功能模块流程如图3-7所示。

图3-7“排序职工信息”功能模块流程图

4运行结果与调试

运行结果

本系统运行初始页面如图4-1所示。

图4-1初始页面

在函数开始时,初始化临时结构体数组,让结构体内所有信息为空.,读取目标文件,然后运行功能函数,选择需要的功能。

实现效果如图4-2所示。

图4-2输入界面

(1)根据自己需要的功能输入相应数字

图4-3职工信息的录入

图4-4职工信息的添加

图4-5职工信息的删除

4-6职工信息的修改

图4-7职工信息的查询

图4-8职工信息的排序

图4-9退出系统

(2)录入职工的信息,通过手动录入和文件录入两个方法录入职工的信息。

图4-10职工信息录入的方式

(3)查找职工的个人信息,通过输入编号、姓名、部门、基本工资、奖金和总工资进行查找。

图4-11职工信息的查询方式

(4)职工信息的排序可以通过编号排序、姓名排序、部门排序、基本工资排序、奖金排序和总工资排序。

图4-12职工信息的排序方式

(5)每次将职工信息输出在屏幕上时,都会通过fwrite写到文件D:\\中。

(6)根据数字提示结束程序。

程序调试

(1)每个选择界面之后,前一屏幕的内容依旧存在,影响界面的美观;经过同学的帮助及上网搜索,发现利用“system(“cls”);”可以消去前一屏幕的内容;然而接下来又出现新的问题:有些函数会出现错误;经过多次调试和修改,才发现把“system(“cls”);”放在调用的函数之前以及适当的位置可以解决

此问题。

(2)修改员工信息时,输入职工编号查询出多条信息,修改错误!后来加入职工编号唯一判断的函数,让职工编号唯一不重复。

(3)排序,开始交换指针指向,一直出现指针不存在导致乱码问题,后来修改为交换指针的数据域。

(4)文件写入磁盘,用笔记本打开磁盘内的文件乱码,经查询资料了解写入磁盘的文件是二进制数据,不能通过笔记本打开,可重新把文件读入程序中,在

程序中显示。

(5)忘导入<>,导致strcmp不能用。

(6)字符串输入输出要用%s。

结束语

工资管理系统对于决策者和管理者来说都至关重要,所以工资管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件工资档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对工资信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高工资管理的效率,也是科学化、正规化管理的重要条件。

这一个月以来,在开发这个工资管理系统过程中,我深刻地体会到了自学能力的重要性。毕竟在学校学习到的知识是有限的,而在开发系统的过程中仅凭原有的一点点知识是远远不够的,只有翻阅大量的资料才能学到更多的知识,才能实现其预期的功能。在开发过程中,遇到困难是在所难免的,期间我跟我的指导老师和同学们进行交流,从中明白了很多。开发一个系统,恒心和毅力也是不可缺少的。同样,在开发过程当中,细心也是非常重要的,由于很多事项都要很注意才行,如果没有做到这一点,就会出错。

在这里要同学的帮助、老师的悉心指导下基本完成本次课程设计,基本达到了工资管理系统的要求。

小组各成员心得体会

Xxx:

这个系统实现了对员工信息的存储、修改、删除、查询及排序。从拿到题目到完成整个编程,从理论到实践学到了很多东西。通过这次程序设计我深入了解了链表、结构体,也学会了文件的读写,懂得了理论和实际结合是很重要的。在设计过程中遇到了很多问题,这毕竟是第一次做,同时在设计过程中发现了自己的不足之处,对以前所学的知识理解的不够深刻,掌握的不够牢固,比如单链表。总之不收获很多!

Xxx:

通过这次课程设计,我对数据结构中单链表的应用有了更深的理解,并且深刻的认识了实践的重要性,只有理论与实践相结合才能很好的学习。发现想要做好课程设计,仅靠书本上的知识是不够的,还需要查阅其他的程序和知识。在这

个过程中,我充分认识了数据结构在编写程序方面的重要地位,知道它的特点是可以用存储单元来存储数据,并且可以方便的实现对数据进行插入、删除和遍历等操作。

Xxx:

这个课程设计实现了对职工信息的管理,通过录入、添加、修改、删除、查询等实现对职工信息的管理。通过这次的课程设计,我学到了很多的东西。同时也找到了自己很多的不足之处。在这次课程设计中,由于以前没有好好学这门课,所以很多知识掌握的不够好,导致在编写的时候遇到很多困难,但是通过队员的帮助,得到了解决。这次课程设计,不仅让我学到了知识,更好的掌握了函数、结构体、指针、单链表等的用法,也让我知道了团队的重要性。

Xxx:

通过这次课程设计我学到了许多在课堂没有学习好的知识,同时也巩固了我之前学习的知识,在设计的过程中我补全了自己的不足,找到自己掌握的不牢固的,还有理解的不深刻的,比如:函数,结构体等等,通过这次课程设计我提高了独立思考的能力和自己的实际动手能力,我还学会了如何用流程图来表达自己的想法,同时这次课程设计也让我们小组之间加深了了解,总的来说,这次设计让我的c语言知识更加丰富!

Xxx:

经过两学期的C语言学习,我们掌握了C语言的基础知识,我对课程设计有了一定的了解和体会。并且通过这次课程设计使我懂得了理论与实践相结合是很重要的。从理论中得出结论,才能真正为今后的学习、工作服务,从而提高自己的实际动手能力和独立思考的能力。在这次程序设计中,我充分领略了C

语言功能的强大,包括函数、数组、指针、结构体、文件等。而且我学会了最基本的替换,然后扩展到循环、嵌套,条理很清楚。让我也深感集体的强大力量,很多东西并不是一两个人就可以完成的,比如这个小型工资管理系统程序的编写,俗话说“众人拾柴火焰高”,经过共同的努力,最终克服难关开发出了该系统。在本次课程设计中,还有一点不得不说,通过这次程序设计书的编写让我深刻的意识到拥有好的文笔是多么的重要,我们虽为工科生,但是在以后的工作岗位上也不得不面临着各种各样的工作,所以文笔也是非常重要的。

参考资料

[1]工资管理系统课程设计程序

[2]C语言程序设计规范及基础

[3]《明解C语言第3版》,(日)柴田望洋着,人民邮电出版社

[4]《CPrimerPlus第6版中文版》,姜佑?译,人民邮电出版社

[5]《C程序设计第四版》,谭浩强着,清华大学出版社

[6]《C和C++实物精选》,徐波着,北京邮电出版社

附录

源代码清单:

C语言程序设计第三版习题库答案

C 语言程序设计(第三版)习题库 1、设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include<> main(){ floatr,h,C1,Sa,Sb,Va,Vb; scanf(__”%f ”__,&r); scanf(”%d ”,__&h _);; C1=2**r; Sa=*r*r; Sb=4*Sa; Va=4**r*r*r/3; Vb=Sa*h; printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb ); } 2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include<> main(){ floatF,c; scanf("%f",&F); ____c=5*(F-32)/9______; printf("c=%.2f",c); } 3、有一函数:?? ???≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。 #include<> main(){ intx,y; printf("输入x :"); scanf("%d",&x); if(x<1){/*x<1*/ y=x; printf("x=%3d,y=x=%d\n",x,y);

}elseif(____x<10_______){/*1≤x-10*/ _____y=2*x-1_______; printf("x=%3d,y=2*x-1=%d\n",x,y); }else{/*x≥10*/ y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d\n",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }scanf("%d",&x);

c语言程序设计试题答案

习题7 7.1选择题。 (1)下列对字符串的定义中,错误的是: A 。 A) char str[7] = "FORTRAN"; B) char str[] = "FORTRAN"; C) char *str = "FORTRAN"; D) char str[] = {'F','O','R','T','R','A','N',0}; (2)以下程序段的输出结果是:____D_________ char a[] = "ABCDE" ; char *p = NULL; for (p=a; p main() { static char a[5]; a = "abcde" ; printf("%s\n", a); }

B) #include <> main() { static char a[7]= "goodbye!"; printf("%s\n", a) ; } C) #include <> main() { char a[5] = "abcde"; printf("%s\n", a) ; } D) #include <> main() { static char a[]="abcde"; printf("%s\n", a) ; } (4)阅读下列函数,函数功能为___A_____。 void Exchange(int *p1, int *p2) { int p; p = *p1; *p1 = *p2; *p2 = p; } A)交换*p1和*p2的值B)正确,但无法改变*p1和*p2的值 C)交换*p1和*p2的地址 D)可能造成系统故障

C语言程序设计报告

河南理工大学万方科技学院 C语言课程设计报告题目简单计算器编程 姓名何美美 学号072130026 专业07通信 班级一班 指导教师董玉杰 2008年09 月05日

目录 一、设计目的 (1) 二、本组课题及本人任务 (2) 三、主体内容 (3) (1)流程图 (2)源程序 (3)上机调试 (4)实验结果 四、设计体会 (6)

设计目的 1 复习、巩固C语言的基础知识,进一步加深对C语言的理解和掌握; 2 课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力; 3 培养学生在项目开发中团队合作精神、创新意识及能力 本组课题及本人任务 1 设计一个简单计算器能完成基本的加、减、乘、除计算,尽量模仿Windows计算器。系统界面不做强制要求。 2在本次设计中,由何永美、刘艳玲、贺清隆三人共同完成,由于知识掌握不牢,因此每一步都要共同商量,其中源程序由我们参考大量资料而成。 3本人负责程序调试及其他有关工作。

流程图主要内容 简单计算器

程序代码如下: /*代码文件名:E4_6.C*/ /*计算器的模拟*/ #include #include double add (double a,double b) {return a+b;} double sub (double a,double b) {return a-b;} double multi(double a,double b) {return a*b;} double divis(double a,double b) {return a/b;} Void main() { double x,y; int select; printf("input two numbers:"); scanf("%lf,%lf",&x,&y); printf("1------add\n"); printf("2------sub\n"); printf("3------multi\n");

C语言程序设计试题集与答案解析

一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。

13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.

C语言程序设计期末考试选择题题库

第一章1、一个C程序可能出现的错误有(A)A,以上都包括 B,逻辑错误 C,运行错误 D,语法错误 2、C程序中一般可以包含几个函数(D) A.1个 B.多个 C.0个 D.至少一个 3.C语言属于程序设计语言的哪个类别(B) A.机器语言 B.高级语言 C.面向对象语言 D.汇编语言 4.以下关于C语言描述错误的是(B) A.一个C程序总是从main函数开始执行 B.一个C程序可以包含多个main函数 C.每个语句的最后必须有一个分号 D.C语言的注释符是以"/*"开始并以"*/"结束

5、在调试过程中,逻辑错误是指(C) A.所书写的语句,不符合C的语法。 B.在从obj生成exe文件的过程中,如果函数名书写错误,可能产生的错误。 C.程序的运行结果不符合题目要求。 D.在exe文件的执行过程中,产生运行异常。 第二章 1、16位的二进制数可以表示的整数的范围是(C) A.[-32768,32768] B.[-32767,32768] C.[-32768,32767] D.[-32767,32767] 2、C语言中的实型数据包括(A) A.float和double B.int和float C.float和char D.int和double 3、以下不合法的字符常量是(C) A.'2' B.'A' C.'ab'

4、在以下各组标识符中,均是合法的C语言标识符是(A) A.abc,A_4d,_student,xyz_abc B.auto,12-a,a_b,ab5.x C.A_4d,_student,xyz_abc,if D.abc,a_b,union,scan 5、若有定义:chara;intb;floatc;doubled; 则表达式a*b+d-c值的类型为(A) A.char B.float C.double D.int 6、类型修饰符unsigned不能修饰(D) A.char B.longint C.int D.float 7、若有定义:doublex=1,y; 执行语句,则y的值是(B) A,1 B,2.0

C语言程序设计实验报告(数组)

C语言程序设计实验报告(数组) 1实验目的 (1)熟练掌握一维数组,二维数组的定义,初始化和输入、输出方法; (2)熟练掌握字符数组和字符串函数的使用; (3)掌握与数组有关的常用算法(查找、排序等)。 2实验内容 编写函数catStr(char str1[],char str2[])用于进行两个字符串的连接,编写函数lenStr(char str[])用于统计一个字符串的长度,并在主函数中调用。 要求: 1、不允许用strcat()和strlen()字符处理库函数; 2、在主函数以直接初始化的方式输入两个字符串str1和str2.调用函数 strlen()计算并返回两个字符串的长度; 3、调用函数catstr()连接两个字符串(将str2连接在str1后面); 4、调用函数lenstr()计算并返回连接后字符串的长度; 5、在主函数中输入两个原始的字符串及几个字符串的长度,以及处理后字 符串及其长度。

3算法描述流程图

4源程序 #include #include void catStr(char str1[],char str2[]) { int i,j; for (i=0;str1[i]!='\0';i++); for(j=0;str2[j]!='\0';j++) str1[i+j]=str2[j]; str1[i+j]='\0'; } lenStr(char m[] ) {int i;

for (i=0;m[i]!='\0';i++); printf("%d",i); } void main() {char s1[50]="forever",s2[50]="more"; printf("s1=%s,s2=%s",s1,s2); printf("\ns1的长度:"); lenStr(s1); printf("\ns2的长度:"); lenStr(s2); catStr(s1,s2); printf("\n连接后的字符:"); printf("%s\n",s1); printf("连接后字符的长度:"); lenStr(s1); printf("\n"); } 5测试数据 s1=forever, s2=more 6运行结果 7出现问题及解决方法 在输入程序时,少写了半边引号,调试时发现存在错误,找到了错误并加以改正。无论什么事,细心都是必不可少的,认真是解决问题的关键。 8实验心得 通过本次实验,对于函数的定义和声明,数组以及循环语句有了进一步的认识,掌握了字符数组和字符串函数的使用,以及与数组有关的常用算法。此次实验不是调用strlen()和strcat()函数,而是通过自己设计程序来进行字符串的连接以及计量字符串的长度,由此我学会了如何去理清自己的思路来设计程序。

员工薪资管理系统

员工薪资管理系统 背景 企业的工资管理是公司管理的一个重要内容,随着企业人员数量增加,企业的工资管理工作也变得越来越复杂。工资管理既设计到企业劳动认识的管理,同时也是企业财务管理的重要组成部分,工资管理需要和人事管理相联系,同时连接工时考核和医疗保险等等,来生产那个企业每个职工的基本工资、津贴、医疗保险、保险费、实际发放工资等。资金是企业生存的主要元素,资金的流动影响到企业的整体运作,企业员工的工资是企业资金管理的一个重要的组成部分。早期的工资统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于个人的因素抄写不慎活计算疏漏,出现工资发放错误的现象。早期工资管理多采取纸质材料和具有较强的时间限制。基于以上原因,企业工资管理系统使用电脑安全保存、快速计算、全面统计,实现工资管理的系统化、规范化、自动化。企业工资管理系统极大的提高了工作效率,节省了人力和财力,最终满足企业财务管理、员工工资发放的需要,同时也成为现代化企业管理的标志。

需求分析 员工薪资管理系统的开题分析: 1、公司的员工各自只能不同,领取的工资也不相同,员工分为管理人员、财务人员、技术人员和工人; 2、下设几个部门,各部门人员领取的工资也不相同,有人事部、售会计部、广告部、售后服务部和生产车间等一系列部门 3、工资由基本工资、福利补贴和奖励工资构成,失业保险和住房公积金在工资中扣除 4、每个员工的基本资料有姓名、性别、年龄、单位、参加工作时间和职务(如经理、主任、科长、工程师、办事员和工人等)。 5、每月个人的最高工资不超过3000 元。工资每月按部门发放,实际发放的工资金额为工资总额减去失业保险和住房公积金。如果违反劳动纪律,每次扣除基本工资的10%,若扣除金额每月累计超过基本工资,下月工资停发。 员工薪资管理系统的功能分析: 1、员工信息的输入,包括员工的姓名、职工号、性别、年龄、职 务、工作时间、应得工资和实发工资 2、员工信息的查询,包括员工的姓名、职工号、性别、年龄、职 务、工作时间、应得工资和实发工资 3、员工信息的修改,包括员工的姓名、职工号、性别、年龄、职 务、工作时间、应得工资和实发工资 4、新增员工信息的插入,包括员工的姓名、职工号、性别、年龄、 职务、工作时间、应得工资和实发工资 5、离职员工信息的删除,包括员工的姓名、职工号、性别、年龄、

c语言程序设计第五版习题答案

习题解析与答案 第1章C语言概述 一.简答题 1.概述C语言的主要特点。 【解答】 (1)语言简洁、紧凑,使用方便、灵活。 (2)数据类型丰富,表达能力强。 (3)运算符多样。C语言中的运算符包含的范围非常广泛。 (4)具有结构化的控制语句。如if…else语句、while语句、do while语句、switch 语句、for语句。 (5)允许直接访问物理地址。C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。 (6)所生成的目标代码质量高,可移植性好。 2.构成C语言程序的基本单位是什么?它由哪几部分组成? 【解答】函数是构成C语言程序的基本单位。一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。 3.C语言程序的运行一般要经过哪几个步骤? 【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。 二.运行程序写结果 1.输入下面程序并运行。 main() { int a1,a2,x; a1=100; a2=50; x=a1-a2; printf(″x=%d\n″,x); } 【解答】运行结果为:x=50 2.输入下面程序并运行。 main() { int a1,a2,x; a1=10; a2=20; x=a1*a2; printf(″a1=%d,a2=%d\n″,a1,a2); printf(″x=%d\n″,x); } 【解答】运行结果为:a1=10,a2=20 x=200 3.输入下面程序并运行。

#include main() { printf("******\n"); printf(" *****\n"); printf(" ****\n"); printf(" ***\n"); printf(" **\n"); printf(" *\n"); } 【解答】运行结果为:****** ***** **** *** ** * 思考:可以修改程序,使之输出平行四边形,等腰三角形等图形。 三.编程题 1.参照本章例题,编写一个C程序,用于显示如下信息: ************************* I love C programs! ************************* 【分析与提示】 ①要有文件包含语句#include 。C语言中没有数据的输入、输出等功能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf等来实现的。这些函数的说明都包括在stdio.h文件中。 ②main是主函数的名称。用{}括起来的内容是函数体,函数体由若干条语句组成,这是计算机要执行的部分,每条语句以分号“;”结束。 ③注意显示的信息有三行,所以要用到换行符“\n”。 参考代码: #include main() { printf("************************\n"); printf(" I love C programs! \n"); printf("************************\n"); }

c语言程序设计期末试题B(含答案)

c语言程序设计期末试题B(含答案) 一单项选择题(每小题1分,共10分) 1. A 2. C 3. D 4. A 5. B 1.以下4组用户定义标识符中,全部合法的一组是() A)_total clu_1 sum B)if -max turb C)txt REAL 3COM D)int k_2 _001 2.以下程序的输出结果是() #include main( ) { int a = 1, b = 2, c = 3; printf(“%d”, c>b>a); } A) 2 B) 1 C) 0 D) 3 3.以下正确的叙述是() A) 在C语言中,main函数必须位于文件的开头 B) C语言每行中只能写一条语句 C) C语言本身没有输入、输出语句 D) 对一个C语言进行编译预处理时,可检查宏定义的语法错误 4.设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是() A)scanf("%d",pa); B)scanf("%d",a); C)scanf("%d",&pa); D)scanf("%d",*pa); 5.若有以下程序段, int c1=1,c2=2,c3; c3=1.0/c2*c1; 则执行后,c3中的值是() A) 0 B) 0.5 C) 1 D) 2 6. D 7. D 8. A 9. C 10. D 6.能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是() A) a>=10 or a<=0 B)a>=0|a<=10 C)a>=10 &&a<=0 D)a>=10‖a<=0 7.执行下面的程序时,将1、2、3、4分别赋给a、b、c、d,正确的输入是() main( ) { int a,b,c,d; scanf(“%d,%d,%d%d”,&a,&b,&c,&d); … } A)1 2 3 4 B)1 2 3,4 C) 1,2,3,4 D) 1,2,3 4

(完整版)C语言程序设计练习及答案

《C语言程序设计》练习及答案 得分评卷人复查人 一、单选题,每小题1分,共60分(将正确答案的序号写在题目的括号中)。 1、结构化程序设计的三种基本控制结构是(D )。 A、主程序、子程序、函数 B、输入、处理、输出 C、调用,返回,转移 D、顺序、选择、循环 2、下列关于C程序变量的叙述, ( D )是错误的。 A、变量名必须由字母或下划线开头。 B、程序中的变量必须在被使用之前定义。 C、不同的基本类型的变量之间可以混合运算。 D、变量的数据类型决定变量的"作用域"。 3、能将C语言编写的源程序转换为目标程序的软件是(C )。 A、编辑程序 B、汇编程序 C、编译程序 D、解释程序 4、以下符号中,合法的用户标识符是( D )。 A、-p B、int C、3ab D、_xt_ 5、以下选项中,与m=n++完全等价的表达式是( C )。 A、m=++n B、m+=n+1 C、m=n, n=n+1 D、n=n+1,m=n 6、若有定义:int aa[8];。则以下表达式中不能代表数组元aa[1]的地址的是(C )。 A、&aa[0]+1 B、&aa[1] C、&aa[0]++ D、aa+1 7、表达式!5&(7+3)&&(4+5)的值是(A)。 A、0 B、1 C、5 D、9 8、以下选项中非法的C语言表达式是(A )。 A、x+1=x+1 B、0<=x<100 C、i=j==0 D、(char)(65+3) 9、在TURBO C中, int类型变量所占字节数是(B )。 A、1 B、2 C、4 D、8 10、C语言中基本的数据类型包括(B)。 A、整型,实型,逻辑型 B、整型,实型,字符型

C语言程序设计模拟试题1附答案

《C语言程序设计》模拟试卷一 一、单项选择题(每题2分,共30分) 1、下列有关C语言的叙述中错误的是()。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被看作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的是()。 A) MAIN B) _HJ C) 2ong D) LINE1 3、下列符号中用来表示C语言中的回车换行的是()。 A) \r B) \n C) \b D) \t 4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为()。 A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 1 5、已知ch为字符型变量,下面表达式中正确的是()。 A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ” 6、以下能正确定义一维数组的是()。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5}; 7、以下语句中能正确定义变量并赋初值的是()。 A) char c=65; B) float f=f+1.1; C) double x=12.3e3.6; D) int m=n=2.0; 8、在执行下列程序时输入:1357924,则程序的运行结果为()。 main( ) { int x, y; scanf(“%2d%2d”,&x,&y); printf(“%2d”,x*y); } A) 13 B) 1357 C) 74 D) 741 9、执行下列程序段后输出的结果是()。

c语言程序设计》课程设计报告

《C语言程序设计》课程设计报告 (2013—2014学年第3学期) 题目:C语言课程设计 专业:软件工程 班级:软件工程技术2班 姓名学号:1 林燕萍 指导教师:吴芸 成绩: 计算机科学与技术系 2014年6月23日

目录 一、课程设计的目的与要求 (1) 二、方案实现与调试 (3) 掷骰子游戏 (5) 射击游戏 (7) 计算存款本息之和 (8) 肇事逃逸 (10) 礼炮 (12) 汽车加油 (14) 大优惠 (16) 金币 (19) 三、课程设计分析与总结 (23) 附录程序清单 (25) 一、课程设计的目的与要求(含设计指标) C语言是一种编程灵活,特色鲜明的程序设计语言。C语言除了基知识,如概念,方法和语法规则之外更重要的是进行实训,以提高学习者的动手和编程能力,从应试课程转变为实践工具。这是学习语言的最终目的。结合多年来的教学经验,根据学生的学习情况,为配合教学过程,使“项目教学法”能在本质上促使学生有更大进步,特编写了该《C语言程序设计任务书》,以在实训过程中给学生提供帮助。达到如下目的: 1.在课程结束之前,让学生进一步了解C程序设计语言的编程功能;

2.让学生扎实掌握C程序设计语言的相关知识; 3.通过一些有实际意义的程序设计,使学生体会到学以致用,并能将程序设计的知识与专业知识有效地结合,更全面系统地了解行业知识。 编写程序要求遵循如下基本要求: ①模块化程序设计 ②锯齿型书写格式 ③必须上机调试通过 二、方案实现与调试 掷骰子游戏 2.1.1题目内容的描述 1) 两人轮流掷骰子,每次掷两个,每人最多掷10次。 2) 将每人每次的分值累加计分 3) 当两个骰子点数都为6时,计8分;当两个点数相等且不为两个6时,计7分;当两个点数不一样时,计其中点数较小的骰子的点数。 4) 结束条件:当双方都掷10次或经过5次后一方累计分数多出另一方的30%及以上。最后显示双方分数并判定优胜者。 2.1.2输入数据类型、格式和内容限制和输出数据的说明 数据类型:整型;内容限制:随机数的产生;输入数据结果:胜利的一方 2.1.3主要模块的算法描述 本算法的思路过程:首先要随机产生随机数,然后进行算法输出数值,执行条件判断输入结果,最后比较结果,判断胜利的一方。

职工工资管理系统设计与实现

职工工资管理信息系统设计与实现 学院:经济与管理学院 班级:09信管 姓名:王友兴 学号:090403010043

目录 1 引言 (2) 1.1问题的提出 (3) 1.2任务与分析 (3) 2设计方案 (4) 2.1程序功能设计 (4) 2.1.1程序功能描述 (4) 2.1.2程序结构分析 (4) 2.1.3 数据表结构分析 (5) 2.1.4程序流程分析 (7) 2.2程序界面和代码设计 (7) 2.2.1项目设计框架 (7) 2.2.2主要表单及代码设计 (9) 3 结果分析 (20) 结论 (25) 致谢 (26) 参考文献 (27)

1 引言 1.1 问题的提出 为适合现代企业的需要,职工工资管理已经成为企业管理的一个难题,由于其费时和繁琐性,企业迫切需要一种专门为职工工资管理而服务的工具。为此,简单的职工工资管理系统为此而制造出来。本简单程序是为职工工资管理而设计的,内容简单,使用方便。程序稍加变更可以适合对资源分配方面的杂事加以处理。 作为当代大学生,熟练的操作计算机是一种必备的素质。本次设计会让我们更加熟悉VF编程,把以前学过的一些东西又重新复习了一遍,并与实际结合起来,对我们能力的提升有了很大的帮助,还能促使我们在以后的实际应用中更好的应用VF编程来设计一些数据库管理系统。 1.2 任务与分析 分析你的设计任务,有什么难点?怎么解决?完成的步骤! 职工工资管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点. 本系统主要完成对学生选课信息的管理,包括数据库中表的添加、删除等。系统可以完成对各类信息的浏览、修改、查询和工资信息对工资进行计算的功能。系统的核心是数据库中各个表联系,每一个表的修改都将联动的影响其它的表,当完成对数据的操作时系统会自动地完成数据库的修改。查询功能也是系统的核心之一,在系统中即有单条件查询和多条件查询,也有精确查询和模糊查询,系统不仅有静态的条件查询,也有动态生成的条件查询,其目的都是为了方便用户使用。本系统有完整的用户添加、删除和密码修改功能,并具备报表打印功能.

C语言程序设计第二版习题参考答案

C语言程序设计第二版 习题参考答案 Document serial number【LGGKGB-LGG98YT-LGGT8CB-LGUT-

C语言程序设计习题参考答案 习题 1 一、判断题 1.在计算机中,小数点和正负号都有专用部件来保存和表示。 2.二进制是由0和1两个数字组成的进制方式。 3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。 4.在整数的二进制表示方法中,0的原码、反码都有两种形式。 5.有符号数有三种表示法:原码、反码和补码。 6.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。 解:1.F2.T 3.T 4.T 5.T 6.T 二、单选题 1.在计算机中,最适合进行数值加减运算的数值编码是。 A. 原码 B. 反码 C. 补码 D. 移码 2.已知英文小写字母m的ASCII码为十进制数109,则英文小写字母y的ASCII 码为十进制数。 A. 112 B. 120 C. 121 D. 122 3.关于ASCII码,在计算机中的表示方法准确地描述是。 A. 使用8位二进制数,最右边一位为1 B. 使用8位二进制数,最左边一位为1 C. 使用8位二进制数,最右边一位为0 D. 使用8位二进制数,最左边一位为0 4.设在机器字长4位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是 ___________。 A. X∧Y=1000 B. X∨Y=1111 C. X⊕Y=0011 D. ˉY=1000 5.下列叙述中正确的是()。 A.高级语言就是机器语言 B.汇编语言程序、高级语言程序都是计算机程序,但只有机器语言程序才是计算机可以直接识别并执行的程序 C.C语言因为具有汇编语言的一些特性,所以是汇编语言的一种 D.C源程序经过编译、连接,若正确,执行后就能得到正确的运行结果6.用C语言编写的源程序经过编译后,若没有产生编译错误,则系统将()。 A.生成可执行文件B.生成目标文件 C.输出运行结果D.自动保存源文件 7.下列叙述中不正确的是()。 A.main函数在C程序中必须有且只有一个 B. C程序的执行从main函数开始,所以main函数必须放在程序最前面 C. 函数可以带参数,也可以不带参数。

c语言程序设计报告4

课程设计报告 课程名称C语言程序设计 课题名称运动会分数统计系统 专业机械设计及其自动化 班级1185班 学号201113090526 姓名谭信 指导教师王颖 2012年6月22日

湖南工程学院 课程设计任务书 课程名称C语言程序设计 课题运动会分数统计系统 专业班级机械设计1185 学生姓名谭信 学号201113090526 指导老师王颖 审批王颖 任务书下达日期2012年6月1日 任务完成日期2012年6月22日

现代科学飞速发展,世界也不断的变化,人类的生活随着科技的发展也发生着惊天动地的变化。作为新时代的大学生,我们应该不断努力学习科学文化知识,以适应社会的发展要求,以现代化的科学知识为祖国做贡献。而C 语言作为一种计算机语言,无疑是我们将来工作不可缺少的一门技能,所以我们应该认真学好C语言。但只是课本上的知识是不够的,我们应该将从课本上学到的理论知识应用到实践中,通过不断的实践,在实践中发现错误解决错误,并不断创新,最后能熟练的运用所学的知识,充分掌握这种工具。就现有知识水平、经验来看,对我来说,本程序的算法设计上已经是最精简的了。C语言知识博大精深,有必要对C语言的专著进行研究学习,多阅读别人的程序代码、多动手实践操作与设计,这样便对程序算法精简改进提供了可能。想学的更深更透彻的话就必须进一步掌握运用C进行程序设计的能力;进一步理解和运用面向过程程序设计的思想和方法;初步掌握开发一个小型实用系统的基本方法;学会调试一个较长程序的基本方法;学会利用互联网查找相关的知识并学习;学海之路何其宽广,有必要让我们孜孜不倦的求索下去。

绪论 (1) 第一章需求分析 1.1程序的功能及要求 (5) 1.2系统的性能要求 (5) 1.3测试数据 (6) 第二章概要设计 2.1结构体 (6) 2.2主程序(main) (6) 2.3模块的功能 (6) 2.4程序模块机之间的调用关系 (7) 第三章详细设计 3.1宏定义 (8) 3.2数据类型定义 (8) 3.3函数之间的调用关系图 (8) 3.4算法设计 (9) 第四章调试分析 4.1不足之处 (10) 4.2错误规范 (10) 4.3算法的时空分析 (10) 4.4存在的问题 (10) 第五章测试结果 (11) 第六章用户使用手册 6.1运行环境 (12) 6.2用户界面 (12) 6.3操作过程 (13) 第七章参考文献 (14) 第八章设计体会 (15) 第九章附录 (17) 课程设计评分表 (29)

Access工资管理系统

河南城建学院 《数据库技术与应用》设计说明书 设计题目:工资管理系统 系别:建筑工程管理系 专业: 指导教师: 班级: 学号: 姓名: 2013年 1月 11日一、设计的背景、目的、任务

随着社会主义市场经济的不断发展,建设一个科学高效的信息管理系统是解决这一问题的必由之路。企业内部财务管理是该企业运用现代化技术创造更多更高的经济效益的主要因素之一。工资管理作为企业内部的一种财务管理也是如此,由于企业职工人数较多,每一位职工的具体实际情况也不尽相同,各项工资条款的发放,如果没有一个完整的工资管理系统对员工工资等进行系统的管理,很难实现企业高效运转。 通过对工资管理系统数设计的需求分析、概念设计、逻辑设计、物理设计、数据库运行及维护阶段工作的实践,掌握数据库设计的一般方法与步骤,深入掌握数据库设计的基本理论、方法和步骤。本课程设计是《数据库技术与应用》课程的实践部分,是在学习完课程后进行的一次综合练习。可以加深对《数据库技术与应用》的原理和程序的理解、巩固、提高,让学生做到学以致用,把所学的理论知识应用于实际问题的解决,编制出完整的应用程序,为以后实际编制大型的应用软件打基础。 二、课程设计要求(包括设计说明书的具体要求) 要求: 根据《数据库原理与应用》所学课程的内容,完成工资管理系统数据库设计的需求分析、概念设计、逻辑设计、物理设计、上机运行及维护工作。要求所构成的系统和设计的数据库能够满足课程设计任务书提出的各项要求。 (1)熟悉一种关系数据库 (2)根据自定题目以及需求,完成需求分析、逻辑设计 (3)在一种关系数据库中,完成数据库物理设计、上机运行及维护工作 (4)在工资管理系统数据库中,录入相应的信息 (5)能对数据库进行各种SQL语言的各种操作 (6)按要求完成课程设计说明书,参考文献数量不得低于5个课程设计题目 三.课程设计题目 工资管理系统 四.功能描述 工资管理是现代企业管理中的一个部分,完善的工资管理系统可以有效的管

C语言程序设计期末考试试题(含答案)

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

c语言课程设计报告

C语言程序设计B 课程设计报告 设计题目:学生成绩管理系统年级班级: 学号: 姓名: 指导教师: 2020 年 6 月 18 日

目录 一、设计目的 (3) 二、课程设计内容和要求 (4) 三、总体设计 (5) 四、主要步骤 (12) 五、功能实现 (13) 六、功能测试 (64) 七、评价程序 (83) 八、课程设计体会 (84)

一、设计目的 程序设计能力是当代理工类大学生的必备能力,当学生学习了C语言之后,编程能力远远不能达到开发实际应用程序的要求,特备是对其中的指针、结构体、链表和文件部分的理解和应用都比较弱。 程序设计的目的是通过对面向过程的学习,将C语言的主要知识点进行综合,针对提高学生C语言程序设计能力,强化编写较大的应用软件能力,熟练运用已掌握的知识解决实际需要解决的问题,以达到更加熟知指针、链表、结构体、文件读取、标准库的使用。 主要目的为以下几点: 1、熟练掌握面向过程(结构化)程序设计基本知识; 2、综合运用所学知识解决实际问题; 3、受到面向过程(结构化)程序设计的基本训练; 4、体会面向过程(结构化)开发程序的过程。

二、课程设计内容和要求 1.课程设计内容: 学生通过使用C语言进行编写算法,开发学生成绩管理系统,以实现对学生成绩的管理。 2.课程设计要求 1)具有菜单,可以在菜单上进行选择; 2)能实现学生数据录入、修改、删除、查询; 3)能实现数据排序; 4)有数据输出功能; 5)有数据读取与存储功能; 6)一个学生的数据(称为:每条记录)包含姓名、学号、语文、数 学、英语、总分、名次等信息; 7)以结构方式存储每条记录; 8)多条记录以链表方式存储到内存; 9)随时可将全部数据存储到磁盘文件中,方便下次从磁盘读取数据。

公司员工工资管理系统课程设计报告书

公司员工工资管理系统课程设计 (一)可行性分析 1.1项目背景及意义:随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业提出越来越严峻的挑战,对企业体系无论是在行政职能、企业管理水平以及优质服务上都提出更高的要求。建设一个科学高效的信息管理系统是解决这一问题的必由之路。企业部财务管理是该企业运用现代化技术创造更多更高的经济效益的主要因素之一。工资管理作为企业部的一种财务管理也是如此,由于企业职工人数较多,每一位职工的具体实际情况也不尽相同,各项工资条款的发放,如果没有一个完整的工资管理系统对员工工资等进行系统的管理,很难实现企业高效运转。 意义: (1)本系统提供了基本的人员信息管理,同时对员工的基本工资、浮动工资和工资发放进行系统管理,同时配以查询、修改、删除、添加功能,以便能真正适用于各类中小企业及事业单位。 经过自己认真的思考和同学的讨论使我对该类管理系统有了进一步的认识,同时也可以应用平时学习中所学到的东西。 1.2可行性研究报告及信息系统目标:员工工资管理系统的主要目的是利用计算机对员工的各种工资信息进行日常的管理,如查询、修改、添加、删除以及存储等,迅速准确地完成各种工资信息的统计计算和汇总工作,针对系统服务对象的具体要求,设计了企业工资管理系统。企业工资管理系统主要有以下几大功能:

对单位人员的变动进行处理。一个单位的职工不会是一成不变的,总是在不断的变化:有调出、有调入、也有职工在本单位部调动。因此,设计系统是应考虑到这些情况。 对职工的工资进行计算、修改。可以对职工的工资档案进行个别、部分和批量修改,同时,能对各职工的工资进行计算,即计算基本工资、岗位工资、水电费及实发金额等。 查询统计功能。要求即可以单项查询,比如查看某个职工的工资情况等;也可以多项查询,比如某个部门所有的员工的工资信息。 (二)系统分析部分 2.1系统功能模块图

相关主题
文本预览
相关文档 最新文档