Natuurlijke taal klok voor RaspberryPi (2 / 2 stap)

Stap 2: Het programma


Kopieer dit programma naar uw RaspberryPi.

Compileer het met het commando: gcc -o klok clock.c

En voer het uit met het commando:. / klok

 /********************************************************* * Filename: clock.c * * A natural language clock program for the RaspberryPi. * * Compile with the command: * gcc -o clock clock.c * * Execute with the command: ./clock * **********************************************************/ #include <time.h> #include <stdio.h> #define clrscr() printf("\e[1;1H\e[2J") char hours[24][7] = {"Twelve", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven"}; char minutes[60][13] = {"zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen", "Twenty", "Twenty-one", "Twenty-two", "Twenty-three", "Twenty-four", "Twenty-five", "Twenty-six", "Twenty-seven", "Twenty-eight", "Twenty-nine", "Thirty", "Thirty-one", "Thirty-two", "Thirty-three", "Thirty-four", "Thirty-five", "Thirty-six", "Thirty-seven", "Thirty-eight", "Thirty-nine", "Forty", "Forty-one", "Forty-two", "Forty-three", "Forty-four", "Forty-five", "Forty-six", "Forty-seven", "Forty-eight", "Forty-nine", "Fifty", "Fifty-one", "Fifty-two", "Fifty-three", "Fifty-four", "Fifty-five", "Fifty-six", "Fifty-seven", "Fifty-eight", "Fifty-nine",}; char dow[7][10] = {"Sunday","Monday","Tuesday","Wednesday", "Thursday","Friday","Saturday"}; char months[12][10] = {"January","February","March","April", "May","June","July","August","September", "October","November","December"}; char days[32][14] = {"zero", "First", "Second", "Third", "Forth", "Fifth", "Sixth", "Seventh", "Eighth", "Ninth", "Tenth", "Eleventh", "Twelfth", "Thirteenth", "Fourteenth", "Fifteenth", "Sixteenth", "Seventeenth", "Eighteenth", "Nineteenth", "Twentieth", "Twenty-first", "Twenty-second", "Twenty-third", "Twenty-forth", "Twenty-fifth", "Twenty-sixth", "Twenty-seventh", "Twenty-eighth", "Twenty-ninth", "Thirtieth", "Thirty-first"}; struct tm tm2; int timeh, timem, times; // Current hours and minutes and seconds. int date, month, year, wday; /********************************************************* * gettime() function - Loads the current time into the * global variables. It puts the hours in the variable * timeh and the minutes in timem, and so on. *********************************************************/ void gettime() { time_t now; char *str; now = time(NULL); // Get the time. str = ctime(&now); // Convert it to a string. strptime(str,"%a %b %d %H:%M:%S %Y",&tm2); // Convert from the string version. timeh = tm2.tm_hour; // Copy hours, minutes and seconds timem = tm2.tm_min; // into global variables. times = tm2.tm_sec; date = tm2.tm_mday; month = tm2.tm_mon; year = tm2.tm_year; wday = tm2.tm_wday; } /********************************************************* * dspsec() function - Displays the seconds in the * variable times. Seconds uses the same array as minutes. *********************************************************/ void dspsec(T2) { if(times>0) printf("and %s seconds ", *minutes+(T2*13)); } /********************************************************* * dsptime() function - Clears the screen and displays the * time in natural language. It uses the hours in the * variable timeh and the minutes in timem. *********************************************************/ void dsptime() { int timem2, timeh2, times2; printf("\n\n\n\n\n\n\n\n\n The time is now:\n"); switch(timem) { case 0: printf( "%s O'clock\n",*hours+(timeh*7)); dspsec(times); break; case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10: case 11: case 12: case 13: case 14: case 15: case 16: case 17: case 18: case 19: case 20: case 21: case 22: case 23: case 24: case 25: case 26: case 27: case 28: case 29: case 30: case 31: case 32: case 33: case 34: case 35: case 36: case 37: case 38: case 39: case 40: case 41: case 42: case 43: case 44: case 45: if(timem==1) printf(" %s minute ",*minutes+(timem*13)); else printf(" %s minutes ",*minutes+(timem*13)); dspsec(times); printf("past %s o'clock",*hours+(timeh*7)); break; case 46: case 47: case 48: case 49: case 50: case 51: case 52: case 53: case 54: case 55: case 56: case 57: case 58: case 59: timem2 = 60-timem; timeh++; if(timem2==1) printf(" %s minute ",*minutes+(timem2*13)); else printf(" %s minutes ",*minutes+(timem2*13)); dspsec(60-times); printf("until %s o'clock",*hours+(timeh*7)); break; } if(timeh<13) printf(" AM\n"); else 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+year)); } /************************************************************** * main() function **************************************************************/ main() { int ptime = 70; // previous time after gettime() while(1) { gettime(); if(ptime != times) { clrscr(); ptime = times; dsptime(); } } } 

Gerelateerde Artikelen

Vintage DAC voor RaspberryPi audio

Vintage DAC voor RaspberryPi audio

idee...Ik was curiosa over sommige oude school R2R DAC's namelijk de BurrBrown PCM56P. Ze gebruikt in de late 80's in enkele van de betere CD-spelers als SonyES222/DenonDCD1500/MaranzXY dan ook. Er is enige discussie in bepaalde forums over hun min o
Natuurlijke Tick Repellent voor katten

Natuurlijke Tick Repellent voor katten

Moe van uw kat altijd wordt besmet met teken? Niet te gelukkig over GIF te zetten van je huisdier naar het ongedierte weg te houden? Dan, blijf lezen!Af paar weken geleden, mijn kat begonnen met veel teken op zijn hoofd toen hij binnen kwam in de och
Hoe maak je een Dali-klok voor het smelten van stijl

Hoe maak je een Dali-klok voor het smelten van stijl

ik niet luisteren naar een van mijn oude platen, maar ik echt graag willen hebben van hen rond. Gelukkig doen genoeg, dus mijn vrienden. Een ander punt die we gemeen hebben is een waardering van te weten hoe laat het is. Ik heb al rommelen met record
Arduino gebaseerde master klok voor scholen

Arduino gebaseerde master klok voor scholen

als uw school, of kinderen school, of een andere locatie afhankelijk van een centrale master klok die wordt verbroken is, moet u wellicht een gebruik voor dit apparaat. Nieuwe master klokken zijn uiteraard beschikbaar maar school begrotingen zijn ond
Analoge klok voor grafisch LCD

Analoge klok voor grafisch LCD

schrijven van een code voor een analoge klok een beetje een ontmoedigende taak lijkt misschien. Vooral de berekeningen voor de posities van de handen, maar het is niet echt zo moeilijk at all.In dit instructable ik zal praten een beetje over de theor
Netwerk tijd syncronized klok voor Arduino

Netwerk tijd syncronized klok voor Arduino

Hier is een voorbeeld hoe het bouwen van Arduino Klok die gesynchroniseerd met de tijd van bepaalde is HTTP-server in het net. Mijn plan was om te bouwen van de eenvoudigste mogelijke internet syncronized prikklok. Ik besloot om mijn Arduino klok syn
' OK om wakker' klok voor uw peuter

' OK om wakker' klok voor uw peuter

3-d: 45 AM, mijn zoon is gelukkig en wakker. Het is tijd om te beginnen zijn ochtend routine. Hij wordt schreeuwen voor wat brood met Nutella en wil gaan naar beneden om te spelen.3-d: 46 AM Ik krijg een punch van mijn vrouw, dat ik moet gaan uit bed
8 x 8 LED Matrix voor RaspberryPi en 3 programma's

8 x 8 LED Matrix voor RaspberryPi en 3 programma's

Dit is een 8 x 8 LED matrix voor een RaspberryPi en drie programma's uit te voeren op het:1 - een "Hello World" programma met een volledige Engelse lettertype.2 - een dobbelspel.3 - een kleine versie van de 8 x 8 van Conway's Game of Life..U moe
Natuurlijke huis remedie voor schrale lippen - verduidelijkte boter

Natuurlijke huis remedie voor schrale lippen - verduidelijkte boter

Geklaarde boter is een natuurlijke remedie van het huis voor schrale lippen. Het helpt de scheuren gevormd in lippen genezen en het glad. Het is een natuurlijke remedie die is chemisch vrij en dus ideaal voor kinderen.Geklaarde boter is een product d
Het creëren van een aangepaste taal Resourcepack voor Minecraft 1.8

Het creëren van een aangepaste taal Resourcepack voor Minecraft 1.8

Hallo jij daar! Vandaag, 'm I gonna leer je hoe eenvoudig het maken van uw eigen taal voor Minecraft 1.8.Stap 1: Installeer de Microsoft .NET Framework 4.5Doe wat de titel zegt. Het programma kan niet worden uitgevoerd zonder het!Stap 2: Installeren
555 timer calculator voor RaspberryPi, Arduino of een Linux PC

555 timer calculator voor RaspberryPi, Arduino of een Linux PC

Dit instructable is een rekenmachine om te bepalen van de weerstand en een condensator waarden voor gebruik gemeenschappelijke 555 timer-schakelingen. Ik heb ook versies voor de RaspberryPi en de Arduino met eenvoudige schakelingen te knipperen twee
Bouw een echte bell-opvallend klok voor uw PC en een brandblusser-opvallend klok.

Bouw een echte bell-opvallend klok voor uw PC en een brandblusser-opvallend klok.

Een brass bell, een kleine estafette een paar meer dingen en een echte bell de uren kunnen slaan op het bureaublad.Hoewel dit project op Windows en Mac OS X ook, ik draait idecided Ubuntu om Linux te installeren op een PC die ik vond in de prullenman
Hoe maak je een DIY klok voor plomp schijf ('Cloppy')

Hoe maak je een DIY klok voor plomp schijf ('Cloppy')

A DIY floppy-disk klok, eenvoudig te maken en een manier om zich te ontdoen van al die oude nutteloos floppies maximaal opgeslagen in uw huis. Geniet van!Stap 1: vereisten 2-3 floppies, een goedkope china gemaakt klok, aantal 3,6,9 een calc (u kunt a
Plot klok voor dummies.

Plot klok voor dummies.

Herzieningen:1. de DS1307 real-time klok module instructies toegevoegd.Dit is niet mijn idee, maar ik zal proberen aan te tonen hoe ik dit eindelijk werkt.De briljante jongens die maken deze spul, vergeet vaak dat er zijn idioten (zoals ik) rond, die