学生同学录C语言程序500行.docx
《学生同学录C语言程序500行.docx》由会员分享,可在线阅读,更多相关《学生同学录C语言程序500行.docx(19页珍藏版)》请在冰豆网上搜索。
学生同学录C语言程序500行
#include
#defineNULL0
structstudent
{
longnum;
charname[20];
intbanji;
chartel[11];
charqq[10];
charEmail[20];
intsushe;
structstudent*next;
};
structstudent*stu;
intn;
voidmenu(void)/*主菜单函数*/
system("cls");
puts("||==========================================================================||");
puts("||*************************^_^学生通讯录管理系统^_^*************************||");
puts("||||");
puts("||1:
录入学生通讯录信息||");
puts("||2:
列出所有学生通讯录||");
puts("||3:
按姓名查询信息||");
puts("||4:
按学号查询信息||");
puts("||5:
按班级查询信息||");
puts("||6:
按qq号查询信息||");
puts("||7:
按电话号码查询信息||");
puts("||8:
按宿舍查询信息||");
puts("||9:
按邮箱查询信息||");
puts("||s:
删除学生信息||");
puts("||p:
按学号将通讯录排序||");
puts("||0:
退出||");
}
structstudent*shuru(void)/*输入函数*/
structstudent*s1,*s2;
n=1;
intnum;
puts("请输入学生人数(提示:
人数不能输入0!
):
");
scanf("%d",&num);
s1=s2=(structstudent*)malloc(sizeof(structstudent));
puts("*************************************************");
puts("请输入学号:
scanf("%d",&s1->num);
puts("请输入学生姓名:
scanf("%s",s1->name);
puts("请输入班级:
scanf("%d",&s1->banji);
puts("请输入电话号码:
scanf("%s",s1->tel);
puts("请输入qq号码:
scanf("%s",s1->qq);
puts("请输入电子邮件:
scanf("%s",s1->Email);
puts("请输入学生宿舍号:
scanf("%d",&s1->sushe);
stu=s1;
while(n{s2->next=s1;s2=s1;s1=(structstudent*)malloc(sizeof(structstudent));puts("*************************************************");puts("请输入学号:");scanf("%d",&s1->num);puts("请输入学生姓名:");scanf("%s",s1->name);puts("请输入班级:");scanf("%d",&s1->banji);puts("请输入电话号码:");scanf("%s",s1->tel);puts("请输入qq号码:");scanf("%s",s1->qq);puts("请输入电子邮件:");scanf("%s",s1->Email);puts("请输入学生宿舍号:");scanf("%d",&s1->sushe);n=n+1;}puts("*************************************************");s2->next=s1;s2=s1;s2->next=NULL;return(stu);//system("cls");}voidshuchu(structstudent*s)/*输出单个学生信息*/{printf("*%-12ld",s->num);printf("%-8s",s->name);printf("%-8d",s->banji);printf("%-15s",s->tel);printf("%-13s",s->qq);printf("%-15s",s->Email);printf("%-5d*\n",s->sushe);}voidfindall()/*输出所有学生信息*/{system("cls");structstudent*s;//if(n=2)//printf("\n现在有%d个学生信息,分别是:\n",n);//elseprintf("\n现在有%d个学生信息,分别是:\n",n);puts("___________________________________________________________________________________");puts("*学号姓名班级电话qq电子邮件宿舍*");s=stu;while(s!=NULL){shuchu(s);s=s->next;}puts("___________________________________________________________________________________");puts("返回主菜单请按【9】");if(getche()=='9')menu();}voidfindname()/*按姓名查找函数*/{system("cls");structstudent*s;charname[20];printf("\n请输入你要查询的学生姓名:\n");scanf("%s",name);s=stu;while(strcmp(s->name,name)!=0){s=s->next;}if(s==NULL){puts("查无此学生姓名!");gotoend;}else{puts("该学生的信息为:");puts("*学号姓名班级电话qq电子邮件宿舍*");shuchu(s);}end:;puts("返回主菜单请按【9】");if(getche()=='9')menu();}voidfindnum()/*按学号查找函数*/{system("cls");structstudent*s;puts("请输入你要查询的学生学号:");longi;scanf("%ld",&i);s=stu;while(s->num!=i){s=s->next;}if(s==NULL){puts("查无此学生学号!");gotoend;}else{puts("该学生的信息为:");puts("*学号姓名班级电话qq电子邮件宿舍*");shuchu(s);}end:;puts("返回主菜单请按【9】");if(getche()=='9')menu();}voidfindbanji()/*按班级查找函数*/{system("cls");structstudent*s;puts("请输入你要查询的学生班级:");inti;scanf("%ld",&i);s=stu;while(s->banji!=i){s=s->next;}if(s==NULL){puts("查无此学生学号!");gotoend;}else{puts("该学生的信息为:");puts("*学号姓名班级电话qq电子邮件宿舍*");shuchu(s);}end:;puts("返回主菜单请按【9】");if(getche()=='9')menu();}voidfindqq()/*按qq号查找函数*/{system("cls");structstudent*s;charqq[10];printf("请输入你要查询的学生qq号:");scanf("%s",qq);s=stu;while(strcmp(s->qq,qq)!=0){s=s->next;}if(s==NULL){puts("查无此学生qq号!");gotoend;}else{puts("该学生的信息为:");puts("*学号姓名班级电话qq电子邮件宿舍*");shuchu(s);}end:;puts("返回主菜单请按【9】");if(getche()=='9')menu();}voidfindEmail()/*按邮箱查找函数*/{system("cls");structstudent*s;charEmail[10];printf("请输入你要查询的学生邮箱号:");scanf("%s",Email);s=stu;while(strcmp(s->Email,Email)!=0){s=s->next;}if(s==NULL){puts("查无此学生邮箱号!");gotoend;}else{puts("该学生的信息为:");puts("*学号姓名班级电话qq电子邮件宿舍*");shuchu(s);}end:;puts("返回主菜单请按【9】");if(getche()=='9')menu();}voidfindtel()/*按电话号码查找函数*/{system("cls");structstudent*s;chartel[11];printf("请输入你要查询的学生电话号码:");scanf("%s",tel);s=stu;while(strcmp(s->tel,tel)!=0){s=s->next;}if(s==NULL){puts("查无此学生电话号码!");gotoend;}else{puts("该学生的信息为:");puts("*学号姓名班级电话qq电子邮件宿舍*");shuchu(s);}end:;puts("返回主菜单请按【9】");if(getche()=='9')menu();}voidfindsushe()/*按宿舍查找函数*/{system("cls");structstudent*s;puts("请输入你要查询的学生宿舍:");inti;scanf("%ld",&i);s=stu;while(s->sushe!=i){s=s->next;}if(s==NULL){puts("查无此学生宿舍!");gotoend;}else{puts("该学生的信息为:");puts("*学号姓名班级电话qq电子邮件宿舍*");shuchu(s);}end:;puts("返回主菜单请按【9】");if(getche()=='9')menu();}structstudent*shanchu(structstudent*stu)/*删除函数*/{system("cls");longnum;chars;structstudent*s1,*s2,*t;printf("\n现在有%d个学生信息,分别是:\n",n);puts("__________________________________________________________________________________");puts("*学号姓名班级电话qq电子邮件宿舍*");t=stu;while(t!=NULL){shuchu(t);t=t->next;}puts("___________________________________________________________________________________");if(stu==NULL){puts("没有任何学生信息。");gotoend;}puts("请输入你要删除的学生学号:");scanf("%ld",&num);s1=stu;puts("警告:你确定要删除这个学生的信息吗(Y/N)?");scanf("%s",&s);if((s=='Y')||(s=='y')){while((num!=s1->num)&&(s1->next!=NULL)){s2=s1;s1=s1->next;}if(num==s1->num){puts("该学生的信息为:");puts("*学号姓名班级电话qq电子邮件宿舍*");shuchu(s1);if(s1==stu)stu=s1->next;elses2->next=s1->next;puts("注意哟,该学生的信息已经删除了!剩下的学生通讯录信息如下:");n=n-1;}}findall();return(stu);end:;puts("返回主菜单请按【9】");if(getche()=='9')menu();}voidpaixu()/*排序函数*/{structstudent*p,*p1,*p2;inti,j;inttemp;charb[20];if(stu==NULL){printf("\n学生信息不存在\n");gotoend;}for(i=0;i{p1=stu;for(j=0;j{p2=p1->next;if(p1->num>p2->num){temp=p1->num;p1->num=p2->num;p2->num=temp;strcpy(b,p1->name);strcpy(p1->name,p2->name);strcpy(p2->name,b);temp=p1->banji;p1->banji=p2->banji;p2->banji=temp;strcpy(b,p1->tel);strcpy(p1->tel,p2->tel);strcpy(p2->tel,b);strcpy(b,p1->qq);strcpy(p1->tel,p2->qq);strcpy(p2->qq,b);strcpy(b,p1->Email);strcpy(p1->Email,p2->Email);strcpy(p2->Email,b);temp=p1->sushe;p1->sushe=p2->sushe;p2->sushe=temp;}p1=p1->next;}}p=stu;puts("已按学生学号顺序排序完毕!重新排序如下:");puts("***********************************************************************************");puts("*学号姓名班级电话qq电子邮件宿舍*");while(p!=NULL){printf("*%-12ld",p->num);printf("%-8s",p->name);printf("%-8d",p->banji);printf("%-15s",p->tel);printf("%-13s",p->qq);printf("%-15s",p->Email);printf("%-5d*\n",p->sushe);p=p->next;}end:;puts("返回主菜单请按【9】");if(getche()=='9')menu();}voidmain()/*主函数*/{chara;menu();puts("\n首次使用本系统,建议您按数字键1开始录入学生信息");a=getche();while(a){puts("");switch(a){case'0':gotoend;break;case'1':puts("\n好了,您可以开始向本系统录入学生通讯录信息了:");stu=shuru();system("cls");menu();puts("\n学生信息录入完毕,请输入你的选择(0~9/a):\n");break;case'2':findall();puts("\n请输入你的选择(0~9/a):");break;case'3':findname();puts("\n请输入你的选择(0~9/a):");break;case'4':findnum();puts("\n请输入你的选择(0~9/a):");break;case'5':findbanji();puts("\n请输入你的选择(0~9/a):");break;case'6':findqq();puts("\n请输入你的选择(0~9/a):");break;case'7':findEmail();puts("\n请输入你的选择(0~9/a):");break;case'8':findtel();puts("\n请输入你的选择(0~9/a):");break;case'9':findsushe();puts("\n请输入你的选择(0~9/a):");break;case's':stu=shanchu(stu);puts("\n请输入你的选择(0~9/a):");break;case'p':paixu();puts("\n请输入你的选择(0~9/a):");break;default:puts("输错了!按数字键1录入学生信息吧!");break;}a=getche();}end:;puts("感谢您使用本系统,欢迎再次使用!");}
s2->next=s1;
s2=s1;
s1=(structstudent*)malloc(sizeof(structstudent));
n=n+1;
s2->next=NULL;
return(stu);
//system("cls");
voidshuchu(structstudent*s)/*输出单个学生信息*/
printf("*%-12ld",s->num);
printf("%-8s",s->name);
printf("%-8d",s->banji);
printf("%-15s",s->tel);
printf("%-13s",s->qq);
printf("%-15s",s->Email);
printf("%-5d*\n",s->sushe);
voidfindall()/*输出所有学生信息*/
structstudent*s;
//if(n=2)
//printf("\n现在有%d个学生信息,分别是:
\n",n);
//else
printf("\n现在有%d个学生信息,分别是:
puts("___________________________________________________________________________________");
puts("*学号姓名班级电话qq电子邮件宿舍*");
s=stu;
while(s!
=NULL)
shuchu(s);
s=s->next;
puts("返回主菜单请按【9】");
if(getche()=='9')menu();
voidfindname()/*按姓名查找函数*/
printf("\n请输入你要查询的学生姓名:
\n");
scanf("%s",name);
while(strcmp(s->name,name)!
=0)
if(s==NULL)
puts("查无此学生姓名!
gotoend;
else
puts("该学生的信息为:
end:
;
voidfindnum()/*按学号查找函数*/
puts("请输入你要查询的学生学号:
longi;
scanf("%ld",&i);
while(s->num!
=i)
puts("查无此学生学号!
voidfindbanji()/*按班级查找函数*/
puts("请输入你要查询的学生班级:
inti;
while(s->banji!
voidfindqq()/*按qq号查找函数*/
printf("请输入你要查询的学生qq号:
scanf("%s",qq);
while(strcmp(s->qq,qq)!
puts("查无此学生qq号!
voidfindEmail()/*按邮箱查找函数*/
charEmail[10];
printf("请输入你要查询的学生邮箱号:
scanf("%s",Email);
while(strcmp(s->Email,Email)!
puts("查无此学生邮箱号!
voidfindtel()/*按电话号码查找函数*/
printf("请输入你要查询的学生电话号码:
scanf("%s",tel);
while(strcmp(s->tel,tel)!
puts("查无此学生电话号码!
voidfindsushe()/*按宿舍查找函数*/
puts("请输入你要查询的学生宿舍:
while(s->sushe!
puts("查无此学生宿舍!
structstudent*shanchu(structstudent*stu)/*删除函数*/
chars;
structstudent*s1,*s2,*t;
puts("__________________________________________________________________________________");
t=stu;
while(t!
shuchu(t);
t=t->next;
if(stu==NULL)
puts("没有任何学生信息。
puts("请输入你要删除的学生学号:
scanf("%ld",&num);
s1=stu;
puts("警告:
你确定要删除这个学生的信息吗(Y/N)?
scanf("%s",&s);
if((s=='Y')||(s=='y'))
while((num!
=s1->num)&&(s1->next!
=NULL))
s2=s1;s1=s1->next;
if(num==s1->num)
shuchu(s1);
if(s1==stu)
stu=s1->next;
s2->next=s1->next;
puts("注意哟,该学生的信息已经删除了!
剩下的学生通讯录信息如下:
n=n-1;
findall();
voidpaixu()/*排序函数*/
structstudent*p,*p1,*p2;
inti,j;
inttemp;
charb[20];
printf("\n学生信息不存在\n");
for(i=0;i{p1=stu;for(j=0;j{p2=p1->next;if(p1->num>p2->num){temp=p1->num;p1->num=p2->num;p2->num=temp;strcpy(b,p1->name);strcpy(p1->name,p2->name);strcpy(p2->name,b);temp=p1->banji;p1->banji=p2->banji;p2->banji=temp;strcpy(b,p1->tel);strcpy(p1->tel,p2->tel);strcpy(p2->tel,b);strcpy(b,p1->qq);strcpy(p1->tel,p2->qq);strcpy(p2->qq,b);strcpy(b,p1->Email);strcpy(p1->Email,p2->Email);strcpy(p2->Email,b);temp=p1->sushe;p1->sushe=p2->sushe;p2->sushe=temp;}p1=p1->next;}}p=stu;puts("已按学生学号顺序排序完毕!重新排序如下:");puts("***********************************************************************************");puts("*学号姓名班级电话qq电子邮件宿舍*");while(p!=NULL){printf("*%-12ld",p->num);printf("%-8s",p->name);printf("%-8d",p->banji);printf("%-15s",p->tel);printf("%-13s",p->qq);printf("%-15s",p->Email);printf("%-5d*\n",p->sushe);p=p->next;}end:;puts("返回主菜单请按【9】");if(getche()=='9')menu();}voidmain()/*主函数*/{chara;menu();puts("\n首次使用本系统,建议您按数字键1开始录入学生信息");a=getche();while(a){puts("");switch(a){case'0':gotoend;break;case'1':puts("\n好了,您可以开始向本系统录入学生通讯录信息了:");stu=shuru();system("cls");menu();puts("\n学生信息录入完毕,请输入你的选择(0~9/a):\n");break;case'2':findall();puts("\n请输入你的选择(0~9/a):");break;case'3':findname();puts("\n请输入你的选择(0~9/a):");break;case'4':findnum();puts("\n请输入你的选择(0~9/a):");break;case'5':findbanji();puts("\n请输入你的选择(0~9/a):");break;case'6':findqq();puts("\n请输入你的选择(0~9/a):");break;case'7':findEmail();puts("\n请输入你的选择(0~9/a):");break;case'8':findtel();puts("\n请输入你的选择(0~9/a):");break;case'9':findsushe();puts("\n请输入你的选择(0~9/a):");break;case's':stu=shanchu(stu);puts("\n请输入你的选择(0~9/a):");break;case'p':paixu();puts("\n请输入你的选择(0~9/a):");break;default:puts("输错了!按数字键1录入学生信息吧!");break;}a=getche();}end:;puts("感谢您使用本系统,欢迎再次使用!");}
p1=stu;
for(j=0;j{p2=p1->next;if(p1->num>p2->num){temp=p1->num;p1->num=p2->num;p2->num=temp;strcpy(b,p1->name);strcpy(p1->name,p2->name);strcpy(p2->name,b);temp=p1->banji;p1->banji=p2->banji;p2->banji=temp;strcpy(b,p1->tel);strcpy(p1->tel,p2->tel);strcpy(p2->tel,b);strcpy(b,p1->qq);strcpy(p1->tel,p2->qq);strcpy(p2->qq,b);strcpy(b,p1->Email);strcpy(p1->Email,p2->Email);strcpy(p2->Email,b);temp=p1->sushe;p1->sushe=p2->sushe;p2->sushe=temp;}p1=p1->next;}}p=stu;puts("已按学生学号顺序排序完毕!重新排序如下:");puts("***********************************************************************************");puts("*学号姓名班级电话qq电子邮件宿舍*");while(p!=NULL){printf("*%-12ld",p->num);printf("%-8s",p->name);printf("%-8d",p->banji);printf("%-15s",p->tel);printf("%-13s",p->qq);printf("%-15s",p->Email);printf("%-5d*\n",p->sushe);p=p->next;}end:;puts("返回主菜单请按【9】");if(getche()=='9')menu();}voidmain()/*主函数*/{chara;menu();puts("\n首次使用本系统,建议您按数字键1开始录入学生信息");a=getche();while(a){puts("");switch(a){case'0':gotoend;break;case'1':puts("\n好了,您可以开始向本系统录入学生通讯录信息了:");stu=shuru();system("cls");menu();puts("\n学生信息录入完毕,请输入你的选择(0~9/a):\n");break;case'2':findall();puts("\n请输入你的选择(0~9/a):");break;case'3':findname();puts("\n请输入你的选择(0~9/a):");break;case'4':findnum();puts("\n请输入你的选择(0~9/a):");break;case'5':findbanji();puts("\n请输入你的选择(0~9/a):");break;case'6':findqq();puts("\n请输入你的选择(0~9/a):");break;case'7':findEmail();puts("\n请输入你的选择(0~9/a):");break;case'8':findtel();puts("\n请输入你的选择(0~9/a):");break;case'9':findsushe();puts("\n请输入你的选择(0~9/a):");break;case's':stu=shanchu(stu);puts("\n请输入你的选择(0~9/a):");break;case'p':paixu();puts("\n请输入你的选择(0~9/a):");break;default:puts("输错了!按数字键1录入学生信息吧!");break;}a=getche();}end:;puts("感谢您使用本系统,欢迎再次使用!");}
p2=p1->next;
if(p1->num>p2->num)
temp=p1->num;p1->num=p2->num;p2->num=temp;
strcpy(b,p1->name);strcpy(p1->name,p2->name);strcpy(p2->name,b);
temp=p1->banji;p1->banji=p2->banji;p2->banji=temp;
strcpy(b,p1->tel);strcpy(p1->tel,p2->tel);strcpy(p2->tel,b);
strcpy(b,p1->qq);strcpy(p1->tel,p2->qq);strcpy(p2->qq,b);
strcpy(b,p1->Email);strcpy(p1->Email,p2->Email);strcpy(p2->Email,b);
temp=p1->sushe;p1->sushe=p2->sushe;p2->sushe=temp;
p1=p1->next;
p=stu;
puts("已按学生学号顺序排序完毕!
重新排序如下:
puts("***********************************************************************************");
while(p!
printf("*%-12ld",p->num);
printf("%-8s",p->name);
printf("%-8d",p->banji);
printf("%-15s",p->tel);
printf("%-13s",p->qq);
printf("%-15s",p->Email);
printf("%-5d*\n",p->sushe);
p=p->next;
if(getche()=='9')
menu();
voidmain()/*主函数*/
chara;
puts("\n首次使用本系统,建议您按数字键1开始录入学生信息");
a=getche();
while(a)
puts("");
switch(a)
case'0':
gotoend;break;
case'1':
puts("\n好了,您可以开始向本系统录入学生通讯录信息了:
stu=shuru();
puts("\n学生信息录入完毕,请输入你的选择(0~9/a):
\n");break;
case'2':
findall();puts("\n请输入你的选择(0~9/a):
");break;
case'3':
findname();puts("\n请输入你的选择(0~9/a):
case'4':
findnum();puts("\n请输入你的选择(0~9/a):
case'5':
findbanji();puts("\n请输入你的选择(0~9/a):
case'6':
findqq();puts("\n请输入你的选择(0~9/a):
case'7':
findEmail();puts("\n请输入你的选择(0~9/a):
case'8':
findtel();puts("\n请输入你的选择(0~9/a):
case'9':
findsushe();puts("\n请输入你的选择(0~9/a):
case's':
stu=shanchu(stu);puts("\n请输入你的选择(0~9/a):
case'p':
paixu();puts("\n请输入你的选择(0~9/a):
default:
puts("输错了!
按数字键1录入学生信息吧!
puts("感谢您使用本系统,欢迎再次使用!
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1