问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-04-24 00:59

我来回答

2个回答

热心网友 时间:2022-04-24 04:31

用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;
}

热心网友 时间:2022-04-24 05:49

我的程序只是输入10个电话或名字 这个可以改成任意值,也可以改成由输入控制
#include "iostream.h"
#include <stdlib.h>
int main()
{
char a[10][20] = {0};
int c = 0;
printf("please input 10 phone numbers:\n");
for(int i=0;i<10;i++)
scanf("%s",a[i]);
printf("press any key to coujiang\n");
getchar();
getchar();
c = rand()%10;
printf("The number is:\n");
printf("%s",a[c]);
getchar();
return 0;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
万能粉碎机清洁规程 中药粉碎机如何清洗比较好 磨粉机能用水洗吗 正确的家用粉碎机清洗方法 粉碎机清洗不干净粉碎机怎么清洗才干净 励志语句长句精选123句 caxa如何保存图幅模板 美迪特MDT-IN158重要参数 打玻尿酸已一个月眼睛疼,会不会打玻尿酸一个月,突然眼睛疼会不会... 玻尿酸失明概率真的小吗-玻尿酸失明有光感还能恢复吗 陈华军人物简介 如何使用javascript做一个简单的抽奖程序 你好,我网站有一个纯js抽奖页面,我已经实现了可抽奖初始次数等于会员金 ... 我想用易语言做一个网页游戏自动抽奖软件,如下图所示,但不知道要从哪里着手.有高人麻烦指点一下... 利用dreamweaver制作一个随机抽奖的网页程序!!急急急! 如何用java写一个抽奖程序 web类型的 要开发一个抽奖程序 怎么用python写一个抽奖程序,是抽取图片或视频 简易抽奖程序怎么做? 网页抽奖程序如何控制概率 使用JavaScript完成一个抽奖程序,当单击页面上开始抽奖按钮时,在1~3... 南昌特产哪里买 南昌有什么特产可以带去送人啊? 南昌能带走的特产有什么? iphone11背景音有什么功能? 苹果11听歌耗电快 红米有什么营养价值? 苹果11用起来真的很容易发热吗?看人家说听歌刷个淘宝一下就热了真有那么夸张吗?用过的解答一下谢谢! 苹果11听歌发烫 iPhone11边充电边放音乐对电池有损害吗? iPhone 11 Pro 手机音乐解析能力达到什么水平? 怎么破解腾讯网页的抽奖程序 在电脑开机运行那输入什么命令才能关机? 求网页抽奖修改抽奖机会代码!!! 怎么样用html做转盘抽奖软件 c语言程序设计——抽奖程序 C#摇奖程序实现方法 VB制作1到50抽奖程序 电脑运行程序里关机命令是什么? 华为p20 pro后摄像头上面两个玻璃罩好换不好换怎么换? 华为p20后摄玻璃更换要多少钱? 华为p20后摄像头玻璃可以换吗 请问华为荣耀20换后置摄像头的玻璃要多少钱? 交强险赔百分之几十 交强险赔付比例是多少 交强险能赔多少? 交强险各项赔偿比例为多少 交强险赔偿范围内的比例是多少还是只要是它范围内的都赔百分之百 交强险是百分之百赔付吗? 车辆交通事故中交强险的赔付比例是多少? 交强险赔百分之多少