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语言电话簿课程设计的信息。
最后更新于 2023-09-03 09:21:09 并被添加「C语言 电话簿 设计 」标签,已有 位童鞋阅读过。
本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处
相关文章