Em viết chương trình đọc số điện thoại và em có 2 thắc mắc nhờ các sư huynh giải đáp
- Ở toán tử điều kiện trong hàm KiemTra em thấy if rồi && quá nhiều. Vậy có cách nào để rút gọn toán tử điều kiện đó không?
- Chương trình của em khai báo sdt có độ dài là 11 nhưng khi chạy chương trình nhập rất nhiều số mà nó vẫn đúng
rõ ràng em khai báo độ dài là 11 sao nó không báo lỗi nhỉ?
Cảm ơn các sư huynh đã giải đáp!
Code em:
#include <stdio.h>
#include <conio.h>
#include <string.h>
int KiemTra(char *sdt)
{
int i = 0;
for(; i < strlen(sdt); i++)
{
if(sdt[i] != '0' && sdt[i] != '1' && sdt[i] != '2' && sdt[i] != '3' && sdt[i] != '4' && sdt[i] != '5' && sdt[i] != '6' && sdt[i] != '7' && sdt[i] != '8' && sdt[i] != '9')
{
printf("So dien thoai nhap sai");
return 1;
break;
}
}
return 0;
}
void DocSo(char *sdt)
{
int i = 0;
if(KiemTra(sdt) == 0)
{
for(; i < strlen(sdt); i++)
{
switch(sdt[i])
{
case '0':
printf(" khong ");
break;
case '1':
printf(" mot ");
break;
case '2':
printf(" hai ");
break;
case '3':
printf(" ba ");
break;
case '4':
printf(" bon ");
break;
case '5':
printf(" nam ");
case '6':
printf(" sau ");
break;
case '7':
printf(" bay ");
break;
case '8':
printf(" tam ");
case '9':
printf(" chin ");
break;
}
}
}
}
int main()
{
char sdt[11];
printf("Nhap sdt: ");
fflush(stdin);
gets(sdt);
DocSo(sdt);
getch();
return 0;
}
i’m crazy =)))
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?