Hỏi & đáp lập trình

Thảo luận trong 'Lập trình & Đồ hoạ' bắt đầu bởi canh en buon, 23/5/07.

  1. Valiant

    Valiant Legend of Zelda

    Tham gia ngày:
    26/5/10
    Bài viết:
    1,082
    Nơi ở:
    Ha Noi, Vietnam,
    Ai có tài liệu lập trình vi điều khiển cho mình xin nhé :)
     
  2. Bão...

    Bão... C O N T R A Lão Làng GVN

    Tham gia ngày:
    12/11/09
    Bài viết:
    1,936
    Nơi ở:
    Hanoi, Vietnam
    Mã:
       /////////////////////////////////////////////////////////////////////////////////////////////
      //                    BAI TAP XAY DUNG DANH SACH SINH VIEN                                 //           
     //                                                                                         //
    /////////////////////////////////////////////////////////////////////////////////////////////
    #include<stdio.h>
    #include<conio.h>
    #include<string.h>
    #include "iostream"
    #include"iomanip"
    using namespace std;
    /*******************************************************************************************/
    struct sinhvien
      {
            int masv;
            char malop[12];
            char hovaten[30];
            float diemk1;
            float diemk2;
            
      };
    
    typedef struct sv
    {
            sinhvien data;
            struct sv*prev;
            struct sv*next;
    }sv;        
    /*******************************************************************************************/
    struct sv*head;               //Con tro toan cuc, giu dia chi cua ca danh sach sinh vien
    
    void nhapdulieutubanphim();                       //Ham nhap du lieu truc tiep cho toan danh sach sinh vien 
    void nhapdulieututep();                          //Ham nhap du lieu cho toan danh sach thong qua tep             
    void nhapdulieutungsvtubanphim(sv*head);        //Ham nhap du lieu cho truc tiep tung sinh vien, dong thoi ghi len tep
    void nhapdulieutungsvtutep(sv*head,FILE*fvao); //Ham nhap du lieu cho tung sinh vien qua tep
    void hienthitoandanhsach(sv*head);            //Ham hien thi toan bo danh sach 
    void hienthidulieutheolop(sv*head);          //Ham hien thi STT va ten tung sinh vien thao lop can tim
    void timkiem();                             //Ham tim liem thong tin sinh vien
    void timtheoten(sv*head);                  // Ham tim kiem theo ten
    void timtheomasv(sv*head);                //Ham tim kiem theo ma sinh vien
    void sapxep();                           //Ham sap sep danh sach theo yeu cau, 
                                             //cac ham sap xep con deu thuc hien theo thuat toan sap xep chen
    void sapxeptheomasv(sv*head);           //Ham sap xep theo ma sinh vien
    void sapxeptheoten(sv*head);           //Ham sap xep theo ho ten sinh vien  
    void sapxeptheodiem(sv*head);         //Ham sap xep theo diem ki I, ki II, trung binh nam
    void in(sv*cur,int i);                //Ham in du lieu gom day du thong tin
    void in1(sv*cur,int i);              //Ham in danh sach sinh vien theo STT va ho ten   
    void copy(sv*ptr1,sv*ptr2);         //Ham copy du lieu giua 2 nut trong danh sach
    void swap(sv*ptr1,sv*ptr2);        // Ham trao doi noi dung 
    char*catxau(sv*ptr);              //Ham cat xau thanh nhung xau nho
    /********************************************************************************************/
    
    int main()
    { 
      sv*ptr; 
      char wait; 
      int choice,i=1;  
      head=(sv*)malloc(sizeof(sv));
      
      if(head==NULL)
      {
        cout<<"KHONG CAP PHAT DUOC BO NHO, KET THUC CHUONG TRINH";
        exit(1);
      }
      else
      {
       head->next=head;
       head->prev=head;
      }
      cout<<"\nMOI BAN CHON PHUONG THUC NHAP";
      cout<<"\n1. NHAP DU LIEU TU BAN PHIM";
      cout<<"\n2. NHAP DU LIEU TU FILE";
      cout<<"\n BAN CHON : ";
      cin>>choice;
      while(choice<1||choice>2)
      {
         cout<<"\nBAN VUA NHAP KHONG DUNG, HAY NHAP LAI ";
         cout<<"\n1. NHAP DU LIEU TU BAN PHIM";
         cout<<"\n2. NHAP DU LIEU TU FILE";
         cout<<"\n BAN CHON : ";
         cin>>choice;
      }
      switch(choice)
      {
         case 1:
              nhapdulieutubanphim();
              break;
         case 2:
              nhapdulieututep();
              break;
       }                                                  
       
       do
       {  
       cout<<"\n\n"<<"XIN MOI BAN CHON CAC CHUC NANG CUA CHUONG TRINH\n";
       cout<<"\n"<<"1. HIEN THI TOAN BO DANH SACH";
       cout<<"\n"<<"2. HIEN THI DU LIEU THEO TUNG LOP";
       cout<<"\n"<<"3. SAP XEP";
       cout<<"\n"<<"4. TIM KIEM";
       cout<<"\n"<<"   BAN CHON : ";
       cin>>choice;
       while(choice<1||choice>4)
       {
          cout<<"\n"<<"BAN VUA CHON CHUC NANG KHONG CO TRONG CHUONG TRINH";
          cout<<"\n"<<"XIN MOI CHON LAI";
          cout<<"\n"<<"1. HIEN THI TOAN BO DANH SACH";
          cout<<"\n"<<"2. HIEN THI DU LIEU THEO TUNG LOP";
          cout<<"\n"<<"3. SAP XEP";
          cout<<"\n"<<"4. TIM KIEM";
          cout<<"\n"<<"   BAN CHON : ";
          cin>>choice;
        }  
       switch(choice)
       {                                        
          case 1:
                hienthitoandanhsach(head);
                break;
          case 2:
                hienthidulieutheolop(head);
                break;
          case 3:
                sapxep();
                break;
          case 4:
                timkiem();
                break;
       }
       cout<<"\n"<<"BAN CO MUON THUC HIEN TIEP KHONG (y/n)";
       wait=getche();
      }while(wait=='Y'||wait=='y');
               
    getch();
    return 1;
    }
    
    /*******************************************************************************/
    
    void nhapdulieutubanphim()
    {    
         char wait;
         do
         {
          nhapdulieutungsvtubanphim(head);
          cout<<"\n BAN CO MUON NHAP TIEP KHONG (y/n)";
          wait=getche();
         }while(wait=='Y'||wait=='y');
    }
    
    void nhapdulieututep()
    {
       FILE*fvao;
       fvao=fopen("E:\\dulieusinhvien.in","a+");
       if(fvao==NULL)
       {
       cout<<"\nLOI MO FILE !!!"<<"\n"<<"KET THUC CHUONG TRINH";
       exit(1);
       }
       else
       {  
        while(!feof(fvao))
        {
        nhapdulieutungsvtutep(head,fvao);
        }
       }
       if(feof(fvao))
       cout<<"\nNHAP THANH CONG !!!\n";
       fclose(fvao);
    }   
                                        
    void nhapdulieutungsvtubanphim(sv *head)
    {  
       char ml[12],hoten[30];
       struct sv*temp,*cur;
       FILE*f;
       temp=(sv*)malloc(sizeof(sv));
       if(temp==NULL)
       { 
         cout<<"\nKHONG CAP PHAT DUOC VUNG NHO, KET THUC CHUONG TRINH";
         exit(1);
       }
       else 
       {
       f=fopen("E:\\dulieusinhvien.in","a+");     
       cout<<"\nNHAP DU LIEU SINH VIEN : \n";
       cout<<"\nMA SINH VIEN : ";
       scanf("%d",&temp->data.masv);
       fprintf(f,"%d ",temp->data.masv);//ghi du lieu len tep
       cout<<"MA LOP : ";
       fflush(stdin);
       cin.get(ml,12);
       cin.ignore(80,'\n');
       strcpy(temp->data.malop,ml);
       fprintf(f,"%s\n",temp->data.malop);
       cout<<"HO VA TEN : ";
       fflush(stdin);
       cin.get(hoten,30);
       cin.ignore(80,'\n');
       strcpy(temp->data.hovaten,hoten);
       fprintf(f,"%s\n",temp->data.hovaten);
       cout<<"DIEM KI I : ";
       cin>>temp->data.diemk1;
       fprintf(f,"%f ",temp->data.diemk1);
       cout<<"DIEM KI II : ";
       cin>>temp->data.diemk2;
       fprintf(f,"%f\n",temp->data.diemk2);
       //Noi temp vao danh sach cua head 
       cur=head->prev;
       temp->next=cur->next;
       cur->next->prev=temp;
       cur->next=temp;
       temp->prev=cur; 
       cout<<"\nNHAP XONG !";
       fclose(f);
    
        }
    }
    
    void nhapdulieutungsvtutep(sv*head,FILE*f)
    {
    	sv*temp,*cur;
    	char ml[12],hoten[30];
    	temp=(sv*)malloc(sizeof(sv));
        if(temp==NULL)
    	{ 
         cout<<"KHONG CAP PHAT DUOC VUNG NHO, KET THUC CHUONG TRINH";
         exit(1);
        }
    	else
    	{                      
      	  	fscanf(f,"%d",&temp->data.masv);
      	  	fseek(f,1,SEEK_CUR);//Nhay qua 1 ki tu, trong truong hop nay la nhay qua dau cach nam giua masv va malop
      	  	fflush(stdin);
      	  	fgets(ml,12,f);
      	  	ml[strlen(ml)-1] = '\0';//do ham fgets tu dong gan ki tu '\n' vao 
                                    //cuoi xau nen phai thay dau '\n' thanh '\0' tranh cho thuat toan thuc hien sai
      	  	strcpy(temp->data.malop,ml);
      	  	fflush(stdin);
      	  	fgets(hoten,30,f);
      	  	hoten[strlen(hoten)-1] = '\0';
      		strcpy(temp->data.hovaten,hoten);
    	    fscanf( f,"%f", &temp->data.diemk1 );
            fscanf( f,"%f", &temp->data.diemk2);
            //Noi temp vao danh sach cua head
            cur=head->prev;
            temp->next=cur->next;
            cur->next->prev=temp;
            cur->next=temp;
            temp->prev=cur;
         }   
    }
    
    void in(sv*cur,int i)
    {
         if(i==1)
         {
         cout<<"\n"<<"|STT |  MA SV   |   MA LOP   |          HO VA TEN           |KI 1|KI 2|";     
         cout<<"\n"<<"|----|----------|------------|------------------------------|----|----|"<<"\n";
         }
         cout.setf(ios::left);  //can le trai
         cout<<"|"<<setw(4)<<i<<"|"<<setw(10)<<cur->data.masv<<"|"<<setw(12)<<cur->data.malop<<"|";
         cout<<setw(30)<<cur->data.hovaten<<"|"<<setw(4)<<cur->data.diemk1<<"|"<<setw(4)<<cur->data.diemk2<<"|";
         cout<<"\n"<<"|----|----------|------------|------------------------------|----|----|"<<"\n";
    }
    void in1(sv*cur,int i)
    {
    	if(i==1)
    	{    
    		cout<<"\n"<<"|STT |         HO VA TEN            |";
    		cout<<"\n"<<"|----|------------------------------|"<<"\n";
        }	
            cout.setf(ios::left);
            cout<<"|"<<setw(4)<<i<<"|"<<setw(30)<<cur->data.hovaten<<"|";
            cout<<"\n"<<"|----|------------------------------|"<<"\n";
    }
    void hienthitoandanhsach(sv*head)
    {
    sv*ptr;
    int i=0;
    ptr=head->next;     
    while(ptr!=head)
       {               i++;
                       in(ptr,i);
                       ptr=ptr->next;
       }
    }
    void hienthidulieutheolop(sv*head)
    {
         int i=0,flag=0;
         sv*ptr;
         char ml[12];
         cout<<"\nNHAP MA LOP :  ";
         fflush(stdin);
         cin.get(ml,12);
         ptr=head;
         ptr=ptr->next;
         cout<<"\nDANH SACH LOP :";
         while(ptr!=head)
         {
           if(!strcmp(ptr->data.malop,ml))
             {
             i++;                             
             in1(ptr,i);
             flag=1;
             } 
           ptr=ptr->next;
         }                    
         if(flag==0) cout<<"\nMA LOP BAN VUA NHAP KHONG DUNG HOAC LOP KHONG CO SINH VIEN NAO";
    }     
            
    
    void sapxep()
    {
         int choice;
         cout<<"\n"<<"XIN MOI BAN CHON CAC CHUC NANG SAP XEP CUA CHUONG TRINH :\n";
         cout<<"\n"<<"1. SAP XEP THEO MA SO SINH VIEN";
         cout<<"\n"<<"2. SAP XEP THEO HO TEN";
         cout<<"\n"<<"3. SAP XEP THEO DIEM";
         cout<<"\n BAN CHON : ";
         cin>>choice;
         while(choice<1||choice>3)
         {
         cout<<"\nBAN DA CHON CHUC NANG KHONG CO TRONG CHUONG TRINH, XIN MOI CHON LAI :\n";                         
         cout<<"\n1. SAP XEP THEO MA SO SINH VIEN";
         cout<<"\n2. SAP XEP THEO HO TEN";
         cout<<"\n3. SAP XEP THEO DIEM";
         cin>>choice;
         }
         switch(choice)
         {
          case 1:              
               sapxeptheomasv(head);
               break;
          case 2:
               sapxeptheoten(head);
               break;
          case 3:
               sapxeptheodiem(head); 
               break;         
          }
    }
    void sapxeptheomasv(sv*head)
    {
        sv*ptr1,*ptr2,*min;
        
        ptr1=head;
        ptr1=ptr1->next;
        
        while(ptr1->next!=head)
        {  
          min=ptr1;                            
          ptr2=ptr1->next;
          while(ptr2!=head)
          {
            if(ptr2->data.masv<min->data.masv)
            {      
              min=ptr2;
            }                     
            ptr2=ptr2->next;                                        
          }
          swap(ptr1,min);
          ptr1=ptr1->next;
        }
        cout<<"\nDA SAP XEP XONG !";                            
    }
    void swap(sv*ptr1,sv*ptr2)
    {
        sv*temp;
        temp=(sv*) malloc(sizeof(sv));                                   
         if(temp==NULL)
       { 
         cout<<"\nKHONG CAP PHAT DUOC VUNG NHO, KET THUC CHUONG TRINH";
         exit(1);
       }
       else 
       {
           copy(temp,ptr1);
           copy(ptr1,ptr2);
           copy(ptr2,temp);
       }
       free(temp);
    }                    
    void copy(sv*ptr1,sv*ptr2)
    {               
    
           ptr1->data.masv=ptr2->data.masv;
           ptr1->data.diemk1=ptr2->data.diemk1;  
           ptr1->data.diemk2=ptr2->data.diemk2;
           strcpy(ptr1->data.malop,ptr2->data.malop); 
           strcpy(ptr1->data.hovaten,ptr2->data.hovaten);
                 
    }
    void sapxeptheoten(sv*head)
    {
        sv*ptr1,*ptr2,*min;
        char ten1[30],ten2[30];
        ptr1=head;
        ptr1=ptr1->next;              
        
        while(ptr1->next!=head)
        {  
          min=ptr1;
          strcpy(ten1,catxau(min)) ;                          
          ptr2=ptr1->next;
          while(ptr2!=head)
          { 
            strcpy(ten2,catxau(ptr2));             
            if(strcmp(ten1,ten2)>0)
            {      
              min=ptr2;
              strcpy(ten1,catxau(min)) ; 
            }                     
            ptr2=ptr2->next;                                        
          }
          swap(ptr1,min);
          ptr1=ptr1->next;
        } 
        cout<<"\nDA SAP XEP XONG !";                           
    }
    
    char*catxau(sv*ptr)                      
    {
           char *xau1;
           char xau2[30];
           int i=0,j=0,count=0;
           strcpy(xau2,ptr->data.hovaten);
           //Dem so dau cach
           while(xau2[i]!='\0')
           {              
                 if(xau2[i]==' ') count++;
                 i++;
                 }                               
           xau1=strtok(xau2," ");//cat tu ki tu dau tien den dau cach dau tien cua xau2 luu vao xau1
                                 //sau lenh nay, xau2 se con cac ki tu giong nhu xau1, ta duoc first name   
           //vong lap nay se tim den xau con sau dau cach cuoi cung trong xau2 ban dau
           //roi luu vao xau1, sau vong lap nay ta se cat duoc last name 
           while(xau1 != NULL)
           {
               j++;       
               xau1=strtok(NULL," ");
               if(j==count) break;
           }                           
           strcat(xau1,xau2); //noi first name vao sau last name de so tao ra xau dem so sanh
           return xau1;
    }
                       
    void sapxeptheodiem(sv*head)
    {
        sv*ptr1,*ptr2,*max; 
        int choice;
        float diemmax,temp;
        cout<<"\n"<<"BAN CAN SAP XEP THEO LOAI DIEM NAO ?\n";
        cout<<"\n"<<"1. DIEM KI I";
        cout<<"\n"<<"2. DIEM KI II";
        cout<<"\n"<<"3. DIEM TRUNG BINH NAM"<<"\n";
        cout<<"BAN CHON : ";
        cin>>choice;
        while(choice<1||choice>3)
        {
          cout<<"\n"<<"BAN DA CHON CHUC NANG SAP XEP KHONG CO TRONG CHUONG TRINH MOI BAN CHON LAI :"<<"\n";
          cout<<"\n"<<"1. DIEM KI I";
          cout<<"\n"<<"2. DIEM KI II";
          cout<<"\n"<<"3. DIEM TRUNG BINH NAM";
          cout<<"\n BAN CHON : ";
          cin>>choice;
        }                       
                             
        ptr1=head;
        ptr1=ptr1->next;
        while(ptr1->next!=head)
        {  
          max=ptr1;
          
          if(choice==1)
            diemmax=max->data.diemk1;
          else if((choice==2))
            diemmax=max->data.diemk2;
          else 
            diemmax=(max->data.diemk1+max->data.diemk2)/2.0;     
                                                   
          ptr2=ptr1->next;
          
          while(ptr2!=head)
          {   
            if(choice==1)
              temp=ptr2->data.diemk1;
            else if(choice==2)
              temp=ptr2->data.diemk2;
            else 
              temp=(ptr2->data.diemk1+ptr2->data.diemk2)/2.0;   
                           
            if(temp>diemmax)
            {      
              max=ptr2;        
              if(choice==1)
                 diemmax=max->data.diemk1;
              else if(choice==2)
                 diemmax=max->data.diemk2;
              else 
                 diemmax=(max->data.diemk1+max->data.diemk2)/2.0;  
            }                     
            ptr2=ptr2->next;                                        
          }
          swap(ptr1,max);
          ptr1=ptr1->next;
        }
        cout<<"\nDA SAP XEP XONG !";              
    }     
    void timkiem()
    {
         int choice;
         cout<<"\nXIN MOI BAN CHON CAC CHUC NANG TIM KIEM CUA CHUONG TRINH :\n";
         cout<<"\n1. TIM KIEM THEO MA SO SINH VIEN";
         cout<<"\n2. TIM KIEM THEO HO TEN";
         cout<<"\n   BAN CHON ";
         cin>>choice;
         while(choice<1||choice>2)
         {
         cout<<"\n"<<"BAN DA CHON CHUC NANG KHONG CO TRONG CHUONG TRINH, XIN MOI CHON LAI :\n";                         
         cout<<"\n"<<"1. TIM KIEM THEO MA SO SINH VIEN";
         cout<<"\n"<<"2. TIM KIEM THEO HO TEN";
         cout<<"\n  BAN CHON ";
         cin>>choice;
         }
         switch(choice)
         {
          case 1:              
                 timtheomasv(head);
                 break;
          case 2:
               timtheoten(head);
               break;
          }
    }      
         
    void timtheoten(sv*head)
    {
         char ten[30];
         int flag=0,i=0;
         sv*ptr;
         ptr=head;
         ptr=ptr->next;
         cout<<"\nNHAP HO TEN SINH VIEN BAN CAN TIM : ";
         fflush(stdin);
         cin.get(ten,30);
         cout<<"\n"<<"THONG TIN SINH VIEN BAN CAN TIM"<<"\n";
         while(ptr!=head) 
         {
                  if(!strcmp(ptr->data.hovaten,ten))
                  {
                     i++;                               
                     in(ptr,i);
                     flag=1;                                   
                  } 
                  ptr=ptr->next;      
         }
         
         if(flag==0) cout<<"\nKHONG CO SINH VIEN BAN CAN TIM";
    }
    void timtheomasv(sv*head)
    {
         int ma,i=0;
         int flag=0;
         sv*ptr;
         ptr=head;
         ptr=ptr->next;
         cout<<"\nNHAP MA SO SINH VIEN BAN CAN TIM : ";
         cin>>ma;
         cout<<"\n"<<"THONG TIN SINH VIEN BAN CAN TIM\n";
         while(ptr!=head)
         {
                  if(ptr->data.masv==ma)
                  {
                     i++;                   
                     in(ptr,i);
                     flag=1;                           
                  } 
                  ptr=ptr->next;      
         }
         
         if(flag==0) cout<<"\nKHONG CO SINH VIEN BAN CAN TIM";
    }
         
         
    
    mình không biết lỗi ở đâu, các bạn chỉ với (:-)??
     
  3. donkist

    donkist The Warrior of Light

    Tham gia ngày:
    15/11/09
    Bài viết:
    2,235
    Nơi ở:
    Svitk06.com
    ai thêdduocjw ảnh động GIF trong autoit không ... cho minh xin code với
     
  4. rekkhan

    rekkhan Dragon Quest

    Tham gia ngày:
    22/7/05
    Bài viết:
    1,302
    tình hình là mình đang cần tạo 1 cái mảng 8000x8000 bằng C.
    trên win thì nó giới hạn kích thước ở khoảng 250x250
    vào ubuntu nó hào phóng hơn, kéo lên được hơn 1000x1000 nhưng lên đến 2000x2000 lại tẹt, có vị cao nhân tiền bối nào giúp đc ko?

    code mình dùng để tạo mảng như sau:
     
  5. Funnnny

    Funnnny Will Code Python For FOOD Moderator

    Tham gia ngày:
    2/8/05
    Bài viết:
    9,406
    Nơi ở:
    Hanoi, Vietnam
    vector: vector<vector<int>> arrayName;
    pointer: int **arrayName;
    linked list: blah blah
     
  6. rekkhan

    rekkhan Dragon Quest

    Tham gia ngày:
    22/7/05
    Bài viết:
    1,302
    tui mới thử xong, code thế này:
    save với tên a.c

    gcc -o a a.c vẫn dịch bình thường, nhưng tới lúc ./a thì nó báo Segmentation fault. :((

    thử trên ubuntu 10.10 và debian đều ra cùng kết quả :(

    nếu để khoảng 1k thì nó ko bị lỗi.
     
  7. Funnnny

    Funnnny Will Code Python For FOOD Moderator

    Tham gia ngày:
    2/8/05
    Bài viết:
    9,406
    Nơi ở:
    Hanoi, Vietnam
    xem xem nó segment fault ở đâu.
    Bắt buộc phải dùng C à
    Mảng bị tràn stack thì thử
    static int[x][x] coi

    Hoặc ko thì tạo mảng 1 chiều [8k*8k]
     
  8. rekkhan

    rekkhan Dragon Quest

    Tham gia ngày:
    22/7/05
    Bài viết:
    1,302
    hôm qua trên trường, thử thì báo lỗi, tối về nhà mày mò trên cái ubuntu 64 bit thì được, nhưng khi áp code vào mấy cái file số liệu cần xử lí thì nó lại dở chứng.
    tui đang nghi ngờ là ở nhà khai báo kiểu dữ liệu sai, dữ liệu ra của tui có tới 18 số phần thập phân, ko biết tui nên dùng float hay double :-?

    à, cho hỏi luôn, ông biết trang nào cho mình tra mấy cái ký tự khai báo kiểu dữ liệu xuất nhập ko?
    kiểu như: %f ứng với float, %d ứng với int, %s ứng với char, string... :D
     
  9. Funnnny

    Funnnny Will Code Python For FOOD Moderator

    Tham gia ngày:
    2/8/05
    Bài viết:
    9,406
    Nơi ở:
    Hanoi, Vietnam
    http://cplusplus.com/reference/clibrary/cstdio/printf/
    Mình toàn dùng cplusplus :D
    Dùng với con trỏ có lỗi là bình thường, học quen 1 thời gian sẽ biết cách quản lí bộ nhớ, hoặc ko thì tìm tài liệu nào đó mà đọc :D
    Thập phân thì nên dùng double nó sẽ chuẩn hơn.
     
  10. rekkhan

    rekkhan Dragon Quest

    Tham gia ngày:
    22/7/05
    Bài viết:
    1,302
    cám ơn rất nhiều :D
     
  11. HieuNM

    HieuNM Mayor of SimCity

    Tham gia ngày:
    3/3/07
    Bài viết:
    4,078
    Nơi ở:
    H.U.S.T
    các bạn cho mình hỏi giờ thiết kế flash với actionscript thì nên dùng chương trình gì để thiết kế
    mình đang dùng adobe flash professional cs5 nhưng làm thử theo mấy cái ebook trên mạng thấy toàn bị lỗi

    còn nữa là có forum nào chuyên về loại lập trình này không
     
  12. Funnnny

    Funnnny Will Code Python For FOOD Moderator

    Tham gia ngày:
    2/8/05
    Bài viết:
    9,406
    Nơi ở:
    Hanoi, Vietnam
    vnfx :D, thời xưa cắm mặt bên này, lâu rồi ko vào nữa ko biết còn active ko
    Còn flash + as thì đương nhiên là dùng adobe flash rồi
     
  13. c0m3

    c0m3 Mr & Ms Pac-Man

    Tham gia ngày:
    19/4/07
    Bài viết:
    129
    ^^: www.aloflash.com có bác admin củng nhiệt tình lắm.
    actionscript.com hay j đó, mọi người củng ok lắm, có khó khăn j post hỏi, 1 xíu là có người trả lời ah :)
     
  14. HieuNM

    HieuNM Mayor of SimCity

    Tham gia ngày:
    3/3/07
    Bài viết:
    4,078
    Nơi ở:
    H.U.S.T
    còn trình gì nhẹ hơn nữa không :(
    Macromedia Flash 8 với FlashDevelop, mình biết mỗi 2 cái này
    nhưng cái actionscript viết bằng FlashDevelop ngôn ngữ nó hơi khác so với adobe flash professional cs5
     
  15. Funnnny

    Funnnny Will Code Python For FOOD Moderator

    Tham gia ngày:
    2/8/05
    Bài viết:
    9,406
    Nơi ở:
    Hanoi, Vietnam
    Flash nếu muốn chính thống thì chỉ dùng trên Adobe Flash thôi :D
     
  16. zZPowerMGZz

    zZPowerMGZz Mr & Ms Pac-Man

    Tham gia ngày:
    4/8/05
    Bài viết:
    108
    Ai copy về xem dùm mình cái này cái h mình muốn an chữ Login rồi dữ liệu nhập vào kia mà ko biết làm
    cái hàm writedate() hình như để xuất ra nhưng mà trong hàm nó viết gì mình chả hiểu T.T
    ai sửa lại dùm tớ cần gấp :(

    ---------- Post added at 09:56 ---------- Previous post was at 09:53 ----------

    đây là bài gốc , bài trên tớ đang sửa lại mà chả ra cái j cả :|
     
  17. Bối Bối

    Bối Bối C O N T R A

    Tham gia ngày:
    20/2/06
    Bài viết:
    1,859
    Nơi ở:
    Ha Noi, Vietnam,
    Copy paste và ko hiểu j như bạn thì pó tay. write data lấy dữ liệu từ form ghi xuống dưới rùi xóa form đi
    mà code chỉ work chuẩn với Chrome thôi.

    Mã:
    <html>
    <head>
    <meta http-equiv="Content-Language" content="en-us">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
    <meta name="ProgId" content="FrontPage.Editor.Document">
    <title>THEM SINH VIEN</title>
    <script>
    <!-- Cau 1-->
    
    function Init()
    {
    	//frmnhap.ht.focus()
    	document.getElementById("ht").focus();
    	document.getElementById("nh").disabled=true
    }
    <!---Cau 2-->
    function Test()
    {
    	var hten,lop;
    	hten=document.getElementById("ht").value;
    	lop=document.getElementById("lop").selectedIndex.value;
    	if(hten=="")
    	{
    		alert("Ban quen nhap ho ten roi")
    		return;
    	}
    	
    	document.getElementById("nh").disabled=false
    
    }
    var count;
    count=1;
    function WriteData()
    {
    var hten,lop,mon;
    var pdau,pthan,pthem,pcuoi
    hten=document.getElementById("ht").value;
    lop=document.getElementById("lop").value;
    mon=document.getElementById("mon").value;
    document.getElementById("Idhten").innerHTML=hten
    document.getElementById("Idlop").innerHTML=lop
    document.getElementById("Idmon").innerHTML=mon
    document.getElementById("Idhten").id="Idhten"+count
    document.getElementById("Idlop").id="Idlop"+count
    document.getElementById("Idmon").id="Idmon"+count
    count++;
    pthan=document.getElementById("Iddata").innerHTML
    pdau="<table id=Iddata border='1' cellpadding=1 cellspacing='1' width='100%' STYLE='border-collapse:collapse'>"
    pthem="<tr>"
    pthem=pthem+ " <td width=50% id='Idhten' style='font-family: Tahoma; font-size: 10pt; color: #336699; font-weight: bold'>&nbsp;</td>"
    pthem=pthem+" <td width=50% id=Idlop style='font-family: Tahoma; font-size: 10pt; color: #336699; font-weight: bold'>&nbsp;</td>"
    pthem=pthem+ "<td width='50%' id='Idmon' name='Idmon' style='font-family: Tahoma; font-size: 10pt; color: #336699; font-weight: bold'>&nbsp;</td> </tr>"
    pcuoi="</table>"
    pthan=document.getElementById("Iddata").outerHTML=pdau+pthan+pthem+pcuoi
    
    document.getElementById("nh").disabled=true;
    document.getElementById("ht").value="";
    document.getElementById("lop").selectedIndex=1;
    document.getElementById("mon").selectedIndex=1;
    }
    </script>
    
    </head>
    
    <body onload=Init()>
    <table border="1">
    
    <form method="POST" action="--WEBBOT-SELF--" name="frmnhap">
    
    
    Họ tên<input type="text" id="ht" name="ht" size="20" onblur="Test()"><br></br>
    Lớp
    &nbsp;&nbsp;<select id="lop" name="lop">
    <option value="09CDTP2" selected="selected">09CDTP2</option>
    <option value="09CDTP1">09CDTP1</option>
    <option value="09CDTM1">09CDTM1</option>
    <option value="09CDTm2">09CDTm2</option></select><br></br>
    Môn &nbsp; 
    
    
    <select id="mon" name="mon">
    <option value="Anh Văn" selected="selected">Anh Văn</option>
    <option value="Tin học">Tin học</option>
    <option value="Triết học">Triết học</option>
    <option value="Vật lý">Vật lý</option>
    <option value="Tóan">Tóan</option></select>
    
    <br></br>
    <td width="26%" style="font-family: Tahoma; font-size: 10pt; color: #336699; font-weight: bold" align="right">&nbsp;</td>  
    <p>
    <input type="radio" name="Gioitinh" onMouseMove="window.status='Trong nam';">
    Lý thuyết</p>
    <p> 
    <input type="radio" name="Gioitinh" onMouseMove="window.status='Trong nu';">
    
    
    Thực h&agrave;nh
    </td>
    </p>
    <tr>
    
    <td width="26%" style="font-family: Tahoma; font-size: 10pt; color: #336699; font-weight: bold" align="right"></td>
    <td width="74%" style="font-family: Tahoma; font-size: 10pt; font-weight: bold"><input type="button" value="Login" onClick="WriteData()" id="nh" name="nh"></td>
    </tr>
    
    <tr>
    <td width="100%" style="font-family: Times New Roman; font-size: 14pt; color: #CC3300; font-weight: bold" align="center" colspan="2" bgcolor="#E6FFF9"></td>
    </tr>
    <tr>
    <td width="100%" style="font-family: Tahoma; font-size: 10pt; color: #336699; font-weight: bold" align="center" colspan="2">
    <table id=Iddata border="1" cellpadding=1 cellspacing="1" width="100%" STYLE="border-collapse:collapse">
    <tr>
    <td width="50%" style="font-family: Tahoma; font-size: 10pt; font-weight: bold" align="center" >Họ T&ecirc;n </td>
    <td width="50%" style="font-family: Tahoma; font-size: 10pt; font-weight: bold" align="center">Lớp</td>
    <td width="50%" style="font-family: Tahoma; font-size: 10pt;font-weight: bold" align="center">M&ocirc;n học </td> </tr>
    <tr>
    <td width="50%" id="Idhten" style="font-family: Tahoma; font-size: 10pt; color: #336699; font-weight: bold">&nbsp;</td>
    <td width="50%" id="Idlop" style="font-family: Tahoma; font-size: 10pt; color: #336699; font-weight: bold">&nbsp;</td>
    <td width="50%" id="Idmon" name="Idmon" style="font-family: Tahoma; font-size: 10pt; color: #336699; font-weight: bold">&nbsp;</td>
    </tr>
    
    
    
    
    
    
    </table>
    </form>
    
    </body>
    
    </html>
    
     
  18. zZPowerMGZz

    zZPowerMGZz Mr & Ms Pac-Man

    Tham gia ngày:
    4/8/05
    Bài viết:
    108
    Mã:
    function MM_findObj(n, d) { //v4.01
      var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
        d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
      if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
      for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
      if(!x && d.getElementById) x=d.getElementById(n); return x;
    }
    
    function MM_validateForm() { //v4.0
      var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
      for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
        if (val) { nm=val.name; if ((val=val.value)!="") {
          if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
            if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
          } else if (test!='R') { num = parseFloat(val);
            if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
            if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
              min=test.substring(8,p); max=test.substring(p+1);
              if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
        } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
      } if (errors) alert('The following error(s) occurred:\n'+errors);
      document.MM_returnValue = (errors == '');
    }
    ai dịch 2 đoạn mã ra dùm mình đc ko :-s ông thầy trong lớp chả chỉ gì tự nhiên quăng đoạn code rồi bảo tuần sau ra đề kt khó hơn thế này 1 tí 8-}
     
  19. Funnnny

    Funnnny Will Code Python For FOOD Moderator

    Tham gia ngày:
    2/8/05
    Bài viết:
    9,406
    Nơi ở:
    Hanoi, Vietnam
    Đoạn 1 có lẽ là lấy cái giá trị của element n, đoạn 2 sử dụng đoạn 1 để lấy các element trong 1 form và kiểm tra tính hợp lệ.
    Cụ thể thì phải nói là bạn đang đặt nó vào làm gì, ở đâu, sau đó tự mà debug ra, chứ quăng mỗi tí code thế này ai mà giúp gì được =))
    Đoạn code trông thì dài nhưng toàn so sánh với in ra màn hình thôi
     
  20. zZPowerMGZz

    zZPowerMGZz Mr & Ms Pac-Man

    Tham gia ngày:
    4/8/05
    Bài viết:
    108
    Mã:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Untitled Document</title>
    <script language="JavaScript" type="text/JavaScript">
    <!--
    function MM_findObj(n, d) { //v4.01
      var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
        d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
      if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
      for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
      if(!x && d.getElementById) x=d.getElementById(n); return x;
    }
    
    function MM_validateForm() { //v4.0	
      var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
      for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
        if (val) { nm=val.name; if ((val=val.value)!="") {
          if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
            if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
          } else if (test!='R') { num = parseFloat(val);
            if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
            if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
              min=test.substring(8,p); max=test.substring(p+1);
              if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
        } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
      } if (errors) alert('The following error(s) occurred:\n'+errors);
      document.MM_returnValue = (errors == '');
    }
    //-->
    </script>
    <style type="text/css">
    <!--
    .style2 {	color: #FFFFFF;
    	font-family: Arial, Helvetica, sans-serif;
    	font-size: 11px;
    }
    -->
    </style>
    </head>
    
    <body>
    <table width="778" border="0" cellpadding="0" cellspacing="0">
      <!--DWLayoutTable-->
      <tr>
        <td height="55" colspan="3" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
            <!--DWLayoutTable-->
            <tr>
              <td width="251" height="55" valign="top"><img src="images/Logo.gif" width="251" height="55"></td>
              <td width="135" valign="top"><a href="Gioi_Thieu.htm"><img src="images/Nut_GioiThieu.gif" width="135" height="55" border="0"></a></td>
              <td width="71" valign="top"><a href="Lien_He.htm"><img src="images/Nut_LienHe.gif" width="71" height="55" border="0"></a></td>
              <td width="94" valign="top"><img src="images/Nut_ThuongMai.gif" width="94" height="55"></td>
              <td width="71" valign="top"><img src="images/Nut_DichVu.gif" width="71" height="55"></td>
              <td width="66" valign="top"><img src="images/Nut_DauTu.gif" width="66" height="55"></td>
              <td width="90" valign="top"><img src="images/Nut_DuLich.gif" width="90" height="55"></td>
            </tr>
                        </table></td>
      </tr>
      <tr>
        <td width="199" rowspan="3" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#6699CC">
            <!--DWLayoutTable-->
            <tr>
              <td height="227" colspan="5" valign="top"><img src="images/LienHe_Hinh.gif" width="199" height="227"></td>
            </tr>
            <tr>
              <td width="25" height="193"></td>
              <td width="64"></td>
              <td width="10"></td>
              <td width="77"></td>
              <td width="25"></td>
            </tr>
            <tr>
              <td height="19">&nbsp;</td>
              <td valign="top"><a href="#"><img src="images/english.gif" width="64" height="18" border="0"></a></td>
              <td>&nbsp;</td>
              <td valign="top"><a href="#"><img src="images/tiengviet.gif" width="77" height="18" border="0"></a></td>
              <td></td>
            </tr>
            <tr>
              <td height="11"></td>
              <td></td>
              <td></td>
              <td></td>
              <td></td>
            </tr>
        </table></td>
        <td width="549" height="373" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
            <!--DWLayoutTable-->
            <tr>
              <td width="11" rowspan="3" valign="top"><!--DWLayoutEmptyCell-->&nbsp;</td>
              <td width="432" height="39" valign="bottom"><img src="images/LienHe_TieuDe.gif" width="432" height="17"></td>
              <td width="76">&nbsp;</td>
              <td width="30">&nbsp;</td>
            </tr>
            <tr>
              <td height="19" valign="top"><!--DWLayoutEmptyCell-->&nbsp;</td>
              <td></td>
              <td></td>
            </tr>
            <tr>
              <td height="315" colspan="2" align="left" valign="top"><form action="mailto:[email protected]" method="post" name="form1" onSubmit="MM_validateForm('txthoten','','R','txtdienthoai','','NisNum','txtfax','','NisNum','txtmail','','RisEmail','txtnoidung','','R');return document.MM_returnValue">
                  <table width="414" border="0">
                    <!--DWLayoutTable-->
                    <tr>
                      <th width="175" scope="row" align="right">Ho ten day du *:</th>
                      <td colspan="2"> <input name="txthoten" type="text" id="txthoten" size="30" maxlength="20"></td>
                    </tr>
                    <tr>
                      <th scope="row" align="right">Cong ty: </th>
                      <td colspan="2"><input name="txtcongty" type="text" id="txtcongty" size="30" maxlength="25"></td>
                    </tr>
                    <tr>
                      <th scope="row" align="right">Dia chi: </th>
                      <td colspan="2"><input name="txtdiachi" type="text" id="txtdiachi" size="30" maxlength="25"></td>
                    </tr>
                    <tr>
                      <th scope="row" align="right">Dien thoai: </th>
                      <td colspan="2"><input name="txtdienthoai" type="text" id="txtdienthoai" size="15" maxlength="10"></td>
                    </tr>
                    <tr>
                      <th scope="row" align="right">Fax:</th>
                      <td colspan="2"><input name="txtfax" type="text" id="txtfax" size="15" maxlength="10"></td>
                    </tr>
                    <tr>
                      <th scope="row" align="right">E-mail*:</th>
                      <td colspan="2"><input name="txtmail" type="text" id="txtmail" size="30" maxlength="25"></td>
                    </tr>
                    <tr>
                      <th scope="row" align="right" valign="top">Noi dung*: </th>
                      <td colspan="2"><textarea name="txtnoidung" cols="30" rows="5" id="txtnoidung"></textarea></td>
                    </tr>
                    <tr>
                      <th height="21" scope="row">&nbsp;</th>
                      <th colspan="2" align="center" valign="top">* Bat buoc</th>
                    </tr>
                    <tr>
                      <th scope="row">&nbsp;</th>
                      <td width="124" align="center"><input type="submit" name="Submit" value="Gui di">                  </td>
                      <td width="101"><input type="reset" name="Reset" value="Xoa"></td>
                    </tr>
                  </table>
              </form></td>
              <td>&nbsp;</td>
            </tr>
            </table></td>
        <td width="30">&nbsp;</td>
      </tr>
      <tr>
        <td height="27" colspan="2" valign="middle"><hr color="#000066"></td>
      </tr>
      <tr>
        <td height="44">&nbsp;</td>
        <td></td>
      </tr>
      <tr valign="middle" bgcolor="#083C77">
        <td height="19" colspan="3"><span class="style2"><marquee loop="0"> Xem tot tren trinh duyet IE 5.0 tro len, do phan giai 800x600 </marquee></span></td>
      </tr>
    </table>
    </body>
    </html>
    
    đây là đoạn code cậu đem về chạy thử nhé
    tớ muốn hiểu từng dòng cơ vì tớ học lt web nhưng ông thầy chỉ mới dạy có làm phần thiết kế chứ phần lập trình hàm thì chả hiểu cái j :| ổng chưa dạy gì cả :( chả hiểu !d nghĩa là cái quái gì nữa :| tớ học c và c# r mà đọc cái này chả thấy liên quan j
     

Chia sẻ trang này