• ベストアンサー

タイムカードのシステムを作りたいんですが・・・

自宅で使うために(自営業のため) タイムカードのようなシステムをC言語でこれから作ろうと思っているんですが、、、 実際に使う時に一発で実行画面を開く方法はありますか? (このシステムを使うのはパソコンがほとんんどできない50代のおばさんなので。) ちなみにC言語は初級程度しかできません。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

C言語だけで超簡単実装するのであれば、 CUIのプログラムを組んであげて、デスクトップにショートカットをつくるのが簡単だと思います。 つくったプログラムを右クリックでDrag & Dropしてショートカット作成でよいと思います。 あとはクリックすればそれでOK もし必要であれば、ショートカットキーをつくってもよいと思います。 リンク先 C:\local\timecard.exe Username のようにして人ごとに、ショートカットを作るとよいとおもいます。 次に、プログラムですが。 int main(int argv,char* argc){ char c; FILE* fp; char filename[100]; strcpy(filename,argc[1]); strcat(filename,".log"); /* 引数から、ユーザーごとの保存するファイル名を作成する。strcatでできると思います。ファイル名は、"ユーザー名.log"みたいな感じでユーザごとに分けるとよいと思います。*/ fp = fopen(filename,"a"); //ファイルを追記モードで開きます printf("出勤(a)ですか?退勤(b)ですか?\n");  scanf("%c",c); if(c == 'a'){ printf("おはようございます\n"); fprintf(fp, "IN,%d,%d,%d,%d,%d", year,month,date,hour,min"); } else if( c == 'b'){ printf("おつかれさまでした\n"); fprintf(fp, "OUT,%d,%d,%d,%d,%d", year,month,date,hour,min"); } else printf("出勤ですか?退勤ですか?");  fclose(fp); } みたいな感じで組んであげて、締め日にexcelで、ユーザー名.logファイルを開いてあげて処理してあげればいいと思います。","でくぎると、勝手にセルを分けてくれます。

naaco
質問者

お礼

ご丁寧にありがとうございます。 一度やってみます!!

その他の回答 (5)

  • MrBan
  • ベストアンサー率53% (331/615)
回答No.6

> それと・・・多重クリック対策→mutexって何ですか? (間違えて連続でクリックされてしまった場合など) 「出社」を同時に二回押されたり、 「出社」と「退社」を同時に押されたりした際の、 データの保護の話です。 同時に同じファイルにデータを書いたりすると危ないので、 順番に書くようにするとか、既に出社中なら出社はエラーにするとか、 そういう配慮です。(アクセス制御とか、排他制御などといわれます) Mutexというのは、排他制御の方式/機能の名前です。 簡単に言えば、「使ってますよ」マーク? 何かする前にMutexをとって、使い終わったらMutexを解放する。 既にMutexが取られていたら使わない。そういうときに使います。 # 作る事に主眼がないなら、フリーソフトの方がいいですね。

naaco
質問者

お礼

なるほど!! 勉強になりました。 ありがとうございます。

  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.5

No.1の方が回答されていますが、C言語で画面を操作するのは大変です。画面操作を行うC言語のライブラリソース(市販品)を修正したことありますが、うん万行という大きさで多大な労力と日数を費やしました。「C言語の学習」「アプリケーション作成の練習」が目的ならいいのですけど「自営業のため」というような実際の運用が目的なら、「簡単タイムカードforAccess2000」のようなフリーソフト等を使われることをお勧めします。(手段と目的を間違えないようにしましょう) http://www.vector.co.jp/soft/dl/win95/business/se271512.html 一発で開くのは、他の方も言われているように、デスクトップにショットカットを作ればOKですね。

naaco
質問者

お礼

フリーソフトがいっぱいあるんですね!! 知りませんでした。 ありがとうございます^^

  • MrBan
  • ベストアンサー率53% (331/615)
回答No.4

C初級とのことですし、基本のアイデアは#2の方のように、 ショートカットでもよさそうに思いますが、更に言えば、 aとかbとか入力させるのも危ないような気が。 >パソコンがろくにできない50代。 デスクトップに「出社」「退社」のショートカットを別につくり、別プログラムにするのがよいと思います。 # 多重クリック(ミス操作)等の対策(Mutex等)も忘れずに。

naaco
質問者

お礼

なるほど!! 良いですね♪ それと・・・多重クリック対策→mutexって何ですか? わかりません>< 自分でも調べてみますが。

回答No.3

ミステイク scanf("%c",&c"); でしたね。

naaco
質問者

補足

scanf("%c",&c); じゃないですか・・・?

  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.1

Cで画面を操作するプログラムを作るのは非常に大変です。Execl(VBA)又はVB.NET等で作成する方が非常に簡単です。C言語でなく、VBA,VB.NETを検討されてはいかがでしょうか。

naaco
質問者

お礼

そうですね。 excelで作るのを検討してみます。

関連するQ&A