高级语言程序设计报告----学生信息管理程序.doc_第1页
高级语言程序设计报告----学生信息管理程序.doc_第2页
高级语言程序设计报告----学生信息管理程序.doc_第3页
高级语言程序设计报告----学生信息管理程序.doc_第4页
高级语言程序设计报告----学生信息管理程序.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

高级程序设计语言 课程设计报告高级语言程序设计课程设计报告学生信息管理程序 目 录 1. 程序目标及功能p22. 程序功能模块组成及流程图p23. 程序主要数据结构及函数列表p34. 程序代码及运行结果p45. 总结与体会p101. 程序目标及功能 程序目标:管理班级电话簿 程序功能:程序实现了班级电话簿的创建,而且电话簿的内容显示出来;还可以通过输入学生的姓名,使用电话簿查询该学生的电话号码;此外,电话簿能通过追加结点来追加学生电话号码,扩充了班级电话簿的内容;使用程序结束可以退出程序。程序主要使用函数来实现动态链表的建立,动态链表的输出功能。初次使用本程序时,首先进入程序主界面,然后输入功能号码,通过功能号程序能进入用户要选择的功能模块,最终能顺利的实现以上所有的功能。2.程序功能模块组成及流程图程序功能模块组成表:程序功能模块组成1创建班级电话簿2显示电话簿内容 3添加电话簿内容4查询电话号码 5退出程序程序流程图:2.程序主要数据结构及函数列表程序主要数据结构:int l选择程序的功能号int y学生人数或结点的个数struct student h要查询的姓名变量struct student*head链表中的头指针函数列表:void printf_lyh1功能模块选择void print_lyh2输出电话簿内容void printf_lyh3退出程序struct student*create_lyh创建电话簿void plus_lyh追加学生号码void search_lyh查询学生号码void main主函数4.程序代码及运行结果#include#include#include#include#define lyh sizeof(struct student)/*定义结构体的大小*/struct student/*声明结构体*/char name10;char tel20;struct student*next;void print_lyh1()/*进入功能模块选择的函数*/ printf( 请选择功能: n); printf( n); printf( | 1.创建班级电话簿 |n); printf( | 2.显示电话簿内容 |n); printf( | 3.添加电话簿内容 |n); printf( | 4.查询电话号码 |n); printf( | 5.退出程序 |n); printf( n); printf( 你要选择的功能是:);struct student*create_lyh(int n)int i;struct student *temp,*p,*head;head=temp=p=(struct student*)malloc(lyh);printf( 请输入班级学生的姓名和号码:n);printf( );scanf(%s%s,p-name,p-tel);for(i=1;iname,p-tel);temp-next=p;temp=p;p-next=null;return head;void print_lyh2(struct student *head)struct student *p;p=head;while(p!=null)printf( %s %sn,p-name,p-tel);p=p-next;void plus_lyh(struct student *head)struct student*p,*temp;p=head;while(p-next!=null)p=p-next;temp=p;p=(struct student*)malloc(lyh); printf( 请输入班级学生的姓名和号码:n);printf( );scanf(%s%s,p-name,p-tel);temp-next=p;p-next=null;void search_lyh(struct student*head,struct student h )struct student*p;p=head;while(p!=null)if(!strcmp(p-name,)printf( %s %sn,p-name,p-tel);p=p-next;void print_lyh3()printf(n 谢谢使用本程序 n);printf( -n);printf( | |n);printf( | good bye! |n);printf( | |n);printf( -n);printf( );void main() printf( 班级电话簿管理程序);printf(nn);printf( no:20100507104 name:陆艳华 class:10网单n);printf(n);print_lyh1();int l,y;struct student*head;struct student h;scanf(%d,&l);if(l=1)printf(n 请输入要创建的人数:);scanf(%d,&l);printf(n);head=create_lyh(l); printf(n);print_lyh1();scanf(%d,&l);if(l=2)print_lyh2(head);printf(n);print_lyh1(); scanf(%d,&l);if(l=3) plus_lyh(head); y+;printf(n); print_lyh1();scanf(%d,&l);if(l=4)printf( 请输入学生的姓名:);scanf(%s,&);search_lyh(head,h); printf(n);print_lyh1();scanf(%d,&l);if(l=5)print_lyh3(); 运行结果为:功能1运行结果:功能2运行结果:功能3运行结果:功能4运行结果:功能5运行结果:5.总结与体会 本次c语言课程设计使我受益匪浅,经过这几天的程序设计,我不仅重新温习了c语言的内容,而且还掌握了更多的c语言编译技巧。例如,在创建动态链表时,由于要创建很多的结点,为了确保下一个结点的地址放到前一结点的成员next中,可以多定义一个临时指针变量temp,再使用循环开辟更多的结点;在追加结点时,先通过循环,然后在链表的结尾开

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论