随机点名器

(C语言阶段小项目之随机点名器## 随机点名器)

要求
/*使用C语言,制作一个在命令行运行的点名程序,该程序运行时可指定班级的花名册文件,
运行后在界面上显示随机抽取名字的过程,速度由快到慢,逐渐定格到某一个“幸运儿”上,程序结束。
*/

/必做要求
1.指定普通文本文件(
.txt)为名单,以行为单位读取学员名字。
2.随机抽取的过程在终端动态展现出来,如下图所示*/

#include<stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include <unistd.h>

int main(int argc, char const *argv[])
{
char name[20][20];
// 第一个函数:打开文件
//FILE * fopen(const char * restrict path, const char * restrict mode);
FILE *fd;
fd = fopen("./a.txt", “r+”);
if(fd == NULL)
{
printf(“perror:”);
}
// else
// {
// printf(“打开文件成功!!!\n”);
// }
//第二个函数:按行读取文件内容

//char * fgets(char * restrict str, int size, FILE * restrict stream);



char (*p);

do{
    
    for (size_t i = 0; i < 8; i++)
    {
        char buf[20];
        p=fgets(buf,15,fd);
        if (p==NULL)
        {
            break;
        }
        
        strcpy(name[i],p);
    }
    
    
}while(p!=NULL);

int i, n;
time_t t;
n = 5;

//void srand(unsigned seed);
srand((unsigned) time(&t));


t = time(NULL);
//printf("自 1970-01-01 起的小时数 = %ld\n", t/3600);
t /= 36000;
//int rand(void); 产生一个随机数
for(int i = 1000;i>900;i--)
{
    system("cls");
    printf("%s",name[rand() % 5]);
    t +=10000;
    usleep((t++));
    
    
}
   
`
上一篇:Linux之线程互斥量与锁(mutex)


下一篇:ntp服务