C语言集中上机总结报告关于制作学生信息管理系统.doc_第1页
C语言集中上机总结报告关于制作学生信息管理系统.doc_第2页
C语言集中上机总结报告关于制作学生信息管理系统.doc_第3页
C语言集中上机总结报告关于制作学生信息管理系统.doc_第4页
C语言集中上机总结报告关于制作学生信息管理系统.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

C语言集中上机报告 型 姓名 字符串 地址 字符串 邮政编码 字符串 电话号码 字符串试为通信录数据定义类型和定义通信录变量, 实现功能:存取、显示、删除记录、查询记录等功能。2、要求:界面友好,易于操作 通讯录管理 院 系: 班 级: 姓 名: 合 作 者: 指导教师: 2012 年 5月 29 日目 录一 概述.3二 总体方案设计.4三 详细设计.5四 程序的调试与运行结果说明5五 课程设计总结7六 总结.8七 附录.8八 参考文献.13概述为综合应用C语言程序设计理论知识、进一步提高我们综合解决问题、协调工作的能力和良好的软件开发习惯。希望通过该实习能够进一步激发我们的学习热情,培养初步编程的能力,为自己的后续的学习和发展奠定基础。根据题目的要求,设计的通信录由字符串类型的数据项,其中包括姓名、地址、邮政编码与电话号码组成。同时对于通讯录的要求是实现功能:存取、显示、删除记录、查询记录等基本功能。1. 课程设计的目的1、回顾C语言程序设计所学的各个知识点;回顾编程语言特点;2、对具体题目的分析,功能分析,流程分析,设计过程中的结构体分析;3、掌握从上至下的分析过程;合理完成功能的分解;4、分析获得实现功能所需的各种数据结构;功能模块的整合;5、使用面相过程开发语言建立各种数据结构,各种结构体;6、掌握面相过程开发语言的特点,建立各种函数实现各个功能;7、调用各个功能模块,完成系统的整体功能;调试、测试各个功能模块,并完成系统的测试。2. 课程设计的要求编写这段程序,是在对c语言基本知识的熟练掌握以及较为熟练的实际动手能力的基础上才能够满足题意并且完成的。但对于编写过程中,也会遇到一些开始没有考虑到的问题,在遇到的时候在根据实际的问题进行分析与解决,对于问题的解决自己既要积极的思考同时对于相关不是很熟悉或者较为陌生的知识点也要积极的查阅相关资料或者向老师请教。教师对本题目所提出的要求是能够自己独立或者在与他人的合作中完成题目要求。3. 课程设计的主要设计思想为了实现题目中所要求的功能而分别设计不同的版块。为了实现要求,需要对所学的C语言的各方面的知识有着较好的了解和运用。在整个过程中用到了基本的printf,scanf这些函数,也用到了结构体,数组,指针这些知识。在这个编写的过程成中函数循环,一些对于字符串的使用、处理的知识也会用到。下面就是总的程序流程图:执行printf()退出系统进入插入模块选择()执行printf()函数开始进入查询模块进入创建模块进入显示模块进入修改模块二 总体方案设计对于通讯录的设计为了达到题目所说的要求,整个程序本设计出了主函数,然后根据去要实现的功能分别设计,显示、删除、查找、修改、添加功能的子函数。在显示的函数设计过程中首先运用拉文件的读取等必要的知识通过把文件的内容读取到内存然后打印出来。删除函数的设计是首先从文件内找到要删除的人,然后通过写一个实现删除目的的FOR循环将该人从内存里删除,然后再用写的方式打开文件,将内存内的信息写入文件,实现删除。查找也是先打开文件,用一个字符串对比的方法找出用户要查找的人,然后打印出来。修改也大体和删除相同,添加函数在设计时通过申请内存,然后通过指针将需要添加的信息添加进去,从而实现添加功能。三 详细设计整个程序本设计出了主函数,然后根据去要实现的功能分别设计,显示、删除、查找、修改、添加功能的子函数。主函数用到了数组,结构体,指针的知识。显示、添加部分用到了printf和scanf函数来保证数据的输入与输出。修改部分除了用到了printf和scanf函数来保证数据的输入与输出同时用到了strcpy来修改数据。查找则是利用的是对地址的查找,使用了指针。删除用了变量之间的交换来实现。四 程序的调试与运行结果说明调试结果顺利。开始界面:创建功能的界面:显示功能的界面:删除功能的界面:查找功能的界面:修改功能的界面:退出功能的界面:五 课程设计总结通过这次课程设计,我对很多的函数有了新的认识,也对于多种函数的运用有了提高。在这次的程序编程过程中的过程中我又学到了曾经自己不知道的函数或是自己不会的函数的用法。这次课程设计课总的来说让我受益匪浅。在程序的设计过程中遇到了较多的困难。在一次次失败的打击下想过要放弃。但最后还是坚持了下来,毫不畏惧困难,在同学的帮助与讲解下我总算是顺利的完成了程序的编写。虽然在编写过程遇到会很多的困难,但当调试成功时那种喜悦的感觉没有什么东西可以代替。在程序的编写过程中发现自己有很多的知识漏洞和缺陷,需要进一步努力学习来完善自己。在这次的编写过程中我对c语言有了更进一步的认识和了解。此次编程过程的经验和知识肯定能促进我以后的学习。此次课程设计不仅给了我很多很好的经验,也让我体会到了失败时的焦急和难受,也体会到了成功时的兴奋与喜悦。六 后记在编程的初始阶段,感觉题目好难,开始的时候根本就不知道从哪里开始编程,没有很多的思绪,不能从整体上把握整个题目的要求,不知道究竟怎样才能实现题目所说的要求,对于题目的整体的编写没有形成行之有效的思路,结果在刚刚开始编写的时候,不是这里有差错,就是那里编写遗漏了,最后写了一部分就写不下去。后来暂时停止了一段时间的编写,而在这段时间内自己重新的复习了老师已经讲解的c语言并且重新的分析了题目的要求,一点点的细细分析,把题目的要求分成了一些的功能模块,一点点的对相应的功能模块进行编写。在写完以后,觉得不仅增强了自己对c语言的理解,同时也加强了自己的逻辑分析能力。七 附录#include#include#includetypedef struct Telephone char name50; char tel30; char city30;char eip30; struct Telephone *next;TEL;TEL *head;void Initiate();void Menu();void Create();/的功能是:创建新的通讯录。void Add();/ 在通讯录的末尾,写入新的信息,并返回选单void Find();/查找记录void Alter();/修改记录如果未找到要修改的人,则提示通讯录中没有此人的信息,并返回选单。void Delete();/删除某人的信息,如果未找到要删的人,提示通讯录中没有此人的信息,并返回选单。void List();/的功能是:显示通讯录中的所有记录。int main() int choice;char yes_no; Initiate(); do system(cls); Menu(); printf(请选择0-6的数字); scanf(%d,&choice); printf(n); switch(choice) case 1:Create();break; case 2:Add(); break; case 3:Find();break; case 4:Alter();break; case 5:Delete();break; case 6:List();break; case 0: printf(*O(_)O谢谢您的使用O(_)O*n); exit(0); break; default: printf(输入的不对哦!请再输入一次n); break; printf(是否继续 Y or N? n); do scanf(%c,&yes_no); while(yes_no!=Y&yes_no!=y&yes_no!=N&yes_no!=n); while(yes_no=Y|yes_no=y);/初始化void Initiate() if(head=(TEL *)malloc(sizeof(TEL)=NULL) exit(1); head-next=NULL;/显示菜单void Menu() printf(*欢迎使用通讯录系统*); printf(n); printf(n); printf( 1.创建通讯录。); printf( 2.插入信息。); printf( 3.查询记录); printf( 4.修改记录); printf( 5.删除记录!); printf( 6.显示所有记录); printf( 0.退出通讯录n); printf( 请输入06:);/创建通讯录void Create() TEL *p1100,*p2; int m,i; printf(请输入创建个数:); scanf(%d,&m); for(i=1;iname); printf(电话:); scanf(%s,&p1i-tel); printf(城市:); scanf(%s,&p1i-city); printf(邮编:);scanf(%s,&p1i-eip); p1i-next=NULL; if(head-next=NULL) head-next=p1i; else for(p2=head;p2-next!=NULL;p2=p2-next); /找到结点尾 p2-next=p1i; printf(信息已添加!n); return; /保存到链表/添加通讯录信息void Add() TEL *p,*q; if(q=(TEL *)malloc(sizeof(TEL)=NULL) exit(1); printf(请输入要添加的信息!n); printf(姓名:); scanf(%s,&q-name); /添加信息 printf(电话:); scanf(%s,q-tel); printf(城市:);scanf(%s,q-city); printf(邮编:);scanf(%s,q-eip); for(p=head;p-next!=NULL;p=p-next) ; p-next=q; q-next=NULL; printf(此信息已添加!); return;/查找通讯录信息void Find() TEL *p; char name50; if(head-next=NULL) printf(此通讯录为空!n); return; printf(请输入要查找的姓名:n); scanf(%s,&name); for(p=head-next;p!=NULL;p=p-next) if(strcmp(p-name,name)=0) printf(姓名t城市t邮编t电话n); printf(%st%st%st%sn,p-name,p-city,p-eip,p-tel); else if(p-next=NULL) printf(无此信息!n); /修改通讯录信息void Alter() char name50; /先查找 后删除 TEL *p, *p1; if (head-next = NULL) printf(此通讯录为空!n); return; printf(请输入要修改的姓名:n); scanf(%s,name); for(p=head-next;p!=NULL;p=p-next) if(strcmp(p-name,name)=0) break; else if(p-next=NULL) printf(无此信息!n); return; p1=(TEL *)malloc(sizeof(TEL); printf(姓名:);scanf(%s,p1-name); /添加信息 strcpy(p-name,p1-name); printf(电话:);scanf(%s,p1-tel); strcpy(p-tel,p1-tel); printf(城市:); scanf(%s,p1-city); strcpy(p-city,p1-city); printf(邮编:);scanf(%s,p1-eip); strcpy(p-eip,p1-eip); printf(此信息已修改!n); /显示修改的信息 printf(姓名t城市t邮编t电话n); printf(%st%st%st%sn,p-name,p-city,p-eip,p-tel); free(p1);/删除通讯录信息void Delete() char name50; /先查找 后删除 TEL *p = head-next, *p1 =head-next,*p2; if (head-next = NULL) printf(此通讯录为空!n); return; printf(请输入要删除的姓名:n); scanf( %s,name); while (strcmp(p-name,name)!=0 )& p-next != NULL) p1=p; p =p-next; if (strcmp(name, p-name)=0) /输出删除信息 if (p = head-next&p-next!=NULL) head-next = p-next; else if(p=head-next&p-next=NULL) head-next=p-next; printf(信息已删除,先此通讯录为空!n); return; else p1-next = p-next; else printf(此信息不存在!n); return; printf(此信息已删除!); printf(姓名t城市t邮编t电话n); for(p2=head-next;p2!=NULL;p2=p2-next) printf(%st%st%st%sn,p

温馨提示

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

评论

0/150

提交评论