當前位置:編程學習大全網 - 編程語言 - 個人編程語言

個人編程語言

# include & ltstdio.h & gt

# include & ltstring.h & gt

結構人

{

char name[8];

char聯系電話[15];

char addr[50];

};

字符文件名[20];

FILE * fp

void creat();

void輸出();

void search();

void append();

void modify();

void deleted();

int main()

{

int m;

creat();

while(1)

{

printf(" \ n \ n要添加,請按1 ");

printf(" \ n要查找,請按2 ");

printf(" \ n要修改,請按3 ");

printf(" \ n刪除,請按4 ");

printf(" \ n要輸出,請按5 ");

printf(" \ n要退出,請按0 \ n ");

scanf("%d ",& ampm);

如果(m & gt= 0 & amp& ampm & lt=5)

{

開關(m)

{

案例1:append();

打破;

案例二:搜索();

打破;

情況三:modify();

打破;

情況四:刪除();

打破;

案例五:output();

打破;

案例0:破;

}

printf(" \ n \ n操作完成,請重新選擇!");

}

其他

printf(" \ n \ n選擇錯誤,請重新選擇!");

}

返回0;}

void creat()

{

結構人壹;

long s 1;

printf(" \ n請輸入通訊簿名稱:");

scanf("%s ",文件名);

if((fp=fopen(文件名,“w”))= = NULL)

{

printf(" \ n無法創建通訊簿!");

}

Fprintf (FP," %-10s%-20s%-50s \ n ","姓名","電話號碼","地址");

printf(" \ n請輸入您的姓名、電話號碼和地址(以0結尾)\ n ");

scanf("%s ",one . name);

while(strcmp(one.name," 0 "))

{

scanf("%s%s ",one.tel,one . addr);

fprintf(fp," %-10s%-20s%-50s\n ",one.name,one.tel,one . addr);

scanf("%s ",one . name);

}

fclose(FP);

}

無效輸出()

{

結構人壹;

if((fp=fopen(filename," r))= = NULL)

{

printf(" \ n無法打開通訊簿!");

}

Printf("\n\n%20s\n ","通訊簿");

而(!feof(fp))

{

fscanf(fp," %s%s%s\n ",one.name,one.tel,one . addr);

printf("%-10s%-20s%-50s ",one.name,one.tel,one . addr);

}

fclose(FP);

}

void追加()

{

結構人壹;

if((fp=fopen(文件名,“a”))= = NULL)

{

printf(" \ n無法打開通訊簿!");

}

printf(" \ n請輸入添加的姓名、電話號碼和地址\ n ");

scanf("%s%s%s ",one.name,one.tel,one . addr);

fprintf(fp," %-10s%-20s%-50s\n ",one.name,one.tel,one . addr);

fclose(FP);

}

無效搜索()

{

int k = 0;

char name key[8];

結構人壹;

printf(" \ n請輸入壹個名稱:");

scanf("%s ",name key);

if((fp=fopen(文件名,“Rb”))= = NULL)

{

printf(" \ n無法打開通訊簿!");

}

而(!feof(fp))

{

fscanf(fp," %s%s%s\n ",one.name,one.tel,one . addr);

如果(!strcmp(namekey,one.name))

{

printf(" \ n \ n找到,記錄為:");

printf(" \ n %-10s %-18s %-50s ",one.name,one.tel,one . addr);

k = 1;

}

}

如果(!k)

printf(" \ n \ n抱歉,通訊簿中沒有此人的記錄。);

fclose(FP);

}

void修改()

{

int m,k = 0;

長偏移;

char name key[8];

結構人壹;

printf(" \ n請輸入壹個名稱:");

scanf("%s ",name key);

if((fp=fopen(filename," r+")= = NULL)

{

printf(" \ n無法打開通訊簿!");

}

而(!feof(fp))

{

offset = ftell(FP);

fscanf(fp," %s%s%s\n ",one.name,one.tel,one . addr);

如果(!strcmp(namekey,one.name))

{

k = 1;

打破;

}

}

如果(k)

{

printf(" \ n找到,記錄為:");

printf(" \ n %-10s %-18s %-50s ",one.name,one.tel,one . addr);

printf(" \ n請輸入新的姓名、電話號碼和地址:");

scanf("%s%s%s ",one.name,one.tel,one . addr);

fseek(fp,offset,SEEK _ SET);

printf("%ld ",ftell(FP));

fprintf(fp," %-10s%-20s%-50s\n ",one.name,one.tel,one . addr);

}

其他

printf(" \ n抱歉,通訊簿中沒有此人的記錄。);

fclose(FP);

}

void已刪除()

{

int m,k=0,flag

長offset1,offset2

char namekey[8],valid[4];

結構人壹;

printf(" \ n請輸入壹個名稱:");

scanf("%s ",name key);

if((fp=fopen(filename," r+")= = NULL)

{

printf(" \ n無法打開通訊簿!");

}

而(!feof(fp))

{

offset 1 = ftell(FP);

fscanf(fp," %s%s%s\n ",one.name,one.tel,one . addr);

如果(!strcmp(namekey,one.name))

{

k = 1;

打破;

}

}

如果(k)

{

Printf ("\ nFound,recorded as ");

printf(" \ n %-10s %-18s %-50s ",one.name,one.tel,one . addr);

printf(" \ n確實要刪除嗎,請按1;不刪除,按0:“);

scanf("%d ",& ampm);

如果(m)

{

fseek(fp,offset1,SEEK _ SET);

fprintf(fp," %-10s%-20s%-50s\n ","",""," ");

}

}

其他

printf(" \ n抱歉,通訊簿中沒有此人的記錄。);

fclose(FP);

}

可以在vc6.0中使用,希望對妳有用。

  • 上一篇:寶馬3系三系的方向盤回饋不及時,指向不準,老是往右跑偏怎麽處理
  • 下一篇:西昌大學工程技術學院專業設置
  • copyright 2024編程學習大全網