Naturligt språk klocka för RaspberryPi (2 / 2 steg)

Steg 2: Programmet



Kopiera detta program till din RaspberryPi.

Kompilera den med kommandot: gcc -o klocka clock.c

Och köra det med kommandot:. / klocka

/*********************************************************
* Filnamn: clock.c
*
* Ett naturligt språk klockprogram för RaspberryPi.
*
* Kompilera med kommandot:
* gcc -o klocka clock.c
*
* Köra med kommandot:. / klocka
*
**********************************************************/

#include < time.h >
#include < stdio.h >

#define clrscr() printf("\e[1;1H\e[2J")

char timmar [24] [7] = {"tolv",
"En",
"Två",
"Tre",
"Fyra",
"Fem",
"Sex",
"Seven",
"Åtta",
"Nio",
"Tio",
"Eleven",
"Tolv",
"En",
"Två",
"Tre",
"Fyra",
"Fem",
"Sex",
"Seven",
"Åtta",
"Nio",
"Tio",
"Elva"};

char minuter [60] [13] = {"noll",
"En",
"Två",
"Tre",
"Fyra",
"Fem",
"Sex",
"Seven",
"Åtta",
"Nio",
"Tio",
"Eleven",
"Tolv",
"Tretton",
"Fjorton",
"Femton",
"Sexton",
"Sjutton",
"Arton",
"Nitton",
"Tjugo",
"21",
"Twenty-two",
"23",
"24",
"Tjugofem",
"26",
"27",
"Tjugo-åtta",
"29",
"Trettio",
"Trettioen",
"Trettiotvå",
"Thirty-three",
"Trettio-fyra",
"Thirty-five",
"36",
"37",
"38",
"39",
"Fyrtio",
"Fyrtioen",
"42",
"43",
"Fyrtiofyra",
"45",
"46",
"47",
"Fyrtioåtta",
"Fyrtionio",
"Femtio",
"Femtioen",
"52",
"53",
"54",
"55",
"Femtiosex",
"57",
"58",
"59",};

char dow [7] [10] = {"Söndag", "Monday", "Tisdag", "Onsdag",
"Torsdag", "Fredag", "Lördag"};

char månader [12] [10] = {"Januari", "Februari", "mars", "April",
"Maj", "Juni", "Juli", "Augusti", "September",
"Oktober", "November", "December"};

char dagar [32] [14] = {"noll",
"Första",
"Andra",
"Tredje",
"Vidare",
"Femte",
"Sjätte",
"Sjunde",
"Åttonde",
"Nionde",
"Tionde",
"Elfte",
"Tolfte",
"Trettonde",
"Fjortonde",
"Femtonde",
"Sextonde",
"Sjuttonde",
"1700",
"1800",
"1900",
"Tjugoförsta",
"Tjugoandra",
"Tjugotredje",
"Tjugo-tillbaka",
"Tjugofemte",
"E",
"Tjugosjunde",
"Tjugo-åttonde",
"Tjugonionde",
"Minutersvideo",
"Trettioförsta"};

struct tm tm2;

int timeh, timem, gånger; Aktuella timmar och minuter och sekunder.
int datum, månad, år, wday;

/*********************************************************
* gettime() funktion - läser in den aktuella tiden i den
* globala variabler. Det sätter timmarna i variabeln
* timeh och minuter i timem och så vidare.
*********************************************************/
void gettime()
{
tid nu;
char * str;

nu = time(NULL); Får tid.
Str = ctime(&now); Konvertera den till en sträng.
strptime (str, "%a %b %d % H: % m %S %Y", & tm2); Konvertera från strängversion.

timeh = tm2.tm_hour; Kopiera timmar, minuter och sekunder
timem = tm2.tm_min; i globala variabler.
tider = tm2.tm_sec;
datum = tm2.tm_mday;
månad = tm2.tm_mon;
år = tm2.tm_year;
WDAY = tm2.tm_wday;
}

/*********************************************************
* dspsec() funktion - visar sekunder i den
* variabel gånger. Sekunder använder samma matrisen som minuter.
*********************************************************/
void dspsec(T2)
{
IF(Times>0) printf ("och %s sekunder", * minutes+(T2*13));
}

/*********************************************************
* dsptime() funktion - rensar skärmen och visar den
* tid i naturligt språk. Den använder antalet timmar i den
* variabel timeh och minuter i timem.
*********************************************************/
void dsptime()
{
int timem2, timeh2, times2;
printf ("\n\n\n\n\n\n\n\n\n tid är nu: \n");
Switch(timem)
{
fall 0:
printf ("%s O'clock\n",*hours+(timeh*7));
dspsec(Times);
bryta;

fall 1: mål 2: fall 3: fall 4: fall 5: ärende 6: fall 7: fall 8: fall 9: fall 10:
fall 11: fall 12: fall 13: 14 i mål: fall 15: fall 16: fall 17: fall 18: 19 i mål: fall 20:
i mål 21: fall 22: fall 23: fall 24: fall 25: fall 26: fall 27: fall 28: fall 29: fall 30:
fall 31: fall 32: 33 i mål: mål 34: fall 35: fall 36: 37 i mål: fall 38: case 39: fall 40:
i mål 41: fall 42: 43 i mål: mål 44: fall 45:
IF(timem==1) printf ("%s minut", * minutes+(timem*13));
annars printf ("%s minuter", * minutes+(timem*13));
dspsec(Times);
printf ("tidigare %s o'clock",*hours+(timeh*7));
bryta;

fall 46: 47 i mål: mål 48: fall 49: fall 50:
i mål 51: fall 52: 53 i mål: fall 54: fall 55: i mål 56: fall 57: i mål 58: 59 i mål:
timem2 = 60-timem;
timeh ++;
IF(timem2==1) printf ("%s minut", * minutes+(timem2*13));
annars printf ("%s minuter", * minutes+(timem2*13));
dspsec(60-Times);
printf ("till %s o'clock",*hours+(timeh*7));
bryta;
}

IF(timeh<13) printf ("AM\n");
annars printf ("PM\n");

printf ("%s, %s %s %d\n\n\n\n\n\n\n", * dow+(wday*10), * months+(month*10), *days+(date*14), (1900 + år));
}

/**************************************************************
* Main () funktion
**************************************************************/
Main)
{
int ptime = 70. tidigare tid efter gettime()

While(1)
{
getTime();
om (ptime! = gånger)
{
clrscr();
ptime = gånger;
dsptime();
}
}
}

Se Steg
Relaterade Ämnen

Javascripting din RaspberryPi

JavaScript är ett bra programmeringsspråk som kör överallt. JavaScript körs huvudsakligen på din webbläsare; människor finner dock stor användning för språket på andra ställen. Python är det primära språket som associeras med RaspberryPi, vi kan anvä...

PROTA OS för Raspberry Pi (Prota Pi)

Detta inlägg handlar om att använda Prota (Prota Agatha i synnerhet) på Raspberry Pi och grunderna för dess automation motor - berättelser.Vad är Prota?För er som inte hört talas om det, är Prota ett operativsystem för personliga serverdatorer. Det b...

Jarvis: En Arduino baserat Home automationssystem

Jag inspirerades av Jarvis från Iron Man och ville ha starkt ett hem automationssystem. De befintliga systemen var inte billiga så jag bestämde mig att bygga min egen hemautomation system genom att använda en Arduino. I dagsläget dess funktionalitet...

521 lördagar

En av mina favorit internet personer, Merlin Mann, hade en episod på sitt tillbaka till arbete program där han talade om idén att du bara få så många lördagar i ditt liv. Lördagar är de dagar som vi brukar använda för att göra roliga saker, hobbies,...

DET - RaspberryPI alarm klocka

Hej killarI detta instructable jag ska visa en väckarklocka projekt baserat på RaspberryPi och GrovePi + startpaket.Dess namn är "Det", som är förkortning av "Är det dags". Version instructabled är 1.3, youtube-video visar 1.0.Det är e...

Enkel klocka i språket C

Tanken är att skapa enkel klocka i C, men först måste vi ställa in vår programvara och lära känna några av de saker som vi ska använda.Steg 1: Steg 1: Välj Visual Studio, kodblock eller annat liknande program (jag skulle rekommendera visual studio 20...

Vintage DAC för RaspberryPi ljud

idé...Jag var kuriosa om några gamla skolan R2R DAC nämligen BurrBrown PCM56P. De används i slutet av 80-talet i några av de bättre CD spelarna som SonyES222/DenonDCD1500/MaranzXY som helst. Det finns viss diskussion på vissa forum om deras mer eller...

3D tryckta ordet klocka

Tanken bakom detta projekt var att göra en ordet klocka som skulle vara lätt att bygga, så att jag kunde få några av dem.En av de mest tidskrävande delen av att göra en Word Clock bygger "ljus brunnarna" som separerar ljuset för varje ord, och a...

Akryl skelett klocka

Detta är en klocka gjord helt av akryl!Detta var ursprungligen var min år 13 maskinteknik college projektet hade vi att forska, designa och bygga ett projekt för en intressent, detta inklusive massor av inspelningen så det finns ingen brist på bilder...

Arduino binär klocka med LED-matris

Denna webbplats har många fina inlägg som beskriver byggandet av armbandsur. Jag är oerhört skakig, emellertid, och har svårt med någon lödning. Jag ville därför göra mig från en 8 x 8 MAX7219-kontrollerade ledde matrisen.Steg 1: Läsa BCD binär klock...

Bygga en riktig bell-slående klocka för din dator och en brandsläckare-slående klocka.

En mässing klocka, ett litet relä några saker och en riktig klocka kan slå timmarna på skrivbordet.Om detta projekt kan köras på Windows och Mac OS X också, jag idecided att installera Ubuntu Linux på en PC jag hittade i papperskorgen och jobbar på d...

DIY betong:: Klocka

detta Instructable visar dig hur att kasta en fiberarmerad betong klocka i en melamin låda, med en skum knockout för att recess klocka händer och mekanism.Om Fiber armerad betong: CHENG D-FRC är en fiber armerad betong blandning som är idealisk för s...

Hur man kan föra en 1970-talet AM / FM Flip klocka tillbaka till livet

skulle det vara coolt att hitta en gammal flip klocka till steampunk?Goda nyheter och dåliga nyheter:Goda nyheter: Min chans kom för några dagar sedan och jag har köpt ett 70-tal Lloyds Solid State klockan i en antikviteter loppis för en jättestor $5...

Blir Tony Stark: Mobil virtuell verklighet Setup med språng Motion

Hur många av er har velat använda händerna och leta naturligt utan att använda din mus, tangentbord och skärm? Tja, idag kommer jag visa dig hur du använder en telefon, hoppa rörelse, och Virtuell verklighet glasögon för att skapa din egen värld.Varf...

Analog klocka för grafisk LCD

skriver en kod för en analogt klocka kan tyckas vara lite av en skrämmande uppgift. Särskilt beräkningarna för positioner i händerna, men det är inte riktigt så svårt alls.I detta instructable jag kommer prata lite om teorin och sedan får vi gå vidar...

Breakout RaspberryPi

Detta instructable är spel för breakout på RaspberryPi.Det är lätt att göra detta spel.Låt oss göra och kul!Steg 1: material1. RaspberryPi (jag använde RasberryPi rev2)※include tangentbord, mause, monitor, SDcard2. takt switch × 43. elektriska motstå...

Gör din egen smart Watch-klocka

Detta dokument är också översatt till polska(med Sebastian), koreanska språket.Olika användare gjorde sin egen klocka. Se sidan "Jag gjorde det!"!De flesta IT-företag deltar i loppet för att ta tag i människors handled. En smart Watch-klocka bli...

Flip klocka reparation (Panasonic RC-6030)

Hej fixeringsmedel. Min fru gav mig en vintage flip klocka i julklapp, Panasonic RC-6030. Tyvärr för mig anlände endast en delvis fungerande klocka. I detta Instructable reparera jag de två delar som var inte bra, utbränd 40 år gamla lampan och den b...

Hello Kitty klocka - present till April #3

Hej mitt namn är Jeff och jag en Maker. Jag har en 6-åriga brorsdotter som älskar Hello Kitty, så jag beslöt att göra en en av ett slag present till henne. Min Hello Kitty klocka design mosar konsten att Vedeldning med den nya tekniken för 3D-utskrif...