โครงงานผม ไม่ว่ายังไง ก็ต้องใช้นาฬิกาแบบนึงครับ เรียกว่า นาฬิกา sidereal
ซึ่งจะเดินช้าไปประมาณวันละสี่นาที ใครพอจะอนุเคราะห์เนะนำวิธีเขียนได้มั่งครับ
อ่า เดินช้า 4 นาที ก็คำนวณใหม่ว่า เวลาที่เดินช้าไปคิดเป็นกี่วินาที เทียบอัตราส่วนกัน
1 วินาทีมันจะกลายเป็น 1 วิกว่าๆ (ใช่เปล่าวะ)
หลังจากนั้นถ้าจะทำนาฬิกาเองก็ต้องใช้การคำนวณจากมอเตอร์ แต่วัดยากนะ
ให้ร้านเค้าทำน่าจะทำได้
#include<stdio.h>
#include<conio.h>
#include<time.h>
main ()
{
char o;
int i,j,k,h,m,s,mo,d;
double sum;
long int su,se;
do
{
printf("\n\n\n\n\n\n+++++++++ ++++++++ +++++++++ +++\n");
printf("+ + ++ ++++++++ +++++++++ ++ ++\n");
printf("+ + ++ +++ +++ ++ ++\n");
printf("+ + ++ +++ +++ ++ ++\n");
printf("+ +++++++ ++++++++ +++ ++ ++\n");
printf("+ +++++++ ++++++++ +++ +++++++++++++\n");
printf("+ + ++ +++ +++ +++++++++++++++\n");
printf("+ + ++ +++ +++ ++ ++\n");
printf("+ + ++ +++ +++ ++ ++\n");
printf("+ +++++++ +++++++++ +++ ++ ++\n");
printf("++++++++ +++++++++ +++ ++ ++\n");
printf("\nWelcome to sidereal Clock Beta");
printf("\nsee new ver at tgom.exteen.com\n");
printf("Please insert Hour 1-24 \n");
scanf("%d",&i);
printf("Please insert Min 1-60 \n");
scanf("%d",&j);
printf("Please insert Sec 1-60 \n");
scanf("%d",&k);
printf("Please insert Day form 21/3 0-364 \n");
scanf("%d",&d);
sum=((i*3600)+(j*60)+k-(d*244));
printf("sum=%d",sum);
h=sum/3600;
su=sum-(h*3600);
m=su/60;
se=su-(m*60);
s=se;
printf("\n\n");
printf("%d:%d:%d",h,m,s);
}
while (1=1);
}
เนี่ยอ่ะคับ โค้ตคอมไพล์ผ่านคับ แต่เป็นปัญหา สำหรับปีที่มี 366 วันคับ
ไม่เข้าใจว่ามี 366 วันแล้วลำบากตรงไหน
เราคิดเป็นวันไม่ได้หรอครับ
หรือต้องคำนวณแยกปี 265 วันกับ 266 วัน
ถ้า 366 มันจะติดลบคับ เพราะมันจะหาร
216000 (3600*60)
ได้มากกว่า 1 คับ เลขเวลาเลยติดลบ
ดู โค้ตแล้วงงๆ
ขอแปลงเป็นโฟลื๖ชาร์จได้มั้ยครับ
คำนวนจาก 23 hours, 56 minutes, 4.091 seconds (23.93447 hours or 0.99726957 SI days) งั้นหรอ
Comment
h=sum/3600;
su=sum-(h*3600);
อันนี้คือ mod หรือป่าวล่ะนั่น (หารเอาเศษ) ??? ถ้าใช่ ก็ใช้ su = sum % 3600;
H M S นี่ Hour Minute Sec ใช่ป๊ะ
(05-09-2010 11:10 PM)RakRok Wrote: [ -> ]คำนวนจาก 23 hours, 56 minutes, 4.091 seconds (23.93447 hours or 0.99726957 SI days) งั้นหรอ
Comment
h=sum/3600;
su=sum-(h*3600);
อันนี้คือ mod หรือป่าวล่ะนั่น (หารเอาเศษ) ??? ถ้าใช่ ก็ใช้ su = sum % 3600;
อ่าว ผมลืม mod ไปได้ยังไงนั่น! =_=
ไม่เทียบปีในรอบ 4 ปีเลยอ่ะครับ ตัดปัญหา โดยยึดซักปีเป็นหลักเอา แล้ว Mod แบบ 4 ปี (เข้าใจเป่าหว่า)
**ทำโครงงานอะไรอ่ะ เปลี่ยน sloar time เป็น sidereal !?