300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > c语言源代码_你想要的源代码来啦!C语言实现通讯录管理系统!

c语言源代码_你想要的源代码来啦!C语言实现通讯录管理系统!

时间:2023-08-21 06:48:44

相关推荐

c语言源代码_你想要的源代码来啦!C语言实现通讯录管理系统!

说明:

本系统基于C语言实现班级通讯录管理系统,为小伙伴学习C语言刚入门所做的课程设计。功能包括增、删、查、改等,非常适合初学者练手。通讯录包括的个人信息有姓名、学号、性别、籍贯、政治面貌、手机号、QQ号、宿舍等。主要用到了指针、结构体、遍历链表、文件读取等知识点。

没有开发工具的小伙伴可以找我获取!

运行效果:

代码:

1#include2#include 3#include4 #include<windows.h>5 typedef struct student //定义结构体6 {7 char name[20]; //姓名8 char num[15];//学号9 char sex[10]; //性别10 char from[20]; //籍贯11 char political[10]; //政治面貌12 char phone[15];//手机号13 char QQ[15]; //QQ号14 char dorm[10]; //宿舍15 struct student *next; //结构体指针16 }stu;17 stu *head;1819 void print() //主菜单20 {21 system("cls");22 printf("nnn");23 printf("☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆n");24 printf("***********************************************************n");25 printf("ttt班级通讯录管理系统n");26 printf("n");27 printf("tt1. 输入数据");28 printf("tt2. 显示数据n");29 printf("tt3. 插入数据");30 printf("tt4. 删除数据n");31 printf("tt5. 查看数据");32 printf("tt6. 修改数据n");33 printf("tt7. 保存数据");34 printf("tt8. 返回主菜单n");35 printf("***********************************************************n");36 printf("~~~~~退~~~~~~~~~~出~~~~~~~~~~请~~~~~~~~~~按~~~~~~~~~~9~~~~~n");37 printf("-----------------------------------------------------------nn");38 }394041 void input(stu *p1) //输入相关数据42 {43 printf("姓名:");44 scanf("%s",&p1->name);45 printf("学号:");46 scanf("%s",&p1->num);47 printf("性别:");48 scanf("%s",&p1->sex);49 printf("籍贯:");50 scanf("%s",&p1->from);51 printf("政治面貌:");52 scanf("%s",&p1->political);53 printf("手机号:");54 scanf("%s",&p1->phone);55 printf("QQ号:");56 scanf("%s",&p1->QQ);57 printf("宿舍:");58 scanf("%s",&p1->dorm);59 }606162 stu * inputdata() //数据输入的函数63 {64 stu *p1,*p2;65 int i=1;66 p1=(stu *)malloc(sizeof(stu));67 if(p1!=NULL)68 {69 head=p1;70 printf("nttt☆☆☆输入数据☆☆☆n");71 printf("------------------------------------------------------------------n");72 printf("在姓名处输入“ok”代表输入数据结束n");73 while(i)74 {75 printf("姓名:");76 scanf("%s",&p1->name);77 if(strcmp(p1->name,"ok")==0)78 {79printf("n输入完毕!n");80printf("========================================================================n");81i=0;82p2->next=NULL;83free(p1);84p1=p2;85 }86 else87 {88printf("学号:");89scanf("%s",&p1->num);90printf("性别:");91scanf("%s",&p1->sex);92printf("籍贯:");93 scanf("%s",&p1->from);94printf("政治面貌:");95scanf("%s",&p1->political);96printf("手机号:");97scanf("%s",&p1->phone);98printf("QQ号:");99scanf("%s",&p1->QQ);100printf("宿舍:");101scanf("%s",&p1->dorm);102printf("=====================================n");103p2=p1;104p1=(stu *)malloc(sizeof(stu));105if(p1!=NULL)106{107p2->next=p1;108}109 }110 }111 return(p1->next);112 }113 }114115116 stu * lookdata(stu *p1) //查看数据的函数117 {118 printf("nttt☆☆☆显示数据☆☆☆n");119 printf("----------------------------------------------------------------------n");120 while(p1!=NULL)121 {122 printf("姓名:%sn",p1->name);123 printf("学号:%st",p1->num);124 printf("性别:%st",p1->sex);125 printf("籍贯:%st",p1->from);126 printf("政治面貌:%st",p1->political);127 printf("手机号:%st",p1->phone);128 printf("QQ号:%st",p1->QQ);129 printf("宿舍:%sn",p1->dorm);130 printf("======================================================================n");131 p1=p1->next;132 }133 return p1;134 }135136137 void insert()//插入数据138 {139 int i;140 char named[20];141 stu *p1,*p2,*p3;142 p1=head;143 p3=(stu *)malloc(sizeof(stu));144 p3->next=NULL;145 printf("nttt☆☆☆插入数据☆☆☆n");146 printf("----------------------------------------------------------------------n");147 printf("请输入插入者的资料:n");148 input(p3);149 printf("n插入选项n");150 printf("1.首位置插入t2.尾位置插入t3.前插n");151 printf("请输入你的选择:");152 scanf("%d",&i);153 switch(i)154 {155 case 1:p3->next=p1;156 head=p3;157 break;158 case 2:while(p1->next!=NULL)159 {160p2=p1;161p1=p1->next;162 }163 p1->next=p3;164 break;165 case 3:printf("请输入姓名(前插):");166 scanf("%s",named);167 while(strcmp(named,p1->name)!=0)168 {169 p2=p1;170 p1=p1->next;171 }172 p2->next=p3;173 p3->next=p1;174 break;175 }176 printf("插入成功!n");177 printf("======================================================================n");178 return;179 }180181 void deleted()//删除数据182 {183 stu *p1,*p2;184 char Name[20]; //想要删除的人的姓名185 printf("nttt☆☆☆删除数据☆☆☆n");186 printf("----------------------------------------------------------------------n");187 printf("请输入要删除的姓名:");188 scanf("%s",Name);189 p1=head;190 if(head==NULL)191 {192 printf("内存空空神马都没有!n");193 printf("======================================================================n");194 return;195 }196 if(strcmp(Name,p1->name)==0)197 {198 head=p1->next;199 printf("删除成功!n");200 printf("======================================================================n");201 return;202 }203 while(p1!=NULL&&(strcmp(Name,p1->name)!=0))204 {205 p2=p1;206 p1=p1->next;207 }208 if(p1==NULL)209 {210 printf("此人不存在!n");211 printf("======================================================================n");212 return;213 }214 if(p1->next!=NULL)215 {216 p1=p1->next;217 p2->next=p1;218 printf("删除成功!n");219 printf("======================================================================n");220 return;221 }222 else223 {224 p2->next=NULL;225 printf("删除成功!n");226 printf("======================================================================n");227 return;228 }229 }230231232 find(stu *p2) //通过姓名查找查看数据的函数233 {234 char name[20];235 int b=0;236 printf("nttt☆☆☆查看数据☆☆☆n");237 printf("----------------------------------------------------------------------n");238 printf("请输入您想查找人的姓名:");239 scanf("%s",name);240 while(p2!=NULL)241 {242 if(strcmp(name,p2->name)==0)243 {244 printf("你要找到的数据n");245 printf("姓名:%sn",p2->name);246 printf("学号:%st",p2->num);247 printf("性别:%st",p2->sex);248 printf("籍贯:%st",p2->from);249 printf("政治面貌:%st",p2->political);250 printf("手机号:%st",p2->phone);251 printf("QQ号:%st",p2->QQ);252 printf("宿舍:%sn",p2->dorm);253 printf("======================================================================n");254 b=1;255 }256 p2=p2->next;257 }258 if(b==0)259 {260 printf("n您要查找的人不存在!n");261 }262 }263264265 update(stu *p2) //通过姓名查找修改数据266 {267 char name[20];268 int b=0,i;269 printf("nttt☆☆☆修改数据☆☆☆n");270 printf("----------------------------------------------------------------------n");271 printf("请输入将要修改人的姓名:");272 scanf("%s",name);273 while(p2!=NULL)274 {275 if(strcmp(name,p2->name)==0)276 {277 printf("该同学的基本信息n");278 printf("姓名:%sn",p2->name);279 printf("学号:%st",p2->num);280 printf("性别:%st",p2->sex);281 printf("籍贯:%st",p2->from);282 printf("政治面貌:%st",p2->political);283 printf("手机号:%st",p2->phone);284 printf("QQ号:%st",p2->QQ);285 printf("宿舍:%sn",p2->dorm);286 printf("n请选择要修改的信息n");287 printf("t1.姓名t2.学号t3.性别t4.籍贯nt5.政治面貌t6.手机号t7.QQt8.宿舍n");288 printf("n您的选择是(1~8):");289 scanf("%d",&i);290 printf("请输入修改之后的内容n");291 switch(i)292 {293 case 1:printf("姓名:");294scanf("%s",&p2->name);295break;296 case 2:printf("学号:");297scanf("%s",&p2->num);298break;299 case 3:printf("性别:");300scanf("%s",&p2->sex);301break;302 case 4:printf("籍贯:");303scanf("%s",&p2->from);304break;305 case 5:printf("政治面貌:");306scanf("%s",&p2->political);307break;308 case 6:printf("手机号:");309scanf("%s",&p2->phone);310break;311 case 7:printf("QQ:");312scanf("%s",&p2->QQ);313break;314 case 8:printf("宿舍:");315scanf("%d",&p2->dorm);316break;317 }318 printf("n修改成功!n");319 printf("=========================================================================n");320 b=1;321 }322 p2=p2->next;323 }324 if(b==0)325 {326 printf("没有找到该人的资料!n");327 }328 }329330331 save(stu *p2) //保存数据332 {333 FILE *fp;334 char file[15];335 printf("nttt☆☆☆保存数据☆☆☆n");336 printf("----------------------------------------------------------------------n");337 printf("输入文件名:");338 scanf("%s",file);339 if((fp=fopen(file,"w"))==NULL)340 {341 printf("cannot open this filen");342 exit(0);343 }344 fprintf(fp,"姓名t学号t性别t籍贯t政治面貌t手机号tQQ号t宿舍n");345 while(p2!=NULL)346 {347 fprintf(fp,"%st",p2->name);348 fprintf(fp,"%st",p2->num);349 fprintf(fp,"%st",p2->sex);350 fprintf(fp,"%st",p2->from);351 fprintf(fp,"%st",p2->political);352 fprintf(fp,"%st",p2->phone);353 fprintf(fp,"%st",p2->QQ);354 fprintf(fp,"%sn",p2->dorm);355 p2=p2->next;356 }357 printf("n保存成功!n");358 printf("======================================================================n");359 fclose(fp);360 }361362363 void screen() 364 {365 int i;366 char s[251]={"欢迎使用由ZM制作班级通讯录管理系统,nnttt本系统用于通讯录管理----排序,打印nnnttWelcome to use produced by ZM class address booknntt management system,sorting,printing"};367 368 printf("n================================================================================n");369 printf("nnnttt");370 for(i=0;s[i]!=NULL;i++)371 {372 Sleep(30);373 printf("%c",s[i]);374 }375 printf("nnnnnnnntt ~ Hi~ o(* ̄▽ ̄*)ブ~ ~ ~祝您旅途愉快~ ~n");376 printf("================================================================================n");377378 }379380381 void main()382 {383 int i;384 system("color 4e");385 screen();386 Sleep(3000);387 print();388 while(1)389 {390 printf("请输入你的选择(1~9):");391 loop:scanf("%d",&i);392 if(i<1||i>9)393 {394 printf("输入有误,请在1~9中进行选择:");395 goto loop;396 }397 switch(i)398 {399 case 1:400 inputdata();401 break;402 case 2:403 lookdata(head);404 break;405 case 3:406 insert();407 break;408 case 4:409 deleted();410 break;411 case 5:412 find(head);413 break;414 case 6:415 update(head);416 break;417 case 7:418 save(head);419 break;420 case 8:421 print();422 break;423 case 9:424 exit(1);425 break;426 }427 }428 }

对于热爱编程的小伙伴来说,如果你需要更多编程知识分享或者有需求的话,笔者这里推荐一个编程入门学习交流聚集地→C语言/C++编程入门教学基地!还有完整的学习路线和学习文件视频以及源码,小白和大神们正在等着你一起探讨编程世界!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。