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

Đề tài: (Lỗi) iso c++ forbids comparison between pointer and integer

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

    Angry (Lỗi) iso c++ forbids comparison between pointer and integer

    Code:
    #include <iostream>
    #include <string.h>
    using namespace std;
    
    main(){
    	int i,j;
    	char n[17], m[17];
    	cout<<"n="; cin>>n; cout<<endl;
    	for (i=0;i++;i<=strlen(n)){
    			if (n[i] =="."){
    				for (j=i+1;j++;j<=strlen(n)){
    						m[j]=n[j];
    				}
    			}
    	}
    	for (j=0;j++;j<=strlen(m)){
    		cout<<m[j];
    	}
    }
    Mình thử đoạn code này để cắt chuỗi phía sau dấu "." , nhưng C++ báo lỗi Compare ở chỗ n[i] == "."!
    Các bạn giúp mình với :(

  2. #2
    Ngày gia nhập
    11 2012
    Nơi ở
    Ở trong rừng trong rú
    Bài viết
    7

    Bạn sửa n[i] == "." thành n[i] == '.' là được.
    Vì n[i] là kiểu char mà, còn "." là kiểu char*, không so sánh được.

  3. #3
    Ngày gia nhập
    09 2010
    Bài viết
    5

    Mặc định so sánh được nhưng ko ra thứ mình cần

    mình thử rồi, chương trình ko lỗi nhưng ko ra thứ mình cần :(. Trong mảng có "." mà không thể cắt đựoc chuỗi phía sau!

  4. #4
    Ngày gia nhập
    11 2012
    Nơi ở
    Ở trong rừng trong rú
    Bài viết
    7

    Trích dẫn Nguyên bản được gửi bởi axtanh3 Xem bài viết
    mình thử rồi, chương trình ko lỗi nhưng ko ra thứ mình cần :(. Trong mảng có "." mà không thể cắt đựoc chuỗi phía sau!
    Thứ nhất, vòng lặp for là: for(<gán giá trị cho biến điều khiển>; <kiểm tra điều kiện>; <thay đổi giá trị biến điều khiển>). Bạn làm vòng for sai rồi.

    Đây là code đã sửa những chỗ sai:

    Code:
    #include <iostream>
    #include <string.h>
    using namespace std;
    
    int main(){  //Main nên có kiểu dữ liệu trả về (int hoặc void....)
    	int i,j;
    	char n[17], m[17];
    	cout<<"n="; cin>>n; cout<<endl;
    	for (i=0;i<strlen(n);i++){
    			if (n[i] =='.'){
    				for (j=i+1;j<=strlen(n);j++){ // Chỗ này phải là <=. 
    						m[j-i-1]=n[j];
    				}
    			}
    	}
    	for (j=0;j<strlen(m);j++){
    		cout<<m[j];
    	}
            return 0; //nếu để hàm main kiểu void thì không cần cái này
    }

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

    bạn nhập xâu bằng cin>>n; thế này gặp kí tự white space là ' ' hay '\t' mà dấu chấm đằng sau những cái này thì tách kiểu gì, cin không nhận các kí tự white space, nên đổi thành cin.getline(n,17); mà đặt tên biến nên có ý nghĩa hơn .
    Giao lưu và học hỏi
    https://www.facebook.com/kimcy1992

  6. #6
    Ngày gia nhập
    06 2007
    Nơi ở
    C:\WINDOWS\system32\dllcache\
    Bài viết
    3,007

    Mặc định (Lỗi) iso c++ forbids comparison between pointer and integer

    Thử edit lại như này, bảnk chạy thử xem có được

    C++ Code:
    1. #include <iostream>
    2. #include <string.h>
    3. using namespace std;
    4.  
    5. int main()
    6. {
    7.     char n[17],*p;
    8.     cout<<"n=";
    9.     cin>>n;
    10.  
    11.     p=n;
    12.     while((*p)!='.'&&(*p)) p++;
    13.     if(*p) cout<<"\n"<<p;
    14.  
    15.     retrun 0;
    16. }
    ^_,^

    Tổng hợp các câu chuyện hài hước vui nhộn, sử dụng Speech Synthesis để đọc : https://www.youtube.com/channel/UCLk...Tjrg/playlists


    Bùi Tấn Quang

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

  1. Bài tập C++ Xin cách ép kiểu qua lại giữa char, String, int, integer
    Gửi bởi hungnt03 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 01-05-2013, 11:24 AM
  2. Lập trình C++ Swith hight and low nibbles in 8-bit integer?
    Gửi bởi xpizzix 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: 10-10-2012, 01:59 PM
  3. Lớp integer trong java được thể hiện như thế nào?
    Gửi bởi ruacon trong diễn đàn Thắc mắc lập trình Java
    Trả lời: 2
    Bài viết cuối: 14-03-2012, 01:22 PM
  4. Sự khác nhau giữa int và integer là gì?
    Gửi bởi vokhuyet984 trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 2
    Bài viết cuối: 05-02-2012, 11:49 AM
  5. Bài tập C Sắp xếp tên theo alphabet lỗi 29 forbids assignment of arrays
    Gửi bởi ToNy_ trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 15
    Bài viết cuối: 23-04-2011, 02:21 PM

Tags của đề tài này

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