欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    c语言课程设计.docx

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

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

    c语言课程设计.docx

    1、c语言课程设计c语言课程设计1、目的:1对C各部分知识的综合应用能力2提高程序设计的能力3提升关于较大程序的抽象分析设计能力4学习调试和测试的技巧2、所做题目的意义:通讯录治理系统在当今那个信息发达的社会是必不可少的,那个通讯录治理系统能够方便的为我们添加、治理联系人,不必一定要记住这些庞大的信息,能够专门方便的调用出自己所需要的信息,随时的修改这些信息,这些在那个时代是专门的必要的。3、本人所作的工作:1、写出了预习报告。从图书馆搜集了些这方面的资料2、想好思路,写出了程序代码3、调试程序,找出其中的错误,最终成功的运行出程序4、写出课程设计报告4、系统的要紧功能: 该系统的是一个小型的通讯

    2、系统,它具有一样的通讯系统都具有的功能该程序具有查找、添加、修改、删除功能,其中通讯录包括:姓名, ,街道,都市,省, 。5、系统的总体设计:系统的差不多要求和内容:该系统要求具有查找,添加,修改,删除功能,其中通讯录包括:姓名、 ,街道,都市,省, 。但在实际设计中增加了一项,那确实是末尾添加,能够在已有的记录末尾再次添加,不必每次都重新添加,方便用户描画及绘制出系统的功能结构框图、程序设计组成框图,流程图等:此系统共分为九大模块,分别为以下的模块:第一模块:主函数main()的功能是:依照选单的选项调用各函数,并完成相应的功能。第二模块:quitRec()的功能是:退出选单。第三模块:cr

    3、eateRec()的功能是:创建新的通讯录。第四模块:addRec()的功能是:在通讯录的末尾写入新的信息,并返回选单。第五模块:findRec()的功能是:查询某人的信息,假如找到了,那么显示该人的信息,假如未找到,那么提示通讯录中没有此人的信息,并返回选单。第六模块:alterRec()的功能是:修改某人的信息,假如未找到要修改的人,那么提示通讯录中没有此人的信息,并返回。第七模块:deleteRec()的功能是:删除某人的信息,假如未找到要删除的人,那么提示通讯录中没有此人的信息,并返回选单。第八模块:listRec()的功能是显示通讯录中的所有记录。第九模块:saveRec() 的功能

    4、是储存某人的信息在某一文件夹里。以上九大模块为此通信系统的就大差不多模块,用此模块设计能够清晰说明通信治理系统程序的功能、格局,能够用以下组成框图来表示:1系统结构图功能模块图和数据变量说明主菜单主函数输入创建信息末尾写入查询信息修改信息删除信息显示记录储存信息退出系统 2功能模块说明:1、主函数输入模块开始输入ii=1i=2i=3查询通讯录创建通讯录添加通讯录i=4i=5I=6输入错误删除通讯录退出通讯录修改通讯录2quitRec函数模块 3createRec函数模块开始储存记录吗储存返回主函数返回主函数清屏输入返回主程序开始4addRec函数模块 5findRec函数模型开始输入想在哪个数

    5、列后面加i=-1返回主函数输入新数据储存返回主函数开始输入姓名Str=recordsj.name未找到该联系人显示数据返回主函数 7、deleteRec函数模型开始输入名字删除数据返回主函数6、alterRec函数模型开始输入数列显示数据输入数据返回主函数 8、listRec函数模型 9、saveRec函数模型开始打开文件写入数据退出主函数开始输入序列号输出数据返回主函数 3、详细设计模块功能说明: 第一模块:主函数main()的功能是:依照选单的选项调用各函数,并完成相应的功能。第二模块:quitRec()的功能是:退出选单。第三模块:createRec()的功能是:创建新的通讯录。第四模块

    6、:addRec()的功能是:在通讯录的末尾写入新的信息,并返回选单。第五模块:findRec()的功能是:查询某人的信息,假如找到了,那么显示该人的信息,假如未找到,那么提示通讯录中没有此人的信息,并返回选单。第六模块:alterRec()的功能是:修改某人的信息,假如未找到要修改的人,那么提示通讯录中没有此人的信息,并返回。第七模块:deleteRec()的功能是:删除某人的信息,假如未找到要删除的人,那么提示通讯录中没有此人的信息,并返回选单。第八模块:listRec()的功能是显示通讯录中的所有记录。第九模块:saveRec() 的功能是储存某人的信息在某一文件夹里。在所有的函数中,ma

    7、in()函数数入口函数,用户输入数据进行整个程序的执行,整个函数的出口是qiut()函数,每一个函数执行完毕后都要退到主函数中,差不多每个输入、改动或者是删除的函数都要调用储存函数,而主函数调动所有的函数。4、调试与测试:在此次的课程设计中,做困难的一部分便是调试与测试这部分了,在此次调试中最开始是符号标点的问题,有许多都没注意,最终依旧慢慢的把这些错误调试出来了;还有一种错误便是库函数的问题,在此次调试中,发觉有许多别的软件里的库函数在此软件中不能用,最终依旧通过再次编写被调用函数来实现了预期的功能;此外,在函数的调试中,还发觉一种问题,在所绘的表格中,无法对齐表格,通过调试,移动表格的位置

    8、来实现了表格的工整;还有,在测试中,发觉原本应该在两个页面的数据在同一个页面中显示出来了,通过分析,认为这是由于没有清屏的结果,加上清屏后,问题终于解决了。5、运行结果:1、主菜单:2、创建新数据:第一输入创建的序号2,会进入以下那个界面: 输入数据后然后会依次显现下面的条目:,最后返回到先前的主菜单3、 查找数据:按了1以后,会显现以下菜单:会提示你输入要查找的姓名输入姓名后会显现以下的显示退出到主菜单;4、在末尾添加数据,按了3之后,会显现以下: 输入想要添加的数列,会显现下面输入数据的界面:按任意键退出后,回到主菜单。5、修改数据:输入4之后,会显现以下界面输入位置后,按以下流程输入数据

    9、输入Y之后,再将新的数据输入就行了6、删除数据:按下5”后,会显现那个显示输入姓名后,会删除数据并储存已存的结果。7、退出数据,按下6以后会退出,并提示是否储存数据8、载入数据:按下7后那个能够载入往常储存的数据,9.储存数据:按下8”后,能够储存数据以备下次再用6源程序 #include#include#include#include#include#include#includevoid showTable1();void showTable2(int);void findRec(); void createRec();void addRec();void saveRec();void a

    10、lterRec();void deleteRec();void quit();void LoadRec();void listRec();int search(char*,int,int);void gotoxy(int x,int y) CONSOLE_SCREEN_BUFFER_INFO csbiInfo; HANDLE hConsoleOut; hConsoleOut = GetStdHandle(STD_OUTPUT_HANDLE); GetConsoleScreenBufferInfo(hConsoleOut,&csbiInfo); csbiInfo.dwCursorPosition

    11、.X=x; csbiInfo.dwCursorPosition.Y=y; SetConsoleCursorPosition(hConsoleOut,csbiInfo.dwCursorPosition); char *mulu= *通讯治理系统*, 1.查找 , 2.创建 , 3.添加 , 4.修改 , 5.删除 , 6.退出 , 7.载入 , 8.储存 , ;typedef struct sl char no20; char name10; char score10; char street10; char city10; char province10; char postcode10;TO

    12、NGXUN;int muluxuanze();int JILUSHU=0;TONGXUN records1000;void main() system(cls); gotoxy(2,20); for(;) switch(muluxuanze() case 1:findRec();break; /*查询通讯录*/ case 2:createRec();break; /*创建通讯录*/ case 3:addRec();break; /*添加通讯录*/ case 4:alterRec();break; /*修改通讯录*/ case 5:deleteRec();break; /*删除通讯录*/ cas

    13、e 6:quit(); /*退出通讯录*/ case 7:LoadRec();break; /*载入通讯录*/ case 8:saveRec();break; /*储存通讯录*/ int muluxuanze() int i; for(i=0;i10;i+) gotoxy(10,i+1); cprintf(%s,mului); printf(n); printf(请输入要做的选项数字(1-8):); scanf(%d,&i); return(i);void showTable1() /*表头一*/ system(cls); gotoxy(10,2); printf(*具体数据*); gotox

    14、y(1,3); printf(n); gotoxy(1,4); printf( 数目 姓名 街道 都市 省 n); gotoxy(1,5); printf(n);void showTable2(int n) /*表头二*/ if (n=0)n=1; if(JILUSHU=0)n=-1; gotoxy(1,6+n); printf(n); void quit() /*退出*/ char str5; gotoxy(22,18); printf(储存记录吗?(Y/N); scanf(%s,str); if(str0=Y|str0=y) saveRec(); exit(0);void createRe

    15、c() /*创建通讯录*/ int i,sum; system(cls); printf(请输入要添加的通讯记录数目:); scanf(%d,&JILUSHU); for(i=0;iJILUSHU;i+) system(cls); sum=0; gotoxy(20,5);printf(Please input %d number,i+1); gotoxy(20,6);printf(输入序号:);scanf(%10s,recordsi.no); gotoxy(20,7);printf(输入姓名:);scanf(%10s,recordsi.name); gotoxy(20,8);printf(输入

    16、 :);scanf(%10s,recordsi.score); gotoxy(20,9);printf(输入街道:);scanf(%10s,recordsi.street); gotoxy(20,10);printf(输入都市:);scanf(%10s,recordsi.city); gotoxy(20,11);printf(输入省:);scanf(%10s,recordsi.province); gotoxy(20,12);printf(输入 :);scanf(%10s,recordsi.postcode); printf(请按任意键返回!); getch(); system(cls);vo

    17、id listRec() /*显示所有通讯录*/ int i=0; showTable1(); printf(输入所查数据的序号:); scanf(%d,&JILUSHU); for(i=0;iJILUSHU;i+) gotoxy(1,6+i); printf( %10s%10s%10s%10s%10s%10s%10sn,recordsi.no,recordsi.name,recordsi.score,recordsi.street,recordsi.city,recordsi.province,recordsi.postcode); showTable2(i); printf(请按任意键返回

    18、!); getch();void saveRec() /*储存通讯记录*/ FILE *fp1,*fp2; if(fp1=fopen(e:cc.txt,wb)=NULL) printf(不能打开那个文件); exit(1); if(fp2=fopen(e:cc1.txt,wb)=NULL) printf(不能打开那个文件); exit(1); printf(n储存文件n); fwrite(&JILUSHU,sizeof(JILUSHU),1,fp1); fwrite(records,sizeof(records),JILUSHU,fp2); fclose(fp1);fclose(fp2); p

    19、rintf(n文件储存成功!n);Sleep(1000); printf(n请按任意键退出n); getch(); system(cls);void LoadRec() /*载入通讯记录*/ FILE *fp1,*fp2; if(fp1=fopen(e:cc.txt,rb)=NULL) printf(不能打开那个文件); exit(1); if(fp2=fopen(e:cc1.txt,rb)=NULL) printf(不能打开那个文件); exit(1); printf(n载入文件n); fread(&JILUSHU,sizeof(JILUSHU),1,fp1); fread(records,

    20、sizeof(records),JILUSHU,fp2); fclose(fp1);fclose(fp2); printf(n文件载入成功!n);Sleep(1000); printf(n请按任意键退出n); getch(); system(cls);void findRec() /*查询通讯记录*/ char str20; int i,j; system(cls); printf(请输入您要找的人的姓名:); scanf(%s,str); for(j=0,i=0;jJILUSHU;j+) if(strcmp(str,recordsj.name)=0) showTable1(); printf

    21、( %10s%10s%10s%10s%10s%10s%10sn,recordsi.no,recordsj.name,recordsj.score,recordsj.street,recordsj.city,recordsj.province,recordsj.postcode); printf(n); showTable2(i); break; else printf(未找到该联系人); printf(Press any key to return!); getch(); system(cls);void deleteRec() /*删除通讯记录*/ int i,j; char str20;

    22、system(cls); printf(请输入您想删除的人的姓名:); scanf(%s,str); for(i=0;iJILUSHU;i+) if(strcmp(str,recordsi.name)=0) for(j=i;jJILUSHU;j+) recordsj=recordsj+1; else printf(没有找到该联系人); JILUSHU-; saveRec(); system(cls);int search(char*target,int tarType,int from) int i; for(i=from;iJILUSHU;i+) if(tarType=1&strcmp(ta

    23、rget,recordsi.no)=0)|tarType=2&strcmp(target,recordsi.no)=0) return(i); return(-1);void alterRec() /*修改通讯录*/ int i,j; char no20,str8; system(cls); printf(请输入你想要修改的数据位置数:); scanf(%d,no); i=search(no,1,0); showTable1(); printf(n); printf( %10s%10S%10s%10s%10s%10s%10s,recordsi.no,recordsi.name,recordsi

    24、.score,recordsi.street,recordsi.city,recordsi.province,recordsi.postcode); printf( n); gotoxy(10,10); printf(你想要修改这些数据吗(Y/N):); scanf(%s,str); if(str0=y|str0=Y) system(cls); printf(输入序号:);scanf(%10s,recordsi.no); printf(输入姓名:);scanf(%10s,recordsi.name); printf(输入 :);scanf(%10s,recordsi.score); print

    25、f(输入街道:);scanf(%10s,recordsi.street); printf(输入都市:);scanf(%10s,recordsi.city); printf(输入省:);scanf(%10s,recordsi.province); printf(输入 :);scanf(%10s,recordsi.postcode); saveRec(); printf(请按任意键返回!); getch(); system(cls);void addRec() /*在通讯录的末尾加上新的信息*/ int i,sum=0; char str8; for(;) system(cls); printf(

    26、请输入您想要增加的序列:); scanf(%s,str); i=search(str,1,0); if(i=-1)break; else printf(那个数据是错误的!); getch(); strcpy(recordsJILUSHU.no,str); printf(输入序号:);scanf(%10s,recordsi.no); printf(输入姓名:);scanf(%10s,recordsi.name); printf(输入 :);scanf(%10s,recordsi.score); printf(输入街道:);scanf(%10s,recordsi.street); printf(输入都市:);scanf(%10s,recordsi.city); printf(输入省:);scanf(%10s,recordsi.province); printf(输入 :);scanf(%10s,recordsi.postcode); JILUSHU+; saveRec();7、使用说明:此程序的运行环境并无太大的要求,一样的电脑都能运行;使用方法:进入了主菜单后,只需按照每个功能所对应的数字按下就能操作。8、设计小结:此次的设计是我第一次独立的设计一个程序,同时


    注意事项

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

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开