#include <stdio.h>
#include <string.h>
#include <stdlib.h>	/*いらない?*/

/* 定数 */
#define FNAME1 "uho.txt" /* 開くファイル名 */
#define DOTTXT ".txt" /*拡張子*/
/*uho.txtを事前に作成してもらう必要があるのが、イマイチだよなあ*/

/*グローバル変数宣言*/
FILE *fp1;    /* ファイルポインタ */

int main(void)
{
	char kategori[32];
	char kategori2[32];
	char itaname[16];
	char url[64];
	char newname[32];
	int res;
	int res2;
	int flag;
	
	printf("ギコナビの外部板登録用のテキストを新規作成・追加編集します\n");
	printf("新規作成であれば1を、uho.txtに追加するのであれば2を入力してくださいな…");
	scanf("%d",&res);
	switch (res)
	{
		case 1:
		/*uho.txtを書き込みモードで開く*/
	    fp1 = fopen(FNAME1,"w");
	    if ( fp1 ==NULL)
	    {
	        printf("ファイルオープンに失敗したんです><\n");
			return 1;
	    }
		printf("ギコナビの外部板登録用テキストを新規作成します\n");
		
		printf("カテゴリ名を入力してくださいな…");
		scanf("%s",kategori);
		
		printf("板名…");
		scanf("%s",itaname);
		
		printf("URL…");
		scanf("%s",url);
		
		fprintf(fp1,"\[%s\]\n%s\=%s\n",
					kategori,itaname,url);
					
		printf("ファイルへの出力が完了しました\n");
		
		printf("同じカテゴリの登録を続けるなら1、止めるなら0を入力してくださいな…");
		scanf("%d",&flag);
		
		if(flag==1)
		{
			printf("板名…");
			scanf("%s",itaname);
		
			printf("URL…");
			scanf("%s",url);
	    	fprintf(fp1,"%s\=%s\n",
					itaname,url);
					
			printf("ファイルへの出力が完了しました\n");
		
			printf("引き続き同じカテゴリの板の登録を続けるなら1、このカテゴリへの登録を止めるなら0を入力してくださいな…");
			scanf("%d",&flag);
		}
		
		if(flag==0)
		{
			printf("違うカテゴリの登録をするなら1、このまま終了するなら0を入力して下さいな…");
			scanf("%d",&res2);
		}
		
			if(res2==1)
			{
				flag=res2;
				printf("カテゴリ名を入力してくださいな…");
				scanf("%s",kategori2);
		
				fprintf(fp1,"\[%s\]\n",
						kategori2);
			}
			else
			{
				break;	/*終了*/
			}
		
			while(flag==1&&res2==1)
			{
				printf("板名…");
				scanf("%s",itaname);
		
				printf("URL…");
				scanf("%s",url);
	    		fprintf(fp1,"%s\=%s\n",
						itaname,url);
					
				printf("ファイルへの出力が完了しました\n");
		
				printf("引き続き同じカテゴリの板の登録を続けるなら1、止めるなら0を入力してくださいな…");
				scanf("%d",&res2);
			}
		
			printf("最初に入力したカテゴリ名をファイル名にしてよろしいですか?(カテゴリ名.txtにします)\n");
			printf("別に新たにファイル名をつけるのであれば1を、構わなければ0を入力してくださいな…");
			scanf("%d",&flag);
		
			if(flag==1)
			{
				printf("付けるファイル名(.txtはいらないです)…");
				scanf("%s",&newname);
				strcat(newname,DOTTXT);
			
				/*一度閉じて今度は読み込みモードで開く*/
				fclose(fp1);
				fp1 = fopen(FNAME1,"r");
				if ( fp1 ==NULL)
				{
					printf("ファイルオープンに失敗したんです><\n");
	    			return 1;
				}
				fclose(fp1);
				/*そして閉じてからリネーム*/
			
				if (rename(FNAME1,newname) == 0);
    			printf("uho.txtを%sに変更しました\n",newname);
			}
			else
			{
				strcat(kategori,DOTTXT);
			
				/*一度閉じて今度は読み込みモードで開く*/
				fclose(fp1);
				fp1 = fopen(FNAME1,"r");
				if ( fp1 ==NULL)
				{
					printf("ファイルオープンに失敗したんです><\n");
	    			return 1;
				}
				fclose(fp1);
				/*そして閉じてからリネーム*/
			
				if (rename(FNAME1,kategori) == 0);
    			printf("uho.txtを%sに変更しました\n",kategori);
			}
			
			break;	/*case1終了*/
		
	case 2:
		/*uho.txtを追加モードで開く*/
    	fp1 = fopen(FNAME1,"a");
		
		if ( fp1 ==NULL)
    	{
        	printf("ファイルオープンに失敗したんです><\nuho.txtがあるかどうか確認してください\n");
        	return 1;
    	}
		
		/*printf("新しいカテゴリの登録であれば1を、前回と引き続き同じカテゴリの登録であれば0を入力してくださいな…");
		scanf("%d",&flag);*/
		printf("前回と同じカテゴリの入力ができませんので、カテゴリ名を入力して下さい\n");
		flag=1;
		
		if(flag==1)
		{
			printf("カテゴリ名を入力してくださいな…");
			scanf("%s",kategori);
		
			fprintf(fp1,"\[%s\]\n",
						kategori);
		}
			
			do{
				printf("板名…");
				scanf("%s",itaname);
		
				printf("URL…");
				scanf("%s",url);
	    		fprintf(fp1,"%s\=%s\n",
						itaname,url);
					
				printf("ファイルへの出力が完了しました\n");
		
				printf("同じカテゴリの登録を続けるなら1、登録を終了するなら0を入力してくださいな…");
				scanf("%d",&flag);
			}while(flag==1);
		
			printf("違うカテゴリの登録をするなら1、このまま終了するなら0を入力して下さいな…");
			scanf("%d",&flag);
		
		if(flag==1)
		{
			printf("カテゴリ名を入力してくださいな…");
			scanf("%s",kategori);
		
			fprintf(fp1,"\[%s\]\n",
						kategori);
		}
		else
		{
			break;
		}
		
		while(flag==1)
		{
			printf("板名…");
			scanf("%s",itaname);
		
			printf("URL…");
			scanf("%s",url);
	    	fprintf(fp1,"%s\=%s\n",
					itaname,url);
					
			printf("ファイルへの出力が完了しました\n");
		
			printf("引き続き同じカテゴリの板の登録を続けるなら1、止めるなら0を入力してくださいな…");
			scanf("%d",&flag);
		}
		
		/*uho.txtを閉じる*/
    	fclose(fp1);
		
		printf("uho.txtからファイル名を変更するのなら1、このまま終了するなら0を入力してくださいな…");
		scanf("%d",&flag);
		
		if(flag==1)
		{
			printf("付けるファイル名(.txtはいらないです)…");
			scanf("%s",&newname);
			strcat(newname,DOTTXT);
			/*一度閉じて今度は読み込みモードで開く*/
			fclose(fp1);
			fp1 = fopen(FNAME1,"r");
			if ( fp1 ==NULL)
			{
				printf("ファイルオープンに失敗したんです><\n");
	    		return 1;
			}
			fclose(fp1);
			/*そして閉じてからリネーム*/
			if (rename(FNAME1,newname) == 0);
    		printf("uho.txtを%sに変更しました\n",newname);
		}
		break;	/*case2終了*/
	
	default:
		printf("1と2以外のキーが押されました\n");
		printf("このまま終了します\n");
	break;
	}	/*switch case終了*/
	
	
	
	
	return 0;
}