C语言电话簿课程设计(C语言课程设计电话簿管理系统报告)

今天给大家分享一下C语言电话本课程设计的知识,也会讲解一下C语言课程设计电话本管理系统的报告。如果你碰巧解决了你现在面临的问题,别忘了关注这个网站,现在就开始吧!

这篇文章的列表: 1、C语言电话簿管理系统 2.用C语言写一个电话簿程序。 C语言课程设计电话簿管理系统加一个更新数据。 4、C语言课程设计——学生通讯录管理系统设计一个学生通讯录,学生通行证。 5、课程设计C关于模板实现电话本管理急求帮助。 6、C语言课程设计-电话簿管理(C语言硕士) c语言电话簿管理系统 # includestdio.h

#includestdlib.h

#includestring.h

#包括iostream

//主函数

int main()

{

link queue Q;

initAddressBook(Q);

int flag = 0;

而(旗!=8)

{

printf("※ ※※※※主要※※※※※※※※※※※※菜肴※※※※※单个※※※\ n ");

Printf("※1,添加联系人2,删除联系人※\ n ");

Printf("※3,修改联系人4,清空通讯录※\ n ");

Printf("※5,查找联系人6,按组显示※\ n ");

Printf("※7,显示所有联系人8,退出※\ n ");

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

Printf("请输入数字(8):\ n ");

scanf("%d ",标志);

if(标志1 | |标志8)

{

Printf("输入错误,请重新输入!\ n ");

继续;

}

其他

{

开关(标志){

案例1:

if(enAddressBook(Q))

Printf("联系人添加成功!\ n ");

其他

Printf("添加联系人失败!\ n ");

打破;

案例二:

if(delPerson(Q))

Printf("联系人删除成功!\ n ");

其他

Printf("联系人删除失败!\ n ");

打破;

案例三:

if(更新(Q))

Printf("联系人修改成功!\ n ");

其他

Printf("修改联系人失败!\ n ");

打破;

案例4:

if(clearAddressBook(Q))

Printf("通讯录是空的!\ n ");

其他

Printf("通讯录清空失败!\ n ");

打破;

案例5:

find by name(Q);

打破;

案例6:

findByGroup(Q);

打破;

案例7:

disAll(Q);

打破;

案例8:

系统(“cls”);

打破;

}

}

}

Printf ("※谢谢您使用这个系统!※※※※※\ n”);

返回0;

}

//初始化通讯簿

void initAddressBook(LinkQueue Q)

{

q . front = q . rear =(q node *)malloc(sizeof(q node));

如果(!Q.front)

出口(1);

其他

q . front-next = NULL;

}

//清除通讯录

bool clear address book(link queue Q)

{

系统(“cls”);

while(addressBookLength(Q)!=0)

{

q node * p;

p = q . front-next;

q . front-next = p-next;

if(p==Q.rear)

q . rear = q . front;

免费(p);

}

返回true

}

//通讯簿中的当前人数

int address book length(link queue Q)

{

int I = 0;

q node * p;

p = Q.front

if(Q.front==Q.rear)

I = 0;

其他

{

而(p!=Q.rear)

{

p = p-next;

我;

}

}

返回I;

}

//删除联系人

布尔德尔佩森(链接队列Q)

{

Char _namec语言课程设计——学生通讯录管理系统的设计设计一个学生通讯录,学生可以访问。 /*10.3.2源程序*/* * * *头文件(。h) * * * * * * * */#包含" stdio.h"/* I/O函数*/#包含" stdlib.h"/*标准库函数*。DefineM50/*定义一个常数来指示记录数*/typedefstruct/*定义一个数据结构*/{ charname[20];/* name */char units[30];/* unit */chartele[10];/*电话*/}地址;/* * * * * *以下是函数原型* * * * */INTERTENT(地址[]);/*输入记录*/void list(地址[],intn);/*显示记录*/void搜索(地址[],intn);/*按名称查找显示记录*/*/intdelete(ADDRESSt[],intn],intn);/*删除记录*/intadd(地址[],intn);/* Insert record */*/void save(address t[],intn],intn);/*记录保存为文件*/*/int load(address t[]);/*从文件中读取记录*/*/void display(address t[]);/*按序号搜索显示记录*/*/voidsort(ADDRESSt[],intn],intn);/*按名称排序*/*/voidqseek(ADDRESSt[],intn],intn);/*快速查找记录*/void copy();/*文件复制*/void print(address temp);/*显示单个记录*/intfind (address [],intn,char * s);/*搜索函数*/int menu _ select();/*主菜单功能*/* * * * *主功能启动* * * * */Main(){ inti;address ADR[M];/*定义结构数组*/int length;/*保存记录长度*/clrscr();/*清除屏幕*/for(;;)/*无限循环*/{switch(menu_select())/*调用主菜单函数并返回一个整数作为switch语句的条件*/{ case 0:length = enter(ADR);打破;/*输入记录*/case1:list(adr,length);打破;/*显示所有记录*/case2:search(adr,length);打破;/*查找记录*/Case 3: length = delete (ADR,length);打破;/*删除记录*/case4:length=add(adr,length);打破;/*插入记录*/case5:save(adr,length);打破;/*保存文件*/case6:长度= load(ADR);打破;/*读取文件*/case 7:display(ADR);打破;/*按序号显示记录*/case8:sort(adr,length);打破;/*按名称排序*/case9:qseek(adr,length);打破;/*快速查找记录*/case 10:copy();打破;/*复制文件*/case 11:exit(0);/*如果返回值为11,程序结束*/}}/*菜单函数,函数返回值为整数,代表选中的菜单项*/Menu _ select(){ chars[80];intcgotoxy(1,25);/*将光标置于第25行第1列*/printf(" pressanykeyentermenu \ n ");/*提示按任意键继续*/getch();/*读取任意字符*/clrscr();/*清屏*/gotoxy(1,1);printf("******************菜单* * * * * * * * * * * * * * * * * * * * \ n \ n ");printf("0。enter record \ n ");printf("1。listhefile \ n ");printf("2。searchrecordonname \ n ");printf("3。deletearecord \ n ");printf(" 4 . add record \ n ");printf("5。savethefile \ n ");printf("6。loadthefile \ n ");printf(" 7 . displayrecordonorder \ n ");printf(" 8 . sorttomakenewfile \ n ");printf("9。quickseekrecord \ n ");printf(" 10 . copythefiletonewfile \ n ");printf("11。退出\ n ");printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");do { printf(" \ nenterlyouchoice(0 ~ 11):");/*提示选项*/scanf("%s ",s);/*输入选项*/c = atoi(s);/*将输入字符串转换成整数*/} while(c11);/*所选项目不在0和11之间。请再次输入*/returnc;/*返回选项,主程序调用相应的函数*/}/* *根据数字输入记录,形参为结构数组,函数值的返回类型为表示记录长度的整数*/Inteter (address []) {inti,n;char * s;clr SCR();/* Clear screen */printf(" \ npleseainputnum \ n ");/*提示消息*/scanf("%d ",n);/*输入记录数*/printf(" pleaseinputrecord \ n ");/*记录提示*/printf(" namunitphone \ n ");printf("-\ n ");for(I = 0;In-1)/*如果整数I值大于n-1,则表示没有找到*/printf(" not found \ n ");else print(t[I]);/*查找并调用display函数显示记录*/}/*显示指定的记录*/void print(address temp){ clrscr();printf(" \ n \ n * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");printf(" name unit telephone \ n ");printf("-\ n ");printf("%-20s%-30s%-10s\n ",临时名称,临时单位,临时电话);printf(" * * * * * * * * * * * * * * * * * * * * end * * * * * * * * * * * * * * * * * * * * \ n ");}/*搜索函数,参数为记录数组,记录数,名称s */intfind (address [],intn,char * s){ inti;for(I = 0;In-1)/*如果In-1超过数组的长度*/printf(" nofoundnotdeleted \ n ");/*没有找到要删除的记录*/else { print(t[I]);/*调用output函数显示记录信息*/printf(" Areyousuredeleteit(1/0)\ n ");/*确认是否删除*/scanf("%d ",ch);/*输入整数0或1*/if(ch==1)/*如果确认删除整数为1 */{ for(j = I 1;j = I;J-)/*从最后一个节点向后移动一个*/{strcpy(t[j 1])。名称,t[j]。姓名);/*将当前记录的名称复制到下一个*/strcpy (t [j 1])。单位,t [j]。单位);/*将当前记录的单元复制到下一个*/strcpy(t[j 1])。电视电话。tele);/*将当前录制的电话复制到下一个*/} strcopy(t[I].name,temp . name);/*将新插入记录的名称复制到第I个位置*/strcpy(t[i]。单位,温度单位);/*将新插入记录的单元复制到第I个位置*/strcpy(t[i]。tele,temp . tele);/*将新录制的电话复制到第I个位置*/n;/*记录数加1 */returnn;/*返回记录数*/}/* Save函数,参数为结构数组和记录数*/Voidsave (address [],intn){ inti;FILE * fp/*指向文件的指针*/if ((fp = fopen ("record。txt "," WB ")= = null)/*打开文件,判断是否正常打开*/{ printf(" cannotopenfile \ n ");/*未打开*/退出(1);/* Exit */} printf(" \ nSavingfile \ n ");/*输出提示信息*/fprintf(fp," %d ",n);/*将记录数写入文件*/fprintf(fp," \ r \ n ");/*将换行符写入文件*/for(I = 0;I=0id0)/*比较大小*/{ flag = 1;strcpy(临时名称,t[j])。姓名);/*交换记录*/strcpy(临时单位,t[j])。单位);strcpy(temp.tele,t[j])。tele);strcpy(t[j].名称,t[j 1]。姓名);strcpy(t[j].单位,t[j ^ 1]。单位);strcpy(t[j].tele,t[j 1]。tele);strcpy(t[j 1]。name,temp . name);strcpy(t[j 1]。单位,温度单位);strcpy(t[j 1]。tele,temp . tele);} if(flag = = 0)break;/*如果标志为0,则表示交换周期尚未结束*/} printf ("sortsuccess!!!\ n ");/*排序成功*/}/*快速搜索,参数为结构数组和记录数*/Voidqseek (address [],intn){ chars[20];intl,r,m;printf(" \ nplesartbeforeqseek!\ n ");/*搜索前提示确认记录是否已排序*/printf(" PleaseEnterNameforQSeek \ n ");/*提示输入*/scanf("%s ",s);/*输入要搜索的名称*/l = 0;r = n-1;/*设置左边界和右边界的初始值*/while(lr)/*如果左边界大于右边界*/printf(" not found \ n ");/*显示找不到*/}/* Copy file */void Copy(){ charoutfile[20];/*目标文件名*/inti,n;地址温度[M];/*定义临时变量*/FILE*sfp,* tfp/*定义指向文件的指针*/clrscr();/*清屏*/if ((SFP = fopen ("record。txt "," Rb ")= = null)/*打开记录文件*/{ printf(" cannotopenfile \ n ");/*显示文件无法打开的消息*/exit(1);/* Exit */} printf(" Enter Outfilename,例如c:\ \ f1 \ \ te . txt:\ n ");/*提示信息*/scanf("%s ",outfile);/*输入目标文件名*/if ((TFP = fopen (outfile," WB))= = null)/*打开目标文件*/{ printf(" cannotopenfile \ n ");/*显示文件无法打开的消息*/exit(1);/* Exit */}fscanf(sfp," %d ",n);/*读取的文件记录数*/fprintf(tfp," %d ",n);/*写入的目标文件数*/fprintf(tfp," \ r \ n ");/*写换行符*/for(I = 0;我

课程设计c关于模板实现电话簿管理急求帮助。 #includestring

使用命名空间std

//电话簿

课堂用书

{

公共:

void dis();

void set();

void输入();

book();

书(弦,弦,弦,弦,弦);

受保护:

字符串生日、数字、性别、姓名、地址;

};

book::book()

{

生日=“无出生日期或无输入”;

Number= "没有电话号码或没有输入";

Sex= "无性别或无输入";

Name= "没有名称或没有输入";

Address= "无地址或无输入";

}

book::book(string na,string s,string b,string num,string add):姓名(na),性别(s),生日(b),号码(num),地址(add){}

Void book::dis() //显示输入。

{

Cout "名称:" p-name endl;

Cout”性别:“p-sexendl;

Cout”出生日期:“p-birthdayendl;

Cout”电话号码:“p-number endl;

Cout”家庭地址:“p-address endl;

}

Void book::set() //启动接口。

{

int chose

cout " * * * * * * * * * * * * * * * * * * * * * " endl;

Cout"***输入数据,请按1 * * * " endl

Cout"***要查询数据,请按2 * * * " endl

Cout"***要修改数据,请按3 * * * " endl

Cout"***要退出程序,请按4 * * * " endl

cout " * * * * * * * * * * * * * * * * * * * * * " endl;

coutendl "请选择:";

CIN choose;

开关(选择)

{

情况一:输入();//输入功能

案例二:dis();//查询显示功能

案例三:edit();//修改函数,写不出来。

情况四:退出(0);

}

}

无效输入()

{

文件* in

in=fopen("c:\phone.txt "," at ");

book * p = temp

for(char退出;不干了!= ' N ' | |退出!= ' n)

{

Cout "请输入数据:" endl "名称:";

cinp-name;

Coutendl "性别(男或女):";

cinp-sex;

Coutendl "出生日期:";

cinp-生日;

Coutendl "电话号码:";

cinp号;

Coutendl "家庭地址:";

cinp地址;

//将文件写在下面

fprintf(in,“%4s,%4s,%4s,%4s”,p-姓名,p-性别,p-生日,p-号码,p-地址);

Coutendlendl“继续打字?(是/否)";

cinquit

}

}

int main()

{

void input()、edit();

p-set();

p-input();

p-dis();

删除p;

返回0;

}

C语言课程设计-电话簿管理(C语言高级版) /*

Vc 6.0贯穿-原创

链表

*/

#包含stdio.h

#包含stdlib.h

#包含malloc.h

#包含字符串. h

#定义id结构ID

结构id

{

char name[20];

char tele[20];

ID * next

};

int PC = 0;

ID *creat()

{

ID *p1,*p2,*头;

char string[20];

p1 = p2 = head = NULL

printf(" \ t \ t \ t开始输入记录(name # ends)!\ n ");

while(1)

{

Printf("请输入您的姓名:\ n ");scanf("%s ",str);getchar();

if(strcmp(str," # " = = 0)break;

P1 =(ID *)malloc(sizeof(ID));

strcpy(pname,str);

Printf("请输入电话号码:\ n ");scanf("%s ",Ptele);getchar();

if(head==NULL)

{

head = p1

p2 = p1

}

其他

{

p2-next = P1;

p2 = p1

}

PC;

}

p2-next = NULL;

返回(头);

}

/*输入/添加记录*/

ID *插入(ID *头部)

{

ID *temp、*p1、* p2

Printf("插入操作开始!!!\ n ");

temp =(ID *)malloc(sizeof(ID));

Printf("请输入您的姓名:\ n ");scanf("%s ",temp-name);getchar();

Printf("请输入电话号码:\ n ");scanf("%s ",temp-tele);getchar();

if (head==NULL)

{

head = temp

temp-next = NULL;

}

其他

{

p1 =压头;

而(p1!=空)

{

p2 = p1

P1 = Pnext;

}

p2-next = temp;

temp-next = P1;

}

Printf("成功插入");

PC;

返回(头);

}

/*删除记录*/

ID * delet(ID *头)

{

ID *p1,* p2

char string[20];

Printf("请输入要删除的电话号码:");scanf("%s ",str);getchar();

p1 =压头;

if (head==NULL)

{

Printf("无记录\ n ");

转到结尾;

}

而(p1!=NULL strcmp(ptele,str))

{

p2 = p1P1 = Pnext;

}

if(p1==NULL)

Printf("没有找到匹配的记录!\ n ");

否则if(strcmp(ptele,str)==0)

{

if (p1==head)

head = Pnext;

其他

p2-next = Pnext;

Printf("删除成功!!!\ n ");

PC-;

}

结束:返回头;

}

/*查找记录*/

ID *搜索(ID *头)

{

ID *p1,* p2

int flag = 0;

char c;

Printf("请输入您的姓名首字母:");scanf("%c ",c);getchar();

p1 =压头;

而(p1!=空)

{

if(pname[0]==c)

{

Printf("姓名:% s \ t电话号码:%s\n ",P姓名,P电话);

flag = 1;

}

p2 = p1P1 = Pnext;

}

If(flag==0) printf("没有找到匹配的记录!\ n ");

回程头;

}

/*修改记录*/

ID *修改(ID *头)

{

ID *p1,* p2

int模式;

char string[20];

Printf("请输入要修改的记录的名称:");scanf("%s ",str);getchar();

p1 =压头;

而(p1!=空)

{

if(strcmp(pname,str)==0)

{

Printf("1。名称:%s\t2。电话号码:%s\n ",P姓名,P电话);

Printf("请选择一个要修改的选项:\ n ");

scanf("%d ",模式);getchar();

如果(模式==1)

{

Printf("请输入修改后的名称\ n ");

scanf("%s ",Pname);getchar();

}

else if(mode==2)

{

Printf("请输入修改后的电话号码\ n ");

scanf("%s ",Ptele);getchar();

}

其他

Printf("输入错误!\ n ");

打破;

}

p2 = p1P1 = Pnext;

}

If(p1==NULL) printf("没有找到符合要求的记录!\ n ");

回程头;

}

/*显示结果函数*/

作废打印(ID *头)

{

ID * p;

p =头部;

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

Printf("显示结果为:\ n ");

Printf("姓名\t电话号码\ n ");

如果(头!=空)

{

printf("%s\t%s\n ",p-name,p-tele);

p = p-next;

} while(p!= NULL);

}

void main()

{

ID * head = NULL

int choise

Printf ("\ t \ t * * * C语言教程* * * * \ n ");

while(1)

{

printf(" \ t \ t电话簿管理系统\ n ");

printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~n ");

Printf("\t\t 1。input \ n ");

Printf("\t\t 2。display \ n ");

Printf("\t\t 3。查找\ n ");

Printf("\t\t 4。insert \ n ");

Printf("\t\t 5。删除\ n ");

Printf("\t\t 0。退出\ n ");

printf(" \ n ");

printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~n ");

Printf("请选择(0-6):");

scanf("%d ",choise);getchar();

开关(选择)

{

案例一:head = creat();

打破;

案例二:打印(头);

打破;

案例三:头=搜索(头);

打破;

案例四:头=插入(头);

打破;

案例五:head = delet(head);

打破;

案例0:

退出(0);

打破;

默认:printf("输入错误,请重新输入!\ n ");

}

}

}

C语言电话本课程设计入门到此就够了。感谢您花时间阅读本网站的内容。别忘了在这个网站上查找更多关于C语言课程设计电话簿管理系统报告和C语言电话簿课程设计的信息。

相关文章

发表新评论