欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
自己寫的c語言電話簿源程序
[打印本頁]
作者:
qwert_55
時間:
2018-4-22 10:38
標題:
自己寫的c語言電話簿源程序
自己研究出來的
0.png
(48.92 KB, 下載次數(shù): 54)
下載附件
2018-4-22 15:56 上傳
c語言源程序如下:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
struct person //創(chuàng)造結(jié)構(gòu)體
{
char name[8];
char tel[15];
};
char filename[20];
FILE *fp;
void creat(); //創(chuàng)建一個通訊錄
void output();
void search();
void append();
void modify();
void del();
void main()
{
int m;char k;
printf("\n請輸入你要打開的通訊錄文件名:");
gets(filename);
if((fp=fopen(filename,"r"))==NULL)
{
printf("\n當前沒有此通訊錄文件,現(xiàn)在是否執(zhí)行創(chuàng)建(Y/N)?:");
scanf("%c",&k);
if(k!='Y'&&k!='N'&&k!='y'&&k!='n')
{
printf("\n輸入有誤,請再次輸入一個值:");
scanf("%c",&k);
}
else if(k=='Y'||k=='y')
{
creat();
}
else if(k=='N'||k=='n')
{
printf("\n由于你選擇了退出,現(xiàn)在程序即將關(guān)閉!\n");
exit(0);
}
}
else
{
printf("\n你要打開的通訊錄文件%s已存在,現(xiàn)在可直接對其操作:\n",filename);
printf("通訊錄文件中現(xiàn)已有的通訊信息:\n");
output();
printf("\n請選擇根據(jù)提示選擇1~5對通訊錄文件進行操作。\n");
}
while (1)
{
printf("\n\n添加,請按1"); printf("\n查找,請按2");
printf("\n修改,請按3");
printf("\n刪除,請按4");
printf("\n輸出,請按5");
printf("\n退出,請按0\n");
scanf("%d",&m);
if(m>=0&&m<=5)
{
switch(m)
{
case 1: append();break;
case 2: search();break;
case 3: modify();break;
case 4: del();break;
case 5:output();break;
case 0:exit(0);
}
printf("\n\n操作完畢,請再次選擇!");
}
else printf("\n\n操作錯誤,請再次選擇!:");
}
}
/**********************************************************************/
void creat()
{
struct person one;printf("\n請輸入通訊簿文件名:");
scanf("%s",filename);
if ((fp=fopen(filename,"w"))==NULL)
{
printf("\n不能建立通訊薄!");
exit(0);
}
fprintf(fp,"%-10s%-20s%-30s%-20s\n","姓名","電話號碼","住址","電子郵箱");
printf("\n請輸入姓名:\n");
scanf("%s",one.name);
while (strcmp(one.name,"0"))
{
printf("請輸入電話號碼:\n");
scanf("%s",one.tel);
fprintf(fp,"%-10s%-20s%\n",one.name,one.tel);
printf("請再輸入另一個人的姓名,若想要結(jié)束,請輸入0\n");
scanf("%s",one.name);
}
fclose(fp);
}
void output()
{
struct person one;
if((fp=fopen(filename,"r"))==NULL)
{
printf("\n不能打開通訊薄!");
exit(0);
}
while (!feof(fp))
{
fscanf(fp,"%s%s\n",one.name,one.tel);
printf("%-10s%-20s%\n",one.name,one.tel);
}
fclose(fp);
}
void append()
{
struct person one;
if ((fp=fopen(filename,"a"))==NULL)
{
printf("\n不能打開通訊薄!");
exit(0);
}
printf("\n請輸入添加的姓名\n");
scanf("%s",one.name);
printf("請輸入電話號碼:\n");
scanf("%s",one.tel);
printf("%-10s%-20s%\n",one.name,one.tel);
fprintf(fp,"%-10s%-20s%\n",one.name,one.tel);
fclose(fp);
}
void search()
{
int flag=0;
char namekey[8];
struct person one;
printf("\n請輸入姓名:");
scanf("%s",namekey);
if((fp=fopen(filename,"r"))==NULL)
{
printf("\n不能打開通訊薄!");
exit(0);
}
while(!feof(fp))
{
fscanf(fp,"%s%s\n",one.name,one.tel);
if (!strcmp(namekey,one.name))
{
printf("\n\n已查到,記錄為:");
printf("\n%-10s%-20s%",one.name,one.tel);
flag=1;
}
}
if(!flag)
printf("\n\n對不起,通訊薄中沒有此人的記錄。");
fclose(fp);
}
void modify()
{
int flag=0;
long offset;
char namekey[8];
struct person one;printf("\n請輸入姓名:");
scanf("%s",namekey);
if((fp=fopen(filename,"r+"))==NULL)
{
printf("\n不能打開通訊薄!");
exit(0);
}
while(!feof(fp))
{
offset=ftell(fp);
fscanf(fp,"%s%s\n",one.name,one.tel);
if(!strcmp(namekey,one.name))
{
flag=1;break;
}
}
if(flag)
{
printf("\n已查到,記錄為");
printf("\n%-10s%-20s%",one.name,one.tel);
while (1)
{
printf("\n\n修改姓名,請按2");
printf("\n修改電話,請按3");
printf("\n退出,請按6\n");
scanf("%d",&flag);
if (flag==2)
{
printf("請輸入新的姓名\n");
scanf("%s",one.name);
printf("修改完畢,請指示!:\n");
}
if (flag==3) {printf("請輸入新的電話\n");
scanf("%s",one.tel);
printf("修改完畢,請指示!:\n");
}
if (flag==6) break;
}
fseek(fp,offset,0);
fprintf(fp,"%-10s%-20s%\n",one.name,one.tel);
printf("\n%-10s%-20s%",one.name,one.tel);
}
else printf("不存在指定的名字!\n");
fclose(fp);
}
void del()
{
int m,flag=0;
long offset;
char namekey[8];
struct person one;
printf("\n請輸入姓名:");
scanf("%s",namekey);
if((fp=fopen(filename,"r+"))==NULL)
{
printf("\n不能打開通訊簿!");
exit(0);
}
while(!feof(fp))
{
offset=ftell(fp);
fscanf(fp,"%s%s\n",one.name,one.tel);
if(!strcmp(namekey,one.name))
{
flag=1;
break;
}
}
if(flag)
{
printf("\n已查到,記錄為");
printf("\n%-10s%-20s%",one.name,one.tel);
printf("\n確定要刪除,按1;不刪除,按0:");
scanf("%d",&m);
if (m)
{fseek(fp,offset,SEEK_SET);
fprintf(fp,"%-10s%-20s\n","",""); }
}
else
printf("\n對不起,通訊簿中沒有此人的記錄。");
fclose(fp);
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
C語言課程設計.zip
(1.17 MB, 下載次數(shù): 6)
2018-4-22 10:38 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1