tại sao đến hàm switch ko hiện kết quả ấn - hay + thoát luôn

 #include "conio.h"
    #include "stdio.h"
    void cong_gio(int h,int m,int s,int h1,int m1,int s1)
    {
    	int H=h+h1;
    	int M=m+m1;
    	int S=s+s1;
    	int a=S;
    	if(S>60)
    		S=S%60;
    		M=M+(a/60);
    	int b=M;
    	if(M>60)
    		M=M%60;
    		H=H+(b/60);
    	printf("%d gio %d phut %d giay ",H,M,S);
    }

    void doi_gio(int h,int m,int s,int h1,int m1,int s1)
    {
    	int a=s;
    	if(s>60)
    		s=s%60;
    		m=m+(a/60);
    	int b=m;
    	if(m>60)
    		m=m%60;
    	h=h+(b/60);
    	//
    	int c=s1;
    	if(s1>60)
    		s1=s1%60;
    		m1=m1+(c/60);
    	int d=m1;
    	if(m1>60)
    		m1=m1%60;
    	h1=h1+(d/60);
    }

    void tru_gio(int h,int m,int s,int h1,int m1,int s1)
    {
    	doi_gio(h,m,s,h1,m1,s1); 
    	int H=h-h1;
    	int M=m-m1;
    	int S=s-s1;
    	if(S<0)
    		S=S*(-1);
    	if(M<0)
    		M=M*(-1);
    	if(H<0)
    		H=H*(-1);
    	printf("%d gio %d phut %d giay ",H,M,S);
    		
    }


    void main()
    {
    	int a,b,c,d,e,f;char chon;
  	printf("Nhap gio thu 1 ");
    	scanf("%d%d%d",&a,&b,&c);
    	printf("Nhap gio thu 2 ");
    	scanf("%d%d%d",&d,&e,&f);
    	printf("Lua chon cua ban la ");
    	scanf("%c",&chon);
    	switch(chon)
    		{	
    		case '+':
    			cong_gio(a,b,c,d,e,f);
    			break;
    		case '-':
    			tru_gio(a,b,c,d,e,f);
    			break;
    		}
    	getch();
    }

Bạn xem lại quy định post bài nha, code bạn nên để trong phần Markdown, để vậy mọi người khó giúp bạn lắm

Bạn cho nhập %d là nhập 1 số mất rồi :smile: Bạn phải sửa lại để chỗ đó nhập vào là kí tự :slight_smile:

Ở đây bạn nên định dạng kiểu dữ liệu cho biến chonchar chon
'+' '-' là ký tự nên khi bạn switch sẽ trở về defaul rồi :smiley:

if(S>60)
    		S=S%60;
    		M=M+(a/60);

thiếu { } à bạn.

  • Sao cái gì cũng int vô tội vạ ?
    char chon;
    scanf("%c",&chon);
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?