Từ 1 tới 7 trên tổng số 7 kết quả

Đề tài: Viết lại hàm strcmp với C++ như thế nào?

  1. #1
    Ngày gia nhập
    04 2009
    Bài viết
    17

    Mặc định Viết lại hàm strcmp với C++ như thế nào?

    có pro nào có thể giúp mình viết lại strcmp() trong thư viện tring.h kô, thank nhiều

  2. #2
    Ngày gia nhập
    02 2009
    Nơi ở
    Lập thạch-Vĩnh phúc
    Bài viết
    142

    Không biết cái này giúp được ban hay không
    C++ Code:
    1. #include<iostream.h>
    2. #include<conio.h>
    3. #include<string.h>
    4. #include<stdio.h>
    5. class SV
    6. {
    7.     private:
    8.     char MaSV[5];
    9.  
    10.     char ns[15];
    11.     int dt,dl,dh;
    12.     float tb;
    13.     public:
    14.     char htSV[30];
    15.     void nhap();
    16.     void hien();
    17.     float Tinh_Tb();
    18.     friend void tach(char *a,char *tu);
    19.  
    20. };
    21. void tach(char *a,char *tu)
    22. {
    23.     int i,j,l;
    24.     i=strlen(a);
    25.     while((a[i-1]==' ')&&(i>0))
    26.     a[--i]=0;
    27.     //l=strlen(a);
    28.     while((a[i-1]!=' ')&&(i>0))
    29.     i--;
    30.     j=0;
    31.     while(a[i]!=0)
    32.     tu[j++]=a[i++];
    33.     tu[j]='\0';
    34.  
    35. }
    36. void SV::nhap()
    37. {
    38.     cout<<"\nNhap vao ma sinh vien: ";
    39.     fflush(stdin);
    40.     gets(MaSV);
    41.     cout<<"\nNhap vao ten sinh vien: " ;
    42.     fflush(stdin);
    43.     gets(htSV);
    44.     cout<<"\nNhap vao ngay sinh: ";
    45.     fflush(stdin);
    46.     gets(ns);
    47.     cout<<"\nNhap vao diem toan: ";
    48.     cin>>dt;
    49.     cout<<"\Nhap vao dien ly: ";
    50.     cin>>dl;
    51.     cout<<"\nNhap vao diem hoa: ";
    52.     cin>>dh;
    53. }
    54. void SV::hien()
    55. {
    56.  
    57.     cout<<MaSV;
    58.     cout<<"\t "<<htSV;
    59.     cout<<"\t "<<ns;
    60.     cout<<"\t "<<dt;
    61.     cout<<"\t     "<<dl;
    62.     cout<<"\t     "<<dh;
    63. }
    64. float SV::Tinh_Tb()
    65. {
    66.     tb=(float)(dt+dl+dh)/3;
    67.     return tb;
    68. }
    69. void main()
    70. {
    71. clrscr();
    72. SV a[20],tg;
    73. char t1[10],t2[10];
    74. int n,i,j;
    75. cout<<"\nNhap vao so luong so sinh vien";
    76. cin>>n;
    77. for(i=0;i<n;i++)
    78. {
    79.     cout<<"\nNhap vao sinh vien thu: "<<i+1;
    80.     a[i].nhap();
    81. }
    82.  
    83.     cout<<"\nDanh Sach sinh vien vua nhap";
    84.     cout<<"\nMaSv";
    85.     cout<<"\tTenSv";
    86.     cout<<"\tNgaysinh: ";
    87.     cout<<"\tDienToan";
    88.     cout<<"\tDiemly";
    89.     cout<<"\tDiemhoa";
    90.     cout<<"\tDiemTB";
    91.     float s;
    92. for(i=0;i<n;i++)
    93. {
    94.     cout<<"\n";
    95.     a[i].hien();
    96.     s=a[i].Tinh_Tb();
    97.     cout<<"\t    "<<s;
    98. }
    99. for(i=0;i<n-1;i++)
    100.     for(j=i+1;j<n;j++)
    101.     {
    102.     tach(a[i].htSV,t1);
    103.     tach(a[j].htSV,t2);
    104.     if(strcmp(t1,t2)>0)
    105.     {
    106.       tg=a[i];
    107.       a[i]=a[j];
    108.       a[j]=tg;
    109.     }
    110.     }
    111.  
    112. cout<<"\n******************************";
    113. cout<<"\n Danh sach sau khi sap xep la";
    114. cout<<"\n";
    115. for(i=0;i<n;i++)
    116. {
    117.     cout<<"\n";
    118.     a[i].hien();
    119. }
    120. getch();
    121. }
    Tôi thề giúp ai giúp đến cùng không bao giờ để bạn thất vọng.Nếu viêc bạn nhờ trông khả năng của tôi.
    C__azx__L

  3. #3
    Ngày gia nhập
    01 2009
    Nơi ở
    Hà Nội
    Bài viết
    205

    Viết lại hàm strcmp trong string.h chứ gì?

    C Code:
    1. #include <conio.h>
    2. #include <stdio.h>
    3. int str_cmp(char *a,char *b)
    4. {
    5.     int i=0;
    6.     while(*a++==*b++) return *--a - *--b;
    7. }
    8. main()
    9. {
    10.     char a[100],b[100];
    11.     printf("\nNhap A : ");
    12.     gets(a);
    13.     printf("\nNhap B : ");
    14.     gets(b);
    15.     printf("\nXau Lon Hon : ");
    16.     if(str_cmp(a,b)>0) puts(a);
    17.     else puts(b);
    18.     getch();
    19. }

  4. #4
    Ngày gia nhập
    02 2012
    Bài viết
    4

    Trích dẫn Nguyên bản được gửi bởi trubavuong Xem bài viết
    Viết lại hàm strcmp trong string.h chứ gì?

    C Code:
    1. #include <conio.h>
    2. #include <stdio.h>
    3. int str_cmp(char *a,char *b)
    4. {
    5.     int i=0;
    6.     while(*a++==*b++) return *--a - *--b;
    7. }
    8. main()
    9. {
    10.     char a[100],b[100];
    11.     printf("\nNhap A : ");
    12.     gets(a);
    13.     printf("\nNhap B : ");
    14.     gets(b);
    15.     printf("\nXau Lon Hon : ");
    16.     if(str_cmp(a,b)>0) puts(a);
    17.     else puts(b);
    18.     getch();
    19. }
    thiếu dk rồi !

  5. #5
    Ngày gia nhập
    04 2012
    Bài viết
    42

    thiếu dk rồi !
    Thiếu điều kiện gì bạn?
    C Code:
    1. while (!silly)
    2.     cout<<"Study everything !";

  6. #6
    Ngày gia nhập
    04 2010
    Nơi ở
    Binh Thanh, Hồ Chí Minh, Vietnam, Vietnam
    Bài viết
    504

    Mặc định Viết lại hàm strcmp với C++ như thế nào?

    Trích dẫn Nguyên bản được gửi bởi kimlama Xem bài viết
    Thiếu điều kiện gì bạn?
    Chẳng phải thiếu, mà cái hàm đó sai bét!!!
    P/s: Thiếu 1 dấu ";" nên sai! Và cũng thiếu điều kiện kết thúc chuỗi, dùng hàm này chương trình "chết" như chơi!
    Kết bạn với tôi <3
    Skype: giautm
    Facebook:
    https://fb.com/giautm.duongntt
    Email:
    giau.tmg@gmail.com

  7. #7
    Ngày gia nhập
    01 2012
    Nơi ở
    hà nôi 2
    Bài viết
    59

    Thiếu điều kiện gì bạn?
    C Code:
    1. while(*a++==*b++) return *--a - *--b;
    sai ở đây này bạn. While chỉ thực hiện có một lần và kết thúc hàm ngay, cần có chấm phảy sau while ,bạn ý viết tắt nhưng chả hiểu bản chất gì. mà hàm này cũng chả ổn tí nào vớ vẩn quá sai luôn. mình xin góp code dài dài
    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3.  
    4. void inketqua(int ss);
    5. //tim let qua so sanh
    6. void str_cmp(char *s, char *s1)
    7. {
    8.     int lengts=0,lengts1=0,dem=0;
    9.     for(int i=0;s[i]!='\0';++i)
    10.         ++dem;
    11.     lengts=dem;
    12.    
    13.     dem=0;
    14.     for(int i=0;s1[i]!='\0';++i)
    15.         ++dem;
    16.     lengts1=dem;
    17.     //so sanh va tra ve
    18.     int n=0;
    19.     if(lengts>lengts1)
    20.         n=lengts;
    21.     else
    22.         n=lengts1;
    23.     int kt=0;
    24.     for(int i=0;i<n;++i)
    25.        if(s[i]>s1[i])
    26.        {
    27.              kt=1;
    28.              break;
    29.        }
    30.     else
    31.         if(s[i]<s1[i])
    32.         {
    33.              kt=-1;
    34.              break;
    35.         }
    36.    inketqua(kt);
    37. }
    38. //in ra ket qua
    39. void inketqua(int ss)
    40. {
    41.      if(ss==1)
    42.           printf("Chuoi s lon hon chuoi s1");
    43.      else
    44.          if(ss==-1)
    45.               printf("Chuoi s nho hon chuoi s1");
    46.           else
    47.               printf("Chuoi s  bang chuoi s1");
    48.      return;
    49. }
    50.          
    51. int main()
    52. {
    53.     char s[40],s1[40];
    54.     printf("Nhap vao chuoi s :");
    55.     gets(s);
    56.     fflush(stdin);
    57.     printf("Nhap vao chuoi s1:");
    58.     gets(s1);
    59.     str_cmp(s,s1);
    60.     getch();
    61.     return 0;
    62. }
    Đã được chỉnh sửa lần cuối bởi kimchung929 : 26-10-2012 lúc 08:47 PM.
    I'm still a chicken
    rất vui khi được làm quen với mọi người ^_^ http://www.facebook.com/chung.v.nguyen.14

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

  1. Có lỗi đối với hàm Strcmp();
    Gửi bởi luckyfor trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 8
    Bài viết cuối: 20-12-2010, 09:51 AM
  2. Sử dụng strlen và strcmp như thế nào?
    Gửi bởi DragonKillerngh trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 14-12-2010, 05:17 PM
  3. hàm strcmp có tác dụng như thế nào?
    Gửi bởi phamay trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 7
    Bài viết cuối: 18-08-2010, 01:26 PM
  4. Hàm strcmp có tác dụng gì?
    Gửi bởi linhdong24 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 20-06-2009, 12:48 AM
  5. hỏi về strcmp
    Gửi bởi 7261819 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 20-04-2009, 06:16 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