《C语言程序设计》课程设计任务及指导书.docx

上传人:b****5 文档编号:6894813 上传时间:2023-01-12 格式:DOCX 页数:17 大小:38.76KB
下载 相关 举报
《C语言程序设计》课程设计任务及指导书.docx_第1页
第1页 / 共17页
《C语言程序设计》课程设计任务及指导书.docx_第2页
第2页 / 共17页
《C语言程序设计》课程设计任务及指导书.docx_第3页
第3页 / 共17页
《C语言程序设计》课程设计任务及指导书.docx_第4页
第4页 / 共17页
《C语言程序设计》课程设计任务及指导书.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

《C语言程序设计》课程设计任务及指导书.docx

《《C语言程序设计》课程设计任务及指导书.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》课程设计任务及指导书.docx(17页珍藏版)》请在冰豆网上搜索。

《C语言程序设计》课程设计任务及指导书.docx

《C语言程序设计》课程设计任务及指导书

《C语言程序设计》课程设计任务及指导书

一、设计题目

题目一:

班级成绩管理系统

题目二:

班级档案管理系统

题目三:

飞机订票系统

题目四:

通信录管理系统

题目五:

图书信息管理系统

题目六:

职工档案管理系统

题目七:

银行帐户管理系统

题目八:

集合的操作

题目九:

链表的操作

题目十:

字符串的处理

题目十一:

猜数字游戏

题目十二:

求解八皇后问题

其他选题

二、设计目的

《C语言程序设计》课程设计是信息管理与信息系统专业学生的集中实践性环节之一,是学习完《C语言程序设计》课程后进行的一次全面的综合练习。

其目的是加深学生对高级语言基本语言要素和控制结构的理解,训练学生综合运用已学课程的基本知识,独立进行C语言应用程序设计,掌握C语言程序设计、调试的方法和技巧,从而提高动手编程解决实际问题的能力。

三、设计任务

按学号最后两位大小顺序分组,每五人做一个题目,01-05号完成题目一,06-10号完成题目二,11-15号完成题目三,16-20号完成题目四,……。

每人都要独立完成课程设计任务。

四、时间安排

课程名称

班级

周次

星期

节次

时间

实验室

C语言程序设计课设

信管1301

1

全周

上午

2014.2.17-2014.2.21

东八-401

C语言程序设计课设

信管1302

1

全周

下午

2014.2.17-2014.2.21

东八-403

五、设计内容

设计内容一班级成绩管理系统

一、问题描述:

对一个有N个学生的班级,每个学生有M门课程。

该系统实现对班级成绩的录入、显示、修改、排序等操作的管理。

二、功能要求:

1、本系统采用一个结构体数组,每个数据的结构应当包括:

学号、姓名、M门课程名称。

2、本系统显示这样的菜单:

请选择系统功能项:

(1)成绩录入

(2)成绩显示

(3)成绩排序

(4)成绩修改(要求先输入密码)

(5)成绩统计

a、显示每门课程成绩最高的学生的基本信息

b、显示每门课程的平均成绩

c、显示超过某门课程平均成绩的学生人数

(6)退出系统

3、执行一个具体的功能之后,程序将重新显示菜单。

三、算法提示:

数据结构:

结构体类型数组。

姓名

学号

课程名称1

课程名称2

●●●●●●

char

Char

float

float

四、测试数据:

学生人数N=10

课程门数M=4

课程名:

数学、语文、英语、政治

五、其它

对该系统有兴趣的同学可以在实现上述基本功能后,完善系统的其它功能。

设计内容二班级档案管理系统

一、问题描述:

对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除等操作的管理。

二、功能要求:

1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:

学号、姓名、性别、年龄、备注。

2、本系统显示这样的菜单:

请选择系统功能项:

(1)学生基本信息录入

(2)学生基本信息显示

(3)学生基本信息删除

(4)学生基本信息修改

(5)学生基本信息查询

a、按学号查询

b、按姓名查询

c、按性别查询

d、按年龄查询

(6)退出系统

3、执行一个具体的功能之后,程序将重新显示菜单。

三、算法提示:

数据结构:

结构体类型数组

姓名

学号

性别

年龄

备注

char

Char

char

int

char

四、测试数据:

学生人数N=10

学生基本信息数据自行规定

五、其它:

对该系统有兴趣的同学可以在实现上述基本功能后,完善系统的其它功能。

设计内容三飞机订票系统

一、问题描述:

假设某航空公司只有M架N个座位的飞机,每架飞机每天飞行一趟。

通过该系统来实现机票的订购问题。

二、功能要求:

1、本系统采用一个包含M×N个数据的结构体数组,每个数据的结构应当包括:

起飞地、目的地、航班号、座次号码、座次订出与否标记、订座者的姓名和订座者的身份证号码。

2、本系统显示这样的菜单:

(1)输入航班信息

(2)输出航班信息

(3)查找航班信息

a、按线路查询

b、按目的地查询

(4)订票预约

(5)删除订票预约

(6)退出系统

注:

本系统成功执行菜单的每个信息,选项4)和5)将要求额外的输入。

查找航班信息既可按线路查,也可按目的地查。

查询结果显示空座的信息、数量、已订座的信息、起飞时间等。

3、执行一个具体的功能之后,程序将重新显示菜单。

三、算法提示:

数据结构:

结构体类型数组

航班号

起飞时间

目的地

座次号

座次订出与否的标记

订票者姓名

订票者身份证号码

int

char

char

int

Char

char

char

四、测试数据:

飞机架数M=5,每架飞机的座位数N=12

五、其它:

对该系统有兴趣的同学可以在实现系统基本功能后,完善系统的其它功能。

设计内容四通信录管理系统

一、问题描述:

对一个有N个联系人的通信录,通过该系统实现对该通信录中联系人的基本信息进行录入、显示、修改、删除等操作的管理。

二、功能要求:

1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:

姓名、手机号、住宅电话、办公电话、电子邮件、备注。

2、本系统显示这样的菜单:

请选择系统功能项:

(1)联系人基本信息录入

(2)联系人基本信息显示

(3)联系人基本信息删除

(4)联系人基本信息修改

(5)联系人基本信息查询(按姓名查询)

(6)退出系统

3、执行一个具体的功能之后,程序将重新显示菜单。

三、算法提示:

数据结构:

结构体类型数组

姓名

手机号

住宅电话

办公电话

电子邮件

备注

char

char

char

char

char

char

四、测试数据:

联系人数N=10

联系人基本信息数据自行规定

五、其它:

对该系统有兴趣的同学可以在实现上述基本功能后,完善系统的其它功能。

设计内容五图书信息管理系统

一、问题描述:

对一个有N本图书的小型图书馆,通过该系统实现对该图书馆中图书的基本信息进行录入、显示、修改、删除等操作的管理。

二、功能要求:

1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:

登录号、书名、作者名、分类号、出版单位、出版时间、价格等。

2、本系统显示这样的菜单:

请选择系统功能项:

(1)图书基本信息录入

(2)图书基本信息显示

(3)图书基本信息修改

(4)图书基本信息删除

(5)图书基本信息查询

a、按书名查询

b、按作者名查询

(6)退出系统

3、执行一个具体的功能之后,程序将重新显示菜单。

三、算法提示:

数据结构:

结构体类型数组

登录号

书名

作者名

分类号

出版单位

出版时间

价格

char

char

char

char

char

char

double

四、测试数据:

图书本数N=10

图书基本信息数据自行规定

五、其它:

对该系统有兴趣的同学可以在实现上述基本功能后,完善系统的其它功能。

设计内容六职工档案管理系统

一、问题描述:

对一个有N个职工的小公司,通过该系统实现对该公司职工的基本信息进行录入、显示、修改、删除、查询等操作的管理。

二、功能要求:

1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:

工号,姓名,性别,出生年月,所在部门,职称,工资级别、电话。

2、本系统显示这样的菜单:

请选择系统功能项:

(1)职工基本信息录入

(2)职工基本信息显示

(3)职工基本信息删除

(4)职工基本信息修改

(5)职工基本信息查询

a、按部门查询

b、按姓名查询

c、按职称查询

(6)退出系统

3、执行一个具体的功能之后,程序将重新显示菜单。

三、算法提示:

数据结构:

结构体类型数组

工号

姓名

性别

出生年月

所在部门

职称

工资级别

电话

int

char

char

char

char

char

int

char

四、测试数据:

职工人数N=10

职工基本信息数据自行规定

五、其它:

对该系统有兴趣的同学可以在实现上述基本功能后,完善系统的其它功能。

设计内容七银行帐户管理系统

一、问题描述:

对一个有N个帐户的银行,通过该系统实现对该银行中客户帐户的基本信息、取款和存款信息进行各种操作的管理。

二、功能要求:

1、在本系统采用两个结构体数组,分别存放帐户的基本信息(包括:

编号、客户姓名、支取密码、客户地址、客户电话、账户总金额等)、存取款信息(包括:

编号、日期、类别、存取数目、经办人)。

注:

类别分为取款和存款两种。

2、本系统显示这样的菜单:

请选择系统功能项:

(1)帐户基本信息录入

(2)帐户基本信息输出

(3)存款

(4)取款

(5)帐户存款信息查询(按编号)

(6)帐户取款信息查询(按编号)

(7)退出系统

3、执行一个具体的功能之后,程序将重新显示菜单。

三、算法提示:

数据结构:

结构体类型数组

编号

客户姓名

支取密码

客户地址

客户电话

账户总金额

char

char

char

char

char

double

编号

日期

类别

存取数目

经办人

char

char

char

double

char

四、测试数据:

帐户数N=10

存取款信息数据自行规定

五、其它:

对该系统有兴趣的同学可以在实现上述基本功能后,完善系统的其它功能。

设计内容八集合的操作

一、问题描述:

本题要求定义并实现一个用于存放整型数据的集合,编程实现集合的各种操作并在main函数中测试。

二、功能要求:

实现集合的以下操作:

(1)增加一个数到集合中;

(2)从集合中去掉一个元素;

(3)判断一个元素是否在集合中;

(4)实现两个集合的并运算;

(5)实现两个集合的交运算;

(6)实现两个集合的差运算;

(7)判断两个集合是否相等;

(8)显示输出集合中的所有元素。

三、算法提示:

1、数据结构:

用整型数组存放集合元素

2、用简单的程序设计方法

四、测试数据:

在main函数中调用各种操作,显示操作结果。

测试数据应尽可能体现各种操作结果。

设计内容九链表的操作

一、问题描述:

本题要求定义并实现一个用于存放整型数据的带头结点的单链表,编程实现单链表的各种操作并在main函数中测试。

二、功能要求:

实现单链表的以下操作:

(1)置空MakeEmpty()

(2)求长度Length()

(3)插入Insert(x,i):

将x插入到第i个结点(不含头结点)之后;

(4)删除Delete(x):

删除链表中值为x的结点,成功返回1,否则返回0;

(5)删除ReMove(i):

删除链表中第i个结点,成功返回1,否则返回0;

(6)判断一个元素是否在链表中Find(x):

在链表中查找数值为x的结点,成功返回1,否则返回0;

(7)实现单链表数据的排序(升序或降序均可);

(8)实现单链表数据的显示输出。

三、算法提示:

1、数据结构:

结构体类型指针

2、用简单的程序设计方法

四、测试数据:

在main函数中调用各种操作,显示操作结果。

测试数据应尽可能体现各种操作结果。

设计内容十字符串的处理

一、问题描述:

C语言本身没有提供对字符串的直接支持,本题要求编程实现字符串的各种操作并在main函数中测试。

二、功能要求:

实现字符串的以下操作:

strcpy(s1,s2)复制字符串

strncpy(s1,s2,n)复制指定长度字符串

strcat(s1,s2)附加字符串

strncat(s1,s2,n)附加指定长度字符串

strlen(s)求字符串长度

strcmp(s1,s2)比较字符串

strcasecmp(s1,s2)忽略大小写比较字符串

strncmp(s1,s2,n)比较指定长度字符串

strchr(s,c)在字符串中查找指定字符

strstr(s1,s2)查找子字符串

strlwr(s)将字符串中大写字母转换为小写字母

strupr(s)将字符串中小写字母转换为大写字母

三、算法提示:

1、数据结构:

字符数组、指针

2、用简单的程序设计方法

四、测试数据:

在main函数中调用各种操作,显示操作结果。

测试数据应尽可能体现各种操作结果。

设计内容十一猜数字游戏

一、问题描述:

该游戏可以由程序随机产生四个0到9之间的数字,且不重复。

玩游戏者通过游戏提示输入八次来匹配上面所输入的数字。

A表示位置正确且数字正确,B表示数字正确而位置不正确。

二、功能要求:

1、本游戏显示这样的菜单:

(1)随机产生数据

(2)用户输入数据

(3)退出游戏

2、游戏成功与否都能返回主菜单

三、算法提示:

1、数据结构:

数组

2、用简单的程序设计方法

四、测试数据:

测试数据:

3792

第一次输入:

1234

0A2B

第二次输入:

5678

0A1B

第三次输入:

0867

0A1B

第四次输入:

9786

1A1B

第五次输入:

1794

2A0B

第六次输入:

2793

2A2B

第七次输入:

3792

4A0B

游戏成功

五、其它:

对该系统有兴趣的同学可以在实现系统基本功能后,完善系统的其它功能,如:

破记录功能,若你所匹配的次数小于纪录保持者,则为破纪录。

设计内容十二求解八皇后问题

一、问题描述:

八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。

该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:

在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。

高斯认为有76种方案。

1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。

二、要求:

编写程序对八皇后问题进行求解:

在8行8列的棋盘上放置8个皇后,使任一个皇后都不能吃掉其他的7个皇后(注:

皇后可吃掉与她处于同行或同列或同一对角线上的其他棋子),并将结果以图形方式显示出来。

(最好能绘出所有92种情况)

例如,当求出下述的一个解(1,1)(2,5)(3,8)(4,6)(5,3)(6,7)(7,2)(8,4)时,画出如下图:

三、算法提示:

(1)通过“intLineNum[9];boola[9],b[15],c[15];”说明具有全局作用域的4个数组。

其中的:

LineNum[i]表示第i列的皇后要放的行位置(只用其中的列号1到8);

a[i]为true(i=1,2,…,8)表示第i行上尚未放皇后;

b[i]为true(i=0,1,2,…,14)表示第i条斜对角线上尚未放皇后(斜对角线指的是“/”状对角线,该对角线上各点的行列号之和i+j为一个常数);

c[i]为true(i=0,1,2,…,14)表示第i条反斜对角线上尚未放皇后(反斜对角线指的是“\”状对角线,该对角线上各点的行列号之差i-j为一个常数)。

从而当使用语句“if(a[j]&&b[i+j-2]&&c[i-j+7])LineNum[i]=j;”时,可用于判断并实现:

如果在第j行的第i列上放置皇后安全的话,则将一枚皇后放置到那儿。

(2)编制一个具有如下原型的递归函数solve,它负责往第i列开始的连续8-i+1列上均放上皇后,若成功则通过引用参数ok返回true(否则返回false)。

voidsolve(inti,bool&ok);

摆放皇后之后,若i=8即已放满时则递归出口;否则通过solve(i+1,ok);进行递归调用。

(3)编制主函数,首先初始化一个“空棋盘”,即将a、b、c数组的各元素均置为true(表示当前棋盘的8个行、15条斜对角线以及15条反斜对角线上都尚未摆放皇后)。

而后执行调用语句“solve(1,ok);”,它负责往第1列开始的连续8列上均放上皇后,若成功则通过引用参数ok返回true(否则返回false)。

设计内容其他选题:

十三、实现带有括号的四则运算

十四、二十一点游戏

十五、模拟计算器程序

十六、贪吃蛇

十七、五子棋

十八、俄罗斯方块

十九、迷宫游戏

二十、魔方阵

六、工作要求

 利用学到的编程知识和编程技巧,要求学生:

1、对系统进行功能模块分析、控制模块分析正确

2、系统设计要能完成题目所要求的功能。

3、编程简练,可用,尽可能地使系统的功能更加完善和全面

4、按要求撰写课程设计报告。

5、特别要求自己独立完成。

课程设计报告的内容及要求:

《C语言程序设计》课程设计说明书封面(见最后)

一、课程设计目的

二、课程设计内容

1、课程设计的题目及简介

2、设计说明

3、程序流程图

4、程序清单(源程序要多加注释)

5、运行结果(界面截图)

三、课程设计总结

四、参考文献

(注:

课程设计报告统一使用A4大小的复印纸打印,不得使用其他纸张)

注意事项:

1.以上要求为一般的要求,针对具体问题和具体的开发过程,某些方面可以做适当的增减。

2.各种文档资料要在程序开发过程中逐渐形成,而不是最后补写(但不排斥最后誉清)。

3.各种文档要用Word及其它文字编辑软件排版后打印输出。

4.任务完成时报告老师,上机验收运行结果,现场提问验收。

七、成绩评定标准

由指导教师根据学生完成任务的情况、课程设计说明书的质量和课程设计过程中的态度等综合打分。

1.课程设计说明书:

30%

包括设计说明书内容的全面性、正确性,文字表述的准确性和条理性,以及书写的工整程度等。

2.平时:

30%

平时主要包括考勤和操作练习的实际情况。

3.设计末考核:

40%

包括上机验收结果和现场提问结果。

成绩评定标准:

Ø优(90-100):

能很好地完成实验所要求的任务,达到任务书中规定的全部要求,设计说明书能对整个任务进行全面、系统的总结,并能运用学过的理论知识对某些问题加以分析,在考核时能很圆满地回答问题,并有某些独到见解。

学习态度很端正。

Ø良(80-89):

能较好地完成实验所要求的任务,达到任务书中规定的全部要求,设计说明书能对整个系统内容进行比较全面、系统的总结。

考核时能较圆满地回答问题,学习态度较端正。

Ø中(70-79):

达到实验任务书中规定的主要要求,设计说明书能对整个系统内容进行比较全面的总结,在考核时能正确地回答主要问题,学习态度端正。

Ø差(60-69):

完成了实验任务书的主要任务,达到任务书中规定的基本要求,能够完成设计说明书,内容基本正确但不够完整、系统,考核中能回答主要问题。

学习态度基本端正。

Ø不及格(<60):

未达到实验任务书中规定的基本要求,设计说明书马虎潦草或内容有明显错位;考核时不能回答主要问题或有原则性错误。

学习态度不端正。

附:

①凡是上机未到者,每次扣除5分。

②上机时间内,做与本课程设计无关事情者,予以警告。

屡教不改者当次上机视为旷课。

处理办法见第①条。

③上机时间内,无正当理由离开实验室长达半小时者,当次上机视为旷课。

处理办法见第①条。

④课程设计整个过程中,如果请假超过2次,即2次上机未能前来者,请速去系办公室办理缓考事宜。

附:

《C语言程序设计》课程设计说明书封面

武汉轻工大学

数学与计算机学院

《C语言程序设计》

课程设计说明书

 

题目:

专业:

班级:

学号:

姓名:

指导老师:

徐军利

年   月   日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1