コード:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
FILE *fp;
char *fname = "comma.csv";
struct member {
int no;
char name[20];
char adress[20];
char tel[20];
char mail[20];
};
main()
{
int no;
int ret;
printf("---会員管理システムメニュー---\n\n");
printf("1.新規登録\n");
printf("2.変更\n");
printf("3.削除\n");
printf("4.一覧表示\n");
printf("No? ");
ret=scanf("%d",&no);
if(no == 1)
{
ret = add_record();
}
else if(no == 2)
{
ret = update_record();
}
//else if(no == 3)
//{
// ret = del_record();
//}
//else if(no == 4)
//{
// ret = disp_all();
//
//}
}
int add_record()
{
int no;
char name[100];
char adress[100];
char tel[100];
char mail[100];
int choice;
printf("\n会員番号(0-10数値)? ");
scanf("%d",&no);
printf("会員名称(漢字,英語)? ");
scanf("%s",&name);
printf("住所(漢字,数字50文字)? ");
scanf("%s",&adress);
printf("電話番号(半角文字-で区切る)? ");
scanf("%s",&tel);
printf("メールアドレス(半角英数字)? ");
scanf("%s",&mail);
printf("新規登録しますか?(1:yes 2:no)? ");
scanf("%d",&choice);
if(choice == 2)
{
system("cls");
main();
}
fp = fopen(fname,"a");
if(fp == NULL)
{
printf("%sファイルが開けません\n",fname);
return -1;
}
fprintf(fp,"%d,%s,%s,%s,%s\n",no,name,adress,tel,mail);
fclose(fp);
printf("%sファイル書き込みが終わりました\n",fname);
return 0;
}
int update_record()
{
struct member member[20]={0};
int no;
char name[100];
char adress[100];
char tel[100];
char mail[100];
int choice=0;
int ret;
int i=0;
int g=0;
char a[100]="会員名称(漢字,英語)? ";
char b[100]="住所(漢字,数字50文字)? ";
char c[100]="電話番号(半角文字-で区切る)? ";
char d[100]="メールアドレス(半角英数字)? ";
//入力する変数領域7
char up_name[50];
char up_adress[100];
char up_tel[20];
char up_mail[50];
//ファイルから読み込んだ番号
int rno;
printf("\n会員番号(0-10数値)? ");
scanf("%d",&no);
fp = fopen(fname,"r");
if(fp == NULL)
{
printf("%sファイルが開けません\n",fname);
return -1;
}
while(feof(fp)==0)
{
if((fscanf(fp,"%d,%[^,],%[^,],%[^,],%s",&(member[i].no),member[i].name,member[i].adress,member[i].tel,member[i].mail)) != EOF)
{
if(no==member[i].no)
{
printf("%s\n",member[i].name);
scanf("%s",member[i].name);
printf("%s\n",member[i].adress);
scanf("%s",member[i].adress);
printf("%s\n",member[i].tel);
scanf("%s",member[i].tel);
printf("%s\n",member[i].mail);
scanf("%s",member[i].mail);
printf("%s\n","変更登録しますか?(1:yes 2:no) ");
scanf("%d",&choice);
if(choice==2)
{
system("cls");
main();
}
}
}
i++;
}
fclose(fp);
fp = fopen(fname,"w");
fprintf(fp,"%d,%s,%s,%s,%s\n",member[0].no,member[0].name,member[0].adress,member[0].tel,member[0].mail);
fclose(fp);
fp = fopen(fname,"a");
g=1;
while(g<i-1)
{
fprintf(fp,"%d,%s,%s,%s,%s\n",member[g].no,member[g].name,member[g].adress,member[g].tel,member[g].mail);
g++;
}
fclose(fp);
printf("%s","ファイル書き込みが終わりました");
return 0;
}