老师的福音!C++随机点名生成器

栏目: C++ · 发布时间: 5年前

内容简介: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;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

灵活Web设计

灵活Web设计

Zoe Mickley Gillenwater / 李静 / 2009-9 / 45.00元

《灵活Web设计》讲述如何应用可变或不固定布局及弹性布局来实现灵活设计,以满足用户的根据自己需求而调整浏览站点的窗口大小的要求。全书共分为9章,内容包括:理解灵活布局、可变布局和弹性布局存在的挑战、设计灵活布局的方法、准备网页设计、创建可变布局结构、创建弹性布局结构、规范灵活性、设置文字间距、添加背景图像和颜色、创建灵活的图像。 《灵活Web设计》适用于网页设计人员、网页设计爱好者。一起来看看 《灵活Web设计》 这本书的介绍吧!

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具