Chương trình cộng giây vào thời điểm hh:mm:ss không cộng được

Viết chương trình nhập vào giờ phút giây. Cộng thêm số giây nhập vào va in ra dưới dạng hh:mm:ss.
(chạy được nhưng cộng giây vào k đc

{
	int gio,phut,giay;
	int them;
	printf("Nhap gio phut giay: ");
	scanf("%d%d%d",&gio,&phut,&giay);
	printf("Nhap giay them: ");
	scanf("%d",them);
	giay = giay + them;
	if(giay + them<60)
	    giay = giay + them;
    else if(giay>60)
    {
    	giay = giay + them - 60;
    	phut = phut + 1;
    }
    else if(phut>=60)
    {
    	phut = phut - 60;
    	gio = gio + 1;
    }
    printf("%02d:%02d:%02d",gio,phut,giay);   	  
	return 0;
}

scanf("%d",them); phải là scanf("%d", &them); bạn nhé :smiley:

1 Like

bài này bỏ câu lệnh" giay = giay + them" trên “if(giay + them<60)” mới đúng nhỉ?

Nếu bạn đã để giay = giay + them thì trong if nên để là if(giay < 60) thôi là được.
Mình góp ý thêm, viết giay += them cho gọn :smiley:

1 Like

giay += them giống với giay = giay + them hả bạn?

Đúng rồi bạn, đó là cách viết trong C :smiley:

1 Like

em moi hoc lap trinh c++
em xin dong gop code cua em

#include <iostream>
using namespace std;
int main() {
	int hour, minute, second, addSecond;
	nhaplai: {
		cout << "Nhap vao so gio>" << flush;
		cin >> hour;
		cout << "Nhap vao so phut>" << flush;
		cin >> minute;
		cout << "Nhap vao so giay>" << flush;
		cin >> second;
		cout << "Nhap vao so giay cong them>" << flush;
		cin >> addSecond;
	}

	if (hour < 24 && minute < 60 && second < 60) {

		if (second + addSecond < 60) {
			second += addSecond;
		} else if (second + addSecond >= 60) {
			second = (second + addSecond) - 60;
			minute = minute + 1;
			if (minute >= 60) {
				minute -= 60;
				hour += 1;
			}
		}
		cout << hour << ":" << minute << ":" << second;
	} else {
		cout << "Nhap sai dinh dang! hay nhap lai" << endl;
		goto nhaplai;
	}

	return 0;
}
2 Likes

Đóng góp là tốt đó bạn. Nhưng bạn nên đọc topic này để biết cách đăng code sao cho đẹp nha. :slight_smile:

2 Likes
#include<stdio.h>
#include<conio.h>

int chuyendoi(int &gio, int &phut, int &giay, int giaythem){
	giay += giaythem;
	while(giay>=60){
		++phut;
		giay-=60;
	}
	while(phut>=60){
		++gio;
		phut-=60;
	}
	while(gio>=24){
		gio-=24;
	}
	return 3;
}


int main(){
int gio, phut,giay,giaythem;
printf("Nhap gio: ");
scanf("%d",&gio);
printf("Nhap phut: ");
scanf("%d",&phut);
printf("Nhap giay: ");
scanf("%d",&giay);
printf("Nhap giay them: ");
scanf("%d",&giaythem);
chuyendoi(gio,phut,giay,giaythem);
printf("%d:%d:%d",gio,phut,giay);
getch();
return 0;

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