C语言在线测试系统

源程序:E-Mail:huier.w@https://www.360docs.net/doc/8412875099.html,

某某某某学院

毕业设计(论文)题目:《C语言程序设计》测试系统

系别:

专业:

班级:

学号:

姓名:

指导教师:

2014 年 5 月 20

引言 (3)

1 绪论 (4)

1.1课题研究背景与意义 (4)

1.2课题调研与可行性分析 (5)

1.2.1 课题调研 (5)

1.2.2 可行性分析 (5)

1.3论文各章内容介绍 (6)

2系统需求分析 (8)

2.1系统功能需求 (8)

2.2在线测试系统优点 (8)

3系统总体设计 (10)

3.1系统总体结构设计 (10)

3.1.1 登录注册模块 (10)

3.1.2 学生模块 (11)

3.1.3 管理员模块 (12)

3.2系统数据模型设计 (14)

3.2.1数据概念结构设计——E-R图 (14)

3.2.2数据表 (14)

3.2.3主要数据表结构 (15)

3.3文件夹结构 (18)

4开发环境 (19)

4.1网站开发环境 (19)

4.2.1网站开发工具 (19)

4.2.2网站开发语言 (19)

4.2.3网站后台数据库 (21)

4.2.4开发环境运行平台 (23)

4.2网站运行环境 (25)

4.2.1服务器端 (25)

4.2.2客户端 (26)

5、管理员用户模块设计实现 (28)

5.1管理员登录首页 (28)

5.1.1 管理员登录首页概述 (28)

5.1.2 管理员登录首页技术分析 (28)

5.1.3管理员登录首页实现过程 (29)

5.2试题管理 (31)

5.2.1 章节管理页面 (31)

5.2.1.1 章节管理页面概述 (31)

5.2.1.2 章节管理页面技术 (31)

5.2.1.3 章节管理页面设计实现 (31)

5.2.2 章节添加页面 (33)

5.2.2.1 章节添加页面概述 (33)

5.2.2.2 章节管理页面设计实现 (34)

5.2.3 选择修改题库章节页面 (37)

5.2.3.1 选择修改题库章节页面概述 (37)

5.2.4 修改试题页面 (39)

5.2.4.1 修改试题页面概述 (39)

5.2.4.2 修改试题页面技术分析 (39)

5.2.4.3 修改试题页面设计实现 (39)

5.2.5 添加试题页面 (43)

5.2.5.1 修改试题页面概述 (43)

5.2.5.1 修改试题页面设计实现 (43)

5.3成绩管理 (46)

5.3.1 查询成绩页面 (46)

5.3.1.1 查询成绩页面概述 (46)

5.2.1.2 查询成绩页面技术 (46)

5.2.1.2 章节管理页面设计实现 (46)

5.3.2 删除成绩页面 (49)

5.3.1.1 删除成绩页面概述 (49)

5.2.1.2 查询成绩页面技术 (50)

5.2.1.2 章节管理页面设计实现 (50)

5.4帐号管理 (52)

5.4.1 修改密码页面 (52)

5.4.1.1 修改密码页面概述 (52)

5.2.5.1 修改试题页面设计实现 (52)

结论 (55)

致谢 (56)

参考文献 (57)

摘要

随着Internet的流行,教育系统也引进了网络教育方式,其中一个方面就是网上考试系统。本文概述了《C语言程序设计》网上考试系统的设计和实现,运用https://www.360docs.net/doc/8412875099.html,、C#语言和SQL server2008数据库管理系统设计该系统。其中重点介绍了该系统得在线考试的实现过程:包括系统分析、数据流程分析、数据库设计、系统的运行环境、功能设计、系统实现。本系统主要面向两类人员使用:管理员(教师)、普通学生,他们拥有不同的权限。管理员管理试题,生成试卷。学生登录后选择试卷进入答题,完毕后提交试卷,存入数据库并评分。系统管理员可以查询考生的成绩,每个考生只能查询自己的成绩。在线交流模块中,任何用户都可以登录留言,管理员可以删除留言。另外总结了本系统的特点:节约教学成本,提高考试工作的效率。

关键词

https://www.360docs.net/doc/8412875099.html,;SQL Server 2008;在线测试系统;C# ;

Abstract

With the Internet's popularity, the education system also introduce online education, one of which is online examination system. This article outlines the "C Programming Language" Online Examination System designing and implementation, using ASP .NET 、C# language and SQL server2008 database management. The system mainly introduces the process of online examinations, including system analysis, data flow analysis, database designing, the system's operating environment, functional designing and system implementation. The system is mainly used for two types of staff: one is the administrator (teacher), another is regular student. They have different permissions. Administrators can manage and create test papers. Students can select one of the papers and answer it after logging in. Once the papers is submitted, the score will be stored in the database, then system administrators can check results of the candidates. Each candidate can only check their own performances. In the online communication module, any user can log on and leave messages, and the administrator can delete messages. Besides, this paper summes up the characteristics of this system: saving the cost of teaching and improving test efficiency.

Keywords:

https://www.360docs.net/doc/8412875099.html,;SQL Server 2008;Online test system;C#;

引言

随着计算机技术的迅猛发展,学校教学和管理的信息化发展也有长足的进步,这就要求各个环节都均衡发展,其中之一是,教师如何通过网络了解学生的学习状况。为此,配合传统课堂教学而建立的在线测试系统就显得相当必要。

测试是教学过程的重要组成部分,是教学评价的主要渠道之一,也是课堂教学中师生互动的重要手段。教师通过课堂测试可以了解学生的学习情况,及时调整教学进程;学生通过课堂测试可以了解自己的学习情况,及时调整学习方法。在传统教学模式中,一位教师同时面对一个班的所有学生,师生不能及时准确地获得反馈信息。

目前,虽然在课堂教学中引入多媒体辅助教学手段,但课堂练习仍然采用传统的模式,练习的评价功能并没有充分体现。随着网络技术的不断进步和信息技术的广泛普及,网络教学与考试系统已经遍布于Internet的每个角落。因此,如何充分利用计算机网络的信息处理、传输功能,构建一个基于网络的在线测试系统,是我校推进教学改革亟待完成的任务,也是计算机辅助教学领域中的一个重要研究课题。该测试系统基于现代教育理论和计算机应用理论,给学生提供了一种在线测试的学习方式,希望能激发广大教师和学生的兴趣。相对于传统的课堂测试,利用网络平台开展在线测试具有以下一些优势:(1)教学活动不受时间和空间的限制,教师和学生可以根据自己的实际情况选择不同的时间段、不同的地点进行自我测试和自我学习;(2)有助于减轻教师的负担,帮助学生详细了解知识点掌握情况,巩固所学,提高认知和解决问题的能力。

1 绪论

1.1课题研究背景与意义

随着计算机网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训。现在,计算机硬件技术的发展已经达到了相当高的水平。但是,远程教育软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,这就给软件设计人员提出了更高的设计要求。

不可否认,网络教学拥有着非常广阔的应用前景,在二次创业的过程当中,辅助教学网络的建设绝对是必经的道路。当今社会,竞争十分激烈,所以就要讲究效率,在线考试系统的建立就是在这样一个背景前提下产生的。

远程教育包括很多环节,例如教学系统、答疑系统和考试系统等等。其中很重要的一个环节就是在线考试系统,同时它也是最难实现的环节。在我国,虽然远程教育已经蓬勃地发展起来,但是目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。

1.2 课题调研与可行性分析

1.2.1 课题调研

本系统提供一个在线测试的网站,学生通过在校园网或互联网上访问该网站,学生可以按照教师的建议或各自的计划对所学知识进行自我测验;教师可以通过网站提供的环境对学生的学习情况进行动态管理,并依据网站记录的考试成绩给出对每一位学生客观的综合评价。在线考试系统减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。

1.2.2 可行性分析

可行性分析也称为可行性研究,即是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究工作目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。

◆社会因素方面的可行性

本系统用于学校测试,无法律和政策方面的限制。

◆经济方面的可行性

主要是对项目的经济效益进行评价,本系统作为毕业设计选择项目,无需开发经费,并且本系统实施后可以显著提高《C语言程序设计》课程的测试效率,提交教学质量有助于学校实现网络化管理。所以本系统在经济上是可行的。

◆技术方面的可行性

1、技术上的可行性分析主要分析技术条件是否能顺利完成开发工作,硬、软件能否满足开发者的需要等。

2、软件方面,网络化测试需要的各种软件环境都已具备,数据库服务器方面则有SQL Server,能够处理大量数据,方便易用。因此,系统的软件开发平台已成熟可行。

3、硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。

◆操作方面的可行性

目前,大学的校园网络覆盖了教学区和学生去的主要建筑物,从而满足校内各学院,各职能部门,各直属单位的上网需求。学校良好的网络设施为开发使用无纸化在线测试系统提供了坚实的基础。

1.3 论文各章内容介绍

第1章绪论阐述了本系统设计的背景及目的;研究状况和相关领域中已有的研究成果;系统的可行性分析。

第2章系统需求分析主要讲述了《C语言程序设计》网上考试系统的功能需求

第3章系统设计主要介绍系统总体结构模型和数据模型设计,包括:E-R 图、数据表、数据表结构和文件结构。

第4章描述了系统开发环境,包括:开发工具、开发语言、运行环境等。

第5章网上测试系统管理员实现,描述该模块系统实现的功能、界面和部分代码。

2系统需求分析

2.1系统功能需求

《C语言程序与设计》网上测试系统的用户可分为管理员和学生用户两类。

本系统管理员用户和学生用户都是通过一个登录主界面登录。在登录界面选择不同的用户分别跳转到自己用户所对应的子主界面。

本系统主要为两个子主界面组成:一个界面是管理员管理界面,主要负责进行对学生信息、题库、试卷、成绩的管理以及查询等;另外一个界面是学生登录后的界面,主要负责在线考试、查询以往考试成绩和修改密码等。

从总体上考虑,系统应该实现下列功能:

学生用户:在线考试、修改密码、查看成绩、退出系统

管理员:套题管理,学生信息管理、修改密码、成绩管理等。

2.2在线测试系统优点

1、可以创建电子题库,方便实现试题的数字化管理。

所谓题库就是试题的仓库,一个简单的数据库,通过对题库的随机抽取实现自动生成试卷功能。是在线考试系统的最具特色和最有实用价值的模块之一。

2、自动组卷,提高出卷效率。

在线考试系统以电子题库为依托,通过设计开发可以实现自动抽题成试卷,极大地提高了出卷效率。对用天辅助教学和测验有很大帮助。

3、有强大地数据统计分析功能。

在线考试系统与传统的纸上考试相比具有强大的统计功能,原本非常繁琐的手动进行的分析统计计算工作,现在可以在瞬间完成。由于在线测试系

统从出题、测试到阅卷、统计,完全实现了数字化,不再需要教师手动地将学生成绩、答题情况等详细信息输入计算机,大大减轻了教师的繁重工作。随着社会的不断发展,信息积存和分析提取的日趋重要,考试实现数字化,提高数据存储和分析的能力是不可逆转的潮流,在线考试系统的发展前景是光明的。

3系统总体设计

3.1系统总体结构设计

3.1.1 登录注册模块

功能描述:

◆学生注册

未注册的学生用户无法使用该系统进行网上测试,所以学生用户需要进行注册。注册信息包括学号、姓名、密码、班级,专业等。

◆学生管理员登录

用户登录分为学生用户登录和管理员用户登录两块,通过下拉列表选择登录帐户信息,输入帐号和密码,与数据库中的信息进行对比,输入正确者可以进入到本系统执行在线考试等一系列的功能,错误者将重新输入登录信息。

◆找回密码

学生用户可以单击忘记密码,通过自己的身份证ID来找回密码。

◆学生登录

选择学生登录。然后登录到学生测试系统,可以测试和修改密码等操作。

3.1.2 学生模块

功能描述:

◆修改密码

学生可以通过修改密码功能,输入原来密码和数据库密码相匹配,可以修改密码。

◆在线测试

学生用户在登录本系统成功后,进行在线考试,同时有倒计时,系统在数据库中随机抽取20个相应类型的题,显示出来。在规定的时间内完成试卷的所有试题,系统进行批阅后给予考试成绩。

◆查询成绩

学生用户可以在考试结束后查看成绩,也可以根据自己的用户名查询其所有的历史考试成绩记录,综合的对比出一段时间的学习成果。

◆退出系统

学生退出系统,然后将会跳转到网站首页。

◆选择章节

学生可以根据章节。名称随机抽题进行测试

◆开始测试

学生进行答题,题型包括单选题、多选题、判断题。

◆测试结果

学生答题结束,提交,系统通过教师指定分数计算、显示成绩。

3.1.3 管理员模块

功能描述:

◆学生信息管理

添加学生信息:通过学生注册和管理员添加,向数据库中写入学生信息。修改学生信息:管理员可以在数据库中修改学生信息。

删除学生信息:管理员可以从数据库中删除学生信息。

查询学生信息:管理员可以查看相关学生信息。

◆学生成绩管理

查询成绩:管理员可以通过试题编号,班级,分数等相关信息,查看学生考试成绩。

删除成绩:管理员可以删除选中一条学生成绩记录

◆测试试题管理

添加试题:管理员可以添加一个单元名称后又添加试题,试题分类存储。

删除试题:管理员可以删除一套题中的一个试题。

删除套题:管理员用户可以删除指定单元试题。

查询套题:管理员用户可以查看题库中的所有试题,通过名称查看指定套题信息。

读取试题:系统在数据库中随机抽取20个相应类型的题,显示出来。

◆修改密码

管理员访问数据库,修改密码。

◆退出系统

退出网站并关闭窗口。

3.2系统数据模型设计

3.2.1数据概念结构设计——E-R图

3.2.2数据表

数据表是数据库中一个非常重要的对象,是其他对象的基础。没有数据表,关键字、主键、索引等也就无从谈起。在数据库画板中可以显示数据库中的所有数据表,创建数据表,修改表的定义等。数据表是数据库中一个非常重要的对象,是其他对象的基础。数据表(或称表)是数据库最重要的组成部分之一。数据库只是一个框架,数据表才是其实质内容。根据信息的分类情况,一个数据库中可能包含若干个数据表。这些各自独立的数据表通过建立关系被联接起来,成为可以交叉查阅、一目了然的数据库。

为减少数据输入错误,并能使数据库高效工作,表设计应按照一定原则对信息进行

分类,同时为确保表结构设计的合理性,通常还要对表进行规范化设计,以消除表中存在的冗余,保证一个表只围绕一个主题,并使表容易维护。

数据表概要结构如图3.3

图1 数据表结构图

3.2.3主要数据表结构

本站采用SQL Server2008 数据库,名称为date,其中包含S_Admin【管理员信息表】、S_Questions【试卷信息表】、S_Student【学生信息表】、S_StuResult【成绩信息表】、S_Taoti【套题信息表】五张表。

图2 数据表结构说明图

下面分别介绍这些表的结构。

S_Admin(管理员信息表)

管理员信息表用户保存管理员信息,结构见表1。

表1 管理员信息S_Admin 表的结构

S_Questions(试卷信息表)

考试试卷信息表用于保存各套题中所包含的详细考试题目,结构见表2。

表2 试卷信息S_Questions 表的结构

S_Student(学生信息表)

用于保存在网站注册的考生信息。

表3 学生信息S_Student 表的结构

S_StuResult(学生成绩信息表)

用于保存学生的考试成绩,结构见表4。

表4 学生成绩S_StuResult表的结构

S_Taoti(套题信息表)

用于保存课程所对应的套题信息

表5 套题信息S_Taoti 表的结构

《C程序设计语言》样卷

韩山师范学院2011年专升本插班生考试样卷 计算机科学与技术专业高级语言程序设计试卷(A卷) 一、填空题(每空1分,共10分) 1.C程序的基本单位是________。 2.C语言源程序文件的后缀是________。 3.C语言中的标识符由________、________和字母组成。 4.设y为float型变量,执行表达式y=6/5之后,y的值是________。 5.在C语言中,要求运算量必须是整型的运算符是___________。 6.如果函数值的类型与返回值的类型不一致时,应该以___________为准。7.已知int a=8,*p=&a;,则*p的值是___________。 8.把一些不同类型的数据作为一个整体来处理时,常用___________。9.若x=2,y=3,则x|y<<2的结果是___________。 二、单项选择题(每小题1.5分,共30分) A.顺序结构、选择结构、循环结构B.递归结构、循环结构、转移结构C.嵌套结构、递归结构、顺序结构D.循环结构、转移结构、顺序结构2.在一个C语言的源程序中,以下叙述正确的是()。

A.必须有除主函数外其他函数B.可以有多个主函数 C.必须有一个主函数D.可以没有主函数 3.以下叙述正确的选项是()。 A.C语言的源程序不必通过编译就可直接执行 B.C语言中的每条语句最终都将被转换成二进制的机器指令 C.C语言程序经编译形成的二进制代码可以直接执行 D.C语言中的函数不可以单独进行编译 4.算法是指为解决某个特定问题而采取的正确且有限的步骤,下面不属于算法的5个特性的是( )。 A.有零个输入或多个输入B.高效性C.有穷性D.确定性5.以下能正确定义且赋初值的语句是( )。 A.int n1=n2=10; B.char c=32; C.float f=f+1.1; D.double x=12.3E2.5 6.有以下程序: main() { char a='a',b; printf("%c",++a); printf("%c\n",b=a++); } 程序运行后的输出结果是( )。 A.bb B.bc C.ab D.ac 7.以下程序段的输出结果是( )。 int a=1234; printf("%2d ",a); A.12 B.34 C.1234 D.提示出错 8.有以下程序:

C语言超市收银管理系统实现详解

超市收银管理程序的设计与实现 1摘要和关键字 1.1摘要 该系统主要用于超市商品管理人员对于商品的信息(包括商品号、商品名、单价)进行输入、删除、修改和查询。除此之外,当销售人员输入商品号及销售数量时,系统应计算应收钱数,并根据实际收银计算找零数量。最后,系统能对销售情况进行查询。Abstract The system is mainly used in the supermarket goods management personnel of the information (including commodity number, name of goods, unit price) input, delete, modify, and query. In addition, when sales staff input article number and sales volume, the system should be calculated according to the actual amount receivable, and cashier calculation change. Finally, the system can inquire the sales situation. 1.2 关键字 登陆系统操作菜单建立信息库查询付款 Keywords Login system Operation menu Set up information database Inquire Pay 2 正文 2.1 引言 随着经济的发展,人们每天接触并且需要处理的信息越来越多,人们就需要寻求一个工具来实现信息的管理和处理。尤其是超市里,需要管理各种商品的数目及销售情况,而超市收银管理程序则是针对这种问题而产生的,系统能够实现对商品信息的录入、修改、查询、删除操作,并且在销售时能计算出应收钱数,并能根据实际收钱而计算找零,最后能对销售情况进行查询。

C程序设计语言 (第二版) 课后答案第一章

Chapter 1 Exercise 1-1 Run the “hello world” program on your system. Experiment with leaving out parts of the program, to see what error message you get. #include int main() { printf("hello, "); printf("world"); printf("\n"); return 0; } Exercise 1-2 Experiment to find out what happens when printf’s argument string contains \c, where c is some character not list above. Exercise 1-3 Modify the temperature conversion program to print a heading above the table. #include int main() { float fahr, celsius; float lower, upper, step; lower = 0; upper = 300; step = 20; fahr = lower; printf("Fahrenheit temperatures and their centigrade or Celsius equivalents\n"); while (fahr <= upper) { celsius = (5.0/9.0) * (fahr-32.0); printf("%3.0f %6.1f\n", fahr, celsius); fahr = fahr + step; } return 0; }

C语言程序设计课程设计题目

1一元稀疏多项式的运算 问题描述:设有两个带头指针的单链表表示两个一元稀疏多项式A、B,实现两个一元稀疏多项式的处理。 实现要求: ⑴输入并建立多项式; ⑵输出多项式,输出形式为整数序列:n,c1,e1,c2,e2……c n,e n,其中n 是多项式的项数,c i,e i分别为第i项的系数和指数。序列按指数降序排列; ⑶多项式A和B相加,建立多项式A+B,输出相加的多项式; ⑷多项式A和B相减,建立多项式A-B,输出相减的多项式; ⑸多项式A和B相乘,建立多项式A×B,输出相乘的多项式; ⑹设计一个菜单,至少具有上述操作要求的基本功能。 测试数据: (1) (2x+5x8-3.1x11)+(7-5x8+11x9) (2) (6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2+7.8x15) (3)(x+x2+x3)+0 (4)(x+x3)-(-x-x-3) 2成绩排序 假设某年级有4个班,每班有45名同学。本学期有5门课程考试,每门课程成绩是百分制。假定每个同学的成绩记录包含:学号、姓名各门课程的成绩共7项,其中学号是一个10位的字符串,每个学生都有唯一的学号,并且这4个班的成绩分别放在4个数组中,完成以下操作要求: ⑴编写一个成绩生成函数,使用随机数方法,利用随机函数生成学生的各门课程的成绩(每门课程的成绩都是0∽100之间的整数),通过调用该函数生成全部学生的成绩; ⑵编写一个平均成绩计算函数,计算每个同学的平均成绩并保存在成绩数组中; ⑶用冒泡排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进

行班内排序; ⑷用选择排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进行班内排序; ⑸对已按平均成绩排好序的4个班的同学的构造一个所有按平均成绩的以非递增方式排列的新的单链表; ⑹设计一个菜单,至少具有上述操作要求的基本功能。 3迷宫问题 问题描述:以一个m×n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。 实现要求: ⑴实现一个以链表作存储结构的栈类型,然后编写一个求解迷宫的非递归程序。求得的通路以三元组(i,j,d)的形式输出,其中:(i,j)指示迷宫中的一个坐标,d表示走到下一坐标的方向。 ⑵编写递归形式的算法,求得迷宫中所有可能的通路; ⑶以方阵形式输出迷宫及其通路。 [测试数据] 迷宫的测试数据如下:左上角(1,1)为入口,右下角(8,9)为出口。 1 2 3 4 5 6 7 8 实现提示:

超市管理系统_C语言课程设计

大连科技学院 C语言课程设计题超市商品管理系统 学生姓名专业班级 指导教师职称 所在单位 教学部主任 完成日期 2014年12月13日

课程设计成绩考核表 综合评定: (优、良、中、及格、不及格) 指导教师签字: 2014年12月13 日

课程设计任务书 1.设计(研究)内容和要求 研究内容: 设计并编写一个完善的C语言程序,并要求达到以下几点: (1)系统功能要求:系统功能完善,具有简洁的操作流程。 (2)以软件工程理论为指导,按照进度计划,完成系统需求分析、系统的概要设计与系统的详细设计等。要求能够对系统进行全面测试和调试,及时更正错误,直至系统运行稳定可靠,要求报告中具有系统测试内容。 (3)完成课程设计报告的编辑工作,报告要求在3000字以上,包括综述、系统总体设计、系统实现、运行调试、结论等,参考文献数量至少2篇,论文书写格式按学校规定来写。 (4)工作量要饱满,具备两周课程设计的基本要求,代码行达到300行左右。 原始依据: 对学过的C语言程序设计课程进行巩固和加深印象。了解C语言的基础知识,有一定的语言编程基础,能够熟练运用C语言进行程序设计。通过用C语言完成的题目的编写与设计,以提高用C语言解决实际问题的能力。 2.系统环境 硬件环境:CPU的主频在500MHZ以上,内存在128MB以上 软件环境:编程语言及工具:C语言;操作系统:Windows 操作系统 3.参考文献 [1] 李瑞. 徐克圣. 刘月凡. 戚海英. C程序设计基础[M]. 北京:清华大学出版社. 2009.7 [2] 布鲁志著.吴丹等译.面向对象的软件工程—构建复杂且多变的系统.清华大学出 版社.2002.10 [3] 霍顿(美).杨杰(译). 北京:清华大学出版社. 2008 [4] 薛圆圆.C语言开发手册. 北京:电子工业出版社. 2011.4 [5] 王娣. 安剑. 孙秀梅. 北京:人民邮电出版社.2010

学生管理系统 C语言

C/C++程序设计 课程设计报告 专业: 班级: 学号: 姓名: 版本号: 时间:

目录 1 概述 (2) 1.1目的 (2) 1.2计划 (2) 2 课程设计过程及结果 (3) 2.1编程环境及工具 (3) 2.2排序与简单分析 (3) 2.3综合设计 (3) 2.3.1 功能实现 (3) 2.3.2 程序异常处理 (5) 2.3.3 特色功能 (5) 3 课程设计总结 (6) 3.1课程设计计划执行情况 (6) 3.2我理解的C++ (6) 3.3改进设想 (6) 附录关键代码 (6)

原创声明:本课程设计报告及相应的软件程序的全部内容均为本人独立完成,如有抄袭,愿承担相应后果。 声明人___________________ 学号:__________________

1概述 1.1 目的 1、熟悉c语言的编译环境 2、掌握c语言的基本操作 3、回顾并加深对C/C++程序设计相关知识的理解,能够用C/C++独立完成简单数据管 理软件的编写 4、锻炼同学思维强度与能力 5、培养同学认真态度和刻苦的精神 1.2 计划 用Microsoft Visual C++ 6.0进行编译,利用之前学过的课程知识和查询资料等方法完成题目的设计,用Debug进行调试。 1.回顾c语言编程基本内容,了解各种数据类型及掌握各种语句的结构类型。 2.完成一个简单任务:排序与简单分析把一个完全由小写字母组成字符串按照每个字母的出现次数从低到高重新排序。出现次数相同的按照字母顺序排列,(a最前,z最后)。 输入:任意一个字符串(小写,长度小于255) 输出:重新排序后的结果 例如,输入:aassdfkjiowea回车 则输出为:defijkowssaaa 3.综合设计:设计实现学生成绩管理软件。 参考下面的数据,用C/C++设计一个简单的学生成绩管理软件,实现基本的功能。 学生信息文件(A.TXT)及其内容(示意): 学号姓名性别班级 200800800901 张三男电子0801 200800820902 李四女通信0801 200800800903 王五女电子0802 200800820904 赵六男通信0801 …… 课程信息(B.TXT)及其内容(示意): 课程编号课程名称学分 C01 大学英语 4 C02 高等数学 4 C03 C++程序设计 3 …… 学生成绩信息文件(C.TXT)及其内容(示意,成绩保存使用浮点数): 学号课程成绩 200800800901 C01 89 200800800902 C01 68.5 200800800901 C02 45.5 200800800903 C02 78 实现数据录入显示功能查询功能数据删除、整理功能排序功能。

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

一.填空题 26.C#源程序的后缀名为______.cs________。 26.C#中每个int 类型的变量占用____4___个字节的内存。 26.C#的每行语句以________分号_______结尾。 26.布尔型的变量可以赋值为关键字_____true__________或_____false_________。 26.如果int x的初始值为5,则执行表达式x - =3之后,x的值为_____2_________。 26.do...while语句在执行循环体_____之后________测试语句是否满足循环条件。 26.关键字_______class________表示一个类的定义。 26.如果一个类包含一个或多个抽象方法,它是一个_________抽象_____________类。 26.try块运行后,总是会执行_________finally_____________块中的代码。 26.一个数组如果有两个索引值,那么它是__________二维__________数组。 二.单项选择题 1.在对SQL Server 数据库操作时应选用()。 A、SQL Server .NET Framework 数据提供程序; B、OLE DB .NET Framework 数据提供程序; C、ODBC .NET Framework 数据提供程序; D、Oracle .NET Framework数据提供程序; 2.下列选项中,()是引用类型。 A、enum类型 B、struct类型 C、string类型 D、int类型 3.C#的数据类型有() A、值和调用类型; B、值和引用类型; C、引用和关系类型; D、关系和调用类型 4.下列描述错误的是() A、类不可以多重继承而接口可以; B、抽象类自身可以定义成员而接口不可以; C、抽象类和接口都不能被实例化; D、一个类可以有多个基类和多个基接口; 5.下列关于构造函数的描述正确的是() A、构造函数可以声明返回类型。 B、构造函数不可以用private修饰 C、构造函数必须与类名相同 D、构造函数不能带参数 6.int[][] myArray3=new int[3][]{new int[3]{5,6,2},new int[5]{6,9,7,8,3},new int[2]{3,2}}; 那么myArray3[2][2]的值是( )。 A、9 B、2 C、6 D、越界 7.接口是一种引用类型,在接口中可以声明(),但不可以声明公有的域或私有的成员变量。 A、方法、属性、索引器和事件; B、方法、属性信息、属性; C、索引器和字段; D、事件和字段; 8.在https://www.360docs.net/doc/8412875099.html,中,对于Command对象的ExecuteNonQuery()方法和ExecuteReader()方法,下面叙述错误 的是()。 A、insert、update、delete等操作的Sql语句主要用ExecuteNonQuery()方法来执行; B、ExecuteNonQuery()方法返回执行Sql语句所影响的行数。 C、Select操作的Sql语句只能由ExecuteReader()方法来执行; D、ExecuteReader()方法返回一个DataReder对象; 9.Winform中,关于ToolBar控件的属性和事件的描述不正确的是( )。 A、Buttons属性表示ToolBar控件的所有工具栏按钮 B、ButtonSize属性表示ToolBar控件上的工具栏按钮的大小,如高度和宽度 C、DropDownArrows属性表明工具栏按钮(该按钮有一列值需要以下拉方式显示)旁边是否显示下箭 头键 D、ButtonClick事件在用户单击工具栏任何地方时都会触发

C语言程序设计课程设计报告

C语言程序设计课程设 计报告 内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)

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

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

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

C语言超市收银系统

/* --------------------------------------- 时间:2015-7-1 16:44:21 吴俊龙 C语言专周设计 超市收银系统 --------------------------------------- */ # include # include #include int menu1(void);//主页面 int menu2(void);//商品管理页面 int menu3(void);//退出页面 int menu4(void);//添加商品信息 int menu5(void);//商品信息浏览 int menu6(void);//商品信息修改 int menu7(void);//商品信息查询 int menu8(void);//商品信息删除 int menu9(void);//结账页面 int sign(void);//欢迎页面 struct ima { int id; //商品编号 char name[20]; //商品的名称 char produce[30]; //商品的产地 int number; //商品的数量 int money; //商品的价格 }; int len = 0; struct ima thing[50]; struct ima * p; int menu1(void)//主页面 { int n; system("cls"); printf("\n\n\n"); printf("\t\t ----------------------------------------- \n"); printf("\t\t| 欢迎使用结账管理系统|\n"); printf("\t\t|-----------------------------------------|\n");

C语言程序设计课程设计

《C语言程序设计》课程设计 1课程设计目的 C语言课程设计是在“C语言程序设计”课程后集中安排的1周相关的实践技能训练环节。它的目的是通过实践环节的训练,培养学生查阅资料的能力、分析与解决问题的能力、应用C语言开发与设计程序的能力。 2课程设计选题 2.1 题目1 必做题目,其余题目任选一题完成 题目1:年历显示。 功能要求: (1)输入一个年份,输出是在屏幕上显示该年的日历。假定输入的年份在1940-2040年之间。 (2)输入年月,输出该月的日历。 (3)输入年月日,输出距今天还有多少天,星期几,是否是公历节日。 题目2:小学生测验 面向小学1-2年级学生,随机选择两个整数和加减法形成算式要求学生解答。 功能要求: (1)电脑随机出10道题,每题10分,程序结束时显示学生得分; (2)确保算式没有超出1-2年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出0-50的范围,负数更是不允许的; (3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案; (4)对于每道题,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分; (5)总成绩90以上显示“SMART”,80-90显示“GOOD”,70-80显示“OK”,60-70显示“PASS”,60以下“TRY AGAIN” 题目3:学生学籍管理系统(可以2人合作完成) 用数据文件存放学生的学籍,可对学生学籍进行注册,登录,修改,删除,查找,统计,学籍变化等操作。 功能要求: (1)系统以菜单方式工作。 (2)登记学生的学号,姓名,性别,年龄,籍贯,系别,专业,班级;修改已知学号的学生信息; (3)删除已知学号的学生信息; (4)查找已知学号的学生信息; (5)按学号,专业输出学生籍贯表。 (6)查询学生学籍变化,比如入学,转专业,退学,降级,休学,毕业。 题目4:通讯录程序设计 设计一个实用的小型通讯录程序,具有添加,查询和删除功能。由姓名,籍贯,电话号码1,电话号码2,电子邮箱组成,姓名可以由字符和数字混合编码。电话号码可由字符和数字组成。实现功能:(1)系统以菜单方式工作 (2)信息录入功能 (3)信息浏览功能

C语言超市商品管理系统

题目:超市商品管理系统 院系:信息科技学院 专业:计算机科学与技术 姓名: 学号: 指导教师: 日期: 桂林电子科技大学信息科技学院 目录 1 问题定义 (3) 2 系统设计 (3) 2.1 总体设计 (3) 实训报告

2.2 详细设计 (3) 2.2.1 数据结构设计 (3) 2.2.2 主控流程 (3) 2.2.3 信息输入模块 (4) 2.2.4 信息增加模块 (4) 2.2.5 信息修改模块 (4) 2.2.6 信息删除模块 (4) 2.2.7 信息查看模块 (4) 2.2.8 信息统计模块 (4) 函数功能描述 (4) 3 系统实现 (5) 编码 (5) 3.1.1 程序预处理 (5) 3.1.2 主函数main() (5) 3.1.3 主菜单界面 (6) 3.1.4 商品信息建立 (7) 3.1.5 商品信息查看 (9) 3.1.6 商品信息增加 (11) 3.1.7 商品信息删除 (12) 3.1.8 商品信息修改 (14) 3.1.9 商品数目统计 (16) 测试与调试 (22) 3.2.1 概述 (22) 3.2.2 程序测试 (22) 4 系统维护 (25) 5 归纳总结 (25) 开发经验 (25)

实训中遇到的问题及解决方法 (25) 设计中的不足之处 (25) 感想和心得体会 (25) 6 参考资料 (25) 超市商品管理系统 本题目设计目的是训练学生的基本编程能力,了解管理信息系统的开发流程,熟悉C 语言的单链表的各种基本操作。本程序中涉及结构体、单链表、文件保存等方面的知识。通过本程序的训练,使学生能对C语言的链表的操作有一个更深刻的了解,掌握利用单链表存储结构实现对超市信息管理系统的原理,为进一步开发出高质量的管理信息系统打下坚实的基础。 1、问题定义 创建一个超市管理系统。该程序具有保存商品信息、查询商品信息、修改商品信息、删除商品信息、统计商品信息并具有自动判断商品价格、库存等的功能。

超市管理系统C语言

超市管理系统C语言 Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】

西安邮电大学 高级语言课程设计报告题目:超市管理系统 院系名称:理学院 专业名称:应用物理学 班级: 1301 学生姓名:王松 学号(8位): 07132022 指导教师:王西龙 设计起止时间:2014年06月19日~2014年06月27日1:程序模型 2:原函数概况 1:创建函数 void start(); /*启动界面*/ void input(); /*商品数据信息输入函数*/ void change(); /*商品数据信息修改函数*/ void dele(); /*给定指定商品名称,删除商品信息*/ void output(); /*商品信息输出*/ void search(); /*商品信息查找*/ void mima();/*密码程序*/ void colour();品信息的录入:\n"); printf(" 2.商品信息的修改:\n"); printf(" 3.删除某个商品信息:\n"); printf(" 4.查找商品信息:\n"); printf(" 5.颜色选择:\n"); printf(" 0.退出程序\n"); printf(" ********************************************\n"); printf(" ********************************************\n");

printf(" 输入你的选择: "); scanf("%d",&chi); /*根据你的选择执行相应的函数*/ if(chi==1) input(); else if(chi==2) change(); else if(chi==3) dele(); else if(chi==4) search(); else if(chi==5) colour(); else if(chi==0) { printf("你已经退出超市商品管理系统!谢谢您的使用,再见\n"); exit(0); } else { printf(" You Enter The Choice Is Not valid ! \n"); getch(); system("cls"); start(); } } void huanying() { printf("\t\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\ 3\3\3\3\n"); printf("\t\3 欢迎使用 \3\n"); printf("\t\3 \3\n"); printf("\t\3 \3\n"); printf("\t\3 超市管理系统 \3\n"); printf("\t\3 \3\n"); printf("\t\3 \3\n"); printf("\t\3 \4\4\4\4\4\4 \3\n"); printf("\t\3 \3\n"); printf("\t\3 \5\5\5\5\5\5\5\5\5 \3\n"); printf("\t\3 \3\n");

最新学生信息管理系统C语言编程

学生信息管理系统C语言编程 【问题描述】 学生信息的管理是每个学校必须具有的管理功能,主要是对学生的基本情况及学习成绩等方面的管理。该系统模拟一个简单的学生管理系统,要求对文件中所存储的学生数据进行各种常规操作,如:排序、查找、计算、显示等功能。通过此课题,熟练掌握文件、数组、结构体的各种操作,在程序设计中体现一定的算法思想,实现一个简单的学生信息管理系统。【基本要求】 (1)学生信息包括: 学生基本信息文件(student.txt)(注:该文件不需要编程录入数据,可用文本编辑工具直接生成)的内容如下: (2)学生成绩基本信息文件(score.dat)及其内容如下:((注:该文件内容需要编程录入数据,具体做法见下面的要求) 学号课程编号课程名称学分平时成绩实验成绩卷面成绩综合成绩实得学分(3)需要实现的功能 1)数据录入和计算功能:对score.dat进行数据录入,只录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据,综合成绩、实得学分由程序根据条件自动运算。 综合成绩的计算:如果本课程的实验成绩为-1,则表示无实验,综合成绩=平时成绩*30%+卷面成绩*70%;如果实验成绩不为-1,表示本课程有实验,综合成绩=平时成绩*15%+实验成绩*15%+卷面成绩*70% 。 实得学分的计算:采用等级学分制,综合成绩在90-100之间,应得学分=学分*100%;综合成绩在80-90之间,应得学分=学分*80%;综合成绩在70-80之间 ,应得学分=学分*75%;综合成绩在60-70之间,应得学分=学分*60%;综合成绩在60以下 ,应得学分=学分*0%。 2)查询功能:分为学生基本情况查询和成绩查询两种 (1)学生基本情况查询: ①、输入一个学号或姓名(可实现选择),查出此生的基本信息并显示输出,格式如下: ②、输入一个宿舍号码,可查询出本室所有的学生的基本信息并显示输出。(格式如上所示) (2)成绩查询: ①、输入一个学号时,查询出此生的所有课程情况,格式如下: 学号:xx 姓名:xxxxx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx …………………… 共修:xx科,实得总学分为: xxx (3)删除功能: 提供待删除学生的学号,则在student.txt和score.dat中删除所有与该学生有关的信息。(4)排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。 【程序设计的具体说明】 (1)将与两个文件对应的信息分别定义两种结构体类型来表示,也可以用类来定义;(2)对score.dat文件的写入,从键盘上输入的是前七项,后两项数据项根据计算方法算出后,得到完整的结构体信息,作为一个整体写入(可调用write函数)。

《C程序设计语言》模拟试卷二

一、单项选择题 1.以下并非C语言的特点的是____________。 A.C语言简洁紧凑 B.能够编写出功能复杂的程序 C.C语言可以直接对硬件进行操作 D.C语言移植性好 2.在C程序中,main()的位置___ ______。 A.必须作为第一个函数 B.必须作为最后一个函数 C.可以任意 D.必须放在它所调用的函数之后 3.一个C程序是由____ ________。 A.一个主程序和若干个子程序构成 B.一个或多个函数构成 C.若干过程组成 D.若干子程序组成 4.以下字符串为标识符的是___ _________。 A._MY B.2_2222 C.short D.LINE 5 5.下列符号可以作为变量名的是___ ________。 A.+a B.*p C._DAY D.next day 6.设c是字符变量,则以下表达式正确的是___ _______。 A.c=666 B.c='c' C.c="c" D.c="abcd" 7.以下说法正确的是_____ _______。 A.输入项可以为一个实型常量,如scanf("%f", 3.5) B.只有格式控制没有输入项也能进行正确输入,如scanf("%d") C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如 D.当输入数据时,必须指定变量的地址,如scanf("%f", &f) 8.若a, b, c均定义为整型,要给它们输入数据,正确的输入语句是____ ________。 A.read(a, b, c); B.scanf("%d%d%d", a, b, c); C.scanf("%D%D%D", a, b, c); D.scanf(%d%d%d", &a, &b, &c); 9.若a是float变量,b是unsigned型变量,以下输入语句中合法的是____ ___。 A.scanf("%6.2f%d", &a, &b); B.scanf("%f%n", &a, &b); C.scanf("%f%3o", &a, &b); D.scanf("%f%f", &a, &b); 10.if后面的表达式之值__________。 A.只能是0或1 B.只能是正整数或负整数 C.只能是整数或字符型数据 D.可以是任何类型的数据 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与__ ___组成配对 关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其直接最近的未配对的if D.同一行上的if 12.选择出合法的if语句(设int x, a, b, c;)____ _____。 A.if(a = b0 x++; B.if (a =< b) x++; C.if(a <> b) x++; D.if (a=>b) x++; 13.语句while(!e); 中的条件!e等价于____ _______。 A. e == 0 B.e!=1 C.e!=0 D.~e 14.C语言中while和do-while循环的主要区别是____ _______。 A.do-while的循环体至少无条件执行一次 B.while的循环控制条件比do-while的循环控制条件严格

C语言程序课程设计猜数字游戏

C语言程序设计课程设计 : 自 动 化 级 : 名: 学号: 指导教师: 兰州交通大学自动化与电气工程学院 2015年07月21日

一.引言 设计目的 复习和巩固C语言基础知识,进一步加深对C语言的理解和掌握。提高同学将课本上的理论知识和实际结合的能力,锻炼同学的分析解决实际问题的能力,提高同学团队合作的能力。使同学们善于观察和思考,善于合作,具备实践编程的基础素质,和实际问题分析的思考方式。 设计要求 在设计时充分地分析和理解问题本身,综合考虑系统功能,怎样使系统结构清晰、合理、简单和易于调试。然后详细设计,确定每个过程和函数的简单功能,以及过程(或函数)之间的调用关系。最后认真完成课程设计说明书,并对设计方法,结果等进行总结。 充分地分析和理解问题本身,弄清要求做什么(What to do)。在确定解决方案框架过程中(How to do),综合考虑系统功能,考虑怎样使系统结构清晰、合理、简单和易于调试。最后确定每个过程和函数的简单功能,以及过程(或函数)之间的调用关系。 确定算法的主要流程,在此基础上进行代码设计(Coding),每个明确的功能模块程序一般不超过60行,否则要进一步划分。 上机前程序静态检查可有效提高调试效率,减少上机调试程序时的无谓错误。静态检查主要有两种途径:(1)用一组测试数据手工执行程序;(2)通过阅读或给别人讲解自己的程序而深入全面地理解程序逻辑。 二.基础题 题目 用选择法对10个数进行排序。 有一个已排好序的数组。现输入一个数,要求按原来的规律插入到原数组中。解题思路 程序的主要功能是对数组元素用排序函数按从小到大的顺序进行排序。 先定义一个10个元素的一维数组a[10],然后从电脑输入10个数(也就是对数组赋值),然后使用一次fun()函数,对这10个数进行排序;然后再定义一个11个元素的一维数组b[11],同时再从电脑输入一个数同a[10]一起赋值给b[11],然后再使用fun()函数,重新排序的到最后的有顺序的一组数据。 流程图 子函数流程图如图1所示:

C语言程序设计超市管理系统

程序设计——超市管理系统 学院: 专业: 班级: 姓名: 学号: 指导老师: 超市管理系统课程设计 1)需求分析: 设计题目:超市管理系统 设计要求:有一个小型超市,出售N(N>=10)种商品,设计并实现一个系统系统功能需求分析:

1.保存及输出:超市中的各种商品信息保存在指定文件中,可以把它们输出显示。2.计算并排序:计算每类商品的总价值(sum,单精度)及平均价(aver,单精度,输出一位小数),将每类商品按平均价从大到小的顺序排序打印出来。 3.统计:统计输出库存量低于100的货号及类别。统计输出有两种以上(含两种)商品库存量低于100的商品类别。 2)概要设计: 系统总体设计框架: 系统功能模块图: 3)详细设计:

主要功能模块的算法设计思路:本程序主要分为八个模块:主模块、信息输出修改模块、新建信息模块、排序模块、计算模块、统计模块1、统计模块2、打印模块。 1)主模块:通过调用各分模块实现功能; 2)信息输出修改模块:输出显示文件中商品信息内容,添加商品信息,删除商品信息,修改商品信息; 3)新建商品信息模块:建立一个新结构体,为链表存信息用,并且将信息保存在指定的文件中; 4)排序模块:把文件中顺序零乱的商品信息按单价的大小从高到低进行排序,放到链表里存储; 5)计算模块:将所有商品的价格与库存量进行累加求和; 6)打印模块:将商品信息按每类平均价格排序(从高到低)按顺序打印出来;7)统计模块1:统计库存量低于100的货名及类别; 8)统计模块2:统计商品库存量有2种以上(含2种)低于100的商品类别 工作流程图: 4)主要源程序代码: #include "" /*输入,输出头文件*/ #include "" /*申请空间头文件*/ #include "" /*对字符串加工头文件*/ #include "" /*清屏头文件*/ FILE *fp;

学生信息管理系统C语言课程设计报告

通信工程C语言强化训练实验报告 评语: 教师签字: 东北大学秦皇岛分校

学生信息管理系统 强化训练目的 C语言基本知识的巩固和综合运用。基本数据类型、基本控制结构、数组、指针、函数、结构体和共用体。 C语言高级编程。链表基本操作、文件的基本操作、图形和声音制作。 程序的结构化设计。 编辑、设置、编译、调试、执行。 C语言结合实际问题的综合设计。 设计题目功能 通过计算机对数据文件的存储和读取,对学生信息进行管理,能够完成学生信息的增、删、改、查找等功能。 设计题目要求 名片信息至少包括学号、姓名、性别、出生日期、宿舍号等基本信息。 具体要求包括: 1有主界面和主菜单

2以班级为单位用链表存放学生信息 3可以实现按学号、姓名、宿舍号查询和统计并在屏幕上输出查询结果 4友好的界面和操作提示 [A]信息录入 [D]信息删除 [F]信息查询 [Q]退出 4、程序流程图 总体设计 详细设计 【程序】主函数 void main() /*主函数即用户的操作界面*/ { system("color 1E"); /*设计文本颜色*/ int b,flag=0; /*声明局部变量*/ while(1) /*循环输出以下信息*/ { printf("\n\t\t\t欢迎来到学生成绩管理系统!\n"); printf("\n\t\t\t\t ###制作\n"); printf("\t\t\t-------------------------------\n");

printf("\t\t\t1.键入学生的信息\n\n"); /*键入学生的信息*/ printf("\t\t\t2.查看录入的学生信息\n\n"); /*查看录入的学生信息*/ printf("\t\t\t3.按姓名查看学生的信息\n\n"); /*按姓名查看学生的信息*/ printf("\t\t\t4.按学号查看学生的信息\n\n"); /*按学号查看学生的信息*/ printf("\t\t\t5.按宿舍号查看学生的信息\n\n"); /*按宿舍号查看学生的信息*/ printf("\t\t\t6.删除学生信息\n\n"); /*删除学生信息*/ printf("\t\t\t7.保存学生信息\n\n"); /*保存*/ printf("\t\t\t8.打开文件\n\n"); /*打开文件*/ printf("\t\t\t9.我的个人信息\n\n"); /*我的个人信息*/ printf("\t\t\t0.退出\n\n"); /*退出*/ printf("\t\t\t请输入你的选择:"); scanf("%d",&b); switch(b) { case 1:type();break; /*调用键入学生信息函数*/ case 2:look();break; /*调用查看函数*/ case 3:search_name();break; /*调用姓名查看函数*/ case 4:search_number();break; /*调用学号查看函数*/ case 5: search_dorm();break; /*调用宿舍号查看函数*/ case 6:del();break;/*调用删除函数*/ case 7:save();break;/*调用保存函数*/ case 8:see();break;/*调用打开文件函数*/ case 9:welcome();break;/*调用我的个人信息函数*/ case 0:flag=1;break;/*退出SWITCH语句*/ default :printf("错误!"); } if(flag) break; /*如果选择0就退出循环*/ } } 5、程序设计源代码 #include"stdio.h" #include"conio.h" #include"string.h" #include"stdlib.h" void look(); /*声明查看函数*/ void save(); /*声明保存函数*/ void search_name(); /*声明按姓名查看函数*/ void search_number(); /*声明按学号查看函数*/ void search_dorm(); /*声明按宿舍号查看函数*/ void del(); /*声明删除函数*/ int openl(); /*声明打开函数*/ void welcome(); /*声明我的个人信息函数*/ void type(); /*声明输入函数*/

相关文档
最新文档