真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c語(yǔ)言電話簿管理系統(tǒng)函數(shù) c語(yǔ)言電話本管理系統(tǒng)

求用C語(yǔ)言編寫一個(gè)學(xué)生通訊錄管理系統(tǒng)

/* HELLO.C -- Hello, world */

專注于為中小企業(yè)提供網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)阜平免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了1000+企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

#includestdio.h

struct person

{

char name[8];

char tel[15];

char addr[50];

};

char filename[20]="E:\\txl.txt";

FILE *fp;

void creat();

void output();

void search();

void append();

void modify();

void delete();

main( )

{

int m;

creat();

while(1)

{

printf("\n\t\t*********歡迎使用通訊錄信息管理系統(tǒng)*********\n\n");

printf("\n\t\t添加,請(qǐng)按1");

printf("\n\t\t查找,請(qǐng)按2");

printf("\n\t\t修改,請(qǐng)按3");

printf("\n\t\t刪除,請(qǐng)按4");

printf("\n\t\t輸出,請(qǐng)按5");

printf("\n\t\t退出,請(qǐng)按0\n");

printf("\n\t\t********************************************\n\n");

printf("Please select(0--5):");

scanf("%d",m);

if(m=0m=5)

{

switch(m)

{

case 1: append();

break;

case 2: search();

break;

case 3: modify();

break;

case 4: delete();

break;

case 5: output();

break;

case 0: exit();

}

printf("\n\n操作完畢,請(qǐng)?jiān)俅芜x擇!");

}

else

printf("\n\n選擇錯(cuò)誤,請(qǐng)?jiān)俅芜x擇!");

}

}

/*輸入模塊creat( ): 創(chuàng)建通訊錄的子函數(shù)。*/

void creat()

{

struct person one;

long s1;

/*printf("\n請(qǐng)輸入通訊錄文件名:");

scanf("%s",filename); */

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

{

printf("\n不能建立通訊錄!");

exit();

}

fprintf(fp,"%-10s%-20s%-50s\n","姓名","電話號(hào)碼","住址");

printf("\n請(qǐng)輸入姓名、電話號(hào)碼及住址(以0結(jié)束)\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);

}

/*輸出模塊output( ):輸出通訊錄中聯(lián)系人通訊信息的子函數(shù)*/

void output()

{

struct person one;

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

{

printf("\n不能打開通訊錄!");

exit();

}

printf("\n\n%20s\n","通 訊 錄");

while(!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);

}

/*添加模塊append( ):向通訊錄中添加某人通訊信息的子函數(shù)*/

void append()

{

struct person one;

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

{

printf("\n不能打開通訊錄!");

exit();

}

printf("\n請(qǐng)輸入添加的姓名、電話號(hào)碼及住址\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);

}

/*查找模塊search( ):在通訊錄中查找某人通訊信息的子函數(shù)*/

void search()

{

int k=0;

char namekey[8];

struct person one;

printf("\n請(qǐng)輸入姓名:");

scanf("%s",namekey);

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

{

printf("\n不能打開通訊錄!");

exit();

}

while(!feof(fp))

{

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

if(!strcmp(namekey,one.name))

{

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

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

k=1;

}

}

if(!k)

printf("\n\n對(duì)不起,通訊簿中沒有此人的記錄。");

fclose(fp);

}

/*修改模塊modify( ):在通訊錄中修改某人通訊信息的子函數(shù)*/

void modify()

{

int m,k=0;

long offset;

char namekey[8];

struct person one;

printf("\n請(qǐng)輸入姓名:");

scanf("%s",namekey);

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

{

printf("\n不能打開通訊錄!");

exit();

}

while(!feof(fp))

{

offset=ftell(fp);

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

if(!strcmp(namekey,one.name))

{

k=1;

break;

}

}

if(k)

{

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

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

printf("\n請(qǐng)輸入新姓名、電話號(hào)碼及住址:");

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);

}

else

printf("\n對(duì)不起,通訊錄中沒有此人的記錄。");

fclose(fp);

}

/*刪除模塊delete( ):在通訊錄中刪除某人通訊信息的子函數(shù)*/

void delete()

{

int m,k=0,flag;

long offset1,offset2;

char namekey[8], valid[4];

struct person one;

printf("\n請(qǐng)輸入姓名:");

scanf("%s",namekey);

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

{

printf("\n不能打開通訊錄!");

exit();

}

while(!feof(fp))

{

offset1=ftell(fp);

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

if(!strcmp(namekey,one.name))

{

k=1;

break;

if(k)

{

printf("\n已查到,記錄為");

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

printf("\n確實(shí)要?jiǎng)h除,按1;不刪除,按0:");

scanf("%d",m);

if(m)

{

fseek(fp,offset1,SEEK_SET);

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

}

else

printf("\n對(duì)不起,通訊錄中沒有此人的記錄。");

fclose(fp);

}

}

}

}

PIXTEL_MMI_EBOOK_20051###########################################################/PIXTEL_MMI_EBOOK_2005

C語(yǔ)言程序設(shè)計(jì),通訊錄管理系統(tǒng)

/*【用C語(yǔ)言編寫具有數(shù)據(jù)插入、修改、刪除、顯示和查詢功能的電話薄管理程序】

1、數(shù)據(jù)包括:人名、工作單位、電話號(hào)碼和E-mail地址。

2、可對(duì)記錄中的姓名和電話號(hào)碼進(jìn)行修改。

3、可增加或刪除記錄。

4、可顯示所有保存的記錄。

5、可按人名或電話號(hào)碼進(jìn)行查詢。

另:采用結(jié)構(gòu)體數(shù)組和文件系統(tǒng)實(shí)現(xiàn)。結(jié)構(gòu)體包括人名、工作單位、電話號(hào)碼和E-mail

絕對(duì)原創(chuàng),2010年7月12日晚剛寫完測(cè)試通過的,純C語(yǔ)言! */

#include stdio.h

#include stdlib.h

#include string.h

#define szSTR 64

#define fileDB "c:\\contact.txt"

struct CONTACT {

char name[szSTR];/*姓名*/

char unit[szSTR];/*工作單位*/

char tele[szSTR];/*電話*/

char mail[szSTR];/*mail*/

};

typedef struct CONTACT CON;

#define BNAME 1

#define BUNIT 2

#define BTELE 4

#define BMAIL 8

#define BFULL 0xFF

int OPER[5] = {BFULL, BNAME, BUNIT, BTELE, BMAIL};

void input(CON * s, int mask)

{

if(mask BNAME) { printf("請(qǐng)輸入學(xué)生姓名:"); scanf("%s", s-name); }

if(mask BUNIT) { printf("請(qǐng)輸入工作單位:"); scanf("%s", s-unit); }

if(mask BTELE) { printf("請(qǐng)輸入聯(lián)系電話:"); scanf("%s", s-tele); }

if(mask BMAIL) { printf("請(qǐng)輸入電子郵件:"); scanf("%s", s-mail); }

}/*end input*/

void show (int id, CON * s)

{

if(!s) return ;

if(id)

printf("%d\t%s\t%s\t%s\t%s\n",

id, s-name , s-unit , s-tele , s-mail );

else

printf("【姓名】%s【工作單位】%s【電話】%s【電郵】%s\n",

s-name , s-unit , s-tele , s-mail );

/*end if*/

}/*end show*/

void regist(void)

{

CON s; FILE * f = 0;

input(s, BFULL);

f = fopen(fileDB, "ab");

fwrite(s,sizeof(s),1,f);

fclose(f);

printf("資料已保存!\n");

}/*end regist*/

int browse(char * key, fpos_t * p, CON * s)

{

FILE * f =0; int i = 0, r = 0; CON t;

char * a = 0, * b = 0; fpos_t q;

if(!s) return 0;

f = fopen(fileDB, "rb");

if(!f) {

printf("數(shù)據(jù)庫(kù)暫無(wú)記錄\n");

return 0;

}/*end if*/

printf("編號(hào)\t姓名\t單位\t電話\t電郵\n");

printf("------------------------------------------------\n");

while(!feof(f)) {

fgetpos(f, q);

r = fread(t, sizeof(t), 1, f);

if(r1)break;

if(t.name[0]==0) continue;

if(key) {

a = strstr(t.name , key);

b = strstr(t.tele , key);

if(a == 0 b == 0) continue;

}/*end if*/

if(p) *p = q;

if(s) memcpy(s, t, sizeof(t));

i++;

show(i, t);

}/*end while*/

fclose(f);

printf("------------------------------------------------\n");

return i;

}/*end browse*/

fpos_t query(CON * s)

{

char key[szSTR]=""; fpos_t p = 0; int r = 0;

printf("請(qǐng)輸入姓名或者電話號(hào)碼:");

scanf("%s", key);

r = browse(key, p, s);

return r?p:-1;

}/*end query*/

void clear(void)

{

FILE * f = 0; CON s;

fpos_t p = query(s);

if(p0) return;

f = fopen(fileDB, "rb+");

fsetpos(f, p);

memset(s, 0, sizeof(s));

fwrite(s, sizeof(s),1, f);

fclose(f);

printf("記錄已刪除!\n");

}/*end clear*/

void modify(void)

{

FILE * f = 0; CON s; int cmd = 0;

fpos_t p = query(s);

if(p0) return;

f = fopen(fileDB, "rb+");

fsetpos(f, p);

for(;;) {

show(0, s);

printf("請(qǐng)選擇:1-姓名;2-工作單位;3-電話;4-電郵;5-保存并退出;6-放棄修改并退出\n");

scanf("%d", cmd);

switch(cmd) {

case 1:

case 2:

case 3:

case 4:

input(s, OPER[cmd]);

break;

case 5:

fsetpos(f, p);

fwrite(s, sizeof(s), 1, f);

case 6:

fclose(f);

return;

default:

printf("錯(cuò)誤的操作,請(qǐng)重新輸入。\n");

}/*end case*/

}/*mext*/

}/*end clear*/

int main(void)

{

int cmd = 0; CON s;

for(;;) {

printf("歡迎使用通信簿!請(qǐng)選擇:1-添加;2-查詢;3-刪除;4-修改;5-全部輸出;0-退出\n");

scanf("%d", cmd);

switch(cmd) {

case 0: return 0;

case 1: regist(); break;

case 2: query(s); break;

case 3: clear(); break;

case 4: modify(); break;

case 5: browse(0, 0, s); break;

}//end case

}

return 0;

}

c語(yǔ)言 電話簿管理系統(tǒng)

#includestdio.h

#includestdlib.h

#includestring.h

#include iostream

//主函數(shù)

int main()

{

LinkQueue Q;

initAddressBook(Q);

int flag=0;

while(flag!=8)

{

printf("※※※※※主※※※※※菜※※※※※單※※※※※\n");

printf("※1、增加聯(lián)系人 2、刪除聯(lián)系人 ※\n");

printf("※3、修改聯(lián)系人 4、清空通訊錄 ※\n");

printf("※5、查找聯(lián)系人 6、按組顯示 ※\n");

printf("※7、顯示全部聯(lián)系人 8、退出 ※\n");

printf("※※※※※※※※※※※※※※※※※※※※※※※\n");

printf("請(qǐng)輸入編號(hào)(1-8):\n");

scanf("%d",flag);

if(flag1||flag8)

{

printf("輸入錯(cuò)誤請(qǐng)重新輸入!\n");

continue;

}

else

{

switch(flag){

case 1:

if(enAddressBook(Q))

printf("增加聯(lián)系人成功!\n");

else

printf("增加聯(lián)系人失?。n");

break;

case 2:

if(delPerson(Q))

printf("刪除聯(lián)系人成功!\n");

else

printf("聯(lián)系人刪除失??!\n");

break;

case 3:

if(update(Q))

printf("修改聯(lián)系人成功!\n");

else

printf("修改聯(lián)系人失??!\n");

break;

case 4:

if(clearAddressBook(Q))

printf("通訊錄已清空!\n");

else

printf("通訊錄清空失??!\n");

break;

case 5:

findByName(Q);

break;

case 6:

findByGroup(Q);

break;

case 7:

disAll(Q);

break;

case 8:

system("cls");

break;

}

}

}

printf("※※※※※感謝您使用本系統(tǒng)!※※※※※※\n");

return 0;

}

//初始化通訊錄

void initAddressBook(LinkQueue Q)

{

Q.front=Q.rear=(QNode *)malloc(sizeof(QNode));

if(!Q.front)

exit(1);

else

Q.front-next=NULL;

}

//清空通訊錄

bool clearAddressBook(LinkQueue Q)

{

system("cls");

while(addressBookLength(Q)!=0)

{

QNode *p;

p=Q.front-next;

Q.front-next=p-next;

if(p==Q.rear)

Q.rear=Q.front;

free(p);

}

return true;

}

//通訊錄當(dāng)前人數(shù)

int addressBookLength(LinkQueue Q)

{

int i=0;

QNode *p;

p=Q.front;

if(Q.front==Q.rear)

i=0;

else

{

while(p!=Q.rear)

{

p=p-next;

i++;

}

}

return i;

}

//刪除聯(lián)系人

bool delPerson(LinkQueue Q)

{

char _name[20];

system("cls");

printf("請(qǐng)輸入要?jiǎng)h除的聯(lián)系人的姓名:\n");

scanf("%s",_name);

QNode *p,*q;

if(Q.front==Q.rear)

{

printf("通訊錄為空!\n");

return false;

}

else

{

p=Q.front;

q=Q.front-next;

while(q!=Q.rear){

if(strcmp(q-name,_name)==0)

{

p-next=q-next;

free(q);//刪除節(jié)點(diǎn)

return true;

}

else

{

p=p-next;

q=q-next;

}

}

if((strcmp(q-name,_name)==0))

{

free(q);

Q.front=Q.rear;

return true;

}

else

{

printf("無(wú)此聯(lián)系人!\n");

return false;

}

}

}

//查找聯(lián)系人

bool findByName(LinkQueue Q)

{

system("cls");

if(Q.front==Q.rear)

{

printf("手機(jī)中無(wú)聯(lián)系人!\n");

return false;

}

else

{

char _name[20];

printf("請(qǐng)輸入要查詢的聯(lián)系人姓名:\n");

scanf("%s",_name);

QNode *p;

p=Q.front-next;

while(p-next!=NULL)

{

if(strcmp(p-name,_name)==0)

{

printf("姓名:%s 號(hào)碼:%s 分組:%s\n",p-name,p-tel,p-group);

return true;

}

p=p-next;

}

if(strcmp(p-name,_name)==0){

printf("姓名:%s 號(hào)碼:%s 分組:%s\n",p-name,p-tel,p-group);

return true;

}

else

{

printf("查無(wú)此人!\n");

return false;

}

}

}

//按組顯示聯(lián)系人

bool findByGroup(LinkQueue Q)

{

system("cls");

if(Q.front==Q.rear)

{

printf("手機(jī)中無(wú)聯(lián)系人!\n");

return false;

}

else

{

char _group[20];

printf("請(qǐng)輸入要查詢的分組:\n");

scanf("%s",_group);

QNode *p;

p=Q.front-next;

while(p-next!=NULL)

{

if(strcmp(p-group,_group)==0)

{

printf("姓名:%s 號(hào)碼:%s \n",p-name,p-tel);

}

p=p-next;

}

if(strcmp(p-group,_group)==0){

printf("姓名:%s 號(hào)碼:%s \n",p-name,p-tel);

return true;

}

else

{

printf("無(wú)此分組!\n");

return false;

}

}

}

//增加聯(lián)系人

bool enAddressBook(LinkQueue Q)

{

system("cls");

QNode *p;

p=(QNode *)malloc(sizeof(QNode));

if(!p)

return false;

else

{

printf("請(qǐng)輸入聯(lián)系人姓名:\n");

scanf("%s",p-name);

printf("請(qǐng)輸入聯(lián)系人號(hào)碼:\n");

scanf("%s",p-tel);

printf("請(qǐng)輸入聯(lián)系人分組:\n");

scanf("%s",p-group);

if(Q.front-next==NULL)

{

Q.front-next=p;

Q.rear=p;

Q.rear-next=NULL;

}

else

{

p-next=NULL;

Q.rear-next=p;

Q.rear=p;

}

return true;

}

}

//修改聯(lián)系人

bool update(LinkQueue Q)

{

system("cls");

if(Q.front==Q.rear)

{

printf("手機(jī)中無(wú)聯(lián)系人!\n");

return false;

}

else

{

char _name[20];

printf("請(qǐng)輸入要修改的聯(lián)系人姓名:\n");

scanf("%s",_name);

QNode *p;

p=Q.front-next;

while(p-next!=NULL)

{

if(strcmp(p-name,_name)==0)

{

printf("請(qǐng)輸入新聯(lián)系人姓名:\n");

scanf("%s",p-name);

printf("請(qǐng)輸入新聯(lián)系人號(hào)碼:\n");

scanf("%s",p-tel);

printf("請(qǐng)輸入新聯(lián)系人分組:\n");

scanf("%s",p-group);

return true;

}

p=p-next;

}

if(strcmp(p-name,_name)==0){

printf("請(qǐng)輸入新聯(lián)系人姓名:\n");

scanf("%s",p-name);

printf("請(qǐng)輸入新聯(lián)系人號(hào)碼:\n");

scanf("%s",p-tel);

printf("請(qǐng)輸入新聯(lián)系人分組:\n");

scanf("%s",p-group);

return true;

}

else

{

printf("查無(wú)此人!\n");

return false;

}

}

}

//顯示所有聯(lián)系人

void disAll(LinkQueue Q)

{

system("cls");

int i=0;

QNode *p;

p=Q.front-next;

if(Q.front==Q.rear)

printf("無(wú)聯(lián)系人!\n");

else

{

printf(" 姓名 號(hào)碼 分組\n");

while(p!=NULL){

printf("%15s %15s %15s\n",p-name,p-tel,p-group);

p=p-next;

}

}

}


文章標(biāo)題:c語(yǔ)言電話簿管理系統(tǒng)函數(shù) c語(yǔ)言電話本管理系統(tǒng)
文章網(wǎng)址:http://weahome.cn/article/hposec.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部