学生同学录C语言程序500行.docx
- 文档编号:28557009
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:19
- 大小:17.01KB
学生同学录C语言程序500行.docx
《学生同学录C语言程序500行.docx》由会员分享,可在线阅读,更多相关《学生同学录C语言程序500行.docx(19页珍藏版)》请在冰豆网上搜索。
学生同学录C语言程序500行
#include
#include
#include
#include
#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("||||");
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:
退出||");
puts("||||");
puts("||||");
puts("||||");
puts("||==========================================================================||");
}
structstudent*shuru(void)/*输入函数*/
{
system("cls");
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); //else printf("\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; else s2->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("感谢您使用本系统,欢迎再次使用! "); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 同学录 语言 程序 500