Back To Top

Naruto VS Sasuke,who is the strongest?

Saturday 31 October 2015

coding code cpp for adzan

/*-------------------------- In the name of God ----------------------------*\

    PrayerTimes 0.3
    Islamic prayer times calculator
    Based on PrayTimes 1.1 JavaScript library

----------------------------- Copyright Block --------------------------------

Copyright (C) 2007-2010 PrayTimes.org

Developed By: Mohammad Ebrahim Mohammadi Panah
Based on a JavaScript Code By: Hamid Zarrabi-Zadeh

License: GNU LGPL v3.0

TERMS OF USE:
    Permission is granted to use this code, with or
    without modification, in any website or application
    provided that credit is given to the original work
    with a link back to PrayTimes.org.

This program is distributed in the hope that it will
be useful, but WITHOUT ANY WARRANTY.

PLEASE DO NOT REMOVE THIS COPYRIGHT BLOCK.

------------------------------------------------------------------------------

User's Manual:
http://praytimes.org/manual

Calculating Formulas:
http://praytimes.org/calculation

Code Repository:
http://code.ebrahim.ir/prayertimes/

\*--------------------------------------------------------------------------*/


#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include "prayertimes.hpp"

#define PROG_NAME "prayertimes"
#define PROG_NAME_FRIENDLY "PrayerTimes"
#define PROG_VERSION "0.3"

static const char* TimeName[] =
{
"Fajr",
"Sunrise",
"Dhuhr",
"Asr",
"Sunset",
"Maghrib",
"Isha",
};

void print_help(FILE* f)
{
fputs(PROG_NAME_FRIENDLY " " PROG_VERSION "\n\n", stderr);
fputs("Usage: " PROG_NAME " options...\n"
     "\n"
 " Options\n"
     "    --help                      -h  you're reading it\n"
     "    --version                   -v  prints name and version, then exits\n"
     "    --date arg                  -d  get prayer times for arbitrary date\n"
     "    --timezone arg              -z  get prayer times for arbitrary timezone\n"
     "  * --latitude arg              -l  latitude of desired location\n"
     "  * --longitude arg             -n  longitude of desired location\n"
     "    --calc-method arg           -c  select prayer time calculation method\n"
     "    --asr-juristic-method arg   -a  select Juristic method for calculating Asr prayer time\n"
     "    --high-lats-method arg      -i  select adjusting method for higher latitude\n"
     "    --dhuhr-minutes arg             minutes after mid-way for calculating Dhuhr prayer time\n"
     " ** --maghrib-minutes arg           minutes after sunset for calculating Maghrib prayer time\n"
     " ** --isha-minutes arg              minutes after Maghrib for calculating Isha prayer time\n"
     " ** --fajr-angle arg                angle for calculating Fajr prayer time\n"
     " ** --maghrib-angle arg             angle for calculating Maghrib prayer time\n"
     " ** --isha-angle arg                angle for calculating Isha prayer time\n"
 "\n"
 "  * These options are required\n"
 " ** By providing any of these options the calculation method is set to custom\n"
     "\n"
 " Possible arguments for --calc-method\n"
     "    jafari        Ithna Ashari\n"
     "    karachi       University of Islamic Sciences, Karachi\n"
     "    isna          Islamic Society of North America (ISNA)\n"
     "    mwl           Muslim World League (MWL)\n"
     "    makkah        Umm al-Qura, Makkah\n"
     "    egypt         Egyptian General Authority of Survey\n"
     "    custom        Custom Setting\n"
          "\n"
 " Possible arguments for --asr-juristic-method\n"
     "    shafii        Shafii (standard)\n"
     "    hanafi        Hanafi\n"
          "\n"
 " Possible arguments for --high-lats-method\n"
     "    none          No adjustment\n"
     "    midnight      middle of night\n"
     "    oneseventh    1/7th of night\n"
     "    anglebased    angle/60th of night\n"
 , stderr);
             
}            

int main(int argc, char* argv[])
{
PrayerTimes prayer_times;
double latitude = NAN; // -6.2394444
double longitude = NAN; // 106.9927778
time_t date = time(20-10-2015);
double timezone = +7;

// Parse options
for (;;)
{
static option long_options[] =
{
{ "help",                no_argument,       NULL, 'h' },
{ "version",             no_argument,       NULL, 'v' },
{ "date",                required_argument, NULL, 'd' },
{ "timezone",            required_argument, NULL, 'z' },
{ "latitude",            required_argument, NULL, 'l' },
{ "longitude",           required_argument, NULL, 'n' },
{ "calc-method",         required_argument, NULL, 'c' },
{ "asr-juristic-method", required_argument, NULL, 'a' },
{ "high-lats-method",    required_argument, NULL, 'i' },
{ "dhuhr-minutes",       required_argument, NULL, 0   },
{ "maghrib-minutes",     required_argument, NULL, 0   },
{ "isha-minutes",        required_argument, NULL, 0   },
{ "fajr-angle",          required_argument, NULL, 0   },
{ "maghrib-angle",       required_argument, NULL, 0   },
{ "isha-angle",          required_argument, NULL, 0   },
{ 0, 0, 0, 0 }
};

enum // long options missing a short form
{
DHUHR_MINUTES = 9,
MAGHRIB_MINUTES,
ISHA_MINUTES,
FAJR_ANGLE,
MAGHRIB_ANGLE,
ISHA_ANGLE,
};

int option_index = 0;
int c = getopt_long(argc, argv, "hvd:z:l:n:c:a:i:", long_options, &option_index);

if (c == -1)
break; // Last option

if (!optarg && c != 'h' && c != 'v')
{
fprintf(stderr, "Error: %s option requires an argument\n", long_options[option_index].name);
return 2;
}

switch (c)
{
case 0:
double arg;
if (sscanf(optarg, "%lf", &arg) != 1)
{
fprintf(stderr, "Error: Invalid number '%s'\n", optarg);
return 2;
}
switch (option_index)
{
case DHUHR_MINUTES:
prayer_times.set_dhuhr_minutes(arg);
break;
case MAGHRIB_MINUTES:
prayer_times.set_maghrib_minutes(arg);
break;
case ISHA_MINUTES:
prayer_times.set_isha_minutes(arg);
break;
case FAJR_ANGLE:
prayer_times.set_fajr_angle(arg);
break;
case MAGHRIB_ANGLE:
prayer_times.set_maghrib_angle(arg);
break;
case ISHA_ANGLE:
prayer_times.set_isha_angle(arg);
break;
default:
fprintf(stderr, "Error: Invalid command line option\n");
return 2;
}
break;
case 'h': // --help
print_help(stdout);
return 0;
case 'v': // --version
puts(PROG_NAME_FRIENDLY " " PROG_VERSION);
return 0;
case 'd': // --date
{
tm* new_date = getdate(optarg);
if (!new_date)
{
fprintf(stderr, "Error: Failed to parse '%s' as date (%m)\n", optarg);
return 2;
}
date = mktime(new_date);
break;
}
case 'z': // --timezone
if (sscanf(optarg, "%lf", &timezone) != 1)
{
fprintf(stderr, "Error: Invalid timezone '%s'\n", optarg);
return 2;
}
break;
case 'l': // --latitude
if (sscanf(optarg, "%lf", &latitude) != 1)
{
fprintf(stderr, "Error: Invalid latitude '%s'\n", optarg);
return 2;
}
break;
case 'n': // --longitude
if (sscanf(optarg, "%lf", &longitude) != 1)
{
fprintf(stderr, "Error: Invalid longitude '%s'\n", optarg);
return 2;
}
break;
case 'c': // --calc-method
if (strcmp(optarg, "jafari") == 0)
prayer_times.set_calc_method(PrayerTimes::Jafari);
else if (strcmp(optarg, "karachi") == 0)
prayer_times.set_calc_method(PrayerTimes::Karachi);
else if (strcmp(optarg, "isna") == 0)
prayer_times.set_calc_method(PrayerTimes::ISNA);
else if (strcmp(optarg, "mwl") == 0)
prayer_times.set_calc_method(PrayerTimes::MWL);
else if (strcmp(optarg, "makkah") == 0)
prayer_times.set_calc_method(PrayerTimes::Makkah);
else if (strcmp(optarg, "egypt") == 0)
prayer_times.set_calc_method(PrayerTimes::Egypt);
else if (strcmp(optarg, "custom") == 0)
prayer_times.set_calc_method(PrayerTimes::Custom);
else
{
fprintf(stderr, "Error: Unknown method '%s'\n", optarg);
return 2;
}
break;
case 'a': // --asr-juristic-method
if (strcmp(optarg, "shafii") == 0)
prayer_times.set_asr_method(PrayerTimes::Shafii);
else if (strcmp(optarg, "hanafi") == 0)
prayer_times.set_asr_method(PrayerTimes::Hanafi);
else
{
fprintf(stderr, "Error: Unknown method '%s'\n", optarg);
return 2;
}
break;
case 'i': // --high-lats-method
if (strcmp(optarg, "none") == 0)
prayer_times.set_high_lats_adjust_method(PrayerTimes::None);
else if (strcmp(optarg, "midnight") == 0)
prayer_times.set_high_lats_adjust_method(PrayerTimes::MidNight);
else if (strcmp(optarg, "oneseventh") == 0)
prayer_times.set_high_lats_adjust_method(PrayerTimes::OneSeventh);
else if (strcmp(optarg, "anglebased") == 0)
prayer_times.set_high_lats_adjust_method(PrayerTimes::AngleBased);
else
{
fprintf(stderr, "Error: Unknown method '%s'\n", optarg);
return 2;
}
break;
default:
fprintf(stderr, "Error: Unknown option '%c'\n", c);
print_help(stderr);
return 2;
}
}

if (isnan(latitude) || isnan(longitude))
{
fprintf(stderr, "Error: You must provide both latitude and longitude\n");
return 2;
}

fputs(PROG_NAME_FRIENDLY " " PROG_VERSION "\n\n", stderr);

if (isnan(timezone))
timezone = PrayerTimes::get_effective_timezone(date);

double times[PrayerTimes::TimesCount];
fprintf(stderr, "date          : %s", ctime(&date));
fprintf(stderr, "timezone      : %.1lf\n", timezone);
fprintf(stderr, "latitude      : %.5lf\n", latitude);
fprintf(stderr, "longitude     : %.5lf\n", longitude);
puts("");
prayer_times.get_prayer_times(date, latitude, longitude, timezone, times);
for (int i = 0; i < PrayerTimes::TimesCount; ++i)
printf("%8s : %s\n", TimeName[i], PrayerTimes::float_time_to_time24(times[i]).c_str());
return 0;
}


sumber link : User's Manual:
http://praytimes.org/manual

Calculating Formulas:
http://praytimes.org/calculation

Code Repository:
http://code.ebrahim.ir/prayertimes/

No comments:

Post a Comment

Visitor

Powered by Blogger.

Labels

Copyright © 2012 Bebin Cahyadi | Naruto Vs Sasuke V2 Theme | Designed by Johanes DJ