掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板2

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.26881

この名簿の実行結果をテキストファイルに保存するにはどうしたらいいですか?
投稿者---kou(2006/05/17 11:44:38)


#include <stdio.h>
#define FAILED -1

typedef struct{
char code[8];
char name[12];
char adress[20];
int tel;
int day;
int age;
}syain;


/****************************************************************/
/*社員コードの検索
/****************************************************************/
int search(syain vc[],char key[],int no)
{
int i,j;

for(i=0; i<no; i++){
for(j=0; j<8; j++){
if(vc[i].code[j] == '\0' && key[j] == '\0') return(i);
if(vc[i].code[j] != key[j]){
break;
}
if(j == 7){
return(i);
}
}
}
return(FAILED);
}
/****************************************************************/
/* Main
/****************************************************************/
int main(void)
{

char cont,ky[8];
int n=0,j,k,idx;
syain kaisya[40];
/****************************************************************/
/*社員情報の登録
/****************************************************************/
do{
printf("社員コード?:"); scanf("%s",kaisya[n].code);
printf("氏名?:"); scanf("%s",kaisya[n].name);
printf("住所?:"); scanf("%s",kaisya[n].adress);
printf("電話番号?:"); scanf("%d",&kaisya[n].tel);
printf("入社年月日?:"); scanf("%d",&kaisya[n].day);
printf("年齢?:"); scanf("%d",&kaisya[n].age);

n++;

printf("続けて社員登録をしますか?[Y/N]:");
scanf("%s",&cont);
}while(cont=='y');
/****************************************************************/
/*社員情報の修正
/****************************************************************/
do{
printf("社員情報を修正しますか?[Y/N]:");
scanf("%s",&cont);
if(cont=='y'){
printf("社員コードを入力してください。:");
scanf("%s",ky);

idx=search(kaisya,ky,n);

if(idx==FAILED){
printf("社員コード%sの社員はいません。\n",ky);
}
else{
puts("番号を選択してください。");
puts("1:氏名 2:住所 3:電話番号 4:入社年月日 5:年齢 6:情報確認");
scanf("%d",&k);

switch(k){
case 1: printf("氏名 : "); scanf("%s", kaisya[idx].name); break;
case 2: printf("住所 : "); scanf("%s", kaisya[idx].adress); break;
case 3: printf("電話番号:"); scanf("%d", &kaisya[idx].tel); break;
case 4: printf("入社年月日 : "); scanf("%d", &kaisya[idx].day); break;
case 5: printf("年齢 : "); scanf("%d", &kaisya[idx].age); break;
case 6: puts("[社員コード] [氏名] [住所] [電話番号] [入社年月日] [年齢]");
printf(" %-6s %-3s %-6s %-6d %-3d %-6d\n",kaisya[idx].code,kaisya[idx].name,
kaisya[idx].adress,kaisya[idx].tel,kaisya[idx].day,kaisya[idx].age); break;
default :puts("ありません。"); break;
}
}
}

}while(cont=='y');
/****************************************************************/
/*社員情報の印刷(表示)
/****************************************************************/
puts("[社員コード] [年齢] [入社年月日]");
for(j=0; j<n; j++){
printf(" %-6s %-3d %-6d\n",kaisya[j].code,kaisya[j].age,kaisya[j].day);
}


return(0);
}



この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:この名簿の実行結果をテキストファイルに保存するにはどうしたらいいですか? 26883 ぽへぇ 2006/05/17 19:26:25


No.26883

Re:この名簿の実行結果をテキストファイルに保存するにはどうしたらいいですか?
投稿者---ぽへぇ(2006/05/17 19:26:25)


実行結果ってどこからどこまでのことを言うのだろう?

他にも突っ込みどころはたくさんありますが、とりあえず
fopen, fprintf, fclose
について調べてください。
で、

>/*社員情報の印刷(表示)

の周辺を書き換えればよいと思います。



この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧