语言学生通信录标准管理系统专业课程设计方案报告.doc
《语言学生通信录标准管理系统专业课程设计方案报告.doc》由会员分享,可在线阅读,更多相关《语言学生通信录标准管理系统专业课程设计方案报告.doc(17页珍藏版)》请在咨信网上搜索。
实验报告 实验名称:学生通信录管理系统 实验项目性质:综合性、设计性 所涉及课程:C语言课程设计 筹划学时:实验学时4 一、实验目 综合考察学生本学期对C语言掌握限度。 二、实验内容 1.编写一种可以把学生信息写入文献函数creact(),采用动态链表。 2.编写一种可以增长新成员函数add1()。 3编写一种可以查询拟定学生函数search1()。 4编写一种可以删除拟定学生函数del1()。 5编写一种可以修改拟定学生函数modify1()。 6编写一种可以打开通信录函数open1( )。 附录:search1函数调用searchnum和searchname函数,分别为按学号和按名字查询。 del函数调用delname和deltel函数,分别为按名字和按电话删除。 modify1函数调用modifynum和modifyname函数,分别为按学号和按名字找到修改。 open1函数调用sorttel和sortname函数,分别为按电话和按名字从小到大顺序打开。 三、实验(设计)仪器设备和材料清单 1.硬件:PC机 2.软件:Turbo C 2.0/Turbo C++ 3.0 四、实验规定 设计一种《学生通讯录管理系统》,在动态链表程序基本上,设计规定如下 (必要使用构造体和动态链表等数据构造) 1建立文献 存储文献使用指定文献名或默认文献名; 可以不保存输入记录,但需要确认与否保存输入记录 如果已有文献,只能在其后追加; 新增记录可以不存入原文献中,以可以用本来文献覆盖内存内容; 可以将各种个文献记录合并到一种文献中; 2文献存取和显示 可以单独存取文献; 可以随时显示内存中记录所有内容; 可以直接存取默认文献或指定文献; 3删除记录 可以按“姓名”或“电话”方式删除记录并更新内存链表内容; 能给出被删除信息,输出没有找到信息; 如果已经是空表,上出时应给出信息并返回主菜单; 如果没有要删除信息,输出没有找到信息; 删除操作仅限于内存,只有执行记录时,才干覆盖原记录; 4查询记录 可以按“姓名”或“电话”或“宿舍”方式查询记录 能给出查询记录信息; 如果查询信息不存在,输出没有找到信息; 5 整体功能 a可以随时检索、删除、或增长新记录,保存或取消新记录 b使姓名可由16位字符和数字混合编码构成 c使电话号码可由18位字符和数字构成 d将输出信息加上输出信息信息栏,例如 姓名 电话 性别 年龄 生日 宿舍 李四 1234 男 21 7月1日 东二333 e使用菜单实现功能对的选取 f 所有节点信息都是动态生成。 6测试程序 应列出测试大纲对程序进行测试; 应保证测试用例测试到程序各种边沿状况 五、实验环节及成果测试 A、主函数 主函数 提供可选取功能 1 2 3 4 5 6 0 创立 增长 查找 删除 修改 打开 退出 按名字、按学号 按电话、按名字 按名字、按学号 按电话、按名字 程序清单: void main() { int i; end: printf(" |----------------------------------------|\n"); printf(" | 1.ceate new file |\n"); printf(" | 2.add information |\n"); printf(" | 3.search |\n");printf(“ | 4.telect |\n"); printf(" | 5.modify |\n"); printf(" | 6.open |\n"); printf(" | 0.register |\n"); printf(" |---------------------------------------|\n"); printf("input your choice(0-6):\n"); scanf("%d",&i); if(i==1) {creat1(); goto end;} if(i==2) {add1(); goto end;} if(i==3) {search1(); goto end;} if(i==4) {del1(); goto end;} if(i==5) {modify1(); goto end;} if(i==6) {open1(); goto end;} exit(0); } B、创立:void create() 开始 动态申请内存 输入学号 学号不为0 输入其她信息 动态申请内存并输入学号 结束链表建立 存入文献 结束 程序清单: void creat1() { FILE *fp; char i; struct student *p1,*p2,*head; n=0; p1=p2=(struct student *)malloc(LEN); printf("\nenter NO.:\n"); scanf("%d",&p1->num); while(p1->num!=0) { printf("enter name:\n"); scanf("%s",p1->name); printf("enter tel:\n"); scanf("%s",p1->tel); do{ printf("enter sex:\n"); getchar(); scanf("%c",&p1->sex); }while(p1->sex!='f'&&p1->sex!='F'&&p1->sex!='m'&&p1->sex!='M'); do{ printf("enter age:\n"); scanf("%d",&p1->age); }while(p1->age<=0||p1->age>=150); printf("enter birthday:\n"); scanf("%s",p1->bir); printf("enter address:\n"); scanf("%s",p1->add); n=n+1; if(n==1)head=p1; else p2->next=p1; p2=p1; p1=(struct student *)malloc(LEN); printf("enter NO.:\n"); scanf("%d",&p1->num); } p2->next=NULL; printf("\nsave them or no(y/n)\n"); do{printf("input choice\n"); getchar(); scanf("%c",&i);}while(i!='y'&&i!='Y'&&i!='n'&&i!='N'); if(i=='y'||i=='Y') { p1=head; if((fp=fopen(FILENAME,"wb"))==NULL) { printf("cannot open file\n"); return; } if(p1!=NULL) do{ if(fwrite(p1,sizeof(struct student),1,fp)!=1) { printf("file write error\n"); fclose(fp); break; } p1=p1->next; }while(p1!=NULL); fclose(fp); } } C、增长 void add1() 设计思路和创立新通信录同样,只是文献打开方式是“a”,即以追加方式打开。 程序清单: void add1() { FILE *fp; char i; struct student *p1,*p2,*head; n=0; p1=p2=(struct student *)malloc(LEN); printf("\nenter NO.:\n"); scanf("%d",&p1->num); while(p1->num!=0) { printf("enter name:\n"); scanf("%s",p1->name); printf("enter tel:\n"); scanf("%s",p1->tel); printf("enter sex:\n"); getchar(); scanf("%c",&p1->sex); printf("enter age:\n"); scanf("%d",&p1->age); printf("enter birthday:\n"); scanf("%s",p1->bir); printf("enter address:\n"); scanf("%s",p1->add); n=n+1; if(n==1)head=p1; else p2->next=p1; p2=p1; p1=(struct student *)malloc(LEN); printf("enter NO.:\n"); scanf("%d",&p1->num); } p2->next=NULL; printf("\nsave them or no(y/n)\n"); do{printf("input choice\n"); getchar(); scanf("%c",&i);}while(i!='y'&&i!='Y'&&i!='n'&&i!='N'); if(i=='y'||i=='Y') { p1=head; if((fp=fopen(FILENAME,"a"))==NULL) { printf("cannot open file\n"); return; } if(p1!=NULL) do{ if(fwrite(p1,sizeof(struct student),1,fp)!=1) { printf("file write error\n"); fclose(fp); break; } p1=p1->next; }while(p1!=NULL); fclose(fp); } } D、查找 void search() 开始 选取按名字或按学号查找 按名字择调用 Searchname() 按学号择调用 Searchnum() 结束 开始 查找符合节点 找到则输出该节点内容 找不到输出“not find” 结束 重建链表 输入名字(电话) 程序清单: 1、 void search1() { int i; printf("please input your choice(0-2)"); printf(" |------------------------------------------------------|\n"); printf(" | 1.search in NO. |\n"); printf(" | 2.search in name |\n"); printf(" | 0.register |\n"); printf(" |------------------------------------------------------|\n"); do{ printf("input your choice"); scanf("%d",&i); }while(i!='1'&&i!='2'&i!='0'); switch(i) { case'1':searchnum(); break; case'2':searchname(); break; default:exit(0); } } 2、 void searchname() { struct student *p1,*p2,*head; char name[16]; head=recreat(); printf("enter the student's name:\n"); scanf("%d",name); for(p1=head;p1->next!=NULL;p1=p1->next) if(strcmp(p1->name,name)==0) { printf(,"%d\t%s\t%s\t%c\t%d\t%s\t%s\n", p1->num,p1->name,p1->tel,p1->sex, p1->age,p1->bir,p1->add); } } 3、 void searchnum() { struct student *p1,*p2,*head; int num; head=recreat(); printf("enter the student's NO.:\n"); scanf("%d",&num); for(p1=head;p1->next!=NULL;p1=p1->next) if(p1->num==num) { printf(,"%d\t%s\t%s\t%c\t%d\t%s\t%s\n", p1->num,p1->name,p1->tel,p1->sex, p1->age,p1->bir,p1->add); } }- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 学生 通信 标准 管理 系统 专业课程 设计方案 报告
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文