30/09/2018, 17:53

Viết chương trình nhập tên, yêu cầu tên trên 8 ký tự

Chương trình nhập tên sao cho nếu tên chưa đủ 8 ký tự thì báo không in đc.Mình thử viết code này nhưng nó tính cả các khoảng trắng ( ) .Bây giờ chỉ muốn nó tính chữ cái thôi không tính dấu cách thì làm thế nào.Với lại ai biết cách sửa code ngắn gọn hơn thì giúp mình nha

#include <iostream>
#include <string>
#include <stdio.h>


using namespace std;

int main()
{
    char c;
    int i = 0;
    char ten[20] = "";
    cout << "Hay nhap ten cua ban:";

    while (c != '
')
    {  c = getchar();
       ten[i] = c;
       i++;
    }

    if (i >= 9)
        cout << "Xin chao ban:" << ten;
    else
        cout << "Ten cua ban chua du 8 ky tu";


    return 0;
}
*grab popcorn* viết 20:07 ngày 30/09/2018

thêm 1 if trc khi i++ là xong

if(toupper(c) >='A' && toupper(c) <= 'Z')
Gió viết 20:05 ngày 30/09/2018

Đơn giản thôi, dùng scanf

#include <stdio.h>
#include <string.h>

int main() {
    char name[100];
    scanf("%[a-zA-Z0-9_]",name); // đọc kí tự a->z , A-Z,0 -> 9,_
    
    printf("%s\n",name);
    if (strlen(name) >= 8)
        puts("Xin chao ban:");
    else
        puts( "Ten cua ban chua du 8 ky tu");
    return 0;
}
Nguyễn Viết Thành viết 19:56 ngày 30/09/2018

theo mình thì bạn đếm số khoảng trắng(k) sau đó mình cho số kí tự tối thiểu là 8+k

Bài liên quan
0