1、学生同学录C语言程序500行#include#include#include#include#include#define NULL 0struct student long num; char name20; int banji; char tel11; char qq10; char Email20; int sushe; struct student *next;struct student *stu;int n;void menu(void) /*主菜单函数*/ system(cls); puts(|=|); puts(|*_学生通讯录管理系统_*|); puts(|=|); puts
2、(| |); 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(
3、|=|);struct student *shuru(void) /*输入函数*/ system(cls); struct student *s1,*s2; n=1; int num; puts(请输入学生人数(提示:人数不能输入0!):); scanf(%d,&num); s1=s2=(struct student *)malloc(sizeof(struct student); puts(*); puts(请输入学号:); scanf(%d,&s1-num); puts(请输入学生姓名:); scanf(%s,s1-name); puts(请输入班级:); scanf(%d,&s1-ban
4、ji); puts(请输入电话号码:); scanf(%s,s1-tel); puts(请输入qq号码:); scanf(%s,s1-qq); puts(请输入电子邮件:); scanf(%s,s1-Email); puts(请输入学生宿舍号:); scanf(%d,&s1-sushe); stu=s1; while(nnext=s1; s2=s1; s1=(struct student *)malloc(sizeof(struct student); puts(*); puts(请输入学号:); scanf(%d,&s1-num); puts(请输入学生姓名:); scanf(%s,s1-n
5、ame); 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);void shuchu(struct student *s) /*输出单个学生信息*/
6、 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);void findall() /*输出所有学生信息*/ system(cls); struct student *s; /if(n=2) /printf(n现在有%d个学生信息,分别是:n,n); /else printf(n现在有%d个学生信息,分别是:n,n); puts(_); p
7、uts(* 学号 姓名 班级 电话 qq 电子邮件 宿舍 *); s=stu; while(s!=NULL) shuchu(s); s=s-next; puts(_); puts(返回主菜单请按【9】); if(getche()=9) menu();void findname()/*按姓名查找函数*/ system(cls); struct student *s; char name20; printf(n请输入你要查询的学生姓名:n); scanf(%s,name); s=stu; while(strcmp(s-name,name)!=0) s=s-next; if(s=NULL) puts
8、(查无此学生姓名!); goto end; else puts(该学生的信息为:); puts(* 学号 姓名 班级 电话 qq 电子邮件 宿舍 *); shuchu(s); end:; puts(返回主菜单请按【9】); if(getche()=9) menu();void findnum() /*按学号查找函数*/ system(cls); struct student *s; puts(请输入你要查询的学生学号:); long i; scanf(%ld,&i); s=stu; while(s-num!=i) s=s-next; if(s=NULL) puts(查无此学生学号!); got
9、o end; else puts(该学生的信息为:); puts(* 学号 姓名 班级 电话 qq 电子邮件 宿舍 *); shuchu(s); end:; puts(返回主菜单请按【9】); if(getche()=9) menu();void findbanji() /*按班级查找函数*/ system(cls); struct student *s; puts(请输入你要查询的学生班级:); int i; scanf(%ld,&i); s=stu; while(s-banji!=i) s=s-next; if(s=NULL) puts(查无此学生学号!); goto end; else
10、puts(该学生的信息为:); puts(* 学号 姓名 班级 电话 qq 电子邮件 宿舍 *); shuchu(s); end:; puts(返回主菜单请按【9】); if(getche()=9) menu();void findqq() /*按qq号查找函数*/ system(cls); struct student *s; char qq10; printf(请输入你要查询的学生qq号:); scanf(%s,qq); s=stu; while(strcmp(s-qq,qq)!=0) s=s-next; if(s=NULL) puts(查无此学生qq号!); goto end; else
11、 puts(该学生的信息为:); puts(* 学号 姓名 班级 电话 qq 电子邮件 宿舍 *); shuchu(s); end:; puts(返回主菜单请按【9】); if(getche()=9) menu();void findEmail() /*按邮箱查找函数*/ system(cls); struct student *s; char Email10; printf(请输入你要查询的学生邮箱号:); scanf(%s,Email); s=stu; while(strcmp(s-Email,Email)!=0) s=s-next; if(s=NULL) puts(查无此学生邮箱号!);
12、 goto end; else puts(该学生的信息为:); puts(* 学号 姓名 班级 电话 qq 电子邮件 宿舍 *); shuchu(s); end:; puts(返回主菜单请按【9】); if(getche()=9) menu();void findtel() /*按电话号码查找函数*/ system(cls); struct student *s; char tel11; printf(请输入你要查询的学生电话号码:); scanf(%s,tel); s=stu; while(strcmp(s-tel,tel)!=0) s=s-next; if(s=NULL) puts(查无此
13、学生电话号码!); goto end; else puts(该学生的信息为:); puts(* 学号 姓名 班级 电话 qq 电子邮件 宿舍 *); shuchu(s); end:; puts(返回主菜单请按【9】); if(getche()=9) menu();void findsushe() /*按宿舍查找函数*/ system(cls); struct student *s; puts(请输入你要查询的学生宿舍:); int i; scanf(%ld,&i); s=stu; while(s-sushe!=i) s=s-next; if(s=NULL) puts(查无此学生宿舍!); go
14、to end; else puts(该学生的信息为:); puts(* 学号 姓名 班级 电话 qq 电子邮件 宿舍 *); shuchu(s); end:; puts(返回主菜单请按【9】); if(getche()=9) menu();struct student *shanchu(struct student*stu) /*删除函数*/ system(cls); long num; char s; struct student *s1,*s2,*t; printf(n现在有%d个学生信息,分别是:n,n); puts(_); puts(* 学号 姓名 班级 电话 qq 电子邮件 宿舍 *
15、); t=stu; while(t!=NULL) shuchu(t); t=t-next; puts(_); if(stu=NULL) puts(没有任何学生信息。); goto end; 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(* 学号 姓名 班级
16、电话 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();void paixu() /*排序函数*/ struct student *p, *p1,*p2; int i,j; int temp; char b20; if(stu=NULL) printf(n学生信息不存在n);
17、goto end; for(i=0;in-1;i+) p1=stu; for(j=0;jnext; if(p1-nump2-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
18、,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
19、-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();void main() /*主函数*/ char a; menu(); puts(n首次使用本系统,建议您按数字键1开始录入学生信息); a=getche(); while(a) puts(); switch(a) case0:goto end;break; case 1: puts(n好了
20、,您可以开始向本系统录入学生通讯录信息了:); stu=shuru(); system(cls); menu(); puts(n学生信息录入完毕,请输入你的选择(09/a):n); break; case 2:findall();puts(n请输入你的选择(09/a):); break; case 3:findname();puts(n请输入你的选择(09/a):); break; case 4:findnum();puts(n请输入你的选择(09/a):); break; case 5:findbanji();puts(n请输入你的选择(09/a):); break; case 6:find
21、qq();puts(n请输入你的选择(09/a):); break; case 7:findEmail();puts(n请输入你的选择(09/a):); break; case 8:findtel();puts(n请输入你的选择(09/a):); break; case 9:findsushe();puts(n请输入你的选择(09/a):); break; case s:stu=shanchu(stu);puts(n请输入你的选择(09/a):); break; case p:paixu();puts(n请输入你的选择(09/a):); break; default:puts(输错了!按数字键1录入学生信息吧!); break; a=getche(); end:; puts(感谢您使用本系统,欢迎再次使用!);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1