基于C语言的学生通讯录管理系统计算机科学与技术专业课程设计_第1页
基于C语言的学生通讯录管理系统计算机科学与技术专业课程设计_第2页
基于C语言的学生通讯录管理系统计算机科学与技术专业课程设计_第3页
基于C语言的学生通讯录管理系统计算机科学与技术专业课程设计_第4页
基于C语言的学生通讯录管理系统计算机科学与技术专业课程设计_第5页
已阅读5页,还剩86页未读 继续免费阅读

下载本文档

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

文档简介

设计题目:学生通讯录管理系统的设计 学生学号:****** 学生姓名:*****指导教师(职称):***** 学生;四、五两项(中英文摘要)由学生在完成综合设计后填写。7、此表格式为武汉工程大学计算机科学与工程学院提供的基本格式(适用于学院各类综合设计),各教研室可根据本门综合设计的特点及内容做 *** ***得分得分任务,能完整演示其设计内容,符305555555逻辑性强,具有说服力。能对整个设计过程进行全面的总结,得出有价值的结论或结果。参考文献数量在3篇以上,格式符合要求,在正文中正确引用。答辩情况答辩情况25进行阐述,言简意明,重点突出,论点正确,条理清晰。学生姓名:***学号:*****班级:****在规定时间内能就所设计的内容在规定时间内能准确、完整、流利地回答教师所提出的问题。答辩小组成员(签字):2012年1月6日《程序设计基础》在计算机科学中是一门重要的基础课程,也是培养学生编程能力的入门性课程。通过介绍C语言及其编程技术,使学生了解高级程序设计语言的结构,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题术专业学生的一门实践课程,是学习完程序设计课程后的课程设计。本课程的目的是运用所学到的有关知识与技能,结合实践教学环节,进行工程技术人员所需的基本程序设计训练,为学生进一步学习有关专业课程和日后从事程序设计工作打下基础。《学生通讯录管理系统》是设计一个实用的小型通讯录程序。每个记录(好友信息)包括姓名、电话号码、QQ号码、电子邮箱、住址等信息。为各项操作功能设计的信息定姓名,修改相关的信息的信息相输出要求:要求用户输出数据时,要给出清晰、明确的提示信息,包括输入的数据内2012年12月20日[1]姬涛等.计算机程序设计基础(上册)教程.第一版.北京.中国传媒大学出版社,2010.四、综合设计(课程设计)摘要(中文):本着为了提高学生对已学习过的程序设计的巩固,学校特意为学生安排这次课计。课程设计的课题是让学生自主设计一个学生通信录管理系统。整个程序设计所需的基本程序设计训练,为学生进一步学习有关专业课《学生通讯录管理系统》是设计一个实用的小型通讯录程序。每个记录(好友上来说,首先本程序运行时会有有一个提示,对本做一个简介,然后,用户通过提示可以进入一个设计好的主菜单。主菜单上面有整个程序在用户使用时都会有选项可供用户选择,用户只需通过程序的提示,五、综合设计(课程设计)Abstract(英文):Inordertoimprovethestudentsintheprogramofstudyalready,theconsolidationofthedesign,especiallyforschoolstudentsarrangethiscoursedesign.Coursedesignofthesubjectistomakethestudents'independentdesignandastudentcommunicationrecordmanagementsystem.Theentireprogramdesignmainlythroughtheclanguagetoachieve.Thepurposeofthiscourseisabletousetherelevantknowledgeandskills,andcombiningthepracticeteachinglinks,engineeringandtechnicalpersonnelwiththenecessarybasictrainingprogramdesign,forthestudentstolearnabouttheprofessionalcourseandcareerinprogramdesignworktolaythefoundation.Thestudentdirectorymanagementsystem"istodesignapracticalminiatureaddressbookprogram.Eachrecord(friendsinformation)includingthename,phonenumber,QQnumber,E-mailaddress,andotherinformation.Foralltheoperatingfunctiondesignamenu,theapplicationaftertheoperation,showthemenufirst,usersthroughthemenuoptiontochoosetheprojectoperation.Programfeaturesinclude:input,search,insert,sorting,delete,showfriendsinformationandsoon,,caninputsavedtothesystemofdocuments,alsocanbeintoruntheprogramofthetimefromthesystemfilesbeforethestudentsreadkeptinformation,againthroughtheprogramtocompletethecorrespondingoperation,realizecommunicationrecordmanagementintelligenthigh-speeding.Idesignedtheprogramfromthegeneralideafor,firsttheprogramwillrunthereisahintofthisprogramdoesaintroduction,then,theuserthroughtipcanenteradesigngoodthemainmenu.Mainmenuhas10optionsavailable,theuserthroughhisworkwillchoosecorrespondingoptions,thenprogramexecutesoperation.Theentireprograminuserswillhaveoptionsavailable,theuserneedonlythroughtheproceduresofthetip,itcancompletetheoperationstepbystep,nomatteryouarethecommonuserorprogramdesignstaff,youcanquicklythroughtheprogramofthecompletestudentcommunicationrecordofthemanagement,andgiveeachuseraverygoodexperience.-I-*/**大学计算机学院综合设计报告摘要 II 第一章课题背景(或2.1XXXX x2.2XXXX x2.3XXXX x 3.1XXXX x3.1XXXX x 4.1XXXX x 4.2XXXX x4.3XXXX x总结 x致谢 x参考文献 x附录主要程序代码 x**大学计算机学院综合设计报告-II-摘要本着为了提高学生对已学习过的程序设计的巩固,学校特意为学生安排这次课程《学生通讯录管理系统》是设计一个实用的小型通讯录程序。每个记录(好友信中,也可以在程序运行的时候从系统文件读取之前保存的学生Abstract-III-**大学计算机学院综合设计报告-1-*/**大学计算机学院综合设计报告第一章课题背景(或绪论、概述)1.1研究背景深入人心。而在计算机还的通讯录管理都是采用计算机作为工具通讯录管理程序来帮助人们进行更有效的通讯(1)用户输入学生信息(2)列表所有学生信息(3)通过学生姓名将学生信息排序(4)插入好友信息(5)通过学生姓名完成对该学生信息的查找、删除、修改(6)可以将学生信息保存记录成文档(7)程序可以从文档读取学生信息-2-执行完后返回到主菜单(退保插删执行完后返回到主菜单(退保插删修查排显载输没有选退出)出存信息入除改执行对应操作找序示好友信息入信息入信息**大学计算机学院综合设计报告第二章设计简介及设计方案论述2.1程序主要流程图-3-**大学计算机学院综合设计报告主函数截图-4-**大学计算机学院综合设计报告第三章详细设计3.1所有定义的函数和主函数录长度*/TUDENTtintnnadSTUDENTtintloadinSTUDENTtintloaSTUDENTt单中的载入函数*/ntnNTy{printf("--------------------------------学生通信录管理系统------------------------------\n");STUDENTa[M];/*定义结构体数组*/for(;;)/*无限循环*/{menu();/*显示菜单*/inti=100;/*初始化*/fflushstdin区*/if(i>=0&&i<=11){-5-**大学计算机学院综合设计报告{}}{printf("不要乱按\n");}}}{printf("\n******************菜单*********************\n\n");printf("****************************************\n");-6-**大学计算机学院综合设计报告}{printf("\n请输入学生人数:\n");/*提示信息*/printf("姓名电话号码QQ号电子邮箱住址\n");printf----------------------------------------------\n");{dprintf----------------------------------------------\n");}printf("你已成功输入所有学生信息!\n");/*提示输入记录*/}rn{inti;printf("\n\n*********************STUDENT**********************\n");printf("姓名电话号码QQ号电子邮箱住址\n");{printf----------------------------------------------\n");}{printf("按任意键继续...\n");/*提示信息*/}printf("***********************end************************\n");}-7-**大学计算机学院综合设计报告要列表所有学生信息的时候首先显示一列标题,然后按照这样的格式对应输出所有学生的信息,方便用户查阅.此函数中同样用到了for循环,{inti;FILE*fp;/*指向文件的指针*/iffpfopenrecordtxtwbNULL开文件,并判断打开是否正常*/{exit(1);/*退出*/}printf("\n正在保存文件...\n");/*输出提示信息*/fprintf(fp,"%d",n);/*将记录数写入文件*/fprintf(fp,"\r\n");/*将换行符号写入文件*/oriini{*格式写入记录*/fprintf(fp,"\r\n");/*将换行符号写入文件*/}fclosefp关闭文件*/printf("***************保存成功!**************\n");/*显示保存成功*/}为了不让程序关闭时丢失刚刚输入的所有好友信息,我们通常需要保存输入的学生信息,这个函数恰好可以实现把好友信息保存成txt文档,方便以后查看和操作.本函数是一种{FILE*fp;/*指向文件的指针*/iffpfopenrecordtxtrb"))==NULL)/*打开文件*/{printf("文件打开失败\n");/*不能打开*/exit(1);/*退出*/}fscanffpdn录数*/foriin;i++)add);/*按格式读入记录*/osefp-8-**大学计算机学院综合设计报告printf("你已经成功从文件中读取数据\n");/*显示读取成功*/}当用户不是第一次在用这个程序的时候,可能会需要查看调用以前自己输入的好友信息,{FILE*fp;inti;\\通讯录.txt)");{printf("操作失败!");}printf("\n正在保存文件...\n");/*输出提示信息*/fprintf(fp,"%d",n);/*将记录数写入文件*/fprintf(fp,"\r\n");/*将换行符号写入文件*/foriini){*格式写入记录*/fprintf(fp,"\r\n");/*将换行符号写入文件*/}fclosefp关闭文件*/printf("***************保存成功!**************\n");/*显示保存成功*/}这个函数类似于上面的保存函数,但是它可以将文档自己命名并且保存到用户指定的路径,更方便用户对通信录的管理.{FILE*fp;/*指向文件的指针*/\\通讯录.txt)");-9-**大学计算机学院综合设计报告{printf("操作失败!");}fscanffpdn录数*/foriin;i++)add);/*按格式读入记录*/osefpprintf("你已经成功从该文件中读取数据\n");/*显示读取成功*/}信息函数{n{}}{{}-10-**大学计算机学院综合设计报告}{inti;/*保存查找到结点的序号*/riini{{print(t[i]);/*找到,调用显示函数显示记录*/}}if(i==n)}{printf("\n\n*******************************************************\n");printf("姓名电话号码QQ号电子邮箱住址\n");printf------------------------------------\n");printf("**************************end******************************\n");}tn{inti,j;printf("****************************************************\n");printf("姓名电话号码QQ号电子邮箱住址\n");-11-**大学计算机学院综合设计报告*/printf("--------------------------------------------------------------------\n");oriini{{for(j=n;j>i;j--)/*从最后一个结点开始向后移动一条*/structcpy(&t[j],&t[j-1]);/*调用结构体复制函数*/empi}}if(i==n)}{}这个函数对结构体之间进行复制,在插入,更改学生信息函数中会有调用{s-12-**大学计算机学院综合设计报告fori=0;i<n;i++){{print(t[i]);/*找到,调用显示函数显示记录*/{for(j=i;j<n;j++)/*删除该记录,实际后续记录前移*/{structcpy(&t[j],&t[j+1]);/*将后一条记录拷贝到前一条*/}}{}}}if(i==n)}。{inti,j;{forjijnj{structcpy(&t[j],&t[i]);-13-**大学计算机学院综合设计报告}}}{inti;chars[20];/*要修改的学生的姓名*/ssriini{{print(t[i]);printf("姓名电话号码QQ号电子邮箱住址\n");printf----------------------------------------------\n");dprintf----------------------------------------------\n");printf("修改成功!\n");}}if(i==n)printf("没有找到你要修改的学生,修改失败!\n");}-14-**大学计算机学院综合设计报告第四章设计结果及分析面的主菜单:**大学计算机学院综合设计报告**-15-**大学计算机学院综合设计报告**-16-**大学计算机学院综合设计报告**-17-**大学计算机学院综合设计报告**-18-**大学计算机学院综合设计报告**-19-**大学计算机学院综合设计报告**-20-**大学计算机学院综合设计报告**说明已经将学生信息按照姓名排好序了。最后退出之前,将输入的信息保存成文档(进-21-**大学计算机学院综合设计报告**大学计算机学院综合设计报告-22--**大学计算机学院综合设计报告**-23-**大学计算机学院综合设计报告txt:**大学计算机学院综合设计报告-24--**大学计算机学院综合设计报告**3.2调试中出现的一些问题和解决方案(1)当没有清屏函数时,每次都会看到屏幕满满的,阅读起来很不方便,如下:解决的方案就是在menu函数和每个case后面的函数里的第一个语句加入下的无关信息删除,使屏幕很简洁。-25--26-**大学计算机学院综合设计报告(2)scanf("%d",&i);语句当输入的不是整型数据,比如说是字母,当第二次循环到这个解决方案,在每次输入i值之前给i一个初始值,然后清空缓冲区,在运行到di (3)结构体复制函数{}{}-27-**大学计算机学院综合设计报告总结题后,知道了要设计一个程序,首先要清楚要完成什么样的功能,然后-28-**大学计算机学院综合设计报告致谢君老师对我在调试程序中的指导,感谢张军同学的热情帮助,感谢百度知道-29-**大学计算机学院综合设计报告/*************学生通讯录管理系统程序**************//************作者:王志超。日期:2011.12.31*******//******头文件(.h)***********/#include"stdlib.h"/*标准库函数*/cludeconioh#include"string.h"/*字符串函数*/ludectypeh#defineM50/*定义常数表示记录数*/{chartel[15];/*电话*/charemail/*电子邮件*//*所有定义的函数*/voidmenu();/*显示菜单*/intenter(STUDENTt[]);/*输入记录,形参为结构体数组,函数值返回类型为整型表示记录长度*/voidlist(STUDENTt[],intn);/*显示记录,参数为记录数组和记录条数*/eSTUDENTtintnintload(STUDENTt[]);/*读入函数,参数为结构体数组*/idsavetoSTUDENTtintnintloadin(STUDENTt[]);/*从指定位置读入函数,参数为结构体数组*/voidsav(STUDENTt[],intn);/*菜单中的保存函数*/intloa(STUDENTt[]);/*菜单中的载入函数*/voidprint(STUDENTtemp);/*显示指定的一条记录*/intadd(STUDENTt[],intn);/*插入函数,参数为结构体数组和记录数*/voidstructcpy(STUDENT*x,STUDENT*y);/*结构体的复制函数*/intdel(STUDENTt[],intn);/*删除函数,参数为记录数组和记录条数*/voidsort(STUDENTt[],intn);/*排序函数,参数为结构体数组和记录数*/voidmodification(STUDENTt[],intn);/*根据姓名修改相关信息*/{printf("--------------------------------学生通信录管理系统------------------------------\n");-30-**大学计算机学院综合设计报告printf("本程序是可以帮你管理学生通讯录,包括学生的姓名、电话号码、QQ号码、电子邮STUDENTa[M];/*定义结构体数组*/intlength;/*保存记录长度*/for(;;)/*无限循环*/{menu();/*显示菜单*/inti=100;/*初始化*/fflush(stdin);/*清空输入缓冲区*/if(i>=0&&i<=11){{kcaseexit出*/}}{printf("不要乱按\n");}}}{printf("\n**************************************菜单**************************************\n\n");-31-**大学计算机学院综合设计报告chard查找好友信息";charf[50]="6.按学生姓名删除好友信息";charg7.按学生姓名将好友信息排序";chari[50]="9.保存好友信息为文档";printf("********************************************************************************\n");}/*输入函数*/{printf("\n请输入学生人数:\n");/*提示信息*/scanf("%d",&n);/*输入记录数*/printf("请依次输入每位学生的如下信息:\n");/*提示输入记录*/printf("姓名电话号码QQ号电子邮箱住址\n");printf("--------------------------------------------------------------------\n");for(i=0;i<n;i++){printf("--------------------------------------------------------------------\n");}printf("你已成功输入所有学生信息!\n");/*提示输入记录*/returnn;/*返回记录条数*/}/*列表函数*/{inti;printf("\n\n************************************STUDENT**********************************\n");printf("姓名电话号码QQ号电子邮箱住址\n");for(i=0;i<n;i++)-32-**大学计算机学院综合设计报告{printf("--------------------------------------------------------------------\n");}ifi)/*判断输出是否达到10条记录*/{printf("按任意键继续...\n");/*提示信息*/getch();/*压任意键继续*/}printf("***************************************end************************************\n");}/*保存函数,参数为结构体数组和记录数*/{inti;FILE*fp;/*指向文件的指针*/if((fp=fopen("record.txt","wb"))==NULL)/*打开文件,并判断打开是否正常*/{printf("打开文件失败。\n");/*没打开*/exit(1);/*退出*/}printf("\n正在保存文件...\n");/*输出提示信息*/fprintf(fp,"%d",n);/*将记录数写入文件*/fprintf(fp,"\r\n");/*将换行符号写入文件*/for(i=0;i<n;i++){录*/fprintf(fp,"\r\n");/*将换行符号写入文件*/}fclose(fp);/*关闭文件*/printf("***************保存成功!**************\n");/*显示保存成功*/}{FILE*fp;/*指向文件的指针*/if((fp=fopen("record.txt","rb"))==NULL)/*打开文件*/{printf("文件打开失败\n");/*不能打开*/-33-**大学计算机学院综合设计报告exit(1);/*退出*/}fscanf(fp,"%d",&n);/*读入记录数*/for(i=0;i<n;i++)fscanffpssssstinametiteltiqqtiemailtiadd*按格式读入记录*/fclose(fp);/*关闭文件*/printf("你已经成功从文件中读取数据\n");/*显示读取成功*/returnn;/*返回记录数*/}/*将文件保存到指定位置*/{FILE*fp;inti;;if((fp=fopen(a,"wb"))==NULL){printf("操作失败!");}printf("\n正在保存文件...\n");/*输出提示信息*/fprintf(fp,"%d",n);/*将记录数写入文件*/fprintf(fp,"\r\n");/*将换行符号写入文件*/for(i=0;i<n;i++){录*/fprintf(fp,"\r\n");/*将换行符号写入文件*/}fclose(fp);/*关闭文件*/printf("***************保存成功!**************\n");/*显示保存成功*/}/*从指定位置读入函数,参数为结构体数组*/{FILE*fp;/*指向文件的指针*/-34-**大学计算机学院综合设计报告;if((fp=fopen(a,"rb"))==NULL){printf("操作失败!");}fscanf(fp,"%d",&n);/*读入记录数*/for(i=0;i<n;i++)fscanffpssssstinametiteltiqqtiemailtiadd*按格式读入记录*/fclose(fp);/*关闭文件*/printf("你已经成功从该文件中读取数据\n");/*显示读取成功*/returnn;/*返回记录数*/}{ntiprintf号:\n\n\t1.将文件保存到本工程\t\t2.将文件保存到指定路径\n");{default:printf("你的输入有误!\n");}}{tttn{default:printf("你的输入有误!\n");-35-**大学计算机学院综合设计报告}}/*按姓名查找记录*/{chars[20];/*保存待查找姓名字符串*/inti;/*保存查找到结点的序号*/ssfor(i=0;i<n;i++){{print(t[i]);/*找到,调用显示函数显示记录*/}}if(i==n)}/*显示指定的一条记录*/{printf("\n\n*******************************************************************************\n");printf("姓名电话号码QQ号电子邮箱住址\n");printf("------------------------------------------------\n");printf("***********************************end*****************************************\n");}/*插入记录函数,参数为结构体数组和记录数*/intadd(STUDENTt[],intn)/*插入函数,参数为结构体数组和记录数*/{STUDENTtemp*新插入记录信息*/inti,j;char

温馨提示

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

评论

0/150

提交评论