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

Đề tài: Bài tập C cơ bản

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

    Mặc định Bài tập C cơ bản

    -đề viết trình nhập tên sinh viên .in ra chữ viết hoa và xóa kí tự khoảng trắng
    -mình làm như vậy .nhưng nó cứ báo sai chổ : strlen(hoten)--; mong anh em giúp .

    Code:
    #include"stdio.h"
    #include"conio.h"
    #include"string.h"
    #include"ctype.h"
    main()
    {
    	clrscr();
    	char *hoten,dem=0,n;
    	printf("nhap ho va ten :");
    	gets(hoten);
    	for(int i=0;i<strlen(hoten);i++)
    	{
    		if(hoten[i]==' ')
    		{
    			hoten[i]=hoten[i+1];
    			strlen(hoten)--;
    		}
    		hoten[i]=toupper(hoten[i]);
    		printf("%c",hoten[i]);
    	}
    
    
    	getch();
    }

  2. #2
    Ngày gia nhập
    11 2008
    Nơi ở
    Hà Nội
    Bài viết
    70

    Trích dẫn Nguyên bản được gửi bởi kenzi_100c Xem bài viết
    -đề viết trình nhập tên sinh viên .in ra chữ viết hoa và xóa kí tự khoảng trắng
    -mình làm như vậy .nhưng nó cứ báo sai chổ : strlen(hoten)--; mong anh em giúp .

    Code:
    #include"stdio.h"
    #include"conio.h"
    #include"string.h"
    #include"ctype.h"
    main()
    {
    	clrscr();
    	char *hoten,dem=0,n;
    	printf("nhap ho va ten :");
    	gets(hoten);
    	for(int i=0;i<strlen(hoten);i++)
    	{
    		if(hoten[i]==' ')
    		{
    			hoten[i]=hoten[i+1];
    			strlen(hoten)--;
    		}
    		hoten[i]=toupper(hoten[i]);
    		printf("%c",hoten[i]);
    	}
    
    
    	getch();
    }
    Theo mình phải là i++ chứ không phải là strlen(hoten)--, bạn thử lại xem.
    Dân thường sống đẹp đè bẹp dân chơi.
    Hi [you]

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

    Trích dẫn Nguyên bản được gửi bởi kenzi_100c Xem bài viết
    -đề viết trình nhập tên sinh viên .in ra chữ viết hoa và xóa kí tự khoảng trắng
    -mình làm như vậy .nhưng nó cứ báo sai chổ : strlen(hoten)--; mong anh em giúp .

    Code:
    #include"stdio.h"
    #include"conio.h"
    #include"string.h"
    #include"ctype.h"
    main()
    {
    	clrscr();
    	char *hoten,dem=0,n;
    	printf("nhap ho va ten :");
    	gets(hoten);
    	for(int i=0;i<strlen(hoten);i++)
    	{
    		if(hoten[i]==' ')
    		{
    			hoten[i]=hoten[i+1];
    			strlen(hoten)--;
    		}
    		hoten[i]=toupper(hoten[i]);
    		printf("%c",hoten[i]);
    	}
    
    
    	getch();
    }
    Sai là phải rồi bạn ơi! Bạn có hiểu lệnh i-- nghĩa là sao không?
    i-- <=> i=i-1
    một hàm thì không thể nào gán như vậy! Hàm chỉ được sử dụng để gọi chứ không phải để gán đâu!

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

    zậy ai sữa bài này dùm mình nhé thanks :

  5. #5
    No Avatar
    ngocbig Khách

    Trích dẫn Nguyên bản được gửi bởi kenzi_100c Xem bài viết
    zậy ai sữa bài này dùm mình nhé thanks :
    Coi như là lời chúc ngủ ngon của mình nhé.
    C Code:
    1. #include <stdio.h>
    2. #include <string.h>
    3. #include <stdlib.h>
    4. #include <ctype.h>
    5.  
    6. int main()
    7. {
    8.     char hoten[80];
    9.     char temp[80];
    10.     int i,j=0;
    11.     printf("Ho ten: ");
    12.     fgets(hoten,80,stdin);
    13.     for(i=0;i<strlen(hoten);i++)
    14.     {
    15.         if(hoten[i]!=' ')
    16.         {
    17.             temp[j]=toupper(hoten[i]);
    18.             j++;
    19.         }
    20.     }
    21.     temp[j]=0;//null character must be added.
    22.     printf("%s",temp);
    23.     return 0;
    24. }

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

    Mặc định Bài tập C cơ bản

    Lỗi sai ở chỗ, strlen() sẽ kiểu trả ra là tham trị (int chứ không phải int&), do đó nó không thể -- được (giống như nếu ta ghi 10-- thì sẽ sai).
    Thực ra một hàm vẫn thực hiện được việc -- ++ đó bạn. Bạn thử xây dựng hàm sau:
    int &myFunc(int &x)
    {
    return x;
    }

    trong main :
    int a;
    myFunc(a)++;
    Đã được chỉnh sửa lần cuối bởi dragon111989 : 23-12-2008 lúc 11:17 PM. Lý do: Bổ sung

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