ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:73.77KB ,
资源ID:18391238      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18391238.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言程序设计报告完整可编辑版Word文件下载.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言程序设计报告完整可编辑版Word文件下载.docx

1、 long telephone;/电话号码 char adress40;/地址 char E_mail30;/邮箱 int QQ12;/增设的QQ一栏 struct student *next;/用于存放下一级指针first;first为第一个节点,继而在其后动态的开创若干节点。以下是用于链表处理的各个函数:struct student * creat(struct student *p) /输入函数void printall(struct student * head) /显示所有记录struct student * delet(struct student *head) /删除函数stru

2、ct student * insert(struct student *head) /插入函数struct student *searchbynum(struct student *head) /按学号查找struct student *searchbyname(struct student *head) /按姓名查找struct student *search(struct student *head) /查找函数menu_select() /选择函数以下是各个函数的详细说明:Creat()函数用于创建链表,其中以n记录节点的个数,并在创建时实现自加,以便于后面函数的处理,其循环输入的实现,

3、依靠库函数malloc()和后面的while循环。Printall函数用于显示当前的的所有记录,依靠头指针找到链表首地址,有while循环实现所有记录的输出。Delet()函数用于删除某个记录,删除可以按姓名或学号这两种方式进行的,但本程序中没有这个功能即只可以按学号进行删除(因为学号唯一)。Insert()函数用于插入,同样以头指针找到链表的首地址,并将要插入的学号依次与各个节点中得num比较,然后按顺序将一个节点插入。Search()函数用于查找,查找函数提供了两种方式,即按姓名查找和按学号查找。在search()函数中可以按提示调用searchbyname()和searchbynum()

4、。Menu_select() 函数用于提供函数选项,旨在简化主函数。流程图此即为该程序的主流程图。源程序以下是详细的源程序及部分注释:#includestring.hmalloc.hconio.hstdlib.h#define NULL 0#define LEN sizeof(struct student)#define SHU %dn%sn%5dn%ldn%sn%sn%sint n;struct student * creat(struct student *p) /创建链表的函数,即输入函数 struct student *head; struct student *p1,*p2; n=0

5、; /先给n赋值0 p1=p2=(struct student*) malloc(LEN);/强制类型转换 printf(ttt* 请输入用户信息 *n);ttt输入学号:n scanf(%ld,&p1-num);ttt输入姓名:%sname);ttt输入年龄:%dage);ttt输入电话:telephone);ttt输入地址nadress);ttt输入E-mail:E_mail);ttt输入QQnQQ);/40 head=NULL; while(p1-num!=0) n=n+1; /实现n的自加,记录节点的个数 if(n=1) head=p1; else p2-next=p1; p2=p1;

6、 p1=(struct student *) malloc(LEN); printf( scanf(,p1- p2-next=NULL; return 0; struct student *p;n全部的记录如下n: p=head; do printf(SHU,p-num,p-name,p-age,p-telephone,p-adress,p-E_mail,p- p=p-next; while(p!=NULL);/80struct student * delet(struct student *head)/删除函数请输入要删除的号码: if(head=NULL) 列表为空!n return he

7、ad; p1=head; while(num!=p1-num&next!=NULL) p1- if(num=p1-num) if(p1=head)/要删除的节点为首节点 head=p1-next=p1-delet:%dn,num); n=n-1;/节点减一 else%d 未找到该节点!struct student * insert(struct student *head)/插入函数 struct student *stud; struct student *p0,*p1,*p2; p0=stud;/p0指向的是要插入的节点 if(head=0) head=p0; p0-/120 while(

8、p0-numnum)&(p1-=NULL) p2=p1; p1=p1- if(p0-numnext=p0; p0-/插入到p2所指的节点之后 n=n+1; return head;struct student *searchbynum(struct student *head)/按学号查找 long numb;numb);/147 if(numb!=p-struct student *searchbyname(struct student *head)/按姓名查找 char a100;请输入要查找的姓名:,a); if(strcmp(a,p-name)!struct student *sear

9、ch(struct student *head) char choic;ttt1-按电话号码查找 2-按姓名查找ttt请选择: choic=getch(); switch (choic) case 1:searchbynum(&first);break;2searchbyname(&int menu_select() char s80; int a;/定义整形变量 system(clstt*欢迎进入通讯管理界面*nnttt0. 输入记录nttt1. 显示记录nttt2. 查找nttt3. 插入记录 nttt4. 删除记录nttt5. Quitntt*nn do printf(Enter you

10、 choice(05):,s); a=atoi(s); while (a5); return a; main()tt*ntt*welcome to TONGXUNLU *ntt#code by 陈国警 #ntt*n按任意键进入主菜单n getch(); int selectnum; /选择函数,提示选择各种链表处理函数。 while(1) selectnum = menu_select(); switch(selectnum) case 0: creat(& break; case 1: printall(& break; case 2: search(& case 3: insert(& c

11、ase 4: delet(& case 5: printf(BYE BYE! system(pause /系统暂停 getchar(); exit(0); getchar();以下是部分运行结果:初始化的界面选择界面:创建链表中的输入界面:查找中的提示界面:限于篇幅,运行结果就只列举这么多。上机总结这是自从学习C语言以来我编写过的最大的一个程序,编写的时候遇到了前所未有的困难。因为这个程序所涉及到的知识,全部是要靠自学掌握的。期间我问过很多人,都说这个没有可能做出来,我也一度想放弃,而且在假期也没有时间没有条件来编写这个程序。后来还是勉强做了,这也是这个程序中有很多不足之处的原因。比如这个程序未能做到将文件保存到磁盘中,这是最明显的一个缺点。然后其中还有一些可以简化的地方,也有一些可以让界面更加友好的地方(如上面提到的删除可以按姓名和学号两种不同的方式)。总之可以改进的地方很多。但这个程序可以说是自己一点一点设计而来,还是能让人感到一点成就感的。另外一点就是以后虽然不再学习C语言,但自己在下面也应该勤于练习,不能把这门技能给丢了,我们应该为我们的以后着想。【本文档内容可以自由复制内容或自由编辑修改内容期待你的好评和关注,我们将会做得更好】

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1