用c语言编写一个简易的抽奖程序,

用c语言编写一个简易的抽奖程序,,第1张

用data.txt文件保存以下内容:

13725528132 李桂荣

13725528131 李二来

13725528133 张荣刚

13725528130 荣南

13725528137 王三

13725528138 吴立

13725528139 郭德纲

13725528140 周星驰

13725528141 张曼玉

13725528142 张艺谋

13725528152 秦香莲

13725528162 潘金莲

13725528172 李大嘴

13725528182 展堂

//源代码如下

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

#define MAX_NUM 9999

//定义保存人名和电话的数据结构

struct Person

{

char name[20]

char telno[15]

char award

}

int num = 0//统计人数

FILE *fp//文件指针

Person persons[MAX_NUM]//定义数组

int awarder_1[1] = {-1}//一等奖

int awarder_2[2] = {-1, -1}//二等奖

int awarder_3[5] = {-1, -1, -1, -1, -1}//三等奖

//读取文件

void readdata()

{

int i = 0//数组下标

Person person

//文件打开

fp = fopen("data.txt", "r")

if (fp == NULL)

{

printf("打开文件data.txt失败!\n")

return

}

//当文件不为空

while (!feof(fp))

{

num ++

fscanf(fp, "%s", person.telno)

fscanf(fp, "%s", person.name)

person.award = 'F'

persons[i++] = person

}

}

//初始化标识

void init()

{

for(int i = 0i <numi++)

{

persons[i].award = 'F'

}

}

//显示单个中奖信息

void info( int i)

{

printf("手机号码: %s 姓名: %s\n", persons[i].telno, persons[i].name)

}

void main()

{

char again = 'Y'

//读取文件

readdata()

printf("简单抽奖程序\n")

srand((long)time(0))

while(again == 'Y' || again == 'y')

{

//初始化标识

init()

printf("\n开始抽第一等奖(1名),按任意键开始...\n")

getchar()

awarder_1[0] = abs(rand() % num)

while (persons[awarder_1[0]].award == 'T')

{

awarder_1[0] = rand() % num

}

persons[awarder_1[0]].award = 'T'

info(awarder_1[0])

printf("\n开始抽第二等奖(2名)\n")

for (int i = 0i <2i++)

{

printf("\n第%d个二等奖,按任意键开始...\n", i+1)

getchar()

awarder_2[i] = rand() % num

while (persons[awarder_2[i]].award == 'T')

{

awarder_2[i] = rand() % num

}

persons[awarder_2[i]].award = 'T'

info(awarder_2[i])

}

printf("\n\n开始抽第三等奖(5名)\n")

for (i = 0i <5i++)

{

printf("\n第%d个三等奖,按任意键开始...\n", i + 1)

getchar()

awarder_3[i] = rand() % num

while (persons[awarder_3[i]].award == 'T')

{

awarder_3[i] = rand() % num

}

persons[awarder_3[i]].award = 'T'

info(awarder_3[i])

}

printf("\n是否重新开始抽奖?(Y or N)...\n")

again = getchar()

}

getchar()

return

}

.版本 2

.程序集 窗口程序集1

.程序集变量 位数, 整数型

.子程序 _按钮1_被单击

编辑框2.内容 = “”

.如果 (编辑框1.内容 = “”)

位数 = 取随机数 (1, 10)

.否则

位数 = 到整数 (编辑框1.内容)

.如果结束

.计次循环首 (位数, )

编辑框2.加入文本 (到文本 (取随机数 (0, 9)))

延时 (100)

.计次循环尾 ()

IE打开

===================

<html>

<head>

<meta http-equiv="Content-Language" content="zh-cn">

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312">

<title>Js模拟抽奖的效果</title>

</head>

<body>

<style type="text/css">

.a1{

position:relative

font-family:Verdana

font-size:20px

color:#889978

}

</style>

<script language="JavaScript">

function lotto(){

if (!document.all &&!document.layers)

return

for (j=1j <48j++)//stop zero!?

{

var a=Math.round(Math.random()*j+1)

var b=Math.round(Math.random()*j+1)

var c=Math.round(Math.random()*j+1)

var d=Math.round(Math.random()*j+1)

var e=Math.round(Math.random()*j+1)

var f=Math.round(Math.random()*j+1)

}

var x=new Array(a,b,c,d,e,f)

if ((x[0] == x[1]) || (x[0] == x[2]) || (x[0] == x[3]) || (x[0] == x[3]) || (x[0] == x[5]) ||

(x[1] == x[2]) || (x[1] == x[3]) || (x[1] == x[4]) || (x[1] == x[5]) ||

(x[2] == x[3]) || (x[2] == x[4]) || (x[2] == x[5]) ||

(x[3] == x[4]) || (x[3] == x[5]) ||

(x[4] == x[5]) || (x[5] == x[4]))

lotto()//restart

else

{

var y=x.toString()

var z=y.split(',')

for (i=0i <z.lengthi++)

{

z[i]=z[i]+" "

if (z[i].length <3)//add '0' to singles

z[i]="0"+z[i]+" "

}

z=z.sort()

Nos=z[0]+z[1]+z[2]+z[3]+z[4]+z[5]

if (document.all)

{document.all.layer1.innerHTML=Nos}//OR Z!

else if (document.layers)

{

document.layers.layer1.document.open()

document.layers.layer1.document.write("<span style='position:absolutetop:0pxleft:0pxfont-family:Verdanafont-size:20pxcolor:#888888text-align:center'>"+Nos+"</span>")

document.layers.layer1.document.close()

}

T=setTimeout('lotto()',10)

}

}

//-->

</script>

<table border='0' width=250 height=50>

<tr valign='middle'>

<td align='center'>

<form name=form>

<input type=button value='点击看看你有没有中将' onClick="lotto(),setTimeout('clearTimeout(T)',3000)">

</form>

<span id=layer1 class=a1>Result</span>

</td>

</tr>

</table>

</body>

</html>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12043720.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存