学生通讯录C语言课程设计源代码.docx

上传人:b****5 文档编号:7342074 上传时间:2023-05-11 格式:DOCX 页数:23 大小:19.85KB
下载 相关 举报
学生通讯录C语言课程设计源代码.docx_第1页
第1页 / 共23页
学生通讯录C语言课程设计源代码.docx_第2页
第2页 / 共23页
学生通讯录C语言课程设计源代码.docx_第3页
第3页 / 共23页
学生通讯录C语言课程设计源代码.docx_第4页
第4页 / 共23页
学生通讯录C语言课程设计源代码.docx_第5页
第5页 / 共23页
学生通讯录C语言课程设计源代码.docx_第6页
第6页 / 共23页
学生通讯录C语言课程设计源代码.docx_第7页
第7页 / 共23页
学生通讯录C语言课程设计源代码.docx_第8页
第8页 / 共23页
学生通讯录C语言课程设计源代码.docx_第9页
第9页 / 共23页
学生通讯录C语言课程设计源代码.docx_第10页
第10页 / 共23页
学生通讯录C语言课程设计源代码.docx_第11页
第11页 / 共23页
学生通讯录C语言课程设计源代码.docx_第12页
第12页 / 共23页
学生通讯录C语言课程设计源代码.docx_第13页
第13页 / 共23页
学生通讯录C语言课程设计源代码.docx_第14页
第14页 / 共23页
学生通讯录C语言课程设计源代码.docx_第15页
第15页 / 共23页
学生通讯录C语言课程设计源代码.docx_第16页
第16页 / 共23页
学生通讯录C语言课程设计源代码.docx_第17页
第17页 / 共23页
学生通讯录C语言课程设计源代码.docx_第18页
第18页 / 共23页
学生通讯录C语言课程设计源代码.docx_第19页
第19页 / 共23页
学生通讯录C语言课程设计源代码.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

学生通讯录C语言课程设计源代码.docx

《学生通讯录C语言课程设计源代码.docx》由会员分享,可在线阅读,更多相关《学生通讯录C语言课程设计源代码.docx(23页珍藏版)》请在冰点文库上搜索。

学生通讯录C语言课程设计源代码.docx

学生通讯录C语言课程设计源代码

#include//程序中所需用到的所有函数的头文件//

#include//清屏,暂停所需头文件//

#include//退出所需函数头文件//

#include//字符串函数//

charnamekey[20],numkey[11],phonekey[20];//全局变量,输入,查询,修改时要用到//

intrshu;

voidmenu();//后面主函数中需要调用到的函数,为全局变量//

voidadd();

voidalter();

voiddelet();

voidsearch();

voidhelp();

voidorder();

voidscan();

structstudent//定义一个数组,储存所需录入的信息,整个程序都可以使用//

{

charnum[11];

charname[20];

charsex[5];

charaddress[50];

charphone[20];

charqq[10];

}stu[50];

voidmenu()

{

intwenjian();

intn;

while

(1)//循环使用此函数//

{system("cls");//每次循环此函数都清屏//

wenjian();//存入文件//

printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");

printf("\n★→菜单←★\n");

printf("\n1.添加学生信息2.修改学生信息\n");

printf("\n3.删除学生信息4.查询学生信息\n");

printf("\n5.学生信息排序6.浏览学生信息\n");

printf("\n7.帮助菜单8.退出系统\n");

printf("\n★→学生通讯录←★\n");

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

printf("\n");

printf("请选择序号(1~8):

[]\b\b");

scanf("%d",&n);

if(n>0&&n<9)

{

switch(n)

{

case1:

add();break;

case2:

alter();break;

case3:

delet();break;

case4:

search();break;

case5:

order();break;

case6:

scan();break;

case7:

help();break;

case8:

exit(0);

}

}

else

{

printf("您输入的序号不在范围内:

\n");

system("pause");//暂停,不直接执行后续操作//

}

}

}

voidmain()//主函数,运行菜单函数//

{

menu();

}

voidadd()//添加函数,添加通讯录中的信息//

{

inti,n,j,k;

charw,m;

printf("请输入所需添加信息条数(请输入数字1~50):

");//输入信息的条数,决定添加多少信息//

scanf("%d",&n);

for(j=0;;j++)

{

if(n<1||n>50)//判断输入的数是否在存储空间中,不满足,则重新选择//

{

printf("输入错误,请选择:

1.重新输入2.退出输入返回主菜单:

");

printf("\n输入您的选择(1or2):

");

scanf("%d",&k);

if(k==1)add();//返回添加函数//

if(k==2)menu();//返回主菜单//

}

elsebreak;

}

for(i=0;i

{

printf("\n请输入学号:

");

scanf("%s",stu[rshu+i].num);

printf("请输入姓名:

");

scanf("%s",stu[rshu+i].name);

printf("请输入性别(morw):

");

scanf("%s",stu[rshu+i].sex);

for(j=0;;j++)

{

if(strcmp(stu[rshu+i].sex,"w")!

=0&&strcmp(stu[rshu+i].sex,"m")!

=0)

{//进行性别录入判断,只能为m或者w,否则重新输入//

printf("输入错误,请重新输入:

");

printf("\n请输入性别(morw):

");

scanf("%s",stu[rshu+i].sex);

}

elsebreak;

}

printf("请输入通讯地址:

");//判断后继续输入//

scanf("%s",stu[rshu+i].address);

printf("请输入电话:

");

scanf("%s",stu[rshu+i].phone);

printf("请输入QQ号:

");

scanf("%s",stu[rshu+i].qq);

}

rshu+=n;//总人数增加添加的条数//

printf("\n添加成功!

\n");

system("pause");//暂停,不直接执行后续操作//

menu();//返回主菜单//

}

voidalter()//修改通讯录中的信息//

{

inti,j,k,n;

charm,w;

if(rshu==0)//当人数为0时,没有数据删除,用户选择是否添加数据//

{

printf("暂无通讯录数据,是否添加通讯录:

1.是(按其它数字则返回主菜单):

\n");

printf("请选择:

");

scanf("%d",&n);

if(n==1)add();

elsemenu();

}

printf("\n请输入要修改学生的姓名:

");

scanf("%s",namekey);

for(i=0;i

if(strcmp(namekey,stu[i].name)==0)//比较字符串//

{

printf("\n已查询到,记录为:

");

printf("\n\n学号,姓名,性别,通讯地址,电话,QQ号:

");

printf("\n%s,%s,%s,%s,%s,%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].address,stu[i].phone,stu[i].qq);

break;

}

if(i==rshu)//当i=rshu时,证明整个通讯录中的学生都查询到了,没有符合的//

{

printf("\n没有该同学记录,请继续选择操作:

\n");

printf("\n请选择:

1.重新输入(其它数字键则返回主菜单)");

scanf("%d",&n);

if(n==1)alter();

elsemenu();

}

else

{

system("pause");

system("cls");

printf("\n\n学号,姓名,性别,通讯地址,电话,QQ号:

");

printf("\n%s,%s,%s,%s,%s,%s",stu[i].num,stu[i].name,stu[i].sex,stu[i].address,stu[i].phone,stu[i].qq);

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

printf("\n\n请选择要修改的信息且一次操作只能修改一次:

");

printf("\n\n1.学号2.姓名");//满足各种需要修改的信息//

printf("\n\n3.通讯地址4.电话号码");

printf("\n\n5.QQ号码6.全部信息");

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

printf("\n请选择(1~6):

");

scanf("%d",&k);

if(k<1||k>6)

{

printf("输入有误,请选择1.重新输入2.退出修改返回主菜单");

printf("\n输入您的选择(1or2):

");

scanf("%d",&n);

if(n==1)alter();

if(n==2)menu();

}

if(k==1)//修改学号//

{

printf("\n请输入新数据:

");

printf("\n请输入学号:

");

scanf("%s",stu[i].num);

}

if(k==2)

{

printf("\n请输入新数据:

");

printf("请输入姓名:

");

scanf("%s",stu[i].name);

}

if(k==3)//修改通讯地址//

{

printf("\n请输入新数据:

");

printf("请输入通讯地址:

");

scanf("%s",stu[i].address);

}

if(k==4)//修改电话//

{

printf("\n请输入新数据:

");

printf("请输入电话:

");

scanf("%s",stu[i].phone);

}

if(k==5)//修改QQ号//

{

printf("\n请输入新数据:

");

printf("请输入QQ号:

");

scanf("%s",stu[i].qq);

}

if(k==6)//修改全部信息//

{

printf("\n请输入新数据:

");

printf("\n请输入学号:

");

scanf("%s",stu[i].num);

printf("请输入姓名:

");

scanf("%s",stu[i].name);

printf("请输入性别(morw):

");

scanf("%s",stu[i].sex);

for(j=0;;j++)

{

if(strcmp(stu[i].sex,"w")!

=0&&strcmp(stu[i].sex,"m")!

=0)

{

printf("输入错误,请重新输入:

");

printf("\n请输入性别(morw):

");

scanf("%s",stu[i].sex);

}

elsebreak;

}

printf("请输入通讯地址:

");

scanf("%s",stu[i].address);

printf("请输入电话:

");

scanf("%s",stu[i].phone);

printf("请输入QQ号:

");

scanf("%s",stu[i].qq);

}

}

printf("修改成功!

\n");

printf("是否需要查看修改后的信息?

:

是(按1)or否(按2):

");

scanf("%d",&k);

if(k==1)

{

printf("\n学号,姓名,性别,通讯地址,电话,QQ号:

");

printf("\n%s,%s,%s,%s,%s,%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].address,stu[i].phone,stu[i].qq);

printf("\n可返回主菜单\n");

}

if(k==2)

{

printf("\n可返回主菜单\n");

}

system("pause");//暂停,不直接执行后续操作//

menu();

}

voiddelet()//删除函数//

{

inti,k,n;

char*s;//定义一个字符指针变量//

if(rshu==0)//当人数为0时,没有数据删除,用户选择是否添加数据//

{

printf("暂无通讯录数据,是否添加通讯录:

1.是(按其它数字键则返回主菜单):

\n");

printf("请选择:

");

scanf("%d",&n);

if(n==1)add();

elsemenu();

}

printf("\n请输入要删除学生的姓名:

");

scanf("%s",namekey);

for(i=0;i

if(strcmp(namekey,stu[i].name)==0)//判断输入名字是否在通讯录中有记录,进行字符串比较//

{

printf("\n已查询到,记录为:

");

printf("\n学号,姓名,性别,通讯地址,电话,QQ号:

");//显示查询到的信息//

printf("\n%s,%s,%s,%s,%s,%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].address,stu[i].phone,stu[i].qq);

break;

}

if(i==rshu)

{

printf("\n没有该同学记录,请继续选择操作:

\n");

printf("\n请选择:

1.重新输入(其它数字键则返回主菜单)");

scanf("%d",&n);

if(n==1)delet();

elsemenu();

}

else

{

system("pause");

system("cls");

printf("\n\n学号,姓名,性别,通讯地址,电话,QQ号:

");

printf("\n%s,%s,%s,%s,%s,%s",stu[i].num,stu[i].name,stu[i].sex,stu[i].address,stu[i].phone,stu[i].qq);

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

printf("\n\n请选择需要删除的信息:

");

printf("\n\n******************1.学号2.通讯地址**********************");

printf("\n\n******************3.电话4.QQ号**************************");

printf("\n\n****************************5.全部信息***********************************");

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

printf("\n\n按其它数字键则不删除信息且返回主菜单,请选择:

");

scanf("%d",&k);

if(k==1)

{

printf("\n是否删除该学生<学号>信息?

:

删除(按1)or不删除(按其它任意数字键):

");

scanf("%d",&n);

if(n==1)

{

s=stu[i].num;//将所查询到的姓名所在地址赋给s//

*s=0;//s所指的值为0,原值将被删除//

printf("已删除!

\n");

}

else

{

printf("请选择:

1.重新选择(按其它数字键则返回主菜单)\n");

scanf("%d",&n);

if(n==1)alter();

elsemenu();

}

}

if(k==2)

{

printf("\n是否删除该学生<通讯地址>信息?

:

删除(按1)or不删除(按其它任意数字键):

");

scanf("%d",&n);

if(n==1)

{

s=stu[i].address;//将所查询到的通讯地址所在地址赋给s//

*s=0;//s所指的值为0,原值将被删除//

printf("已删除!

\n");

}

else

{

printf("请选择:

1.重新选择(按其它数字键则返回主菜单)\n");

scanf("%d",&n);

if(n==1)alter();

elsemenu();

}

}

if(k==3)

{

printf("\n是否删除该学生<电话>信息?

:

删除(按1)or不删除(按其它任意数字键):

");

scanf("%d",&n);

if(n==1)

{

*(stu[i].phone)=0;//将地址所指函数的值赋为,则原值删除//

printf("已删除!

\n");

}

else

{

printf("请选择:

1.重新选择(按其它数字键则返回主菜单)\n");

scanf("%d",&n);

if(n==1)alter();

elsemenu();

}

}

if(k==4)

{

printf("\n是否删除该学生信息?

:

删除(按1)or不删除(按其它任意数字键):

");

scanf("%d",&n);

if(n==1)

{

*(stu[i].qq)=0;//将地址所指函数的值赋为,则原值删除//

printf("已删除!

\n");

}

else

{

printf("请选择:

1.重新选择(按其它数字键则返回主菜单)\n");

scanf("%d",&n);

if(n==1)alter();

elsemenu();

}

}

if(k==5)

{

printf("\n是否删除该学生<全部>信息?

:

删除(按1)or不删除(按其它任意数字键):

");

scanf("%d",&n);

if(n==1)

{

stu[i]=stu[i+1];

printf("已删除!

\n");

}

else

{

printf("请选择:

1.重新选择(按其它数字键则返回主菜单)\n");

scanf("%d",&n);

if(n==1)alter();

elsemenu();

}

}

}

if(k==5&&n==1)//当删除全部信息后,人数才减,其它删除操作不改变人数个数//

rshu-=1;

system("pause");

}

voidsearch()//查询函数//

{

voidxm();

voidxh();

voiddh();

intn;

system("cls");//清屏,把主菜单的目录覆盖掉,只显示查询界面//

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

printf("\n★→查询界面←★\n");

printf("\n");

printf(" ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\n");

printf("1.按姓名查询|2.按学号查询\n");

printf("―――――――――――――――――――|――――――――――――――――――――\n");

printf("3.按电话查询|4.返回主菜单\n");

printf("__________________|___________________\n");

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

printf("\n");

while

(1)

{

printf("请选择序号(1~4):

[]\b\b");

scanf("%d",&n);

if(n>0&&n<5)

{

switch(n)

{

case1:

xm();break;

case2:

xh();break;

case3:

dh();break;

case4:

menu();

}

}

else

{

printf("您输入的序号不在范围内,请输入[1~4]:

\n");

}

}

}

voidxm()//按姓名查询函数//

{

inti,n;

if(rshu==0)//当人数为0时,没有数据查询,用户选择是否添加数据//

{

printf("暂无通讯录数据,是否添加通讯录:

1.是(按其它数字键则返回主菜单):

\n");

printf("请选择:

");

scanf("%d",&n);

if(n==1)add();

elsemenu();

}

printf("\n请输入要查询的姓名:

");

scanf("%s",namekey);

for(i=0;i

if(strcmp(namekey,stu[i].name)==0)

{

printf("\n已查询到,记录为:

");

printf("\n姓名,学号,性别,通讯地址,电话,QQ号:

");

printf("\n%s,%s,%s,%s,%s,%s\n",stu[i].name,stu[i].num,stu[i].sex,stu[i].address,stu[i].phone,stu[

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2