c语言奖池,C语言计算奖金

本文目录一览:

c语言,如何做一个非常简易的固定奖池抽奖系统。一共1个大奖,2个中奖,3个小奖,必定中奖。

#includestdio.h

#includestdlib.h

#includetime.h

#includeconio.h

int big=1,mid=2,sma=3;

void fin()

{

srand(time(NULL));

p:switch(rand()%3)

{

case 0:if(big0){system(“cls”);printf(“[大奖] 中奖 小奖\n ↑”);sleep(1000);big–;system(“cls”);printf(“大奖:%d 中奖:%d 小奖:%d\n 按任意键抽奖”,big,mid,sma);return;}

case 1:if(mid0){system(“cls”);printf(“大奖 [中奖] 小奖\n ↑”);sleep(1000);mid–;system(“cls”);printf(“大奖:%d 中奖:%d 小奖:%d\n 按任意键抽奖”,big,mid,sma);return;}

case 2:if(sma0){system(“cls”);printf(“大奖 中奖 [小奖]\n ↑”);sleep(1000);sma–;system(“cls”);printf(“大奖:%d 中奖:%d 小奖:%d\n 按任意键抽奖”,big,mid,sma);return;}

}

goto p;

}

main()

{

int num=0;

printf(“大奖:%d 中奖:%d 小奖:%d\n 按任意键抽奖”,big,mid,sma);

while(big||mid||sma)

{

if(_kbhit()){getch();fin();}

else if(num3) {num++;putchar(‘.’);sleep(200);}

else {system(“cls”);printf(“大奖:%d 中奖:%d 小奖:%d\n 按任意键抽奖”,big,mid,sma);num=0;}

}

system(“cls”); printf(“奖品已发完!\n”);

system(“PAUSE”);

return 0;

}

//如果编译错误,把sleep改成Sleep,把_kbhit改成kbhit

编制一个c语言程序,构建一个抽奖程序,奖项设置三等,分别为一二三等,具体奖励自己设置

产生一个1-100的随机数,=5就是一等奖,6 =20就是二等奖,剩下的就是三等奖咯

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

用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 = 0; i num; i++)

{

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 = 0; i 2; i++)

{

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 = 0; i 5; i++)

{

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;

}

原创文章,作者:WAAM,如若转载,请注明出处:https://www.506064.com/n/133411.html

(0)
WAAMWAAM
上一篇 2024-10-03
下一篇 2024-10-03

相关推荐

  • java对象和map相互转换(java将map转换为对象)

    本文目录一览: 1、java 中object对象与map可以相互强转吗? 2、java bean怎么转化为map 不用第三方 3、JAVA中json字符串如何转化为map对象,获取…

    编程 2024-10-03
  • 二分查找java,二分查找JAVA

    本文目录一览: 1、用二分法查找(折半查找)java 2、用java写二分搜索,要求数组是由用户输入,再输入时,数组是无序的,要对数组进行从小到大的排序 3、java泛型 二分查找…

    编程 2024-10-04
  • Python sha256加密详解

    一、Python加密 Python是一门优秀的编程语言,其拥有很多强大的加密库,并且可以轻松实现各种加密算法。加密是很重要的一环,特别是对于一些敏感的信息,如用户密码等,加密可以起…

    编程 2024-10-12
  • php会话超时,php计时

    本文目录一览: 1、php项目,怎么设置sesssion的timeout时间 2、php语言如何设置超时处理?? 3、PHP中几种常见的超时处理全面总结 4、几种常见的PHP超时处…

    编程 2024-10-03
  • 详解sklearn.linear_regression

    一、介绍 sklearn.linear_regression是一个基于Python的机器学习库,它提供了多种回归分析的算法,这些算法可以应用在很多不同的领域,包括金融、医学、生物科…

    编程 2024-10-04
  • java程序设计的编程(程序设计Java)

    本文目录一览: 1、java,web程序设计要学些什么 2、如何学习java程序设计? 3、java编程是什么 java,web程序设计要学些什么 第一阶段:Java基础,包括ja…

    编程 2024-10-04
  • 如何通过SSH远程连接Linux服务器

    一、什么是SSH远程连接 在掌握SSH远程连接之前,我们需要先了解什么是SSH。SSH全称为Secure Shell,是一种加密网络协议,用于在不安全的网络中安全地传输数据。通过S…

    编程 2024-10-03
  • 一题关于php的ctf,PHP基础题

    本文目录一览: 1、求解ctf关于php弱类型的题,求flag 2、CTF赛题PHP7 正则绕过 3、各位大佬,ctf的php题,真的急!!求flag 求解ctf关于php弱类型的…

    编程 2024-10-04
  • Java String方法——startswith

    Java是一门面向对象的编程语言,广泛应用于网络应用和企业解决方案开发。在Java中,String类是非常重要和常用的类,它提供了丰富的方法来操作字符串。其中之一就是startsw…

    编程 2024-10-04
  • LabVIEW生成exe文件的完整指南

    LabVIEW是一个功能强大的编程工具,允许用户创建令人惊叹的交互式系统。随着程序的创建,您通常希望与团队或需要共享代码的其他人共享您的程序。 因此,生成可执行的可运行文件是必要的…

    编程 2024-10-03

发表回复

登录后才能评论