同年内の二組の月日から間の日数を求めるプログラムを教えて下さい

A 回答 (3件)

C言語であれば、先日同じような質問に回答しましたので、そちら(→参考URL)を


見てください。

# カテゴリが C&C++ じゃないから、違うかな

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=198873
    • good
    • 0

プログラム言語は何なんでしょうか?



それがわからなければ、他の回答者の方も回答のしようがないのではないでしょうか。

一般論として言えば、配列変数に各月の日数を入力して(2月は閏年の処理が必要)、二組の月日の0月0日(前年12月31日)からの日数をループ処理により計算して、差し引きすれば良いかと思いますが・・・。
    • good
    • 0

プログラム言語は何をお使いでしょうか?


ちなみにVB(VBA)ならば、DateDiff関数をHelpで検索すれば、さほど難しくはないと思いますが。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q2つの年月日の間の日数を求めるプログラム(PASCAL)

 大学の講義で、「2つの年月日を入力し、その年月日の間の日数を求めるプログラムを作成しなさい」という宿題が出たので、下のようにプログラムを作成したところ、…63(最後の行):parse error before '.'というエラーが出たのですが、なぜそのようなエラーが出るのかがわかりません。どう改善すべきか、アドバイスをお願いします。


program ex13(input,output);

var
year1,year2:1..9999; month1,month2:1..12;
y1,y2:1..9999; m1,m2:1..12; d1,d2:1..31;
n1,n2:1..9999999;

begin

writeln('question 13');
writeln('Please key the old date.');
write('Y: '); read(y1);
write(' M: '); read(m1);
write(' D: '); readln(d1);
writeln('Please key the new date.');
write('Y: '); read(y2);
write(' M: '); read(m2);
write(' D: '); readln(d2);

for year1:= 1 to y1 do
begin
if ((year1 mod 4 = 0) and not (year1 mod 100 = 0)) or (year1 mod 400 = 0)
then n1:=n1+366
else n1:=n1+365
end;

for month1:= 1 to m1 do
begin
case month1 of
3,5,7,8,10,12,1: n1:=n1+31;
4,6,9,11: n1:=n1+30;
2: if ((y1 mod 4 = 0) and not (y1 mod 100 = 0)) or (y1 mod 400 = 0)
then n1:=n1+29
else n1:=n1+28
end;

n1:=n1+d1;

for year2:= 1 to y2 do
begin
if ((year2 mod 4 = 0) and not (year2 mod 100 = 0)) or (year2 mod 400 = 0)
then n2:=n2+366
else n2:=n2+365
end;

for month2:= 1 to m2 do
begin
case month2 of
3,5,7,8,10,12,1: n2:=n2+31;
4,6,9,11: n2:=n2+30;
2: if ((y2 mod 4 = 0) and not (y2 mod 100 = 0)) or (y2 mod 400 = 0)
then n2:=n2+29
else n2:=n2+28
end;

n2:=n2+d2;

writeln('Ans.',n2-n1);

end.

 大学の講義で、「2つの年月日を入力し、その年月日の間の日数を求めるプログラムを作成しなさい」という宿題が出たので、下のようにプログラムを作成したところ、…63(最後の行):parse error before '.'というエラーが出たのですが、なぜそのようなエラーが出るのかがわかりません。どう改善すべきか、アドバイスをお願いします。


program ex13(input,output);

var
year1,year2:1..9999; month1,month2:1..12;
y1,y2:1..9999; m1,m2:1..12; d1,d2:1..31;
n1,n2:1..9999999;

be...続きを読む

Aベストアンサー

case 文を閉じる end がないような。

Qtemp内ファイルを削除するプログラムを組みたい

windows内のTEMPフォルダ内にあるファイルならばパスがわかっているので指定すれば削除プログラムを組めます。
が、profileのtemp内やcookies内のファイルになるとprofile名によるのですんなりとは無理です。

VB、C等(Exeファイル)では会社がOK出さないので、batファイルかvbsファイル(混合OK)で組みたいです。

profileですが、10桁の社員コードで出来ています。
例:社長=0000000001。専務=0000000002。
C:\Documents and Settings\0000000001\Cookies
C:\Documents and Settings\0000000001\Local Settings\Temp
profileがどんな数値(管理者はadminなのでadmin内も消したい)でもCooliesとtemp内ファイルを消したいです。

どのように組めばできますでしょうか?
お知恵をお貸しください。

Aベストアンサー

Dim FSO
Dim Folder
Dim SubFolders
Dim SubFolder
Dim SubFolder2
Dim SubFolder3
Dim File
Dim Path
Path = "C:\documents and settings\"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder(Path)
For Each SubFolder In Folder.SubFolders
For Each SubFolder2 In SubFolder.SubFolders
If UCase(SubFolder2.Name) = "TEMP" Then
Set SubFolder3 = FSO.GetFolder(Path & SubFolder.Name & "\TEMP")
For Each File In SubFolder3.Files
FSO.DeleteFile Path & SubFolder.Name & "\TEMP\" & File.Name
Next
End If
Next
Next
Set File = Nothing
SEt Folder = Nothing
Set FSO = Nothing

で一応できますが、権限によっては他ユーザーのフォルダにはアクセスできない場合があります。

Dim FSO
Dim Folder
Dim SubFolders
Dim SubFolder
Dim SubFolder2
Dim SubFolder3
Dim File
Dim Path
Path = "C:\documents and settings\"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder(Path)
For Each SubFolder In Folder.SubFolders
For Each SubFolder2 In SubFolder.SubFolders
If UCase(SubFolder2.Name) = "TEMP" Then
Set SubFolder3 = FSO.GetFolder(Path & SubFolder.Name & "\TEMP")
For Each File In SubFolder3.Files
...続きを読む

Qfortran cosθをベクトリから求めるプログラム

ベクトルからcosθを求めるペログラムを作ってみたのですが、実際計算した値と実行結果の値が一致しないのですが。プログラム上に問題があるのでしょうか?教えて下さい。よろしくお願いします。
module subprogs
implicit none
contains
function vec_cos(a,b) result(vcos)
real(8), intent(in) :: a(:), b(:)
real(8) ab, vcos
if (size(a) /= size(b)) stop ' er : size(a) /= size(b) '
ab = dot_product(a,a)* dot_product(b,b)
if (ab == 0.0d0) then
vcos = 0.0d0
else
vcos = dot_product(a,b)/sqrt(ab)
endif
end function vec_cos
end module subprogs

programmain
use subprogs
implicit none
real(8) :: x(1:2) = (/1.2d0, 3.4d0/), y(1:2) = (/5.6d0, 7.8d0/)
write(*,*) 'cos = ', vec_cos(x,y)
end program main

実行結果 cos = 0.9601163787292428

ベクトルからcosθを求めるペログラムを作ってみたのですが、実際計算した値と実行結果の値が一致しないのですが。プログラム上に問題があるのでしょうか?教えて下さい。よろしくお願いします。
module subprogs
implicit none
contains
function vec_cos(a,b) result(vcos)
real(8), intent(in) :: a(:), b(:)
real(8) ab, vcos
if (size(a) /= size(b)) stop ' er : size(a) /= size(b) '
ab = dot_product(a,a)* dot_product(b,b)
if (ab == 0.0d0) then
vcos = 0.0d...続きを読む

Aベストアンサー

その「実際計算した値」というのはどのように計算したもので値はいくつになったのでしょうか?

Q二点の座標から距離や角度を求めたいのですが、Matlab

こんにちは、Matlabの初心者ですがよろしくお願いします。
ある座標、たとえば、A(x1, y1) B(x2, y2)があったとして、
この二点間の距離は、
sqrt((x2-x1)^2 + (y2-y1)^2)
だと思いますが、もっと簡潔に求めることができる関数とかが導入されていたりしないかと思いました。AやBを定義しておいて、AとBだけを使うことができないかと思いました。
また、この二点を通る直線とX軸とがなす角度は、
atan(sqrt((y2-y1)^2)/sqrt((y2-y1)^2))
で求められるかと思いますが、これも同様にもっと簡潔な方法がないかと思いました。

いかがでしょうか。よろしくお願いします。

Aベストアンサー

# Mathlabに関しては知識がありません m(__)m

距離に関しては一般的にはそのsqrtでやる式でしょう

X軸との角度についてはお示しの式では求まりません
atanの引数が常に1になってしまいます
たぶん分母が sqrt((x2-x1)^2) としたかったのでしょうが
この場合の sqrtは必要ないと思います
なぜなら (x2-x1)の2乗の平方根とはつまり(x2-x1)と等価になります
# 符号は考慮する必要があるでしょうが

Mathlabにatan2といった組み込み関数があるならこちらを使ったほうがいいように思います
atanですと除算が入るため 0除算の例外を自前で処理しないといけません
atan2ですとその点を考慮した値を戻します
ただしatan2の取りうる値域が -90から90といった場合もあるので
360度に拡張するのでしたら引数に与える垂直/水平成分の符号を加味して加減算してください

Q【バッチプログラム】フォルダ内のファイル名から削除対象を決める

OS:XP_SP3

TESTフォルダには、日付が頭についたTXT形式のファイルがあります。(例:20091011_XXXXX.txt)
バッチを使用して、今日から30日前のファイルの削除を自動化したいと思っています。
ファイル名と現在日付を比較して削除対象を指定することができるのではないと思っています。

どうかご教授お願い致します。

Aベストアンサー

インストールする必要がありますがPowerShellを使ってみるのはどうですか。例えば下のように書けます。

-----
$Before30 = (Get-Date).AddDays(-30).ToString("yyyyMMdd")
dir C:\TEST\????????_*.txt | where {$_.Name.Substring(0,8) -le $Before30} | del -confirm
-----

PowerShellについては、例えば@ITの記事が参考になるでしょう。
http://www.atmarkit.co.jp/fwin2k/operation/psh01/psh01_01.html


人気Q&Aランキング

おすすめ情報