Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1325964
  • 博文数量: 268
  • 博客积分: 10698
  • 博客等级: 上将
  • 技术积分: 2867
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-14 22:21
文章分类

全部博文(268)

文章存档

2012年(19)

2011年(13)

2010年(29)

2009年(26)

2008年(99)

2007年(82)

我的朋友

分类: C/C++

2008-09-16 22:46:26


myst_color.h

/*  myst_color.h                            

 *  written by Myst Shen on Sep. 16, 2008.   

 */
#include <stdio.h>
#include <stdlib.h>

typedef struct data {
  int val;
  char *color;
  struct data *next;
} NODE;

NODE *head, *tail, *p;

extern NODE * init(FILE *fp);
extern char * rand_color(int num);

extern int print(NODE *p);



myst_color.c

/*  myst_color.c  

 *  written by Myst Shen on Sep. 16, 2008.  

 */

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "myst_color.h"

int ch, c, num;
char *rcolor;
FILE *fp;

NODE * init (FILE *fp){
  head=(NODE *)malloc(sizeof(NODE));
  head->next = NULL;
  tail = head;
  while (1){
    c = fgetc(fp);
    if( c == EOF ) break;
    p=(NODE *)malloc(sizeof(NODE));
    p->val = c;
    p->next = NULL;
    tail->next = p;
    tail = p;
  }
  return head;
}

char * rand_color (int num) {
  int num1, num2;
  char *color[] = {
    "\33[1;31m",
    "\33[1;32m",
    "\33[1;33m",
    "\33[1;34m",
    "\33[1;35m",
    "\33[1;36m",
    "\33[1;37m",
    "\33[0;31m",
    "\33[0;32m",
    "\33[0;33m",
    "\33[0;34m",
    "\33[0;35m",
    "\33[0;36m",
    "\33[0;37m"
  };

  srand((unsigned)time(NULL));
  num1 = rand()%13 +1;
  num2 = num1 - num;
  rcolor = color[num2];
  return rcolor;
}

int print (NODE *p) {
  while(1){
    p = p->next;
    if ( p == NULL ) break;
    printf("%s", p->color);
    printf("%c", p->val);
  }
  putchar ('\n');
  return 0;
}




阅读(1119) | 评论(0) | 转发(0) |
0

上一篇:重装了系统

下一篇:2colors.c

给主人留下些什么吧!~~