您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > C语言课程实习报告我的
C语言课程实习报告-通讯录管理系统22004年6月24日编一.课程设计目的:“C语言程序设计”是计算机专业的重要专业基础课,是“数据结构”、“操作系统”等专业课程的先行课程之一,为学生以后设计网络软件、编写操作系统和编译器等系统软件打下基础。通过本课程设计,使学生进一步熟悉和掌握C语言的基本知识、基本编程原理;学习用C语言开发应用程序的方法;进一步熟悉计算机语言程序设计的基本方法、步骤,培养学生解决问题,设计、调试、测试程序能力。二.程序功能介绍实现通讯录信息的输入、修改、删除、查找、排序、信息输出、保存等功能。每个人的相关信息包括:姓名、性别、年龄、联系电话、E-mail、住址等。在主函数实现功能对各相应函数的调用,实现模块功能。首先,调用主界面函数,输出主菜单,然后就是个功能模块的实现。Input函数,实现输入模块,实现新数据的录入和追加。Change函数,实现修改模块,实现已保存数据的修改和显示,在修改结果保存前进行“确认”操作。要求按姓名查找出相应信息并修改。(需要调用到“信息查询”功能)。look_up函数,就是信息查询模块,实现数据的查看。List函数,排序模块,实现通讯录信息分别按的姓名、性别、年龄进行排序并显示结果。Output函数,实现信息的输出。Change函数,修改模块,实现已保存数据的修改和显示。Save函数,将通讯录信息以文件形式永久性地保存。Load函数,将所以信息列出。Delete函数,实现指定数据的删除,按输入的姓名进行显示和删除信息,删除前要求用户进行确认。三.课程设计内容1.算法流程图*主函数开始密码退出主界面修改函数删除函数保存排序函数查询函数罗列函数输入函数输出函数*修改函数change进入调用查讯函数查讯选择修改内容退出函数姓名年龄性别电话地址邮箱修改成功*排序函数list进入接收选择年龄姓名性别前面的数大不交换信不交换信不交换信不交换信不交换信交换信息交换信息交换信息退出函数*删除函数Delete进入罗列信息是否删除确定删除退出函数查找要删除信息再次是否确定删除确定并删除2.程序源代码如下:#includestdio.h#includestring.h#defineN200#defineLLsizeof(structtxl)#defineSTTstructtxlvoidlist();/*调用排序函数申明*/voidoutput();/*调用输出函数申明*/voidDelete();/*调用删除函数申明*/voidmenu();/*调用主界面函数申明*/look_up();/*调用查询函数申明*/input();/*调用输入函数申明*/change();/*调用修改函数申明*/save();/*函数申明*/load();/*函数申明*/STT/*定义结构体数组*/{intnum;/*编号*/charname[11];charsex[4];intage;charadr[16];/*地址*/charemail[16];chartel[15];/*电话号码*/}wan[N];intn;voidmain()/*主调函数*/{inti,j;charch;chars[10];clrscr();printf(\n\n-------------------------\n);printf(\nWelcometoyou!\n);printf(\n-------------------------\n);printf(\nPleaseinputthekeys:);for(j=1;j=4;j++)/*密码的接收输入*/{for(i=0;i8;i++){s[i]=getch();printf(*);}s[i]='\0';printf(\n);if(strcmp(s,12345678)==0)break;elseprintf(Reputthekeys:);}if(j==5)exit(0);clrscr();printf(\n\n----------------------------------------\n);printf(\npleaseinputhowmanypeople(n200):\n);printf(\n----------------------------------------\n);scanf(%d,&n);/*接收输入通讯录的人数*/clrscr();getchar();do{menu();/*调用主界面函数*/scanf(%c,&ch);switch(ch)/*选择所需操作*/{case'1':input();output();getchar();clrscr();break;case'2':look_up();getchar();clrscr();break;case'3':list();getchar();clrscr();break;case'4':Delete();getchar();clrscr();break;case'5':change();output();getchar();clrscr();break;case'6':save();getchar();clrscr();break;case'7':load();getchar();clrscr();break;case'8':exit(0);}system(cls);}while(1);}voidmenu()/*主界面函数*/{printf(\n\n\n);printf(---------------------------\n);printf(tongxulusystem\n);printf(---------------------------\n);printf(1.inputtheinformation\n);printf(2.Quickseekinformation\n);printf(3.listthefile\n);printf(4.Deletetheinformation\n);printf(5.changetheinformation\n);printf(6.savethefile\n);printf(7.loadthefile\n);printf(8.Quitthesystem\n);printf(\n\n\n\npleaeschoose(1~8):\n);}input()/*输入函数*/{inti;clrscr();printf(---------------------------\n);printf(inputtheinformation\n);printf(---------------------------\n);for(i=0;in;i++){printf(pleaseinputthe%dpeople'sinformantion\n,i+1);printf((name/sex(m/f)/age/adr/email/tel):\n);scanf(%s%s%d%s%s%s,wan[i].name,wan[i].sex,&wan[i].age,wan[i].adr,wan[i].email,wan[i].tel);}getchar();}change()/*修改函数*/{chari;chara;charb;clrscr();printf(----------------------------------\n);printf(changetheinformation\n);printf(---------------------------------\n);i=look_up();/*调用查询函数*/printf(change(Y/N)?\n);scanf(%c,&a);getchar();switch(a){case'n':case'N':break;case'y':case'Y':printf(--------------------------------\n);printf(1.name2.sex3.age\n);printf(4.adr5.email6.tel\n);printf(7.exit\n);printf(Pleasechoose(1/2/3/4/5/6/7):\n);/*选择要找修改的内容*/scanf(%c,&b);switch(b){case'1':printf(Pleaseinputthename:);scanf(%s,&wan[i].name);break;case'2':printf(Pleaseinputthesex:);scanf(%s,&wan[i].sex);break;case'3':printf(Pleaseinputtheage:);scanf(%d,&wan[i].age);break;case'4':printf(Pleaseinputtheadr:);scanf(%s,&wan[i].adr);break;case'5':printf(Pleaseinputtheemail:);scanf(%s,&wan[i].email);break;case'6':printf(Pleaseinputthetel:);scanf(%s,&wan[i].tel);break;case'7':break;default:break;}}}voidlist()/*排序函数*/{inti,j,k;chara;STTt;clrscr();printf(--------------------------------\n);printf(listtheinformation\n);printf(--------------------------------\n);printf(\n1.age2.name3.sex\n);printf(\nplesaechoose(1/2/3):\n);/*选择按什么排序*/getchar();scanf(%c,&a);switch(a){case'1':for(i=0;in-1;i++){k=i;for(j=i+1;jn;j++)if(wan[k].agewan[j].age)k=j;{t=wan[i];wan[i]=wan[k];wan[k]=t;}}break;/*用选择法排序*/case'3':for(i=0;in-1;i++){k=i;for(j=i+1;jn;j++)if(strcmp(wan[k].sex,wan[j].sex)==0)k=j;if(i!=k){t=wan[i];wan[i]=wan[k];wan[k]=t;}}break;case'2':for(i=0;in-1;i++){k=i;for(j=i+1;jn;j++)if(strcmp(wan[k].name,wan[j].name)==0)k=j;if(i!=k){t=wan[i];wan[i]=wan[k];wan[k]=t;}}break;}printf(\n---------------------------------------------------------------------\n);printf(numnamesexageadremailtel\n);printf(---------------------------------------------------------------------\n);for(i=0;in;i++){printf(%4d%7s%7s%7d%7s%7s%7s\n\n,i+1,wan[i].name,wan[i].sex,wan[i].age,wan[i].adr,wan[i].email,wan[i].tel);}printf(\n);getchar();getchar();}intlook_up()/*查询函数*/{inti;charch[12];clrscr();printf(---------------------------------
本文标题:C语言课程实习报告我的
链接地址:https://www.777doc.com/doc-3213208 .html