Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 13 kết quả

Đề tài: [ Solved ]Tạo chữ chạy

  1. #1
    Ngày gia nhập
    07 2008
    Bài viết
    30

    Smile [ Solved ]Tạo chữ chạy

    mình học đến phần chuỗi...nhưng đến bài tạo chữ chạy mình không hiểu phần này...các bạn giúp với nhe
    Code:
    for(i=0;i<strlen(thongbao);i++)
    {
         strncpy(inthongbao,thongbao+i,71);
         goto(1.1);
         cprintf("%s",inthongbao);
         delay(1000);
    }
    nhất là cái thongbao+i đó

  2. #2
    Ngày gia nhập
    04 2008
    Bài viết
    336

    bạn post đầy đủ code lên xem ?
    goto(1.1); là cái gì vậy ??
    chữ chạy thì cứ lặp (viết,xóa) là đc rồi
    code ra gió bão

  3. #3
    Ngày gia nhập
    07 2008
    Bài viết
    30

    đây là code từ sách C
    Code:
    #include"stdio.h"
    #include"string.h"
    #include"conio.h"
    #include"alloc.h"
    main()
    	{
    		int i;
    		char *thongbao;
    		char *inthongbao;
    		char *dong[3];
    		clrscr();
    		textbackground(BLUE);
    		textcolor(YELLOW);
    		clrscr();
    		hop(2,2,78,8);
    		window(3,3,77,7);
    		textbackground(MAGENTA);
    		textcolor(YELLOW);
    		clrscr();
    		gotoxy(24,1);
    		cprintf("NHAP 3 DONG NOI DUNG QUANG BAO");
    		textcolor(WHITE);
    		inthongbao=calloc(71,sizeof(char));
    		thongbao=calloc(255,sizeof(char));
    		for (i=0; i < 3 ; i++)
    			{
    				dong[i]=calloc(70,sizeof(char));
    				dong[i][0]=72;
    				gotoxy(1,i+2);
    				cprintf("Dong %d :",i,i+1);
    				strcpy(dong[i],cgets(dong[i]));
    				strcat(dong[i]," ");
    				strcat(thongbao,dong[i]);
    			}
    		strcat(thongbao," . ");
    		strcat(thongbao,thongbao);
    		strcat(thongbao," ");
    		window(1,1,80,24);
    		hop(3,10,77,12);
    		window(4,11,76,11);
    		textbackground(RED);
    		textcolor(WHITE);
    		clrscr();
    		for (i=0; i<strlen(thongbao);i++)
    			{
    				strncpy(inthongbao,thongbao +i,71);
    				gotoxy(1,1);
    				cprintf("%s",inthongbao);
    				delay(1000);
    			}
    	}
    	hop(int x1, int y1, int x2, int y2)
    		{
    			int i;
    			gotoxy(x1,y1);
    			putch(201);
    			for (i=x1+1; i<=x2-1; i++)
    				putch(205);
    				putch(187);
    				gotoxy(x1,y2);
    				putch(200);
    			for (i=x1+1;i<=x2-1;i++)
    				putch(205);
    				putch(188);
    			for (i=y1+1; i<=y2-1; i++)
    				{
    					gotoxy(x1,i);
    					putch(186);
    					gotoxy(x2,i);
    					putch(186);
    				}
    		}

  4. #4
    Ngày gia nhập
    07 2008
    Bài viết
    30

    hoặc các bạn có cách viết nào hay thì Post lên nha thanks

  5. #5
    Ngày gia nhập
    10 2008
    Bài viết
    1

    oài; chờ mình đọc lại nhé

  6. #6
    Ngày gia nhập
    04 2008
    Bài viết
    336

    Mặc định [ Solved ]Tạo chữ chạy

    Mới đi học về :P
    có đoạn code demo cho cậu đây , ngoài ra còn có cách copy vùng nhớ màn hình hay xài memcpy nữa bạn search lại trên diễn đàn nhé.
    Còn bài của cậu mình chạy thấy kỳ quá ...
    C Code:
    1. #include<stdio.h>
    2. #include<string.h>
    3. #include<dos.h>
    4. #include<conio.h>
    5. typedef struct tagText
    6. {
    7.     int x,y;
    8.     char c;
    9. }Text;
    10.  
    11. void ganxy(Text *pr,int n,int x,int y)
    12. {
    13.     int i;
    14.     pr[0].x=x;pr[0].y=y;
    15.     for(i=1;i<n;++i)
    16.     {
    17.         pr[i].x=pr[i-1].x%80+1;
    18.         pr[i].y=pr[i-1].y%25;
    19.     }
    20. }
    21.  
    22. void draw(Text *pr,int n)
    23. {
    24.     int i,j,x,y;
    25.     for(i=0;i<n;++i)
    26.     {
    27.         x=pr[i].x;y=pr[i].y;
    28.         if(x<=80&&y<=25)
    29.         {
    30.             gotoxy(x,y);
    31.             textcolor(10);
    32.             cprintf("%c",pr[i].c);
    33.         }
    34.     }
    35. }
    36.  
    37. void del(Text t)
    38. {
    39.     gotoxy(t.x,t.y);printf(" ");
    40. }
    41.  
    42. int main()
    43. {
    44.     clrscr();
    45.     int i,j,k,x,y,ox,oy,n;
    46.     char s[100];
    47.     Text pr[100];
    48.     printf("Nhap noi dung: ");
    49.     gets(s);
    50.     n=strlen(s);
    51.     for(i=0;i<n;++i)
    52.         pr[i].c=s[i];
    53.  
    54.     x=30;y=3;
    55.     ganxy(pr,n,x,y);
    56.  
    57.     draw(pr,n);
    58.  
    59.     while(!kbhit())
    60.     {
    61.         for(i=0;i<n;++i)del(pr[i]);
    62.         x--;if(x==0)x=80;
    63.         ganxy(pr,n,x,y);
    64.         draw(pr,n);
    65.         delay(100);
    66.     }
    67.     return 0;
    68. }
    code ra gió bão

  7. #7
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    Tham khảo thêm cái này xem bạn. Thay đổi chút là chay như bài của bạn thôi.

    * Compiler: Code Block
    C++ Code:
    1. #include <iostream>
    2. #include <stdlib.h>
    3. #include <time.h>
    4. #include <conio.h>
    5. using namespace std;
    6.  
    7. void sleep( clock_t wait )
    8. {
    9. clock_t goal;
    10. goal = wait + clock();
    11. while( goal > clock() );
    12. }
    13.  
    14. int main()       //f r
    15. {
    16.     char st[30];
    17.     puts("Enter Text:");
    18.     gets(st);
    19.     puts(st);
    20.     system("cls");
    21.     int n=strlen(st);
    22.     int i,t=0,a=1;
    23.     while (!kbhit())          //khi chua nhan 1 phim thi con lap lai
    24.     {
    25.         cout << "\n\n\n\n";
    26.         for (i=0;i<t;i++) cout << " ";
    27.         puts(st);
    28.         sleep(100);
    29.         system("cls");
    30.         t+=a;
    31.         if (t==80-n) a=-1;
    32.         if (t==0) a=1;
    33.     }
    34. }

  8. #8
    Ngày gia nhập
    07 2008
    Bài viết
    30

    thanks bạn nhìu...mình thấy code viết bằng C++ hình như chưa ổn lắm xem lại nhé..còn bài viết bằng C mình chưa học kiểu cấu trúc struct..nên khi nào học tới mình tham khảo..dù sao cũng cám ơn

  9. #9
    Ngày gia nhập
    04 2008
    Bài viết
    336

    code của bạn QuangHoang chạy ok mà, cách của bạn ấy là in khoảng trắng rồi in chuỗi , khi chữ chạy thì số lượng khoảng trắng sẽ thay đổi do đó dòng chữ sẽ chạy qua, chạy lại
    code ra gió bão

  10. #10
    Ngày gia nhập
    07 2008
    Bài viết
    30

    bạn giải thích cho mình đoạn code này nhé có một số chỗ chưa hiểu
    Code:
    #include<stdio.h>
    #include<conio.h>
    #include<string.h>
    #include<dos.h>
    #include<alloc.h>
    void main()
    {
    	char *thongbao,*inthongbao;
    	int i;
    	clrscr();
    	thongbao=(char*)calloc(255,sizeof(char));
    	inthongbao=(char*)calloc(255,sizeof(char));
    	printf("Nhap mot dong thong bao \n ");
    	gets(thongbao);
    	strcat(thongbao," ");
    	strcat(thongbao,".");
    	strncat(thongbao,thongbao,strlen(thongbao)-1);	clrscr();
    	for(i=0;i<strlen(thongbao);i++)
    	{
    		strncpy(inthongbao,thongbao+i,71);
    		gotoxy(1,1);
    		cprintf("%s",inthongbao);
    		delay(1000);
    	}
    getch();
    }
    Nếu thay strncat(thongbao,thongbao,strlen(thongbao)-1) bằng strcat(thongbao,thongbao) VD : chuoi la "thanh" voi ham strncat thì nó cộng chuoi đúng...con strcat thi lại cộng thêm 1 chữ t nữa tức là "thanhthanht" tại sao vậy
    -Thêm 1 điểm nữa
    strncpy(inthongbao,thongbao+i,71); //thongbao+i = chuoi+số..giải thích giùm mình với thanks nhìu

Các đề tài tương tự

  1. MS SQL Lỗi SQL Server 2005 express chạy chậm khi chạy report?
    Gửi bởi dongtrien trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 1
    Bài viết cuối: 26-03-2013, 09:12 PM
  2. Q-Smart S15 thiết kế chắc chắn chạy android giá rẻ
    Gửi bởi 16thang4 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 22-08-2012, 04:07 PM
  3. [ Solved ]Hiện ra dòng chữ chạy
    Gửi bởi toanhoi trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 11-09-2008, 07:37 PM
  4. [ Solved ]Tính Tổng S=1^1/1!+1^2/2!+...+1^n/n!
    Gửi bởi boy_popping trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 9
    Bài viết cuối: 22-04-2008, 10:00 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn