内容简介:noip2018刚过,写了点小东西来愉悦身心。用途:随机点名原理:从exe文件同目录下的文档中导入人员信息(可以多重),通过rand+Hash实现,按空格键即可生成。
noip2018刚过,写了点小东西来愉悦身心。
用途:随机点名
原理:从exe文件同目录下的文档中导入人员信息(可以多重),通过rand+Hash实现,按空格键即可生成。
代码:
#include <bits/stdc++.h>
#include <conio.h>
#include <windows.h>
static const int MAXN=101;//limit
using namespace std;
struct Information
{
char name[MAXN];
}stu[MAXN];
bool vis[MAXN];
FILE *fp;
int num,cnt,randnum;
char ch,filename[MAXN],line[MAXN];
inline void copyright()
{
puts("Program Name: Random Name.\n");
Sleep(1000);
puts("Design By:BeyondLimits.\n");
Sleep(1000);
puts("All rights reserved.\n");
Sleep(1000);
}
inline void input()
{
puts("Please input the file name of the name list.\n");
gets(filename);
fp=fopen(filename,"r");
puts("Everything is ready.\n");
}
inline void work()
{
while(fgets(line,sizeof(line)-1,fp)) if(line[0]!='\n'&&line[0]!=' ') sscanf(line,"%s\n",stu[cnt++].name);//input information
srand(0);
puts("Press Space to get a random name or press any other key to exit.\n");
while((ch=getch())==' ')
{
randnum=rand()%cnt;
while(vis[randnum]) randnum=rand()%cnt;
vis[randnum]=true;
printf("%s\n",stu[randnum].name);
if(++num==cnt)
{
puts("Program has been exited.\n");
puts("Thank you for your using.\n");
return ;
}
}
}
int main()
{
copyright();//copyright announce
input();//input file name
work();//main work
return 0;
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 懒人福音——渗透测试单行化
- 新手福音Game Framework介绍
- 全栈开发者的福音
- WebRTC + NDI——广播业的福音?
- DBA 的福音,SQL 审核利器:goinception
- “996”码农的福音:AI辅助写代码
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
我的第一本算法书
[日]石田保辉、[日]宮崎修一 / 张贝 / 人民邮电出版社 / 2018-10 / 69.00元
本书采用大量图片,通过详细的分步讲解,以直观、易懂的方式展现了7个数据结构和26个基础算法的基本原理。第1章介绍了链表、数组、栈等7个数据结构;从第2章到第7章,分别介绍了和排序、查找、图论、安全、聚类等相关的26个基础算法,内容涉及冒泡排序、二分查找、广度优先搜索、哈希函数、迪菲 - 赫尔曼密钥交换、k-means 算法等。 本书没有枯燥的理论和复杂的公式,而是通过大量的步骤图帮助读者加深......一起来看看 《我的第一本算法书》 这本书的介绍吧!