亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tongxunlu.txt

?? 輸入人名出通訊方式
?? TXT
字號:
#include "stdio.h" /*I/O函數*/
#include "stdlib.h" /*標準庫函數*/
#include "string.h"/*字符串函數*/
#include "ctype.h" /*字符操作函數*/
#define M 50 /*定義常數表示記錄數*/
typedef struct /*定義數據結構*/
{
char name[20]; /*姓名*/
char units[30]; /*單位*/
char tele[10]; /*電話*/
}ADDRESS;
/******以下是函數原型*******/
int enter(ADDRESS t[]); /*輸入記錄*/
void list(ADDRESS t[],int n); /*顯示記錄*/
void search(ADDRESS t[],int n); /*按姓名查找顯示記錄*/
int delete(ADDRESS t[],int n); /*刪除記錄*/
int add(ADDRESS t[],int n); /*插入記錄*/
void save(ADDRESS t[],int n); /*記錄保存為文件*/
int load(ADDRESS t[]); /*從文件中讀記錄*/
void display(ADDRESS t[]); /*按序號查找顯示記錄*/
void sort(ADDRESS t[],int n); /*按姓名排序*/
void qseek(ADDRESS t[],int n); /*快速查找記錄*/
void copy(); /*文件復制*/
void print(ADDRESS temp); /*顯示單條記錄*/
int find(ADDRESS t[],int n,char *s) ; /*查找函數*/
int menu_select(); /*主菜單函數*/
/******主函數開始*******/
main()
{
int i;
ADDRESS adr[M]; /*定義結構體數組*/
int length; /*保存記錄長度*/
clrscr(); /*清屏*/
for(;;)/*無限循環*/
{
switch(menu_select()) /*調用主菜單函數,返回值整數作開關語句的條件*/
{
case 0:length=enter(adr);break;/*輸入記錄*/
case 1:list(adr,length);break; /*顯示全部記錄*/
case 2:search(adr,length);break; /*查找記錄*/
case 3:length=delete(adr,length);break; /*刪除記錄*/
case 4:length=add(adr,length); break; /*插入記錄*/
case 5:save(adr,length);break; /*保存文件*/
case 6:length=load(adr); break; /*讀文件*/
case 7:display(adr);break; /*按序號顯示記錄*/
case 8:sort(adr,length);break; /*按姓名排序*/
case 9:qseek(adr,length);break; /*快速查找記錄*/
case 10:copy();break; /*復制文件*/
case 11:exit(0); /*如返回值為11則程序結束*/
}
}
}
/*菜單函數,函數返回值為整數,代表所選的菜單項*/
menu_select()
{
char s[80];
int c;
gotoxy(1,25);/*將光標定為在第25行,第1列*/
printf("press any key enter menu......\n");/*提示壓任意鍵繼續*/
getch(); /*讀入任意字符*/
clrscr(); /*清屏*/
gotoxy(1,1);
printf("********************MENU*********************\n\n");
printf(" 0. Enter record\n");
printf(" 1. List the file\n");
printf(" 2. Search record on name\n");
printf(" 3. Delete a record\n");
printf(" 4. add record \n");
printf(" 5. Save the file\n");
printf(" 6. Load the file\n");
printf(" 7. display record on order\n");
printf(" 8. sort to make new file\n");
printf(" 9. Quick seek record\n");
printf(" 10. copy the file to new file\n");
printf(" 11. Quit\n");
printf("***********************************************\n");
do{
printf("\n Enter you choice(0~11):"); /*提示輸入選項*/
scanf("%s",s); /*輸入選擇項*/
c=atoi(s); /*將輸入的字符串轉化為整型數*/
}while(c<0||c>11); /*選擇項不在0~11之間重輸*/
return c; /*返回選擇項,主程序根據該數調用相應的函數*/
}
/***輸入記錄,形參為結構體數組,函數值返回類型為整型表示記錄長度*/
int enter(ADDRESS t[])
{
int i,n;
char *s;
clrscr(); /*清屏*/
printf("\nplease input num \n"); /*提示信息*/
scanf("%d",&n); /*輸入記錄數*/
printf("please input record \n"); /*提示輸入記錄*/
printf("name unit telephone\n");
printf("------------------------------------------------\n");
for(i=0;i<n;i++)
{
scanf("%s%s%s",t[i].name,t[i].units,t[i].tele); /*輸入記錄*/
printf("----------------------------------------------\n");
}
return n; /*返回記錄條數*/
}
/*顯示記錄,參數為記錄數組和記錄條數*/
void list(ADDRESS t[],int n)
{
int i;
clrscr();
printf("\n\n*******************ADDRESS******************\n");
printf("name unit telephone\n");
printf("------------------------------------------------\n");
for(i=0;i<n;i++)
printf("%-20s%-30s%-10s\n",t[i].name,t[i].units,t[i].tele);
if((i+1)%10==0) /*判斷輸出是否達到10條記錄*/
{
printf("Press any key continue...\n"); /*提示信息*/
getch(); /*壓任意鍵繼續*/
}
printf("************************end*******************\n");
}
/*查找記錄*/
void search(ADDRESS t[],int n)
{
char s[20]; /*保存待查找姓名字符串*/
int i; /*保存查找到結點的序號*/
clrscr(); /*清屏*/
printf("please search name\n");
scanf("%s",s); /*輸入待查找姓名*/
i=find(t,n,s); /*調用find函數,得到一個整數*/
if(i>n-1) /*如果整數i值大于n-1,說明沒找到*/
printf("not found\n");
else
print(t[i]); /*找到,調用顯示函數顯示記錄*/
}
/*顯示指定的一條記錄*/
void print(ADDRESS temp)
{
clrscr();
printf("\n\n********************************************\n");
printf("name unit telephone\n");
printf("------------------------------------------------\n");
printf("%-20s%-30s%-10s\n",temp.name,temp.units,temp.tele);
printf("**********************end***********************\n");
}
/*查找函數,參數為記錄數組和記錄條數以及姓名s */
int find(ADDRESS t[],int n,char *s)
{
int i;
for(i=0;i<n;i++)/*從第一條記錄開始,直到最后一條*/
{
if(strcmp(s,t[i].name)==0) /*記錄中的姓名和待比較的姓名是否相等*/
return i; /*相等,則返回該記錄的下標號,程序提前結結束*/
}
return i; /*返回i值*/
}
/*刪除函數,參數為記錄數組和記錄條數*/
int delete(ADDRESS t[],int n)
{
char s[20]; /*要刪除記錄的姓名*/
int ch=0;
int i,j;
printf("please deleted name\n"); /*提示信息*/
scanf("%s",s);/*輸入姓名*/
i=find(t,n,s); /*調用find函數*/
if(i>n-1) /*如果i>n-1超過了數組的長度*/
printf("no found not deleted\n"); /*顯示沒找到要刪除的記錄*/
else
{
print(t[i]); /*調用輸出函數顯示該條記錄信息*/
printf("Are you sure delete it(1/0)\n"); /*確認是否要刪除*/
scanf("%d",&ch); /*輸入一個整數0或1*/
if(ch==1) /*如果確認刪除整數為1*/
{
for(j=i+1;j<n;j++) /*刪除該記錄,實際后續記錄前移*/
{
strcpy(t[j-1].name,t[j].name); /*將后一條記錄的姓名拷貝到前一條*/
strcpy(t[j-1].units,t[j].units); /*將后一條記錄的單位拷貝到前一條*/
strcpy(t[j-1].tele,t[j].tele); /*將后一條記錄的電話拷貝到前一條*/
}
n--; /*記錄數減1*/
}
}
return n; /*返回記錄數*/
}
/*插入記錄函數,參數為結構體數組和記錄數*/
int add(ADDRESS t[],int n)/*插入函數,參數為結構體數組和記錄數*/
{
ADDRESS temp; /*新插入記錄信息*/
int i,j;
char s[20]; /*確定插入在哪個記錄之前*/
printf("please input record\n");
printf("************************************************\n");
printf("name unit telephone\n");
printf("--------------------------------------------------\n");
scanf("%s%s%s",temp.name,temp.units,temp.tele); /*輸入插入信息*/
printf("------------------------------------------------\n");
printf("please input locate name \n");
scanf("%s",s); /*輸入插入位置的姓名*/
i=find(t,n,s); /*調用find,確定插入位置*/
for(j=n-1;j>=i;j--) /*從最后一個結點開始向后移動一條*/
{
strcpy(t[j+1].name,t[j].name); /*當前記錄的姓名拷貝到后一條*/
strcpy(t[j+1].units,t[j].units); /*當前記錄的單位拷貝到后一條*/
strcpy(t[j+1].tele,t[j].tele); /*當前記錄的電話拷貝到后一條*/
}
strcpy(t[i].name,temp.name); /*將新插入記錄的姓名拷貝到第i個位置*/
strcpy(t[i].units,temp.units); /*將新插入記錄的單位拷貝到第i個位置*/
strcpy(t[i].tele,temp.tele); /*將新插入記錄的電話拷貝到第i個位置*/
n++; /*記錄數加1*/
return n; /*返回記錄數*/
}
/*保存函數,參數為結構體數組和記錄數*/
void save(ADDRESS t[],int n)
{
int i;
FILE *fp; /*指向文件的指針*/
if((fp=fopen("record.txt","wb"))==NULL) /*打開文件,并判斷打開是否正常*/
{
printf("can not open file\n");/*沒打開*/
exit(1); /*退出*/
}
printf("\nSaving file\n"); /*輸出提示信息*/
fprintf(fp,"%d",n); /*將記錄數寫入文件*/
fprintf(fp,"\r\n"); /*將換行符號寫入文件*/
for(i=0;i<n;i++)
{
fprintf(fp,"%-20s%-30s%-10s",t[i].name,t[i].units,t[i].tele);/*格式寫入記錄*/
fprintf(fp,"\r\n"); /*將換行符號寫入文件*/
}
fclose(fp);/*關閉文件*/
printf("****save success***\n"); /*顯示保存成功*/
}
/*讀入函數,參數為結構體數組*/
int load(ADDRESS t[])
{
int i,n;
FILE *fp; /*指向文件的指針*/
if((fp=fopen("record.txt","rb"))==NULL)/*打開文件*/
{
printf("can not open file\n"); /*不能打開*/
exit(1); /*退出*/
}
fscanf(fp,"%d",&n); /*讀入記錄數*/
for(i=0;i<n;i++)
fscanf(fp,"%20s%30s%10s",t[i].name,t[i].units,t[i].tele); /*按格式讀入記錄*/
fclose(fp); /*關閉文件*/
printf("You have success read data from file!!!\n"); /*顯示保存成功*/
return n; /*返回記錄數*/
}
/*按序號顯示記錄函數*/
void display(ADDRESS t[])
{
int id,n;
FILE *fp; /*指向文件的指針*/
if((fp=fopen("record.txt","rb"))==NULL) /*打開文件*/
{
printf("can not open file\n"); /*不能打開文件*/
exit(1); /*退出*/
}
printf("Enter order number...\n"); /*顯示信息*/
scanf("%d",&id); /*輸入序號*/
fscanf(fp,"%d",&n); /*從文件讀入記錄數*/
if(id>=0&&id<n) /*判斷序號是否在記錄范圍內*/
{
fseek(fp,(id-1)*sizeof(ADDRESS),1); /*移動文件指針到該記錄位置*/
print(t[id]); /*調用輸出函數顯示該記錄*/
printf("\r\n");
}
else
printf("no %d number record!!!\n ",id); /*如果序號不合理顯示信息*/
fclose(fp); /*關閉文件*/
}
/*排序函數,參數為結構體數組和記錄數*/
void sort(ADDRESS t[],int n)
{
int i,j,flag;
ADDRESS temp; /*臨時變量做交換數據用*/
for(i=0;i<n;i++)
{
flag=0; /*設標志判斷是否發生過交換*/
for(j=0;j<n-1;j++)
if((strcmp(t[j].name,t[j+1].name))>0) /*比較大小*/
{
flag=1;
strcpy(temp.name,t[j].name); /*交換記錄*/
strcpy(temp.units,t[j].units);
strcpy(temp.tele,t[j].tele);
strcpy(t[j].name,t[j+1].name);
strcpy(t[j].units,t[j+1].units);
strcpy(t[j].tele,t[j+1].tele);
strcpy(t[j+1].name,temp.name);
strcpy(t[j+1].units,temp.units);
strcpy(t[j+1].tele,temp.tele);
}
if(flag==0)break; /*如果標志為0,說明沒有發生過交換循環結束*/
}
printf("sort sucess!!!\n"); /*顯示排序成功*/
}
/*快速查找,參數為結構體數組和記錄數*/
void qseek(ADDRESS t[],int n)
{
char s[20];
int l,r,m;
printf("\nPlease sort before qseek!\n"); /*提示確認在查找之前,記錄是否已排序*/
printf("please enter name for qseek\n"); /*提示輸入*/
scanf("%s",s); /*輸入待查找的姓名*/
l=0;r=n-1; /*設置左邊界與右邊界的初值*/
while(l<=r) /*當左邊界<=右邊界時*/
{
m=(l+r)/2; /*計算中間位置*/
if(strcmp(t[m].name,s)==0) /*與中間結點姓名字段做比較判是否相等*/
{
print(t[m]); /*如果相等,則調用print函數顯示記錄信息*/
return ; /*返回*/
}
if(strcmp(t[m].name,s)<0) /*如果中間結點小*/
l=m+1; /*修改左邊界*/
else
r=m-1; /*否則,中間結點大,修改右邊界*/
}
if(l>r) /*如果左邊界大于右邊界時*/
printf("not found\n"); /*顯示沒找到*/
}
/*復制文件*/
void copy()
{
char outfile[20]; /*目標文件名*/
int i,n;
ADDRESS temp[M]; /*定義臨時變量*/
FILE *sfp,*tfp; /*定義指向文件的指針*/
clrscr();/*清屏*/
if((sfp=fopen("record.txt","rb"))==NULL) /*打開記錄文件*/
{
printf("can not open file\n"); /*顯示不能打開文件信息*/
exit(1); /*退出*/
}
printf("Enter outfile name,for example c:\\f1\\te.txt:\n"); /*提示信息*/
scanf("%s",outfile); /*輸入目標文件名*/
if((tfp=fopen(outfile,"wb"))==NULL) /*打開目標文件*/
{
printf("can not open file\n"); /*顯示不能打開文件信息*/
exit(1); /*退出*/
}
fscanf(sfp,"%d",&n); /*讀出文件記錄數*/
fprintf(tfp,"%d",n);/*寫入目標文件數*/
fprintf(tfp,"\r\n"); /*寫入換行符*/
for(i=0;i<n;i++)
{
fscanf(sfp,"%20s%30s%10s\n",temp[i].name,temp[i].units,
temp[i].tele); /*讀入記錄*/
fprintf(tfp,"%-20s%-30s%-10s\n",temp[i].name,
temp[i].units,temp[i].tele); /*寫入記錄*/
fprintf(tfp,"\r\n"); /*寫入換行符*/
}
fclose(sfp); /*關閉源文件*/
fclose(tfp); /*關閉目標文件*/
printf("you have success copy file!!!\n"); /*顯示復制成功*/
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩国产欧美在线视频| 成人av影院在线| 国产麻豆日韩欧美久久| av综合在线播放| 欧美久久婷婷综合色| 中文字幕成人网| 青青草原综合久久大伊人精品| 成人一区二区三区视频| 欧美xxxx在线观看| 夜色激情一区二区| 风间由美中文字幕在线看视频国产欧美| 欧美午夜精品久久久| 国产精品你懂的| 韩国女主播一区| 7777女厕盗摄久久久| 亚洲欧洲成人精品av97| 国产在线播放一区| 日韩精品一区二区在线| 亚洲午夜激情av| 99这里只有久久精品视频| 久久久蜜桃精品| 七七婷婷婷婷精品国产| 欧美性videosxxxxx| 亚洲免费高清视频在线| 成人黄页毛片网站| 久久九九影视网| 激情欧美一区二区三区在线观看| 欧美伦理视频网站| 午夜不卡av免费| 欧美日韩色一区| 亚洲福利视频导航| 欧美私模裸体表演在线观看| 一区二区三区在线观看国产| 国产欧美精品一区二区色综合| 中文字幕亚洲综合久久菠萝蜜| 韩国一区二区视频| 日韩精品一区二区三区视频| 成人动漫在线一区| 中文字幕精品三区| 成人性色生活片免费看爆迷你毛片| 亚洲精品在线观看网站| 精品影院一区二区久久久| 精品国产网站在线观看| 韩国一区二区三区| 久久精品欧美日韩精品| 成人久久18免费网站麻豆| 国产精品成人一区二区艾草| jvid福利写真一区二区三区| 亚洲人成网站精品片在线观看| 一本久道久久综合中文字幕| 亚洲人精品午夜| 欧美午夜精品理论片a级按摩| 亚洲成人综合网站| 欧美不卡一区二区三区四区| 国产精品18久久久久| 色婷婷av一区| 91麻豆免费观看| 亚洲男人的天堂在线观看| 色94色欧美sute亚洲线路二| 亚洲最大成人综合| 91麻豆精品91久久久久同性| 另类的小说在线视频另类成人小视频在线| 欧美va亚洲va| av在线不卡观看免费观看| 国产高清无密码一区二区三区| 国产婷婷色一区二区三区在线| 91毛片在线观看| 日本欧美一区二区三区| 国产精品情趣视频| 欧美三级视频在线| 韩国v欧美v日本v亚洲v| 亚洲精选在线视频| 日韩欧美在线123| 99精品在线免费| 日产国产欧美视频一区精品| 欧美韩国日本一区| 欧美日本一区二区在线观看| 亚洲午夜精品网| 狂野欧美性猛交blacked| 精品日韩一区二区三区免费视频| 国产成人99久久亚洲综合精品| 亚洲欧美另类综合偷拍| 欧美电视剧免费全集观看| 北条麻妃一区二区三区| 免费看日韩a级影片| 中文字幕一区二区三区在线播放 | 国产精品自拍毛片| 亚洲裸体xxx| 国产亚洲精品7777| 欧美一区二区久久| 制服丝袜亚洲色图| 91在线一区二区三区| 黑人巨大精品欧美黑白配亚洲| 伊人开心综合网| 久久日一线二线三线suv| 欧美日韩国产高清一区| 亚洲精品国产a| 亚洲精品一区二区精华| av在线不卡观看免费观看| 日本一区中文字幕| 亚洲精品美腿丝袜| 国产欧美久久久精品影院| 欧美一级片在线观看| 在线欧美日韩国产| 91麻豆swag| 成人免费高清视频| 国产精品亚洲视频| 精品系列免费在线观看| 日本欧美一区二区在线观看| 亚洲综合一区二区| 亚洲激情图片一区| 最新热久久免费视频| 国产精品美女一区二区三区| 国产亚洲精品免费| 亚洲精品在线观看网站| 日韩欧美国产精品一区| 欧美日本不卡视频| 在线不卡中文字幕播放| 欧美日韩在线一区二区| 欧美性感一区二区三区| zzijzzij亚洲日本少妇熟睡| 亚洲精品国产第一综合99久久 | 91浏览器入口在线观看| 成人看片黄a免费看在线| 大尺度一区二区| www.99精品| 91美女福利视频| 在线视频综合导航| 欧美日韩卡一卡二| 91精品国产高清一区二区三区蜜臀 | 亚洲国产精品天堂| 亚洲成人777| 日本aⅴ精品一区二区三区| 久久精品国产精品青草| 国产精品系列在线播放| 成+人+亚洲+综合天堂| 色94色欧美sute亚洲线路一ni| 在线观看日韩精品| 亚洲九九爱视频| 性欧美大战久久久久久久久| 亚洲影视在线播放| 午夜电影网一区| 另类欧美日韩国产在线| 国产成人在线视频网站| 91麻豆免费在线观看| 欧美妇女性影城| 国产亚洲一区二区三区在线观看 | 自拍偷自拍亚洲精品播放| 精品在线视频一区| 成人精品视频一区二区三区尤物| 一本高清dvd不卡在线观看| 欧美精品一二三区| 国产日韩欧美精品综合| 一区二区成人在线观看| 久久66热re国产| 99精品视频一区| 日韩午夜小视频| 国产精品久久久久影院色老大| 午夜欧美在线一二页| 国产伦理精品不卡| 欧美婷婷六月丁香综合色| 亚洲成av人片在www色猫咪| 亚洲国产一区二区三区青草影视| 日本成人在线不卡视频| 国产精品91xxx| 欧美日韩不卡在线| 国产精品日韩精品欧美在线| 午夜伦理一区二区| av在线播放不卡| 日韩免费高清电影| 一区二区三区不卡在线观看 | 日本不卡一区二区三区高清视频| 成人美女在线视频| 日韩午夜电影在线观看| 亚洲男同1069视频| 国产成人精品亚洲午夜麻豆| 欧美日韩亚州综合| 成人欧美一区二区三区白人| 久久99久久99精品免视看婷婷| 精品国产乱码久久久久久免费| 亚洲永久免费av| 成人av影视在线观看| 精品免费视频一区二区| 日韩电影在线观看网站| 欧日韩精品视频| 1024精品合集| 风间由美一区二区av101| 欧美变态tickling挠脚心| 国产成+人+日韩+欧美+亚洲| 91精选在线观看| 亚洲一区二区三区自拍| bt7086福利一区国产| 久久蜜桃香蕉精品一区二区三区| 香蕉成人伊视频在线观看| 91久久国产综合久久| 国产精品久久久久久久久动漫| 国产99久久久精品| 久久精品人人做| 国产a精品视频| 国产无遮挡一区二区三区毛片日本|