Iemand die mij zou willen helpen met een opdracht voor school

Status
Niet open voor verdere reacties.

BarryH

Gebruiker
Lid geworden
9 okt 2006
Berichten
14
Hallo allemaal,

Ik ben Barry Hazewindus en volg op dit moment een avond opleiding energie techniek
binnen deze opleiding hebben we ook het vak c programmeren, we gebruiken op school het programma bloodshed devc++ compiler.
Tot nu toe gingen de diverse opdrachten me nog redelijk af, alleen heb ik 1 opdracht waarvan ik niet weet hoe ik hier aan moet beginnen.

Ik moet een programma schrijven dat, na invoeren van een datum, aangeeft op welke dag (maandag..zondag) deze dag valt.

Kun je hiervoor een standaard functie oproepen waarin al een kalender staat oid??

ik heb echt ff geen idee :confused:
en hoop dat iemand me een beetje op weg kan helpen


mvg
Barry
 
Laatst bewerkt:
Ik vraag niet of jullie mijn huiswerk voor mij willen maken, ik wil dit juist zelf leren,
alleen weet ik nog niet zo heel veel van het programmeren in C, en ik dacht dat dit een forum was waar je vragen kon stellen.
Mijn probleem is dat ik niet weet hoe ik zo'n soort van database kan maken voor het oproepen van datums, en voordat ik verder ga met tobben om dit zelf te maken leek het mij verstandig dit aan meer ervaren mensen te vragen of dat dit niet gewoon een standaard functie is binnen C die je op kan roepen.

mvg
Barry
 
Misschien ook even dit doorlezen

Dat is niet helemaal eerlijk, hij vraagt om een vingerwijzing niet om complete code.

Voor zover ik weet is er in C++ helaas geen standaardfunctie voor, dus zul je het zelf moeten berekenen.
Een mooi voorbeeld hier van staat hier:
Klik

(zoeken op Calendah)
Je moet hem zelf maar aanpassen voor je eigen doel.

Gr Niek
 
Ik heb inmiddels wat hulp via m'n werk (een engelse programmeur) gekregen en ben misschien wat verder, ik heb van hem hetvolgende stuk code gekregen wat ik nog een beetje aan het ontcijferen ben. Het is een functie, alleen krijg ik deze niet helemaal aan de gang misschien dat jullie zien wat ik fout doe??

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

/*-------------------------------------------------------------------------
Day number (0=monday, 6=sunday) for given date
-------------------------------------------------------------------------
*/


int TIME_DayOfWeek(date, month, year, century)
int date;
int month;
int year;
int century;
{
int dow;

if (month<=2)
{
month+=10;
year--;
if (year==99)
{
century=19;
}
}
else
{
month-=2;
}

/* sunday is 0, saturday is 6 */
dow= ( (26000L*month-2000L)/10000L + date + year + year/4 + century/4 - 2*century ) % 7;

/* make monday 0, sunday 6 */
dow--;
if (dow==-1)
{
dow=6;
}

return (dow);
}


int main(int argc, char *argv[])
{

printf("typ: dag maand jaar :");
scanf("%d, %d, %d", &date, &month, year);
printf("uitkomst is : ", TIME_DayOfWeek);

system("PAUSE");
return 0;
}
 
Laatst bewerkt:
Wat ik er zo van zie kan dit nooit compileren:


Code:
int TIME_DayOfWeek(date, month, year, century)
int date;
int month;
int year;
int century;
{
int dow;

if (month<=2) {
month+=10;
year--;
if (year==99) {
century=19;
}
}
else {
month-=2;
}

Ik neem aan dat je zoiets bedoelt: ?
Code:
#include <stdio.h> 

int TIME_DayOfWeek(int, int, int);

int main()
{
    int date;
    int month;
    int year;
    printf("typ: dag maand jaar :");
    scanf("%d, %d, %d", &date, &month, &year);
    printf("uitkomst is : %d ", TIME_DayOfWeek(date, month, year));

getchar();
getchar();

    return 0;
}

int TIME_DayOfWeek(int date, int month, int year)
{

    int century = 20;
    int dow;

    if (month<=2) 
    {
        month+=10;
        year--;
        if (year==99) 
        {
            century=19;
        }
    }
    else 
    {
        month-=2;
    }


     dow= ( (26000L*month-2000L)/10000L + date + year + year/4 + century/4 - 2*century ) % 7;

     /* make monday 0, sunday 6 */
    dow--;
    if (dow==-1) 
    {
        dow=6;
    }   

return (dow);

}

Dit heb ik niet getest en het zou mijn ten zeerste verbazen als het zou werken, maar in ieder geval zul je een stuk minder syntax fouten krijgen.
Ook zou ik als ik jou was de variabelen per stuk opvragen ipv ineens. System("pause") is een heel erg zware functie terwijl getchar() hetzelfde doet. Er zaten verder nog een redelijk aantal fouten in, maar leg de codes maar eens naast elkaar.
Ik hoop dat je iig wat verder komt!

gr Niek
 
Laatst bewerkt:
Yep bedoel m inderdaad zo boel is een beetje versprongen zie ik
ik heb inmiddels alweer het eea verandert, en krijg de boel ook gecompileerd, alleen lukt het me nog niet om in m'n main de functie te laten werken
 
Code 'indenten' zorgt voor overzichtelijkheid, zoals bij if/for/while statements. Hierover is veel te vinden op internet en als je het jezelf aanleert, ga je er zeker veel plezier van hebben vooral met geneste loops e.d.

Wat doet de functie nu wel en niet dan? kun je wat output geven?

Ik heb mijn vorige bericht trouwens nog aangepast na het posten dus misshcien heb je een oude versie te pakken.. Ik had niet verwacht dat je zo snel zou reageren :P

gr Niek
 
Laatst bewerkt:
speciaal voor dit soort dingen;

DE ENUM !!!!

enum { ma,di,wo,do,vr,za,zo } week ;

niet zo moeilijk doen.......
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan