| | |
need urgent responce please!
Please support our C advertiser: Programming Forums - DaniWeb Sister Site
![]() |
•
•
Join Date: Jul 2008
Posts: 41
Reputation:
Solved Threads: 0
i am designing a code that will calculate tomorrows date but there is some problem with the code,
when i enter
year = 2008 or anyother
month =12
day = 31
it gives tmorrows date as 1/2/2008
please help and tell me if i can do more improvements thanks
when i enter
year = 2008 or anyother
month =12
day = 31
it gives tmorrows date as 1/2/2008
please help and tell me if i can do more improvements thanks
C Syntax (Toggle Plain Text)
#include<conio.h> #include<stdio.h> main(void) { int t; int y,d=1,i,m=1; printf("Enter the Year: "); scanf("%4u",&y); if(y<0) y=-y; printf("Enter the Month: "); scanf("%2u",&m); if(m<=0 || m>=12) m=1; i=y%4; printf("Enter the Day: "); scanf("%2u",&d); if (d>=1&&d<28) d=d+1; else if(d==i&&m==2) {d=1; m=3;} else if (d==30&&m==4||m==6||m==9||m==11) {d=1; m=m+1;} else if (d==31&&m==1||m==2||m==3||m==5||m==7||m==8||m==10) { d=1; m=m+1; } else if(d==31&&m==12) { d=1; m=1; y=y+1; } printf("Tomorrow's Date is\n %d/%d/%d ",d,m,y); getch(); }
Can you use the functions in time.h? If you can, then just fill in a struct tm and call mktime() to calculate tomarrow
C Syntax (Toggle Plain Text)
#include <time.h> ... int main() { int m = 11; // November int y = 2008; int d = 2; struct tm tm; // clear all members of the structure memset(&tm,0,sizeof(struct tm)); tm.tm_year = y-1900; tm.tm_mon = m-1; tm.tm_day = d; // increment tomarrow tm.tm_mday++; mktime(&tm);
Last edited by Ancient Dragon; Dec 1st, 2008 at 7:55 pm.
Don't PM me with questions -- you might get a nasty PM in response. If you have a question then post it in one of the forums.
http://www.catb.org/~esr/faqs/smart-...ns.html#urgent
Not to mention, the unindented code which is simply awful to look at.
Not to mention, the unindented code which is simply awful to look at.
•
•
•
•
Not to mention, the unindented code which is simply awful to look at.
main returns an integer. So it's
int main() not just main(void) .This test condition is wrong:
C Syntax (Toggle Plain Text)
else if(d==i&&m==2)
You aren't checking for leap years, although at one point you do find
i=y%4; . Comparing this value with the number of days screws up the whole thing. ![]() |
Similar Threads
Other Threads in the C Forum
- Previous Thread: UNIX Client and Server
- Next Thread: Trouble with pointers
Views: 495 | Replies: 5
| Thread Tools | Search this Thread |
Tag cloud for C
adobe ansi api array arrays asterisks binarysearch calculate centimeter char command convert copyimagefile copypdffile cprogramme creafecopyofanytypeoffileinc createcopyoffile csyntax directory dynamic executable fflush file fork forloop frequency getlasterror givemetehcodez graphics gtkgcurlcompiling hacking hardware highest homework i/o inches incrementoperators infiniteloop kernel km lazy linked linkedlist linux linuxsegmentationfault list lists locate logical_drives match matrix microsoft motherboard multi mysql number open opendocumentformat opensource owf pattern pdf performance pointer pointers posix problem probleminc program programming radix recursion recv repetition research scanf scheduling scripting segmentationfault send sequential shape socketprograming spoonfeeding stack standard string strings structures student systemcall testautomation turboc unix user variable voidmain() wab win32 windows.h







