彩票网站制作开发,下载新河网,flash制作动画教程,wordpress迁移discuzC实现班级通讯录管理系统
设计流程 本系统基于C实现班级通讯录管理系统。功能包括增、删、查、改等。通讯录包括的个人信息有姓名、学号、性别、籍贯、政治面貌、手机号、QQ号、宿舍等。主要用到了指针、结构体、遍历链表、文件读取等知识点。
优点 1 . 此系统含有欢迎使用的…C实现班级通讯录管理系统
设计流程 本系统基于C实现班级通讯录管理系统。功能包括增、删、查、改等。通讯录包括的个人信息有姓名、学号、性别、籍贯、政治面貌、手机号、QQ号、宿舍等。主要用到了指针、结构体、遍历链表、文件读取等知识点。
优点 1 . 此系统含有欢迎使用的页面之后进入功能页面。 2 . 功能设计根据实际情况设计能够最大限度满足现实需求。 3 . 界面简洁易懂操作简单。
页面效果 完整代码
#includestdio.h
#includestring.h
#includestdlib.h
#includewindows.h
typedef struct student //定义结构体
{char name[20]; //姓名char num[15]; //学号char sex[10]; //性别char from[20]; //籍贯char political[10]; //政治面貌char phone[15]; //手机号char QQ[15]; //QQ号char dorm[10]; //宿舍struct student *next; //结构体指针
}stu;
stu *head;void print() //主菜单
{system(cls);printf(\n\n\n);printf( ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n);printf( ***********************************************************\n);printf( \t\t\t班级通讯录管理系统\n);printf(\n);printf( \t\t1. 输入数据);printf(\t\t2. 显示数据\n);printf( \t\t3. 插入数据);printf(\t\t4. 删除数据\n);printf( \t\t5. 查看数据);printf(\t\t6. 修改数据\n);printf( \t\t7. 保存数据);printf(\t\t8. 返回主菜单\n);printf( ***********************************************************\n);printf( ~~~~~退~~~~~~~~~~出~~~~~~~~~~请~~~~~~~~~~按~~~~~~~~~~9~~~~~\n);printf( -----------------------------------------------------------\n\n);
}void input(stu *p1) //输入相关数据
{printf(姓名:);scanf(%s,p1-name);printf(学号:);scanf(%s,p1-num);printf(性别:);scanf(%s,p1-sex);printf(籍贯:);scanf(%s,p1-from);printf(政治面貌:);scanf(%s,p1-political);printf(手机号:);scanf(%s,p1-phone);printf(QQ号:);scanf(%s,p1-QQ);printf(宿舍:);scanf(%s,p1-dorm);
}stu * inputdata() //数据输入的函数
{stu *p1,*p2;int i1;p1(stu *)malloc(sizeof(stu));if(p1!NULL){headp1;printf(\n\t\t\t☆☆☆输入数据☆☆☆\n);printf(------------------------------------------------------------------\n);printf(在姓名处输入“ok”代表输入数据结束\n);while(i){printf(姓名:);scanf(%s,p1-name);if(strcmp(p1-name,ok)0){printf(\n输入完毕!\n);printf(\n);i0;p2-nextNULL;free(p1);p1p2;}else{printf(学号:);scanf(%s,p1-num);printf(性别:);scanf(%s,p1-sex);printf(籍贯:);scanf(%s,p1-from);printf(政治面貌:);scanf(%s,p1-political);printf(手机号:);scanf(%s,p1-phone);printf(QQ号:);scanf(%s,p1-QQ);printf(宿舍:);scanf(%s,p1-dorm);printf(\n);p2p1;p1(stu *)malloc(sizeof(stu));if(p1!NULL){p2-nextp1;}}}return(p1-next);}
}stu * lookdata(stu *p1) //查看数据的函数
{printf(\n\t\t\t☆☆☆显示数据☆☆☆\n);printf(----------------------------------------------------------------------\n);while(p1!NULL){printf(姓名:%s\n,p1-name);printf(学号:%s\t,p1-num);printf(性别:%s\t,p1-sex);printf(籍贯:%s\t,p1-from);printf(政治面貌:%s\t,p1-political);printf(手机号:%s\t,p1-phone);printf(QQ号:%s\t,p1-QQ);printf(宿舍:%s\n,p1-dorm);printf(\n);p1p1-next;}return p1;
}void insert() //插入数据
{int i;char named[20];stu *p1,*p2,*p3;p1head;p3(stu *)malloc(sizeof(stu));p3-nextNULL;printf(\n\t\t\t☆☆☆插入数据☆☆☆\n);printf(----------------------------------------------------------------------\n);printf(请输入插入者的资料:\n);input(p3);printf(\n插入选项\n);printf(1.首位置插入\t2.尾位置插入\t3.前插\n);printf(请输入你的选择:);scanf(%d,i);switch(i){case 1:p3-nextp1;headp3;break;case 2:while(p1-next!NULL){p2p1;p1p1-next;}p1-nextp3;break;case 3:printf(请输入姓名前插:);scanf(%s,named);while(strcmp(named,p1-name)!0){p2p1;p1p1-next;}p2-nextp3;p3-nextp1;break;}printf(插入成功!\n);printf(\n);return;
}void deleted() //删除数据
{stu *p1,*p2;char Name[20]; //想要删除的人的姓名printf(\n\t\t\t☆☆☆删除数据☆☆☆\n);printf(----------------------------------------------------------------------\n);printf(请输入要删除的姓名:);scanf(%s,Name);p1head;if(headNULL){printf(内存没有存储任何数据!\n);printf(\n);return;}if(strcmp(Name,p1-name)0){headp1-next;printf(删除成功!\n);printf(\n);return;}while(p1!NULL(strcmp(Name,p1-name)!0)){p2p1;p1p1-next;}if(p1NULL){printf(此人不存在!\n);printf(\n);return;}if(p1-next!NULL){p1p1-next;p2-nextp1;printf(删除成功!\n);printf(\n);return;}else{p2-nextNULL;printf(删除成功!\n);printf(\n);return;}
}find(stu *p2) //通过姓名查找查看数据的函数
{char name[20];int b0;printf(\n\t\t\t☆☆☆查看数据☆☆☆\n);printf(----------------------------------------------------------------------\n);printf(请输入您想查找人的姓名:);scanf(%s,name);while(p2!NULL){if(strcmp(name,p2-name)0){printf(你要找到的数据\n);printf(姓名:%s\n,p2-name);printf(学号:%s\t,p2-num);printf(性别:%s\t,p2-sex);printf(籍贯:%s\t,p2-from);printf(政治面貌:%s\t,p2-political);printf(手机号:%s\t,p2-phone);printf(QQ号:%s\t,p2-QQ);printf(宿舍:%s\n,p2-dorm);printf(\n);b1;}p2p2-next;}if(b0){printf(\n您要查找的人不存在!\n);}
}update(stu *p2) //通过姓名查找修改数据
{char name[20];int b0,i;printf(\n\t\t\t☆☆☆修改数据☆☆☆\n);printf(----------------------------------------------------------------------\n);printf(请输入将要修改人的姓名:);scanf(%s,name);while(p2!NULL){if(strcmp(name,p2-name)0){printf(该同学的基本信息\n);printf(姓名:%s\n,p2-name);printf(学号:%s\t,p2-num);printf(性别:%s\t,p2-sex);printf(籍贯:%s\t,p2-from);printf(政治面貌:%s\t,p2-political);printf(手机号:%s\t,p2-phone);printf(QQ号:%s\t,p2-QQ);printf(宿舍:%s\n,p2-dorm);printf(\n请选择要修改的信息\n);printf(\t1.姓名\t2.学号\t3.性别\t4.籍贯\n\t5.政治面貌\t6.手机号\t7.QQ\t8.宿舍\n);printf(\n您的选择是(1~8):);scanf(%d,i);printf(请输入修改之后的内容\n);switch(i){case 1:printf(姓名:);scanf(%s,p2-name);break;case 2:printf(学号:);scanf(%s,p2-num);break;case 3:printf(性别:);scanf(%s,p2-sex);break;case 4:printf(籍贯:);scanf(%s,p2-from);break;case 5:printf(政治面貌:);scanf(%s,p2-political);break;case 6:printf(手机号:);scanf(%s,p2-phone);break;case 7:printf(QQ:);scanf(%s,p2-QQ);break;case 8:printf(宿舍:);scanf(%d,p2-dorm);break;}printf(\n修改成功!\n);printf(\n);b1;}p2p2-next;}if(b0){printf(没有找到该人的资料!\n);}
}save(stu *p2) //保存数据
{FILE *fp;char file[15];printf(\n\t\t\t☆☆☆保存数据☆☆☆\n);printf(----------------------------------------------------------------------\n);printf(输入文件名:);scanf(%s,file);if((fpfopen(file,w))NULL){printf(cannot open this file\n);exit(0);}fprintf(fp,姓名\t学号\t性别\t籍贯\t政治面貌\t手机号\tQQ号\t宿舍\n);while(p2!NULL){fprintf(fp,%s\t,p2-name);fprintf(fp,%s\t,p2-num);fprintf(fp,%s\t,p2-sex);fprintf(fp,%s\t,p2-from);fprintf(fp,%s\t,p2-political);fprintf(fp,%s\t,p2-phone);fprintf(fp,%s\t,p2-QQ);fprintf(fp,%s\n,p2-dorm);p2p2-next;}printf(\n保存成功!\n);printf(\n);fclose(fp);
}void screen()
{int i;char s[251]{欢迎使用班级通讯录管理系统\n\n\t\t\t本系统用于通讯录管理----排序打印\n\n\n\t\tWelcome to use class address book\n\n\t\t management system,sorting,printing};printf(\n\n);printf(\n\n\n\t\t\t);for(i0;s[i]!NULL;i){Sleep(30);printf(%c,s[i]);}printf(\n\n\n\n\n\n\n\n\t\t ~ Hi~ o(*▽*)ブ~ ~ ~祝您使用愉快~ ~\n);printf(\n);}int main(void)
{int i;system(color 01);screen();Sleep(3000);print();while(1){printf(请输入你的选择(1~9):);loop:scanf(%d,i);if(i1||i9){printf(输入有误,请在1~9中进行选择:);goto loop;}switch(i){case 1:inputdata();break;case 2:lookdata(head);break;case 3:insert();break;case 4:deleted();break;case 5:find(head);break;case 6:update(head);break;case 7:save(head);break;case 8:print();break;case 9:exit(1);break;}}
}