ループ

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
sub

ループ

#1

投稿記事 by sub » 18年前

質問させていただきます。

経過分を入力してそれが今年のはじめから数えると今年の何月何日何分になっているかを表示するプログラムです。
#include <stdio.h>

int whattime(int minute, char**, char**);

int main(void)
{
	int minute,Day;
	char *Month,*Hhmm;
		
	printf("経過分入力:");
    fflush(stdout);
	scanf("%d", &minute);
	
	Day = whattime(minute, &Month, &Hhmm);
	if(Day<0){
		return (0);}
	
	printf("%s %d %s\n", Month, Day, Hhmm);
	
	return(0);
}

int whattime(int minute, char **month, char **hhmm)
{
	int day, h, d, m ;
	char ch1[2], ch2[2], ch3[2], ch4[2];
	static char *pm;
	static char time[6];
	int mday[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
	static char *name[12] = {"January", "Febrary", "March", "April", "May", "Jun", "July", "Augast", "September", "Octorber", "Novenber", "December"};
    
    m = minute % 60;        
    minute -= m;            
    minute = minute / 60;       

    h = minute % 24;       
    minute -= h;           

    d = minute / 24;
    
    
    if(d>=365){
    	printf("Error!!\n");
    	return (-1);
    }
    
    sprintf(ch1, "%d", h/10);
    sprintf(ch2, "%d", h%10);
    sprintf(ch3, "%d", m/10);
    sprintf(ch4, "%d", m%10);
    sprintf(time, "%s%s:%s%s", ch1,ch2,ch3,ch4);
    pm=time;
    
    
        
    // ここがわかりません・・・
        
	*hhmm=pm;
    
    return (day);
}
↑のような状況までは友達に教えてもらいつつなんとかできたのですが・・・

dayの数値と月の名前を出す段階でどのようなループにすればday、月の名前をだすことができるのかわかりません。

ifを12個使えばできると思うのですが、それだと見栄えが悪いのでこれはやめておきたいと思うのです・・・

教えていただけないでしょうか?よろしくお願いします。
他にも間違いがあれば教えていただけるとうれしいです。




あとほんとに全く関係ないのですが、友達はどんどん理解していっていて私だけが置いてけぼり食らっているような感じがあります・・・
地道にやっていけば理解できるようになるのでしょうか?

sub

Re:ループ

#2

投稿記事 by sub » 18年前

自己解決できそうです!

どうももうしわけありませんでしたー^^;

管理人

Re:ループ

#3

投稿記事 by 管理人 » 18年前

昨日はバイトで深夜になってしまい、答えられずすみませんでした。(_ _|||)
ご自分で解決出来ればそれに越した事はないですね、頑張ってください。

何かつまってしまったらまたお越し下さい。

閉鎖

“C言語何でも質問掲示板” へ戻る