Video Ngôn Ngữ C - 12 - Câu lệnh rẽ nhánh If Else

c
video

(Lê Trần Đạt) #1

Source Code

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int dieu_kien = 2 < 1;
    printf("%d\n", dieu_kien);
    int so_tien = 1;
    if (so_tien != 0){
        printf("cho vao\n");
        int x = 1;
        printf("x = %d\n", x);
    }
    else {
        printf("duoi ra\n");
    }

//    if (dieu kien)
//        lenh1
//    else
//        lenh2
    return 0;
}

#Đăng ký khóa học C++ cơ bản 2016 ( NEW ) tại đây :
#Thông tin về khóa học xem tại đây :

-Sự khác biệt giữa 2 khóa học cũ và mới :
+Khóa học C++ cơ bản 2016 là khóa học mới, được đầu tư nhiều hơn từ nội dung, phương pháp học, cách học hiệu quả.
+Trong khóa học còn có nhiều kiến thức mới như thực hành trên HackerRank, thực hành trên Codefights và Đạt nghĩ mọi người nên học khóa học mới, bởi vì đây là kiến thức mới, phù hợp với hiện tại… Mặt khác âm thanh cũng tốt hơn nhiều so với khóa học cũ giúp đỡ việc lắng nghe và hiểu được tốt hơn.


Tổng hợp các video hướng dẫn lập trình C của Lê Trần Đạt
Tổng Hợp C,C++: Hỗ trợ giải tất cả các bài tập C & C++
(Lê Trần Đạt) #2

I moved 2 posts to a new topic: Lỗi crash chương trình khi dùng mảng các chuỗi


(luong quoc viet) #3

cho minh hoi sao dong lenh if ( so_tien != 0)
tai sao phai co dau “!” trong cau lenh nay?


(TTmagic) #4

bạn xem lại bài này nhé: [Wiki] Toán tử trong C++
!= là so sánh khác.

if ( so_tien != 0)
// nếu so_tien khác 0 ...

(luong quoc viet) #5

cam on ban nha, tai minh moi hoc lap trinh nen k biet may cai nay


(Quoc Cuong Pham) #6
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int so_tien = 1;
    if (so_tien !=0){
        printf("cho vao\n");
        int x = 1;
        printf("x = %d\n", x);
    }
    else{
        printf("duoi ra\n");
    }
    return 0;
}

/* phần If_else này em hiểu nhưng cái bài if vs else_if là sao vậy à , em nghĩ mãi rồi ứng dụng cứ bị cứ sai rồi xóa , anh nào biết dãn em phần if vs else_if ạ */


(MrBill) #7

Chào các bạn ! mình có đọc được 1 bài tập trong giáo trình của HNAptech. có 1 bài tập như sau.

Viết chương trình nhập vào giờ phút giây (hh:mm:ss). Cộng thêm số giây nhập vào
và in ra kết quả dưới dạng hh:mm:ss.
Hướng dẫn: Nhập vào giờ phút giây vào 3 biến gio, phut, giay và nhập và giây công thêm
vào biến them:
Nếu giay + them < 60 thì
giay = giay + them
Ngược lại
giay = (giay + them) - 60
phut = phut + 1
Nếu phut >= 60 thì
phut = phut - 60
gio = gio + 1
Hết nếu
Hết nếu

Mình thấy phần tính phút và giây khi giây + thêm > 60 hình như không đúng. Các bạn phân tích thử thế nào nhé .
Còn đây là code của mình, các bạn xem có gì cho ý kiến để mình rút kinh nghiệm bổ sung , mình chạy thử thì thấy vấn chưa đúng .:

#include <stdio.h>

  int main(int argc, char *argv[])
  {
  	int gio,phut,giay,them;
  	printf("Nhap vao gio :");
  	scanf("%d",&gio);
  	printf("Nhap vao phut :");
  	scanf("%d",&phut);
  	printf("Nhap vao giay :");
  	scanf("%d",&giay);	
  	printf("Nhap them so giay :");
  	scanf("%d",&them);
  	if((giay+them)<=60)
  		giay=giay+them;
  			else 
  			{
  					
  				giay=(giay+them)%60;
  				phut=phut+(giay+them)/60;
  			}
  					if(phut>=60)
  					{
  					       gio = gio + (phut/60);	
					       phut=phut%60;
  						
  					}
  	printf("gio phut giay : %d:%d:%d\n",gio,phut,giay);
  	
  	getch();
  	return 0;
  }

(ʚöɞlê Thọ Tuấnʚöɞ) #8

cho phép mình được góp ý nhé: code của bạn nhầm một chỗ bạn thử chạy chương trình với đầu vào là 4h5p59s +2s thì kq sẽ k đúng @@


( Ngô Doãn Tuấn) #9

Mình nghĩ bài này bạn nên đổi về giây để xử lý.


(sang le) #10
#include <stdio.h>
#include <stdlib.h>

int main()
{
int x = 1;
    if (x = 5)
        printf("rot\n");
    else
        printf("dau\n");
    return 0;
}

tại sao lại in ra “rot” vay, minh khong hieu lam
sorry minh moi hoc c


(Lê Trần Đạt) #11

Sửa dấu = thằng dấu == ở chỗ x = 5 sẽ thấy :slight_smile:


(Đặng Trung Thông) #13

bạn hãy chỉnh lại <60 thôi và
phút phải tính trước rồi giây tính sau,vì nếu không số giây tính ở trên được chuyển luôn xuống gán cho dòng dưới


(Đặng Trung Thông) #15

đây là code mình đã chỉnh lại và thấy nó chạy đúng hết mọi trường hợp

#include <stdio.h>

  int main(int argc, char *argv[])
  {
  	int gio,phut,giay,them;
  	printf("Nhap vao gio :");
  	scanf("%d",&gio);
  	printf("Nhap vao phut :");
  	scanf("%d",&phut);
  	printf("Nhap vao giay :");
  	scanf("%d",&giay);	
  	printf("Nhap them so giay :");
  	scanf("%d",&them);
  	if((giay+them)<60)
  		giay=giay+them;
  			else 
  			{
  					
  				phut=phut+(giay+them)/60;
  				giay=(giay+them)%60;
  			}
  					if(phut>=60)
  					{
  					       gio = gio + phut/60;	
					       phut=phut%60;
  						
  					}
  	printf("gio phut giay : %d:%d:%d\n",gio,phut,giay);
  	
  	getch();
  	return 0;
  }

(Huy Huy) #17

a chỉ e cách đăng cái source code lên mà có màu xanh đỏ á ad :smiley:


83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?