当前位置:文档之家› C语言课程设计猜数字游戏[1]

C语言课程设计猜数字游戏[1]

C语言课程设计猜数字游戏[1]
C语言课程设计猜数字游戏[1]

课程设计报告

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

课题名称猜数字游戏

专业机械设计

班级1082

学号16

姓名向鹏

指导教师王颖

2011年9 月15 日

湖南工程学院

课程设计任务书

课程名称C课程设计

课题猜数字游戏

专业班级机设1082班

学生姓名向鹏

学号201013090216

指导老师王颖

审批王颖

任务书下达日期2011 年9 月 1 日

任务书完成日期2011 年9 月15 日

目录

第一章前言............................................................................................第二章需求分析……………………………………………….....…...

2.1系统概述.........................................................

2.2功能需求描述..................................................第三章总体设计………………………………………..……….…..

3.1模块设计........................................................................................

3.2程序的模块组成………………………………………………

3.3各个函数的主要功能…………………………….………...…..第四章详细设计…………………………………………………....

4.1 系统的总体框图…………………………………………..

4.2 相关的数据类型.........................................................................

4.3 函数间的调用图......................................................................... 4.4 流程图…………………………………………………… .....…

第五章测试和结果………………………………………………....

5.1 调试分析……………………………………………………..….

5.2 使用说明......................................................................................

5.3 运行结果截屏及说明……………………………………….. 第六章源程序…………………………………………………...…... 第七章总结………………………………………………………...... 附录1、应用技术学院评分标准………………..…………………….....

第一章

前言

《C语言程序设计》课程设计是对学生的一种全面综合训练,它包括问题分析,总体结构设计,用户界面设计,程序设计基本技能和技巧,多人合作,以至一整套软件工作规范的训练和科学作风的培养。是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。通常,课程设计的课题比平时的习题复杂得多,也更接近实际。课程设计着眼于与应用的结合点,使学生学会如何把书上学到的知识用于解决实际问题,培养软件工作所需要的动手能力;另一方面,能使书上的知识变“活”,使学生更好地深化理解和灵活掌握教学内容。为了达到上述目的,本课程设计安排了八个设计课题,训练重点在于基本的程序设计方法和分析问题的能力,而不强调面面俱到。学生可任选其中一题进行设计,设计完毕写出课程设计报告,用A4纸打印成册;并将课程设计报告与源程序存盘。学习委员将课程设计报告与磁盘收齐后交指导老师。

第二章

需求分析

猜数字游戏是一个运行在Wi nd ow s平台下的小型游戏软件,依据猜数字游戏的基本规则,给用户进行成绩排行,在排行榜中排出前五名玩家的游戏记录,并可以随着玩家的游戏记录进行更新。

1、系统概述

该软件在Wi nd ow s系统上为玩家提供猜数字游戏的基本功能,游戏用户可以选择开始游、排行榜查看、帮助等主要功能。当用户选择开始游戏时,系统会提示用户排行榜上猜数字成绩的最好记录,并让用户逐次猜数字,用户每次猜数字后系统会给出本次猜数字的结果提示,如位置和数字都正确的数字个数、数字正确介位置不正确的数字个数。如果用户猜数字的次数超过8次,则提示用户游戏失败,如果在8次之内猜出4个数字和正确的顺序,则提示用户猜数字成功,并到排行榜中进行比较,如果排名在前一名,则计入排行榜中,以便其他用户查看。在排行榜查看功能中,用户可以查看当前的游戏排行,排行榜中总共显示5名玩家的排行,如有新的记录产生,则插入到排行榜中,并把排行榜中位次最末的记录挤出排行榜。在帮助模块,用户可以查看游戏规则,当熟悉规则后可以退出帮助模块。

2、功能需求描述

猜数字游戏软件的总体目标是按照特定游戏规则为用户提供一个方便友好的游戏界面,同时给用户提供排行榜的功能使用户能够按照特定的目标提高自己的成绩,并且提供相应的帮助功能。游戏规则如下。

①游戏软件随机产生4个数字,但不显示,给用户提供输入提示符,让用户猜4个数字的值和位置顺序。如果数字值和位置顺序均正确,则猜数字成功。

②玩家有8次猜数字的机会,如果在8次之内仍末猜出正确的数字值和数字位置顺序,则提示用户游戏失败。

③一旦玩家在8次的次数限制内猜出正确的数字值和位置顺序,则赢得游戏。

④当玩家赢得游戏后,会与排行榜中的前五名玩家的游戏记录比较,如果排名能够进入前五名,则更新排行榜,使当前玩家成为入榜选手。

⑤记分规则:猜数字所用次数即为分数,所以分数越少证明玩家水平越高,排行榜中也是排列份数最少的前五名选手。

本游戏软件需要实现以下一些基本功能。

①游戏区:玩家可以在游戏区逐次猜数字,系统给出玩家每次

猜数字后的提示,包括数值、位置均正确的数字个数和数值正确但位置不正确的数字个数。

②刷新排行榜:当玩家成功完成一轮猜数字游戏后,可通过和排行榜中相应记录的比较判断玩家是否可以进入排行榜,进入排行榜的资格游戏成绩在前五名的玩家。

③查看排行榜:玩家可以查看当前排行榜中的排名顺序,从而确定自己的游戏目标。排行榜的查看按一定顺序显示给用户,便于查看。

④清除排行榜:玩家可以选择清除排行榜功能,使得排行榜上的玩家姓名和玩家游戏记录从系统中清除,只留下系统默认的玩家名(p la ye r)和系统默认记录8次。

⑤帮助:玩家通过帮助功能了解游戏规则和排行榜设置规则。

⑥退出:玩家想结束并退出游戏系统。

第三章

总体设计

在前面对猜数字游戏进行需求分析的过程中,已经初步明确了系统的主要功能模块和用户需求,下面将在总体设计的过程中,给出猜数字游戏的模块结构、流程描述以及界面布局,并使得系统的总体设计符合软件工程中总体设计的基本原则。

开发与设计的总体思想

猜数字游戏是一种大众娱乐游戏,开发与设计的重点在于游戏供玩家进行猜数字游戏的原始数字的产生和用户每次进行猜数字操作之后的游戏提示,这两方面的规则设计往往决定了软件运行的正确性和质量。

1、模块设计:

1)、游戏区模块

该模块为玩家提供猜数字游戏的主休功能,由系统自动产生4个随机排列的整数,并给用户8次机会猜测数字的数值和排列顺序。如果用户在8次之内没有猜出正确的结果,则提示用户游戏失败,否则提示用户猜数字成功,并调用产生新记录模块对玩家游戏成绩进行处理。(因精力有限且只能用画图来画个框架,所以就不再有图了)

①产生原始数字:由系统产生4个随机数,并按任意顺序排列,作为游戏的原始数字供玩家进行猜数字游戏。

②游提示:提示用户数值和位置全对的数字个数,和只有数值但位置不对的数字个数。

③原始数字显示:当用户在8次之内仍未能猜出原始数字和顺序时,系统提示玩家失败,并给玩家显示出原始数字和顺序。

2)、排行榜模块

该模块为玩家提供排行榜的浏览和清除功能,包括按玩家成绩顺序浏览、按玩家姓名浏览和清除排行榜3个子功能。

①按玩家成绩顺序浏览子功能中,将玩家的姓名、游戏成绩按猜数字次数从少到多的顺序列表显示,即将玩家记录从高到底显示。

②按玩家姓名浏览的子功能中,为了玩家便于查找到自己的游戏成绩,将玩家的姓名和猜数字次数记录按照玩家姓名的字母顺序列表显示。

③清除排行榜:当用户选择清除排行榜功能时,系统会将所有玩家的历史游戏记录和玩家姓名一起从排行榜中清除,在排行榜中只留下默认的游戏记录和默认的玩家姓名,即系统默认玩家姓名player和系统默认记录8次。

3)、产生新记录模块

该模块的功能是当玩家成功完成游戏时,判断用户可否进入排行榜,如果可以进入,则刷新排行榜中的记录,将当前玩家的游戏记录写入排行榜,并将排行榜目前结果显示给用户。

4)读取最好记录模块

读取最好记录模块的主要功能是当用户选择游戏开始选项时,首先提示用户目

前排行榜中的最游戏记,如果目前没有排行的玩家记录,则初始化排行榜,给出系统默认的玩家姓名和默认的游戏记录。如果目前排行榜中有玩家记录,则判断出最好记录显示给用户。

5)、帮助模块

帮助模块提供的功能是当玩家选项为帮助功能对应的选项数字时,进入帮助模块,给出用户猜数字的游戏规则和游戏中相关提示的含义。

数据结构设计

猜数字游戏软件涉及到对玩家信息和排行榜的操作。为将玩家的姓名和游戏成绩描述成一个玩家的两个重要方面,使用C语中的结构体来描述

2、程序的模块组成:

主函数: int main()

创立结构体:struct p1()

使数字产生循环:int rand1()

调用读取破记录: goread()

输入数字:void input1();

初始化随机数发生器:getnumber()

清除文本模式窗口:clrscr();

读入字符串的时候,直到回车为止:gets()

3、各个函数的主要功能:

随机产生4个数的函数: 随机产生4个数字。

randomize()是c函数库提供的一个函数,功能给产生随机数的进行初始化

清除文本模式窗口

第四章

详细设计

1、系统的总体框图

图 4-1

开始游戏

新排行榜

查看排行榜

清除排行榜

帮助

退出

开始

功能菜单显示

clearsort

help

exit

Startprogram

resertracord

readrecord

2、相关的数据类型:

#include #include #include #include void rand2(); int rand1(); void input1(); void compare1(); int i,j,k,c,d,b[4]; char a[24]; 将数字定义为整型

3、函数间的调用关系图如下:

图 4-2

显示玩家积分函数: display()

记录积分函数:record()

自定义清屏函数

my clear()

读取破纪录者函数:

goread()

初始化记录者函数; newest()

随机产生4个数函

数;getnumber(_)

主函数; int main()

新记录者函数; breakrecord()

4、流程图

图 4-3

you are right

恭喜正确 退出

输入记录 Main()

查看积分

比较输入的数和随机生成的数.给出提示.A 表示

退出

纪录判断结果 和积分

输入四位不相同的数字,如果输入的不是数字或者输入的数字有重复,则重新输入

第五章

测试和结果

1、调试分析;

输入的游戏玩家人数太多时,屏幕显示不能控制为一页一页显示,所以为了方便起见,不要输入太多记录,十七左右为最佳。

刚开始执行输入函数,按数字顺序输入,输完后执行显示功能,数字、字母的位置显示不对,试着在其中增加一些语句,希望能把所需结果按正常顺序显示,但暂时没有成功,最后在老师的帮助下,所需结果能按正常顺序输出了。

在前面对猜数字游戏进行需求分析的过程中,已经初步明确了系统的主要功能模块和用户需求,下面将在总体设计的过程中,给出猜数字游戏的模块结构、流程描述以及界面布局,并使得系统的总体设计符合软件工程中总体设计的基本原则。

开发与设计的总体思想

猜数字游戏是一种大众娱乐游戏,开发与设计的重点在于游戏供玩家进行猜数字游戏的原始数字的产生和用户每次进行猜数字操作之后的游戏提示,这两方面的规则设计往往决定了软件运行的正确性和质量。同时,要谨记调试失败的原因,以免下次犯同类错误。

2、使用说明:

1)、打开程序:

2)、进入选择页面:

(1)选择1为查看记录

(2)选择2为新游戏

(3)选择0为退出

3)、进行游戏

4)、退出

3、运行结果截屏及说明:

游戏初始画面

选择一进入游戏系统随机显示四个数字提供让游戏者猜测:

如果连续四次输入错误将出现如下结果,并出现提示:

选择四进入帮助显示结果

如果继续则可以输入姓名并保存记录如果按任意键则返回首页:

第六章

源程序

#include

#include

#include

#include

int a[5],b[5],n1,n2,n3,i,j;/* a,b,只用了从1~4的四个下标. */ /* n1计算位置数字相同的数字个数 */

/* n2计算数字相同但位置不相同的数字个数 */

/* n3计算所猜次数 */

char ch;

StartProgram()

{

ReadRecord(); /*调用读取破记者函数 */

n1=0;

n3=0;

getnumber();/*调用随机产生4个数的函数*/

for(j=i-1;j>=1;j--)

printf("%d ",a[j]);

getchar();

printf("\n\n\n\n\n");

/* 循环猜数 */

while(n1<4&&n3<10)

{

++n3;

n1=0;

n2=0;

/* 提示用户输入四个要猜的4位整数 */

for(i=1;i<=4;i++)

{

printf("\ninput the NO.%d number:",i);

scanf("%d",&b[i]);

}

for(i=1;i<=4;i++)

{

if(a[i]==b[i])/* 位置数字都对的 */

{

n1++;

continue;

}

for(j=1;j<=4;j++)/* 计算数字相同但位置不相同的个数 */

if(b[i]==a[j]) n2++;

}

printf("correct value and correct position: %d\n",n1);

printf("correct value but incorrectness position:%d\n",n2);

printf("you have guessed %d times\n",n3);

if(n1==4) break;/* 如果四次都猜对了就结束循环。 */

} /* while循环结束 */

if(n3>=10)

printf("You blew it ,the answer is %d,%d,%d",a[1],a[2],a[3],a[4]); else

{

printf("Configrafulastions!You finish it by %d times\n",n3);

ResetRecord(n3);

}

printf("press any key to continue...\n");

fflush(stdin);

getch();

}

getnumber()/* 随机产生四个数的函数 */

{

randomize();

/* 产生随机数的初始化函数 */

for(i=1;i<=4;i++)

{

loop2:

{

/* 产生的随机数处理为1位的整数 */

a[i]=rand()%10;/* rand函数用于产生随机数 */

/* 循环判断,随机数要求不重复,如果重复则重新产生 */

for(j=i-1;j>=1;j--)

if(a[i]==a[j]) goto loop2;

}

}

}

#ifndef PLAYER

#define PLAYER

#include

#include

#include

#define SIZE 5

typedef struct

{

char name[20];/* field of name */

int score;/* field of score */

}player;

#endif#

/* SortByName按游戏成绩排序 */

#include

void SortByName()

{

int i,j,k;

player TempS;/* 定义进行操作时的临时结构体变量 */

player s[5];/* SIZE在score.h头文件中定义的常量,值为5 */

int recNumber=0;

char DataFile[10]="record";

FILE *fp=NULL;

clrscr();

/* 以读的方式打开文件,如文件不存在,提示错误 */

fp=fopen(DataFile,"rb");

if(fp==NULL)

{

printf("\nOpen file %s fial !End with any key.\n",DataFile); perror("Open file fail");

fflush(stdin);

getch();

return;

}

/* 将文件中要排序的信息存入结构体数组 */

while(fread(&s[recNumber],sizeof(player),1,fp)!=(int)NULL)

{

recNumber++;

}

fclose(fp);

/* 如果文件中有记录,则将各记录按游戏成绩值排序 */

if(recNumber>1)

{

for(i=0;i

{

k=i;

for(j=i+1;j

{

if(strcmp(s[k].name,s[j].name)>0) k=j;

}

if(k!=i)

{

strcpy(https://www.doczj.com/doc/2c2871128.html,,s[k].name);

TempS.score=s[k].score;

strcpy(s[k].name,s[i].name);

s[k].score=s[i].score;

strcpy(s[i].name,https://www.doczj.com/doc/2c2871128.html,);

s[i].score=TempS.score;

}

}

/* 将排序好的记录写入文件 */

fp=fopen(DataFile,"wb+");

if(fp==NULL)

{

printf("\nOpen file %s fial!End with any key.\n",DataFile); perror("Open file fail");

fflush(stdin);

getch();

return;

}

for (i=0;i

{

if(fwrite(&s[i],sizeof(player),1,fp)!=1)

{

printf("\nwrite file %s fail!End with any key.\n",DataFile); perror("write file fail");

fflush(stdin);

getch();

return;

}

}

fclose(fp);

}

/* 显示排序后的文件 */

printf("the player's score as folow:\n");

fp=fopen(DataFile,"rb");

if(fp==NULL)

{

printf("\nOpen file %s fial!End with any key.\n",DataFile); perror("Open file fail");

fflush(stdin);

getch();

return;

}

printf("\nName\t\tscore\n");

while(fread(&TempS,sizeof(player),1,fp)!=(int)NULL)

{

printf("%s\t\t%d\n",https://www.doczj.com/doc/2c2871128.html,,TempS.score);

}

fclose(fp);

printf("press any key to continue...");

fflush(stdin);

getch();

}

#include

/* 显示帮助信息 */

PrintHelp()

{

clrscr();

printf("\n");

printf("+--------------------------------------------------------+\n"

);

printf("+ you hava 10 opportunities to guess num +\n");

printf("+ every time the system will hint you : +\n");

printf("+ correct value and correct position count

+\n");

printf("+ correct value but incorrectness position count

+\n");

printf("+--------------------------------------------------------+\n"

);

printf("+ about the score list +\n");

printf("+ the score list is store the five player's score on top +\n");

printf("+--------------------------------------------------------+\n"

);

fflush(stdin);

getch();

}

/* SortByName按游戏成绩排序 */

#include

void SortByScore()

{

int i,j,k;

player TempS;/* 定义进行操作时的临时结构体变量 */

player s[5];/* SIZE在score.h头文件中定义的常量,值为5 */

int recNumber=0;

大一C语言课程设计题目

课 程 设 计 任 务 书 信息工程与自动化 学院 计算机科学与技术 专业 2011 年级 学生姓名: 课程设计题目: 程序设计语言课程设计 课程设计主要内容: 一、 基础程序设计: 本设计部分主要完成与链表操作相关的基本运算,其中包含:链表的建立、链表的输出、链表的插入、链表的删除等运算。. 二、 综合程序设计: 该部分主要是培养学生在程序编写方面综合能力的训练,学生选作其中的一至二题程序的编写与实施。 1、设计统计任意文本字数的程序(张力老师组必做): 要求包括:中英文文本的:中文字数、数字数目、英文字符数、英文单词数及其他符号。 2、车票订购统计系统(张力老师组必做): 下图是昆明——北京的沿途车站与票价: 请用C 语言为之开发一个售票程序,要求如下: (1)乘客购票时用菜单选择起点站和终到站。如果选择的起点站和终到站为同一个站则报错,程序退出。 (2)选好起点站和终到站之后,通过调用函数int BuyTicket() 为之计算票价和里程,并在屏幕上显示出来。 (3)用文件类型存储每一次售票记录,包括:售票流水号,起点站,终点站,里程,金额等数据,并统计所有存储记录的总售票金额及各站的旅客流量(进站流量+出站流量)。 3、万年历的设计: 要求: 模仿现实生活中的挂历,能够显示年历、月历、日历,并具备退出功能。 当前页以系统当前日期的月份为准显示当前月的每一天(显示出日及对应的星期几)。 当系统日期变到下一月时,系统自动翻页到下一月。 4、通讯录管理系统:

制作一个通讯录程序,该程序具有查找、添加、修改、删除功能。通讯录包括:姓名,电话,街道,城市,省,邮编等。 模块设计参考: 第一个模块——主函数main()的功能是:根据选单的选项调用各函数,并完成相应的功能。 第二个模块——Menu()的功能是:显示英文提示选单。 第三个模块——Quit()的功能是:退出选单。 第四个模块——Create()的功能是:创建新的通讯录。 第五个模块——Add()的功能是:在通讯录的末尾,写入新的信息,并返回选单。 第六个模块——Find()的功能是:查询某人的信息,如果找到了,则显示该人的信息,如果未找到,则提示通讯录中没有此人的信息,并返回选单。 第七个模块——Alter()的功能是:修改某人的信息,如果未找到要修改的人,则提示通讯录中没有此人的信息,并返回选单。 第八个模块——Delete()的功能是:删除某人的信息,如果未找到要删除的人,则提示通讯录中没有此人的信息,并返回选单。 第九个模块——List()的功能是:显示通讯录中的所有记录。 设计指导教师(签字): 教学基层组织负责人(签字): 年月日

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

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

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

[C语言课程设计题目](丁海军)

C语言课程设计设计题 丁海军 本手册提供的设计题大致可分为为3类:第一类侧重于算法设计与实现;第二类侧重于文件操作。 (一)算法设计类题目 1. Fibonacci数列。Fibonacci数列的计算公式如下: fib(1) = 1; fib(2) = 1; fib(n) = fib(n-1) + fib(n-2); //对大于等于3的任意n (1)简单变量“数据平移”方法计算Fibonacci数列的第n项(正整数n通过键盘输入):说明变量old1=1,old2=1,newItem;新的Fibonacci项newItem总是“距它最近”的前两项(old1与old2)的累加和。而后通过“old1=old2; old2=newItem;”进行所谓的“数据平移”。接着计算另一个新的Fibonacci项newItem,依次循环,直到求出数列的第n项时为止。 (2)使用数组求出Fibonacci数列的第n项(正整数n通过键盘输入)并显示在屏幕上:说明数组f用来存放Fibonacci数列的各项之值,且仅初始化前两个元素f[0]=1,f[1]=1,而后通过f[i]=f[i-2]+f[i-1];依次计算出f[2]到f[n-1](注意f[n-1]恰为所要求出的第n项)并将该值显示在屏幕上。 2.编程序,循环进行如下的处理过程:由计算机生成简单的四则运算题;用户给出答案;计算机判断对错。直到用户回答说不再继续做了时结束程序。 提示:可让用户选择指定出加、减、乘、除哪一种运算题,以及出一位数还是两位数的运算题;而后通过使用“rand()%10”或“rand()%100”来获得一个0到9的一位整数随机值或得到0到99的两位整数随机值来为用户出题。还可进一步对用户所做算术题的对错次数进行记录,结束程序时给出一个某种形式的成绩。 3.数的进制转换 (1)将输入的2进制数(一个非“0”即“1”的字符串)化为10进制数。 提示:用字符数组a盛放所输入的二进制数;而后从后往前逐一计算每一位的“位权”w (2的0次方、2的1次方、...),再计算“位权”乘以“位值”并累加到一个初值为0的变量value 上,最后输出该value。 (2)如何把8进制数或16进制数化为10进制数。 (3)如何把某一个k进制的数化为10进制数呢? 4.编程序,输入正整数m,它代表一个人民币钱数(元数)。求取这样一个方案,使用最少张数的人民币纸币,凑成上述的钱数m,并输出求取结果。

数字逻辑课程设计报告(猜数字游戏)

滁州学院 课程设计报告 课程名称:数字逻辑课程设计 设计题目:猜数字游戏的设计 院部:计算机与信息工程 专业:网络工程 组别:第五组 起止日期: 2012年5月28日~2012年6月15日 指导教师:张永定 计算机与信息工程学院二○一二年 、

课程设计任务书 课程设计题目猜数字游戏的设计 组长严盼盼学号2011211329 班级网工112班院部计算机与信息工程专业网络工程 组员武倩闫静周晶晶夏艾 指导教师张永定 课程设计目的1.设计一个具有用保存用来进行比较的数据,输入新的数据通过比较器与保存的数据进行比较,用计数器进行计数统计功能的电路。 2.通过此次实验加深对所学数电知识的运用。 3.锻炼Multisim 10的仿真能力和硬件调试能力。 课程设计所需环境硬件环境:微型计算机 软件环境:Windows XP Multisim 10 课程设计任务要求1.猜数字游戏由若干个按键、若干个发光二极管。 2.输入为六位二进制数,与正确值进行比较,判断得出结果。 3.如果出现连续5次猜错,则红灯亮,表示游戏结束。 4.游戏开始时,可以对存储值进行设置。 课程设计工作进度计划 序号起止日期工作内容分工情况 1 5.28~6. 2 课程内容介绍和查找资 料严盼盼:介绍课程内容 武倩、闫静、周晶晶、夏艾:查找资料 2 6.3~6.6 设计总体思路,基本原 理和框图 严盼盼:分析数字电路所需的芯片 3 6.7~6.10 单元电路设计严盼盼:对电路进行总设计 武倩、闫静、周晶晶:负责了解各芯片功能 夏艾:负责连接线路 4 6.11~6.12 搭建仿真电路并进行测 试,调试电路严盼盼、周晶晶:搭建电路 武倩、闫静、夏艾:故障分析并进行改进 5 6.13~6.15 整理文档与总结武倩:负责整理文档 指导教师签字:年月日 系(教研室)审核意见: 系(教研室)主任签字:年月日

猜数字游戏课程设计完整版

北京邮电大学世纪学院 实验、实习、课程设计报告撰写格式与要求 (试行) 一、实验报告格式要求 1、有实验教学手册,按手册要求填写,若无则采用统一实验报告封面。 2、报告一律用钢笔书写或打印,打印要求用A4纸;页边距要求如下:页边距上下各为厘米,左右边距各为厘米;行间距取固定值(设置值为20磅);字符间距为默认值(缩放100%,间距:标准)。 3、统一采用国家标准所规定的单位与符号,要求文字书写工整,不得潦草;作图规范,不得随手勾画。 4、实验报告中的实验原始记录,须经实验指导教师签字或登记。 二、实习报告、课程设计报告格式要求 1、采用统一的封面。 2、根据教学大纲的要求手写或打印,手写一律用钢笔书写,统一采用国家标准所规定的单位与符号,要求文字书写工整,不得潦草;作图规范,不得随手勾画。打印要求用A4纸;页边距要求如下:页边距上下各为厘米,左右边距各为厘米;行间距取固定值(设置值为20磅);字符间距为默认值(缩放100%,间距:标准)。

三、报告内容要求 1、实验报告内容包括:实验目的、实验原理、实验仪器设备、实验操作过程、原始数据、实验结果分析、实验心得等方面内容。 2、实习报告内容包括:实习题目、实习任务与要求、实习具体实施情况(附上图表、原始数据等)、实习个人总结等内容。 3、课程设计报告或说明书内容包括:课程设计任务与要求、总体方案、方案设计与分析、所需仪器设备与元器件、设计实现与调试、收获体会、参考资料等方面内容。 四、课内实践课报告撰写要求 1、大型作业类的按课程设计要求撰写; 2、带实习性质的按实习要求撰写; 3、其余的按实验要求撰写。 五、其它 由于存档的需要,所有报告必须双面打印,请教师做好把关工作。 北京邮电大学世纪学院

C语言课程设计报告

XX大学 课程设计报告 课程设计名称:C语言课程设计 课程设计题目:排班系统 院(系):XX学院 专业:XX 班级:XX 学号:XXXXXXXXXXXXX 姓名:XX 指导教师:XXX 完成日期:XX年X月X日

沈阳航空航天大学课程设计报告 目录 第1章需求分析与概要设计 (1) 1.1需求分析 (1) 1.2概要设计 (1) 第2章详细设计 (2) 2.1排班系统基本结构 (2) 2.1.1 排班系统细节剖析 (2) 2.2程序详细介绍(算法实现) (3) 第3章调试分析 (5) 3.1我的调试: (5) 3.2运行结果 (5) 第4章用户手册及结束语 (8) 4.1用户手册 (8) 4.2结束语 (8) 参考文献 (9) 附录(程序清单) (10)

沈阳航空航天大学课程设计报告第1章需求分析与概要设计第1章需求分析与概要设计 1.1 需求分析 1.题目要求:为多名保安设计一个排班系统,每人可以自行预先选出一天为休息日,系统打印可能的轮班方案并存储结果。尽可能做到令所有人满意,保排班方案的公平性。 2.题目分析:本题的重点和难点在于保安的人数是不确定的,且他们可能选择的休息日也无法确定,所以方案的结果也就不仅仅有一种。由此可以看出只有解决好这两个问题,才能够符合该题目的要求,完成保安的排班工作。 1.2 概要设计 1.总体思路:对于这道题目,我的思路是采用二维数组的方式来解决。大概过程是先假设所有人都上班,即没有休息日。然后再让每个人进行选择自己希望的休息日。先每个人选择出一天,然后系统进行排班,输出其所输入数据的对应方案。然后在第一次所输数据的基础上,若还有其他选择,则进行二次输入,以此更改初始数据,重新设计可能的排班方案。 2.细节实现:因为题目的要求是打印可能的方案,那么如何来实现打印呢?我采用了通过对二位数组中的每一个值用阿拉伯数字0和1来标记,以1来表示工作,0来表示休息。 3.功能作用:本系统系保安的排班系统,可以完成基本的排班功能,在此基础上,还为用户设计了二次输入的选项,以此来解决当所输数据不满足要求,无法完成排班的问题,同时也可以为用户提供更多的可行方案,而不是仅仅局限于一种。

猜数字游戏C语言课程设计报告书

《C程序设计》 课程设计报告(2014— 2015学年第 2 学期) 题目:猜数字游戏 学院:机械工程学院 班级:机械1310班 学号: 1303090190 姓名:晨 指导教师:罗涛华 时间:起 2015年5月25日止2015年5月31日

一、课程设计基本信息 课程代码:05190124 课程名称:计算机基础课程设计 课程英文名称: Computer-based Course Design 课程所属单位(院(系)、教研室):数学与计算机学院计算机基础课程群 课程面向专业:食品科学与工程学院、机械工程学院、电气与电子工程学院、土建学院、动物科学与营养工程学院、化学与环境工程学院、工商管理类、国际经济与贸易、旅游管理、金融学、行政管理、汉语言文学、英语、护理学、康复治疗专业、生物科学类、制药工程、制药工程(生物制药)、药物制剂、物流管理 课程类型:必修课 先修课程:大学计算机基础通识选修课程、程序设计课程 学分:1 总学时:1周 二、课程设计目标 掌握所学语言程序设计的方法,熟悉所学语言的开发环境及调试过程,熟悉所学语言中的数据类型,数据结构、语句结构、运算方法,巩固和加深对理论课中知识的理解,提高学生对所学知识的综合运用能力。通过综合设计要求达到下列基本技能:1.培养查阅参考资料、手册的自学能力,通过独立思考深入钻研问题,学会自己分析、解决问题。 2.通过对所选题目方案分析比较,确立方案,编制与调试程序,初步掌握程序设计的方法,能熟练调试程序。 3.系统设计编程简练,可用,功能全面,并有一定的容错能力。用户界面良好,有较好的输出功能。在完成课题基本要求后,具有创新型设计,具有一定的实用价值。 4.根据个人的设计调试过程,撰写设计报告。 三、课程设计容 熟练掌握所学语言的基本知识:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等。进一步掌握各种函数的应用,包括时间函数、绘图函数,以及文件的读写操作等。 四、课程设计要求 1.要求每个同学都要认真对待,积极参与。 2.课程设计结束时,提交完成的所有源程序、相关文件和可执行文件。同时填写并完 成《课程设计报告册》。 3.不符合要求的程序、设计报告、抄袭的设计报告或源程序代码、在设计中完全未参 与的将作不及格处理。

C语言课程设计(1)

C语言课程设计 学院:机电 专业:机械设计制造班级:数控(2)班学号:2520110201 姓名:徐莹 指导教师:宋亚岚2012年6月22日

目录 第一章选择和循环程序设计 (3) 第二章数组 (7) 第三章函数 (9) 第四章指针 (11) 第五章课程设计总结 (14)

例1:输入任意的三位整数以反向形式输出。如输入678则输出876。 【算法分析】(用文字或流程图进行描述) 对于三位数n以反向输出要求将构成这三位数的元素进行拆分。个位上的元素乘100加上十位上的元素乘10加上百位上的元素乘1得到一个新三位数。将新的三位数输出即可。如何将三位数进行拆分则需用到表达式中整除和求余运算具体方法如下: 用x1,x2,x3分别存放拆分后的百位、十位个位数 x1=n/100 则得到百位数 x2=n/10%10 则得到十位数 x3=n%10 则得到个位数 y=x3*100+x2*10+x1*1 【源程序代码】 #include void main() { int x1,x2,x3,n,y ; printf(“please input number n :”); scanf(“%d”,&n); x1=n/100 ; x2=n/10%10 ; x3=n%10 ; y=x3*100+x2*10+x1*1 ; printf(“y= %d”,y) ; } 【编译示图】(示图中要有0 error,0 warning的提示)

【运行结果示图】 第一章选择和循环程序设计 1、企业发放的奖金根据利润提成。利润I低于或等于100000元的,奖金可提10%,利润高于100000元,低于200000元(1000001000000时,超过1000000元的部分按1%提成。从键盘输入当月利润I,求应发奖金总数。 要求: (1)用if 语句编程 (2)用switch语句编程序 【算法分析】(用文字或流程图进行描述)根据利润的范围,确定可提成的百分比,利润为i 1.i<=100000,w=i*0.1 2.100000

C语言课程设计题目

C语言程序课程设计题目 一、程序设计题目:简单的学生成绩管理程序 程序设计功能及要求: (1) 总人数定义为宏,数据使用文件存放; (2) 输入学生姓名学号,及五门成绩,并计算每个学生五门功课的平均分,并按平均分排列名次,若平均分相同则名次并列;结果写入文件并按格式打印在屏幕上。 ⑶ 统计全班每门课程的平均分,并计算各分数段(60以下,60~69,70~79,80~89,90以上)的学生人数;结果写入文件,并按格式在屏幕上打印; ⑷ 在屏幕上打印出所有不及格学生的下列信息:学号,不及格的课程名,该不及格课程成绩; ⑸ 在开始画面加入简单的菜单便于选择各种功能。 例: 1学生条目输入 2 成绩统计 3分数段统计 4不及格学生筛选 ⑹文件格式要求 1.原始数据文件格式(具体数据和项目自行编写) 学号姓名英语C语言高等数学………….. 1 张三76 89 78 2 李四…. …. …. 2.输出数据文件(由程序自动生成) 1)学生综合成绩文件。 2)学号姓名英语C语言高等数学…………….平均成绩名次 1张三76 89 78 ………….. 2李四…. …. …. 3)统计结果文件。 4)分数段英语C语言高等数学…………………. <60 2 … 60~69 8 … 70~79 5 … 80~89 10 … ⑺加入优等生统计功能,要求按优等生条件筛选出优等生的条目存入单独文件,并输出到屏幕。 优等生标准(满足之一即可): 1 平均成绩上80。 2平均成绩及格但未上80,有单科成绩上90。 3平均成绩未及格,有单科满分。 二、程序设计题目:简单的同学通讯录程序设计 [问题描述]

具有数据插入、修改、删除、显示、查询和统计功能的电话簿管理程序。 [程序设计功能及要求] ⑴人数不定,数据使用文件存放。 ⑵记录每位同学的学号、姓名、性别、工作单位、电话号码和E-mail地址建立单独的条目,存入数 据文件。 ⑶可对记录中的姓名和电话号码等进行修改。 ⑷可增加或删除记录 ⑸可显示所有保存的记录 ⑹加入统计功能,可以统计男女同学或总人数。 ⑺加入查询功能,通过姓名、学号或电话号码查询到同学的条目。 ⑻在开始画面加入简单的菜单便于选择功能。 ⑼文件格式 1.储存数据文件格式 学号姓名性别工作单位电话号码E-mail 1 李四…. …. …. ⑽选做:加入文件加密系统,对储存数据文件进行简单的加密,要求通过直接打开储存数据文件无法获得其中的数据。但同时不影响程序对储存数据文件的调用。 [设计提示] 本程序建议采用结构体类型和文件系统实现。 三、程序设计题目:图书管理系统 [问题描述] 设计一个具有数据插入、修改、删除、显示和查询功能的图书管理程序。 [设计要求] (1)用户登录功能; (2)设计程序运行界面; (3)能用菜单选择各功能。 说明: (1)数据包括:书名、作者、书号、出版社、出版日期和单价; (2)可对图书信息修改; (3)可增加或删除图书信息; (4)可显示所有保存的图书信息; (5)可按书名、作者、书号或出版社进行图书信息的查询。 四、职工信息管理系统设计 1. 目的: (1)要求学生熟练掌握C语言的基本知识和编程技能; (2)基本掌握结构化程序设计的基本思路和方法; 2. 要求 基本要求: (1)试设计一个职工信息管理系统,使之能提供以下功能: (2)系统以菜单方式工作

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语言课程设计题目

c语言课程设计题目 Revised by BETTY on December 25,2020

C语言课程设计题目 一、实训要求 1)C语言课程设计要求 1.可自己选定一题目,限1人选的题目只能由1人单独完成,如限3人选的题目可由1-3人 完成。 2.模块化程序设计 3. 4.锯齿型书写格式 5. 6.必须上机调试通过 7. 2)课程设计报告内容要求: 1.课程设计题目 2.总体设计(程序设计组成框图、流程图) 3.详细设计(模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等) 4.调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的 解决措施 5.源程序清单和执行结果:清单中应有足够的注释 6.具体格式另附说明。 3)检查要求: 1.每个人必须有程序运行结果; 2.每个人必须交《课程设计报告》打印稿---—注:各班班长将本班学生的课程设计报告电 子版用优盘拷贝(标上学号、姓名、班级)上交。 4)打分标准: 1.根据平时上机考勤;注重平时上机成绩,教师要不定期检查学生进度,学生不得以自己 有私人电脑为借口而不来上机。 2.根据程序运行结果; 3.根据《C语言课程设计报告》,学生能对自己的程序面对教师提问并能熟练地解释清楚以上三项缺一不可,否则不能到得相应学分 二、课程设计题目: 1:职工信息管理系统设计(限最多3人完成) 职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。试设计一职工信息管理系统,使之能提供以下功能: 系统以菜单方式工作 职工信息录入功能(职工信息可用文件保存)--输入 职工信息浏览功能--输出 查询和排序功能:(至少一种查询方式)--算法 按工资查询 按学历查询等

C语言课程设计题目汇总

目录 题目6:通讯录程序设计(限2人)........................................................................................................................................... 题目10:机房机位预定系统(限2人)..................................................................................................................................... 题目13:工资纳税系统............................................................................................................................................................. 题目41:条件编译.....................................................................................................................................................................

题目6:回文数的形成............................................................................................................................................................... 杨顺民题目 C语言程序课程设计题目 题目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”

猜数字实验报告

《程序设计课程设计》题目:《猜数字》游戏 物联网工程学院计算机科学与技术专业 学号: 学生姓名:孙文佳 班级:计科1305 成绩:

设计思路: 猜数字是一个比较益智的游戏,游戏规则也很简单,真正自己实现游戏的运行也并不是什么难事,下面就主要讲讲自己的设计思路。 大的框架是把函数封装在类中,这样就可以应用所学的类。 首先是随机产生一个4位整数,根据要求,最高位不能为0,且每一位的数不能相同。让系统随机产生4个个位数,这里就用到srand(time(NULL))获取系统的时间作为种子,防止每次运行的结果都是相同的。time()函数包含在头文件time.h中。用一个for语句,依次产生这四个数,因为要求最高位不能为0,这里就用一个while语句重新生成a[0],然后就是每位上的数不得相同,依然用while语句解决这个问题。 接着是提示用户输入一个四位数,把这个四位数各位上的数保存在数组b[4]中,然后就是比较b[4]和a[4],计算数字正确且位置正确的数的个数,还有数字正确但位置错误的数的个数(这应该是游戏的额核心),其实这一步也不难,就是利用一个for语句逐个比较b[j]与a[i],如果b[j]等于a[i],wrong++,然后判断i是否等于j,是的话right++,wrong--,如果猜了8次还不正确的话,提示用户是否继续,这里用一个switch语句就行了。如果猜了15次还不正确的话,提示用户游戏失败,是否重新玩一局。在此之前把这次的记录写入txt文件中,这里就用到c++的输入输出流,对于数据的保存只要学会格式,依葫芦画瓢即可。还有就是数据的读取,在游戏结束时输出上一局的结果。

C语言课程设计参考题目 (1)

C语言课程设计参考设计题目 1、学生信息管理 (1)问题描述 学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能: ●系统以菜单方式工作 ●学生信息录入功能(学生信息用文件保存)---输入 ●学生信息浏览功能——输出 ●查询、排序功能——算法 1、按学号查询 2、按姓名查询 ●学生信息的删除与修改(可选项) (2)功能要求 ●界面简单明了; ●有一定的容错能力,比如输入的成绩不在0~100之间,就提示不合法,要求重新 输入; ●最好用链表的方式实现。 (3)算法分析 首先,一个学生包括这么多的属性,应该考虑定义一个结构,其次,我们应该考虑数据的存储形式:是定义一个数组来存储,还是定义一个链表呢?在这里假如我们以数组的方式来存储,当然可以,但是我们知道,假如我们定义一个数组的话,我们首先必须知道学生人数大概是多少,以便我们确定数组的大小,但是题目中没有给出,而且题目要求中有大量的删除、插入操作,所以用链表的方式比较方便。 对于菜单的实现,其实也比较简单,首先我们用printf语句把程序的功能列出来,然后等待用户输入而执行不同的函数,执行完了一个功能后又回到菜单。文件的读写操作大家参照书中的有关文件的章节。 2、学生综合测评系统 每个学生的信息为:学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%,10%,10%,20%。 A、学生信息处理 (1) 输入学生信息、学号、姓名、性别、家庭住址、联系电话,按学号以小到大的顺序存入文件中。 提示:学生信息可先输入到数组中,排序后可写到文件中。 (2) 插入(修改)同学信息: 提示:先输入将插入的同学信息,然后再打开源文件并建立新文件,把源文件和输入的信息合并到新文件中(保持按学号有序)若存在该同学则将新记录内容替换源内容, (3) 删除同学信息: 提示:输入将删除同学号,读出该同学信息,要求对此进行确认,以决定是否删除将删

猜数字游戏课程设计

攀枝花学院课程设计 题目:猜数字游戏 院(系):数学与计算机 年级专业: 姓名: 学号: 指导教师: 二〇**年*月***日 攀枝花学院教务处制

攀枝花学院本科学生课程设计任务书

课程设计(论文)指导教师成绩评定表

目录 摘要 (5) 1 需求分析 (6) 1.1 需求概述: (6) 1.2 需求环境: (6) 1.3 功能描述: (6) 2 概要设计 (7) 2.1程序功能模块 (7) 2.2 程序流程图 (7) 3 详细设计 (8) 3.1 随机数字模块 (8) 3.1.1 代码功能 (8) 3.1.2 详细代码 (8) 3.2 循环输入所猜测数字 (8) 3.2.1 代码功能 (8) 3.2.2 详细代码 (8) 3.3 对比两数字 (9) 3.3.1 代码功能 (9) 3.3.2 详细代码 (9) 3.4 游戏计时 (9) 3.4.1 代码功能 (9) 3.4.2 详细代码 (9) 4 测试运行 (10) 4.1 显示随机数字 (10) 4.2 不显示随机数字 (11) 结束语 (12) 参考文献 (13) 程序源代码 (14)

摘要 猜数字游戏是一项有趣的小游戏,玩家需要输入一个数字与电脑所给出的随机数字相比较,如若数字相同,则游戏结束;若数字不同,则给出所猜测数字同随机数字比较大小,继续进行猜测,直至猜对为止。 猜数字游戏小程序编写过程中,需要循环输入所猜测数字;同时也需要电脑随机给出一个数字以及游戏计时函数。 关键词:循环;随机函数;计时函数;

1 需求分析 1.1 需求概述: 猜数游戏突破一般游戏的娱乐功能,在娱乐的同时开拓了玩家的思维及应变能力。猜数字游戏是一种看似简单但事实很难的游戏,我们在玩的同时要不停地动脑筋,计算着数字的概率,这就锻炼着我们对数字的敏感和对概率的熟悉。这个游戏不仅学生可以玩,成人也是很适合的,我们在玩游戏的同时也在不停的锻炼我们的耐心和恒心。由于我们是初学者,设计过程中有很多不足之处,所以我们的游戏并没有排行等功能。该游戏可能有点难度,但我认为这或许会更好,我们玩的时候也是和我们自己比赛,不停的超越自己。 1.2 需求环境: 本课程设计需要的设备为硬件要求和软件配置要求具体要求如下: ①硬件要求:一台计算机。 ②软件配置:WINDOWS、C/VC++6.0。 1.3 功能描述: 1,游戏软件随机产生1个数字,但不显示,给用户提供输入提示符,让用户猜这个数字的值。如果正确地猜中这个数字,则猜数字成功。 2,玩家猜数字的次数不限。 3,玩家每次输入猜测数字,统会将输入数字与本次游戏产生的随机数比较,相等则猜数字成功,不相等则根提示猜测数字与随机数比较,大了还是小了并记录当前游戏猜测时间。 4,当玩家成功猜中数字时,系统会输出本局所用时间作出评价。

猜数字游戏的分析与实现

课程设计名称:猜数字游戏的分析与实现 目录

一游戏说明 二总体设计 三程序代码 四运行结果 五附录文档 一游戏说明 1使用说明 (1)开始功能键选择 1:开始游戏 2:查看排行榜 3:查看帮助 4:清除排行榜 5 :等级设定 (2)系统将提交的数与它自动产生的数进行比较,输出结果“*A*B”形式。其中A代表数字正确相应位置也正确,B代表数字正确但位置不正确。如:1A3B表示游戏者有1个数字的位置正确且数值也正确,除此以外,游戏者还猜对了3个数字,但位置不对,即游戏者已经猜出4位数据,但有3个数据位置不对

2程序说明书 (1)程序的功能说明:猜数字游戏是一个运行在Windows平台下的小型游戏软件,依据猜数字游戏的基本规则,给用户进行成绩排行,并可以随着玩家的游戏记录进行更新。游戏用户可以选择开始游、排行榜查看、帮助等主要功能。当用户选择开始游戏时,系统会让用户逐次猜数字,用户每次猜数字后系统会给出本次猜数字的结果提示,如位置和数字都正确的数字个数、数字正确但位置不正确的数字个数。如果用户猜数字的次数超过10次,则提示用户游戏失败,如果在10次之内猜出4个数字和正确的顺序,则提示用户猜数字成功,并到排行榜中进行比较,如果排名在前一名,则计入排行榜中,以便其他用户查看。在排行榜查看功能中,用户可以查看当前的游戏排行,如有新的记录产生,则插入到排行榜中,并把排行榜中位次最末的记录挤出排行榜。在帮助模块,用户可以查看游戏规则,当熟悉规则后可以退出帮助模块。 (2)程序的设计说明:排行榜中存放玩家信息和成绩,排行榜对应record文件。如删除该文件,则调用系统后,会初始化排行榜,重新建立该文件,并设置初始的玩家姓名和游戏记录。 3 软件可以实现的基本功能 (1)游戏区:玩家可以在游戏区逐次猜数字,系统给出玩家每次猜数字后的提示,包括数值、位置均正确的数字个数和数值正确但位置不正确的数字个数。 (2)刷新排行榜:当玩家成功完成一轮猜数字游戏后,可通过和排行榜中相应记录的比较判断玩家是否可以进入排行榜,进入排行榜的资格游戏成绩在前五名的玩家。 (3)查看排行榜:玩家可以查看当前排行榜中的排名顺序,从而确定自己的游戏目标。排行榜的查看按一定顺序显示给用户,便于查看。 (4)清除排行榜:玩家可以选择清除排行榜功能,使得排行榜上的玩家姓名和玩家游戏记录从系统中清除,只留下系统默认的玩家名(player)和系统默认记录10次。 (5)帮助:玩家通过帮助功能了解游戏规则和排行榜设置规则。 4模块设计说明 (1).游戏区模块 该模块为玩家提供猜数字游戏的主体功能,由系统自动产生4个随机排列的整数,并给用户10次机会猜测数字的数值和排列顺序。如果用户在10次之内没有猜出正确的结果,则提示用户游戏失败,否则提示用户猜数字成功,并调用产生新记录模块对玩家游戏成绩进行处理。流程图如下:

C语言课程设计总结报告1

C语言课程设计总结报告 题目银行排队系统 指导教师 院系工学院 专业 班级网络 【 学号 姓名 成绩 七月八日 "

表1 进度安排表 表2 中期报告表

通客户,vip客户人数。 三、. 四、系统设计 1.程序总体结构 2.界面设计 主菜单: —————————————欢迎光临XX银行————————————— 、 1 顾客到达 2 顾客离开 3 查看业务办理 4 查看排队情况 5 系统查询 6 退出 现在时刻:Sat Jul 07 11:28:04 2018 …

目录 第一章系统功能说明 (1) 第二章程序结构 (1) 2.1程序结构说明 (1) 2.2重要数据说明 (2) 2.3函数清单 (2) 第三章使用说明 (7) 3.1安装手册 (7) 3.2使用手册 (7) 第四章系统设计难点及其解决方法 (10) 4.1顾客的到达和离开 (10) 第五章不足之处 (10)

第一章系统功能说明 本程序可实现银行排队功能,对客户进行排序、业务管理,并能对错误的输入进行提示,对溢出进行判断并提示错误的功能。 为了实现“银行排队系统”的各项功能,首先要设计一个含有多个菜单的主控制菜单子程序,以链接系统的各项子功能,方便客户使用本系统。本系统采用队列存储银行排队中的顾客信息。其中:用数组存放办理业务的窗口;用链式队列存放排队顾客的信息。 系统分成六个功能模块。 一.主菜单。显示五个功能模块。 二.顾客到达。分为VIP客户和普通客户进行拿号排队,普通用户进入逻辑队列。 VIP客户通过VIP认证函数认证后直接到VIP柜台办理业务,跳出该循环。 三.顾客离开。顾客离开时,将顾客从从列队中删除,并提供让客户对银行窗口职员评价的平台。此时时间函数结束,输出其使用时间。然后执行柜台评分函数四.查看业务办理。可以查看每个业务窗口正在给第几个顾客办理业务。 五.查看排队情况。通过逻辑队列查看当前顾客前有多个顾客在排队等待。 六.系统查询。可以查询本系统为多个普通客户和VIP客户办理过业务。 顾客的到达是通过队列实现的。每增加一个顾客就增加一个元素和一个编号,其中设置了一个判断的操作,如果是VIP客户,输入卡号密码就可以直接到VIP柜台办理;如果是普通客户则归入队列。 顾客的离开包含了一个时间函数和评分函数。在顾客离开时,时间函数结束显示顾客办理业务所需时间。配分函数通过IF函数判断输入是否正确,然后用将分数累加再均除得到柜台的平均评分。 业务办理是一个For循环函数,分别将顾客对应柜台,已查看办理情况。 排队情况则是队列中剩余的元素个数。 第二章程序结构 2.1程序结构说明 该银行排队程序大体结构如图2-1所示。

中国地质大学C语言课程设计题目(附参考代码)

C语言课程设计题目 选题一(起评分100分) 高考招生录取程序 已知文本文件f1.txt中存放了某个省当年参加高考的1000个考生的数据(考号、姓名、性别和考试成绩),存放格式是每行存放一个考生的数据,每个数据之间用空格隔开。 假定当年该省的招生计划是:一类本科招生计划为10%;二类本科招生计划为15%;三类本科招生计划为20%;四类高职高专招生计划为25%。 请编写程序,实现以下功能: (1)划定各批次录取分数线,结果可屏幕显示,也可存入文件。 (2)能够统计各批次中男生,女生的录取比例。统计结果可屏幕显示,也可存入文件。 (3)确定每名学生的录取情况及录取批次。 (4)考生可以根据考号或姓名(支持重名)查询自己的成绩及录取情况; 说明: ①系统程序要有界面 ②存入文件的数据,每行存一种数据,每行之间的不同信息用空格分隔。 选题二(起评分85分) 《C语言课程设计与学习指导》第4章题目或第5章题目任选其一 成绩评定方式 平时考勤:20% 考试(即程序考核及检查):40% 实习报告:40% 违规违纪处理 出现以下6种情况中的任何一种,整个课程设计的成绩直接认定为不及格: 1.考勤抽查出现3次(含)不在的情况; 2.上机从事玩游戏、看电影等活动被抓住2次(含)的情况; 3.程序检查被认定为抄袭的情况; 4.实习报告被认定抄袭或雷同的情况; 5.不参加考试(即程序考核及检查)的情况 6.不交实习报告的情况。

C语言课程设计报告撰写要求 1 内容要求 整个报告由六个部分构成: ①课设题目 ②题目分析 ③设计思路 ④实现结果 ⑤课设总结 ⑥附录(源代码) 2 篇幅要求 ①-⑤合计不低于8页,⑥不低于8页。 篇幅没有上限要求,但原则上要求不超过25页。 标题字体字号格式:宋体,三号,加黑,单倍行距。 正文字体字号格式:宋体或Times New Roman,五号,单倍行距。 3 撰写要求 严谨出现抄袭。 严谨出现雷同。 报告出现抄袭或雷同的,整个课程设计成绩一律按不及格论处。 4 其它 封面格式附后。

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