




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
内蒙古科技大学课程设计论文内蒙古科技大学本科生课程设计说明书题 目:C语言课程设计 通讯录管理系统学生姓名:学 号:专 业:软件工程班 级:2015-1指导教师:日 期:2016年1月4日32内蒙古科技大学课程设计任务书课程名称C语言课程设计设计题目通讯录管理系统指导教师时间2016.1.52016.1.9一、教学要求1. 巩固和加深学生对C语言课程的基本知识的理解和掌握2. 掌握C语言编程和程序调试的基本技能3. 利用C语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用C语言解决实际问题的能力二、设计资料及参数每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。通讯录管理系统现有一批通讯录的数椐,要求输入计算机并存放在内存中,然后增加若干个新通讯录的记录,并可输出通讯录清单,实现文件存盘和读入文件进行修改的功能。通讯录的基本信息包括编号,姓名,电话号码,QQ号码,电子邮件,通讯地址。要求设计菜单来调用其各功能模块:v 新建文件、打开文件、保存信息到文件v 输入记录、输出记录v 查询记录(至少具有两种查询方式,例如以姓名查询和以电话号码查询)v 修改、插入和删除记录三、设计要求及成果1. 分析课程设计题目的功能需求(可选用数组或链表实现,可多人(最多3人)协作完成一个题目)2. 写出详细设计说明(至少包括功能实现分析和模块流程图)3. 编写程序代码,调试程序使其能正确运行(代码书写要规范,标示符要见名知意,要有必要的注释,每人至少500行代码,不包括注释和花括号)4. 设计完成的软件要便于操作和使用5. 设计完成后提交课程设计报告(请严格按照模板进行排版)四、进度安排第一天 选择课程设计题目,分析课题的要求第二天 编程第三天 编程及调试第四天 写课程设计报告第五天 提交课程设计报告(打印稿及电子稿)五、评分标准1. 根据平时上机考勤、表现和进度,教师将每天点名和检查2. 根据课程设计完成情况,必须有可运行的软件。3. 根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。六、建议参考资料1C语言程序设计,谭浩强,清华大学出版社2C语言程序设计课程设计,刘振安,机械工业出版社目 录第一章 需求分析31.1 引言31.2 任务概述31.3 数据描述31.4 功能需求3第二章 概要设计42.1 总体设计42.2 数据类型设计(或数据结构设计)52.3 接口设计52.4 运行界面设计5第三章 详细设计63.1 输入模块设计63.2 输出模块设计73.3 查找模块设计73.4 保存及读取模块设计9第四章 测试分析114.1 测试程序执行情况11第五章 用户手册165.1 使用说明16第六章 课程设计总结17附录:程序代码17参考文献31致谢31第一章 需求分析1.1 引言通过课程设计,让我对C语言有了更深的理解,让我们把学到的理论应用于具体实践中,锻炼了我们各方面的能力,从而让我们更快提高。通过一些简单函数的叠加构成了功能比较完备的学生成绩管理系统,从输入到处理再到输出,你将体会到完美的真正含义。1.2 任务概述对在校学生的几门考试成绩进行管理,每个学生记录包括学号、姓名及各科目成绩,默认以学号为序存放。1.3 数据描述记录每名学生的通讯方式,通讯方式为手机号、QQ、邮箱、住址,学生姓名长度不超过五十个字符。typedef struct studentlong qq;char name50; long tel;char add100;char mail200;stu;1.4 功能需求从键盘输入包括姓名、手机号、QQ、邮箱、住址,并将其保存在磁盘文件里。打开文件后,输入每名学生的通讯方式并保存。具有单项查询或多项查询的功能(即按照给定的关键字,如姓名找出满足条件的纪录)。具有插入、删除和修改功能。具有输出文件数据信息的功能。第二章 概要设计2.1 总体设计 开始:输入密码输入密码从文件中读取数据输入数据(新建)修改信息查找退出系统保存和读取按姓名按手机删除修改插入读取保存2.2 数据类型设计(或数据结构设计)typedef struct studentlong qq;char name50; long tel;char add100;char mail200;stu;2.3 接口设计 表2.1:函数列表函数名函数格式函数功能menuint用户菜单mima void登录密码readint添加通讯录人员信息xieruvoid写入信息到文件duquint从文件读取信息printvoid输出信息shoujihaovoid按手机号查找xingmingvoid按姓名查找xiugaivoid修改信息charuint插入信息shanchuvoid删除信息2.4 运行界面设计int menu(void)/用户菜单int a;printf(nt输入你的选择(0-9): bb);scanf(%d,&a);return a;第三章 详细设计3.1 输入模块设计/函数功能:输入并更新通讯录成员信息int read(stu st)int i=-1;system( cls );printf(tt=n);printf(tt| |n);printf(tt| 1.更新成员信息 |n);printf(tt| |n);printf(tt=n);doi+;printf(请输入姓名:n);scanf(%s,);if(atoi()=0)printf(请输入手机号:n);scanf(%ld,&sti.tel);printf(请输入QQ:n);scanf(%ld,&sti.qq);printf(请输入邮箱:n);scanf(%s,sti.mail);printf(请输入住址:n);scanf(%s,sti.add);printf(n联系人%d数据添加成功!n,i+1);printf(输入姓名为负数结束输入!n);printf(n) ;elsebreak;while(sti.tel0);printf(n-n);printf(数据更新成功!n);system(pause);return i;3.2 输出模块设计/函数功能:输出通讯录成员信息void print(stu st,int n)int i;system( cls );printf(n-n);printf(编号1.姓名t2.手机号t3.QQt4.邮箱tt5.住址n);for(i=0;in;i+) printf(%dt%st%ldt%ldt%-24s%sn,i+1,,sti.tel,sti.qq,sti.mail,sti.add);3.3 查找模块设计/函数功能:按手机号或者姓名查找并显示查找结果void shoujihao(stu st,int n)long x;int i;system( cls );printf(tt=n);printf(tt| |n);printf(tt| 2.手机号查找 |n);printf(tt| |n);printf(tt=n);printf(输入你要查询的手机号:);scanf(%d,&x); for(i=0;in;i+)if(sti.tel=x)printf(姓名t手机号tQQt邮箱tt住址n);printf(%st%1dt%1dt%stt%sn,,sti.tel,sti.qq,sti.mail,sti.add);printf(n-n);system(pause);return;printf(未找到!);printf(n-n);system(pause);void xingming(stu st,int n)char x10;int i;system( cls );printf(tt=n);printf(tt| |n);printf(tt| 3.姓名查找 |n);printf(tt| |n);printf(tt=n);printf(输入你要查询的姓名:);scanf(%s,x); for(i=0;in;i+)if(strcmp(,x)=0)printf(姓名t手机号tQQt邮箱tt住址n);printf(%st%1dt%1dt%stt%sn,,sti.tel,sti.qq,sti.mail,sti.add);printf(n-n);system(pause);return;printf(未找到!);printf(n-n);system(pause);3.4 保存及读取模块设计/函数功能:写入信息到文件void xieru(stu st,int n) FILE *fp; if(fp=fopen(人员数据.txt,w)=NULL) printf(t保存文件失败!n); return; fwrite(st,sizeof(stu),n,fp); printf(t保存成功!n); fclose(fp); system(pause); /函数功能:从文件读取信息 int duqu(stu st) FILE *fp; int i; if(fp=fopen(人员数据.txt,r)=NULL) printf(t文件不存在!打开失败!n); system(pause); return 0; for(i=0;!feof(fp);i+) fread(&sti,sizeof(stu),1,fp); fclose(fp); system(pause); return i-1; 第四章 测试分析4.1测试程序执行情况 图4.1.1 输入密码登录界面 图4.1.2 运行界面 图4.1.2 输入数据 图4.1.3 手机号查找4.1.4 姓名查找图4.1.5 修改信息图4.1.6 插入信息图4.1.7 删除信息 图4.1.8 输出信息图4.1.9 保存文件 图4.1.10 读取文件 图4.1.11 退出第五章 用户手册5.1 使用说明请按照菜单提示进行操作。第六章 课程设计总结在我上机调试程序的过程中,我遇到了很多的问题,说实话这次课程设计自己没有出多大的力,大部分都是借鉴课本的设计成果,还有就是寻求同学的帮助,因为自己设计是总是觉得没有头绪,无从下手。在这期末考试前期,学院给我们安排的课程设计周,总让我们觉的有些为难我们,这样一个复杂困难而又繁琐的作业,似乎弄得我们既没有时间也没有心情复习,我曾一度地抱怨过学院,在完成它之后,我发现我错了,课程设计不仅让我们巩固了所学的知识,还使得我们学习到了更多平时所忽略的,最重要的是,它磨砺了我们,让我们在大学的下一个阶段能更好的成长。通过这次课程设计我也学到了很多知识,可谓收获颇丰。附录:程序代码#include#include#include/字符串操作typedef struct studentlong qq;char name50; long tel;char add100;char mail200;stu;int menu(void);/用户菜单void mima(char a);/登录密码int read(stu st);/添加人员信息void xieru(stu st,int n);/写入信息到文件int duqu(stu st);/从文件读取信息void print(stu st,int n);/输出信息void shoujihao(stu st,int n);/按手机号查找信息void xingming(stu st,int n);/按姓名查找void xiugai(stu st,int n);/修改信息int charu(stu st,int n);/插入信息void shanchu(stu st,int n);/删除信息/函数功能:登录密码void mima(char a)system(color 0A);printf(tt=n);printf(tt| |n);printf(tt| 请输入密码:(默认为123456) |n);printf(tt| |n);printf(tt=n);char b10=123456;MIMA:printf(t密码:);scanf(%s,a);if(strcmp(a,b)=0)printf(t输入密码正确!n);printf(t按任意键进入通讯录管理系统!);getchar();getchar();elseprintf(t输入密码错误!请重新输入:n);goto MIMA;/函数功能:用户界面(主函数)main()char q30;mima(q);int a,n;stu ren100;system(color 0A);printf(nntt|n);printf(tt| |n);printf(tt| 内蒙古科技大学 |n);printf(tt| |n);printf(tt| 信息工程学院 |n);printf(tt| |n);printf(tt| 2015级本科生 |n);printf(tt| |n);printf(tt| 姓名 :屈云璧 |n); printf(tt| |n);printf(tt| 学号 :1567159122 |n);printf(tt| |n);printf(tt| 班级 :软件一班 |n);printf(tt| |n);printf(tt|n);system(pause);while(1)system( cls );/清屏printf(n);printf(n);printf(n);printf(t=通讯录管理系统=n);printf(t| |n);printf(t| 1.更新人员信息 2.手机号查找 3.姓名查找 |n);printf(t| |n);printf(t| 4.修改信息 5.插入信息 6.删除信息 |n);printf(t| |n);printf(t| 7.输出信息 8.保存文件 9.读取文件 |n);printf(t| |n);printf(t| 0.退出 |n);printf(t| |n);printf(t=n);a=menu();switch(a)case 1:n=read(ren);break;case 2:shoujihao(ren,n);break;case 3:xingming(ren,n);break;case 4:xiugai(ren,n);break;case 5:n=charu(ren,n);break;case 6:shanchu(ren,n);n-;break;case 7:print(ren,n);printf(n-n); system(pause);break;case 8:xieru(ren,n);break;case 9:n=duqu(ren);break;case 0:system( cls );printf(nnn);printf(t=n);printf(t| |n);printf(t| |n);printf(t| 谢谢使用! |n);printf(t| |n);printf(t| |n);printf(t=n);exit(0); /exit(code)当code为0时正常退出。非0时出现某种错误后退default:printf(输入错误!请输入0-9的数字!n);system(pause);break;return 0;/函数功能:用户菜单int menu(void)int a;printf(nt输入你的选择(0-9): bb);scanf(%d,&a);return a;/函数功能:写入信息到文件void xieru(stu st,int n) FILE *fp; if(fp=fopen(人员数据.txt,w)=NULL) printf(t保存文件失败!n); return; fwrite(st,sizeof(stu),n,fp); printf(t保存成功!n); fclose(fp); system(pause); /函数功能:从文件读取信息 int duqu(stu st) FILE *fp; int i; if(fp=fopen(人员数据.txt,r)=NULL) printf(t文件不存在!打开失败!n); system(pause); return 0; for(i=0;!feof(fp);i+) fread(&sti,sizeof(stu),1,fp); fclose(fp); printf(读取成功!n); system(pause); return i-1; /函数功能:输入并更新通讯录成员信息int read(stu st)int i=-1;system( cls );printf(tt=n);printf(tt| |n);printf(tt| 1.更新成员信息 |n);printf(tt| |n);printf(tt=n);doi+;printf(请输入姓名:n);scanf(%s,);if(atoi()=0)printf(请输入手机号:n);scanf(%ld,&sti.tel);printf(请输入QQ:n);scanf(%ld,&sti.qq);printf(请输入邮箱:n);scanf(%s,&sti.mail);printf(请输入住址:n);scanf(%s,sti.add);printf(n联系人%d数据添加成功!n,i+1);printf(输入姓名为负数结束输入!n);printf(n) ;elsebreak;while(sti.tel0);printf(n-n);printf(数据更新成功!n);system(pause);return i;/函数功能:输出通讯录成员信息void print(stu st,int n)int i;system( cls );printf(n-n);printf(联系人 1.姓名t2.手机号t3.QQt4.邮箱tt5.住址n);for(i=0;in;i+)printf(%dt%st%ldt%ldt%-24s%sn,i+1,,sti.tel,sti.qq,sti.mail,sti.add);/函数功能void shoujihao(stu st,int n)long x;int i;system( cls );printf(tt=n);printf(tt| |n);printf(tt| 2.手机号查找 |n);printf(tt| |n);printf(tt=n);printf(输入你要查询的手机号:);scanf(%d,&x); for(i=0;in;i+)if(sti.tel=x)printf(姓名t手机号tQQt邮箱tt住址n);printf(%st%1dt%1dt%stt%sn,,sti.tel,sti.qq,sti.mail,sti.add);printf(n-n);system(pause);return;printf(未找到!);printf(n-n);system(pause);/函数功能:void xingming(stu st,int n)char x10;int i;system( cls );printf(tt=n);printf(tt| |n);printf(tt| 3.姓名查找 |n);printf(tt| |n);printf(tt=n);printf(输入你要查询的姓名:);scanf(%s,x); for(i=0;i=0)printf(请输入手机号:n);scanf(%d,&sti.tel);printf(请输入QQ:n);scanf(%d,&sti.qq);printf(请输入邮箱:n);scanf(%s,&sti.mail);printf(请输入住址:n);scanf(%s,&sti.add);printf(n编号%d数据添加成功!n,i+1);printf(输入姓名为负数结束输入!n);printf(n) ;elsebreak;while(sti.tel0);printf(n-n);system(pause);return i;/函数功能:修改信息void xiugai(stu st,int n)int i;int x;int y;system( cls );printf(tt=n);printf(tt| |n);printf(tt|
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合肥黄焖鸡加盟活动方案
- 同城插花活动方案
- 名媛派对活动方案
- 名著指导活动方案
- 后续积分活动方案
- 吕洞山国庆活动方案
- 听课调研活动方案
- 吴越文化线下活动方案
- 告白场地活动策划方案
- 员工冰淇淋活动方案
- 2025-2030中国婚介网站行业发展趋势与投资战略研究报告
- 肥胖症诊疗指南(2024年版)解读
- 2025甘肃省农垦集团有限责任公司招聘生产技术人员145人笔试参考题库附带答案详解
- 2025届芜湖市重点中学七年级生物第二学期期末学业水平测试模拟试题含解析
- 烟草行业大数据应用建设方案
- 2025年一级建造师之一建公路工程实务模考模拟试题(全优)
- 酒店收益管理关键试题及答案
- 100米课件教学课件
- 装修避坑知识
- 广东省深圳市龙岗区2023-2024六年级下学期期中科学试卷(含答案)
- Unit 5 Animal friends Reading 课件 译林版英语七年级下册
评论
0/150
提交评论