欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    C语言课程设计论文同学通讯录信息管理.doc

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

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

    C语言课程设计论文同学通讯录信息管理.doc

    沈 阳 航 空 工 业 学 院 课程设计学 号 _班 级 _6402101_姓 名 _ 指导教师 _ _年 月 日沈 阳 航 院 设 计 用 纸沈阳航空工业学院课程设计任务书院系:电子 专业:电子信息工程 班级:6402101学号:200604021001 题目:同学通讯录信息管理一、课程设计时间2007年9月10日至2007年9月14日,共计1周,20学时。二、课程设计内容用C语言编写软件完成以下任务:能够对同学的通讯信息进行数字化管理,人数不少于3人。通讯信息应保存到文件myfile.dat中。三、课程设计要求1. 程序质量:² 贯彻结构化的程序设计思想。² 用户界面友好,功能明确,操作方便。² 用户界面中的菜单至少应包括“同学信息录入”、“同学信息查询(根据姓名,或编号等)”、“显示全部同学信息”、“退出”4项。² 代码应适当缩进,并给出必要的注释,以增强程序的可读性。2. 课程设计说明书:课程结束后,上交课程设计说明书和源程序。课程设计说明书的格式和内容参见提供的模板。四、指导教师和学生签字指导教师:_ 学生签名:_五、说明书成绩六、教师评语 目录一、需求分析1二、程序流程图2三、核心技术的实现说明及相应程序段5四、个人总结9五、参考文献9六、源程序1014一、需求分析经过对程序设计题目的分析可知,整个程序的设计实现大致分为六个模块,其中每一个模块对应一个函数,他们的功能分别是:添加学生通讯录(add),查询学生通讯录(inquire),显示学生通讯录(show_all) 以及保存(save)。在这些函数当中,前两个函数的实现是整个程序的核心,较为复杂。1、添加学生通讯录 主要实现程序最初运行时学生通讯录的录入以及其后的运行中学生通讯录的追加功能;2、查询学生通讯录 实现的功能是按照学号或姓名对学生的通讯录记录进行查询;3、显示学生通讯录 主要功能是将学生通讯录的全部信息显示出来4、保存 实现功能为将新的通讯录信息保存到文件中;除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。每一个学生记录都包含学号、姓名、电话和地址,在程序当中,将学生通讯录类型定义为结构体类型,添加以及追加的学生通讯录信息现存入结构体数组中,再在save函数中写入D盘的myfile.dat文件中,其他函数每次对学生通讯录的访问,其数据来源都是结构体数组并可以对学生数据进行永久保存。5.如果用户输入的信息范围在1-5之外,会自动提示用户重新输入。二、程序流程图1、程序总体结构图show all()quiteadd()inquire()save()显示菜单dowhile(c!=!)n=4n=2n=1n=3n=5结束图1 程序总体结构图2、具体功能框图(1)添加学生通讯录addn=1真temp_letter=a假通过输入学号查询并显示学生通讯录信息真temp_letter=b假通过输入姓名查询并显示学生通讯录信息真temp_letter=c假退出图2 添加学生通讯录(2)学号查询num_inquiren=2temp_letter=ai<counter stui.num=inquire.num真 假显示学生通讯录信息count+真count=0假无此学生信息图3学号查询(3)姓名查询name_inquiren=2temp_letter=bi<counterdo···while(cha_namej-1!=0)cha_namej!=stui.namej真 假count1=1count1=0真 假显示学生通讯录信息count2+count2=0真 假无此学生信息图4姓名查询三、核心技术的实现说明及相应程序段本程序主要由七个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其他函数来实现要求的所有功能。在这些函数当中,添加学生通讯录、查询学生通讯录是程序中较为核心的部分,下面分别进行说明。1、添加学生通讯录 添加学生通讯录是将学生通讯录信息以结构体数组的形式储存到结构体数组中去。具体的程序段如下:void add() printf("shu ru xin xi:n"); printf("#num:"); scanf("%d",&stucounter.num) ;/*输入学生学号*/ printf("#name:"); scanf("%s",&stucounter.name) ;/*输入学生姓名*/ printf("#telephone:"); scanf("%s",&stucounter.telephone_num) ;/*输入学生电话号码*/ printf("#address:"); scanf("%s",&stucounter.address) ;/*输入学生地址*/ counter +;2、查询学生通讯录该函数通过调用两个自定义函数分别实现学号查询和姓名查询两种查询通讯录的方式。并运用do···while()循环和switch()分支结构进行两种查询方式的选择。具体程序段如下:void inquire() char temp_letter; printf("An yao qiu shu ru xin xi:n"); printf("a.Gen ju xue hao cha xun n"); printf("b.Gen ju xing ming cha xun n"); printf("c.tui chu n"); do temp_letter = getchar(); switch(temp_letter) case 'a': num_inquire();break; case 'b': name_inquire();break; case 'c': caidan();break; while(temp_letter != 'c');3、学号查询 通过学号在已有记录中查找相同信息,并显示出来。具体程序段如下:void num_inquire() int inquire_num; int i; int count=0; printf("a.qing shu ru xue hao:"); scanf("%d",&inquire_num); for(i=0;i<counter;i+) if(stui.num = inquire_num) printf("#num: %dn",stui.num); printf("#name: %sn",stui.name); printf("#telephone: %sn",stui.telephone_num); printf("#address: %sn",stui.address); printf("n"); count +; if(count = 0) printf("Mei you ni yao cha xun xue sheng de xin xi !") ;4、姓名查询 通过姓名在已有记录中查找相同信息,并显示出来。具体程序段如下:void name_inquire() char *p1,*p2,cha_name20; int i,j=0,k; int count1=0,count2=0; printf("b.qing shu ru xing ming:"); p1 = cha_name; scanf("%s",p1); for(i=0;i<counter;i+) count1 = 0; j = 0; do if(cha_namej != stui.namej) count1=1; j+; while(cha_namej-1 != 0); if(count1 = 0) printf("#num: %dn",stui.num); printf("#name: %sn",stui.name); printf("#telephone: %sn",stui.telephone_num); printf("#address: %sn",stui.address); printf("n"); count2 +; if(count2 = 0) printf("Mei you ni yao cha xun xue sheng de xin xi !") ;四、个人总结通过本次课设学习我不仅对C语言知识有了更多的了解,而且也提高了自学的能力与上机操作的能力。由于我以前不重视自己动手操作和创新看到题目都不知道从何下手,但通过老师指导和同学的帮助最后完成课设内容。通过做课设体会到C语言的结构化的严密性及程序模块化,也能更好的使用函数及调用函数问题。在调试程序中既增长了我的知识又磨练我的意志。总之,通过这次学习给我带来学习的乐趣,受益非浅!五、参考文献1 谭浩强C程序设计北京:清华大学出版社,20052 刘成等C语言程序设计实验指导与习题集北京:中国铁道出版社,2006六、源程序#include <stdio.h>#include <string.h>struct student int num; char name20; char telephone_num13; char address50;stu10;void caidan();void add();void inquire();void show_all();void num_inquire();void name_inquire();void save();int counter=0;void caidan() printf("*MENU*n"); printf("1.Shu ru xin xi:n");printf("n"); printf("2.Chaxun xinxi:n"); printf("n"); printf("3.Xian shi xin xi:n"); printf("n"); printf("4.bao cun wen jian:n");printf("n"); printf("5.Tui chu jie mian:n");printf("n");printf("*n");void add() printf("shu ru xin xi:n"); printf("#num:"); scanf("%d",&stucounter.num) ; printf("#name:"); scanf("%s",&stucounter.name) ; printf("#phone:"); scanf("%s",&stucounter.telephone_num) ; printf("#address:"); scanf("%s",&stucounter.address) ; counter +;void inquire() char temp_letter; printf("An yao qiu shu ru xin xi:n"); printf("a.Gen ju xue hao cha xunn"); printf("b.Gen ju xin ming cha xunn"); printf("c.tui chun"); do temp_letter = getchar(); switch(temp_letter) case 'a': num_inquire();break; case 'b': name_inquire();break; case 'c': caidan();break; while(temp_letter != 'c');void show_all() int i; printf("Xian shi suo you xin xi:n"); for(i=0;i<counter;i+) printf("#num: %dn",stui.num); printf("#name: %sn",stui.name); printf("#telephone: %sn",stui.telephone_num); printf("#address: %sn",stui.address); printf("n"); void num_inquire() int inquire_num; int i; int count=0; printf("a.qing shu ru xue hao:"); scanf("%d",&inquire_num); for(i=0;i<counter;i+) if(stui.num = inquire_num) printf("#num: %dn",stui.num); printf("#name: %sn",stui.name); printf("#telephone: %sn",stui.telephone_num); printf("#address: %sn",stui.address); printf("n"); count +; if(count = 0) printf("Mei you ni yao cha xun xun sheng de xin xi!") ;void name_inquire() char *p1,cha_name20; int i,j=0; int count1=0,count2=0; printf("b.qing shu ru xing ming:"); p1 = cha_name; scanf("%s",p1); for(i=0;i<counter;i+) count1 = 0; j = 0; do if(cha_namej != stui.namej) count1=1; j+; while(cha_namej-1 != 0); if(count1 = 0) printf("#num: %dn",stui.num); printf("#name: %sn",stui.name); printf("#telephone: %sn",stui.telephone_num); printf("#address: %sn",stui.address); printf("n"); count2 +; if(count2 = 0) printf("Mei you ni yao cha xun xun sheng de xin xi!") ;void save() int i; FILE *fp; fp=fopen("d:myfile.dat","w+"); for(i=0;i<4;i+) fwrite(&stui,sizeof(struct student),1,fp); fclose(fp); printf("wen jian yi bao cunn");void main() char c; int n; int quit=0; caidan(); while(c != '!') scanf("%d",&n); switch(n) case 1: add();break; case 2: inquire();break; case 3: show_all();break; case 4: save();break; case 5: printf("quit");quit+;break; default: printf("nshu ru fan wei zai 1-5,qing chong xin shu ru:");break; c = getchar(); if(quit != 0) c = '!' getchar();

    注意事项

    本文(C语言课程设计论文同学通讯录信息管理.doc)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开