欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C语言学习知识课程规划报告.doc

    • 资源ID:2539242       资源大小:58.02KB        全文页数:10页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言学习知识课程规划报告.doc

    C语言课程设计论文学生姓名: 陈丹 学生学号: 20091020101 所在班级: 信息与计算科学一班 任课教师: 马老师 通讯录管理系统【设计目的】设计“通讯录管理系统”使其具有数据插入、修改、删除、显示和查询等功能。(1) 数据包括:人名、工作单位、电话号码和E-mail地址。(2) 可对记录中的姓名和电话号码进行修改。(3) 可增加或删除记录。(4) 可显示所有保存的记录。(5) 可按人名或电话号码进行查询。【设计思路】根据要求,电话簿数据以文本文件存放在文件中,故需要提供文件的输入、输出等操作;还需要保存记录以进行修改,删除,查找等操作;另外还应提供键盘式选择菜单实现功能选择。 【总体设计】通讯录管理系统数据输入数据修改删除数据添加查找浏览图1 系统功能模块图 【详细设计】1. 主函数主函数设计要求简洁,只提供部分提示语和函数的调用【程序】 显示一系列功能选项输入n,判断n是否是17 ?根据n的值调用各功能模块函数结束开始n 图2. 主函数流程图Void menu() /*主界面*/ int n, w1; void enter(); void add(); void modify(); void browse(); void deleter(); void search(); do puts("t*菜单*tnn"); puts("tttt1.新建联系人"); puts("tttt2.添加联系人"); puts("tttt3.修改"); puts("tttt4.删除"); puts("tttt5.浏览"); puts("tttt6.查找"); puts("tttt7.退出"); puts("nnt*通讯录*tn"); printf("请选择服务种类(1-7) : bb"); scanf("%d",&n); if(n<1|n>7) w1=1;getchar(); else w1=0; while(w1=1); switch(n) case 1: enter(); break; /*输入模块*/ case 2: add(); break; /*添加模块*/附录:源代码#define N 50#include<stdio.h>#include<string.h>struct peoplechar name20; char company50; char num15; char mail20;peopN;void printf_face() printf("nt姓名t单位t电话号码t邮箱n"); void printf_one(int i) printf("t%st%st%st%sn",peopi.name,peopi.company,peopi.num,peopi.mail); void printf_n(int n) int j; for(j=0;j<n;j+) if(j!=0)&&(j%10=0) printf("nnPress any key to continue.:"); getchar(); puts("nn"); printf_one(j); getchar();int load() FILE *fp; int i; if(fp=fopen("file","rb")=NULL) printf("nCan not open filen"); exit(0);for(i=0;!feof(fp);i+) fread(&peopi,sizeof(struct people),1,fp);fclose(fp);return(i-1);int modify_data(int i,int n) int c,w1; void input(int i); void menu(); do puts("n修改选项=>nn 1).姓名 2).单位 3).电话号码 4).邮箱 5).所有数据 6).取消并返回"); printf("请选择?: bb"); scanf("%d",&c); if(c>6|c<1) puts("nChoose error! Please again!"); getchar(); while(c>6|c<1); do switch(c) case 1: printf("name:"); scanf("%s",peopi.name); break; case 2: printf("company:"); scanf("%s",peopi.company); break; case 3: printf("number:"); scanf("%s",peopi.num); break; case 4: printf("e-mail:"); scanf("%s",peopi.mail); break; case 5: input(i); break; case 6: menu(); puts("nNow:n"); printf_face(); printf_one(i); printf("n确定?nnt1).是 2).不,重新修改 3).返回不保存 bb"); scanf("%d",&w1); while(w1=2); return(w1);void input(int i) printf_face(); printf("t"); scanf("%st%st%st%s",peopi.name,peopi.company,peopi.num,peopi.mail); void save(int n) FILE *fp; int i; if(fp=fopen("file","wb")=NULL) printf("nCan not open filen"); exit(0); for(i=0;i<n;i+) if(peopi.name0!=0) if(fwrite(&peopi,sizeof(struct people),1,fp)!=1) printf("file write errorn"); fclose(fp);void printf_back() int w; void browse(); void menu(); printf("nnt_.Successful. _nn"); printf("What do you want to do?nnt1).浏览所有t2).返回: bb"); scanf("%d",&w); if(w=1) browse(); else menu();void main() void menu(); menu();void menu() int n, w1; void enter(); void add(); void modify(); void browse(); void deleter(); void search(); do puts("t*菜单* "); puts("tt*1.新建联系人*"); puts("tt*2.添加联系人*"); puts("tt*3.修 改*"); puts("tt*4.删 除*"); puts("tt*5.浏 览*"); puts("tt*6.查 找*"); puts("tt*7.退 出*"); puts("nnt*通讯录* "); printf("请选择服务种类(1-7) : bb"); scanf("%d",&n); if(n<1|n>7) w1=1;getchar(); else w1=0; while(w1=1); switch(n) case 1: enter(); break; case 2: add(); break; case 3: modify(); break; case 4: deleter(); break; case 5: browse(); break; case 6: search(); break; case 7: exit(0); void enter() int i,n; printf("How many people(0-%d)?:",N-1); scanf("%d",&n); printf("请输入数据:n"); for(i=0;i<n;i+) printf("n输入第 %d个记录.n",i+1); input(i); if(i!=0) save(n); printf_back();void add() int i,n,k,t; n=load(); printf("How many people do you want to add(0-%d)?:",N-n-1); scanf("%d",&t); k=n+t; for(i=n;i<k;i+) printf("n输入第 %d个记录.n",i-n+1); input(i); save(k); printf_back();void modify() struct people s; int i,n,k,w0=1,w1,w2=0; n=load(); do k=-1; printf_face(); printf_n(n); do printf("nnEnter name that you want to modify!nName:"); scanf("%s",s.name); for(i=0;i<n;i+) if(strcmp(s.name,peopi.name)=0) k=i; s=peopi; if(k=-1) printf("nn没有记录请重新输入!"); while(k=-1); printf_face(); printf_one(k); w1=modify_data(k,n); if(w1=1) printf("nt_.Successful _.nn是否继续?nnt1).是 2).保存返回t bb"); scanf("%d",&w0); w2=1; else w0=0; if(w2=0) peopk=s; if(w0!=1)&&(w2=1) save(n); while(w0=1); menu();void browse() int n; n=load(); printf_face(); printf_n(n); printf("t共有 %d 记录.n",n); printf("nPress any key to back."); getchar(); menu();void search() int w0,k,i,n,w1,w2; struct people s; n=load(); do printf("请选择查找类别: 1).姓名 2).电话号码 bb"); scanf("%d",&w1); if(w1<1|w1>2) printf("输入错误!请重新输入!n"); w2=1; while(w2=1); if(w1=1) do k=-1; do printf("nnEnter name that tou want to search!nName:"); scanf("%s",s.name); for(i=0;i<n;i+) if(strcmp(s.name,peopi.name)=0) k=i; s=peopi; if(k=-1) printf("nn没有记录请重新输入!"); while(k=-1); printf_face(); printf_one(k); printf("nWhat do you want to do?nt1).继续 2).返回菜单 bb"); scanf("%d",&w0); while(w0=1); menu(); else do k=-1; do printf("nnEnter number that tou want to search!nNum:"); scanf("%s",s.num); for(i=0;i<n;i+) if(strcmp(s.num,peopi.num)=0) k=i; s=peopi; if(k=-1) printf("nn没有记录请重新输入!"); while(k=-1); printf_face(); printf_one(k); printf("nWhat do you want to do?nt1).继续 2).返回菜单 bb"); scanf("%d",&w0); while(w0=1); menu(); void deleter()struct people s; int i,n,k,w0,w1; n=load(); do k=-1; printf_face(); printf_n(n); do printf("nnEnter name that you want to delete!nName:"); scanf("%s",s.name); for(i=0;i<n;i+) if(strcmp(s.name,peopi.name)=0) k=i; s=peopi; if(k=-1) printf("nn没有记录请重新输入!"); while(k=-1); printf_face(); printf_one(k); printf("n确定?nt1).是 2).返回 bb"); scanf("%d",&w0); if(w0=1) peopk.name0=0; save(n); else break; printf("nt_.Successful_.n"); printf("What do you want to do?nt1).继续 2).返回 bb"); scanf("%d",&w1); while(w1=1); menu();【设计体会】通过为期一周的课程设计,我们对C语言这门课程有了更深一步的了解。它是计算机程序设计的重要理论技术基础,在我们信息与计算科学专业的学习中占据着十分重要的地位。同时也使我们知道,要学好这门课程,仅学习书本上的知识是不够的,还要有较强的实践能力。因为我们学习知识就是为了实践。而只有多实践,多编写程序,才能更好的理解与掌握书本上的东西。运用C语言中的算法思想作数据结构,结合C语言基本知识,编写一个通讯录管理系统。通过完成本课题,进一步熟悉C语言的基本知识,并掌握数据结构的一些基本算法思想,掌握C语言的文件操作(包括从磁盘读入和向磁盘写入内容),进一步熟悉指针的用法,数组的建立运用和函数的调用等。【参考文献】朱若愚.数据结构M. 北京: 电子工业出版社, 2006.1:41-65晋良颍.数据结构M. 北京:人民邮电出版社, 2007.05: 21-45刘大有.数据结构M. 北京: 高等教育出版社, 2006.3: 30-58赵文静. 数据结构与算法M. 北京: 科学出版社, 2007.8: 41-64徐孝凯.数据结构简明教程.M. 北京: 清华大学出版社, 2006.04: 102-115严蔚敏,吴伟民.数据结构(C语言版)M. 北京:清华大学出版社, 2007.4: 39-43傅清祥,王晓东. 数据结构与算法设计M. 北京: 电子工业出版社, 2006.3: 31-46王敬华,林萍,.陈静. C语言程序设计M. 北京: 清华大学出版社, 2007.10: 22-39李云清,杨庆红,揭安全.数据结构(C语言版)M. 北京:人民邮电出版社,2006.1: 44-67 10李春葆. 数据结构(C语言版)习题与解析M.北京:清华大学出版社, 2006.1: 47-55

    注意事项

    本文(C语言学习知识课程规划报告.doc)为本站会员(小**)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开