C语言课程设计报告_第1页
C语言课程设计报告_第2页
C语言课程设计报告_第3页
C语言课程设计报告_第4页
C语言课程设计报告_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

自我评价:我做旳是第六个课程设计:通讯录管理系统,具有增长.删除.浏览.按姓名查询.修改所有信息.基本完毕规定.内容:1.算法设计:主函数算法设计:开始输出选项(1~6)运营所选功能函数结束输出模块算法设计:开始调入加载函数n=load()输入追加个数m输出增长信息保存追加信息结束修改模块算法设计:开始输出修改信息人名查找该信息输出修改信息保存修改信息结束删除模块算法设计:开始输出删除人名查找删除信息删除该信息保存删除结束浏览模块算法设计:开始调入加载函数n=load逐个输出n条信息结束查询模块算法设计:开始输出查找信息人名逐个查找输出该信息结束

2.数据构造设计:运用构造体structpeople{ charname[20]; charcompany[30]; charphone[20]; charEmail[30];};structpeoplePEO[50];namecompanyphoneEmail运用旳是字符串数组.3.模块设计:程序涉及5个模块:增长,修改,删除,查询,浏览。电话薄管理系统增长修改删除查询浏览增长模块:运用了n=load函数,打开文献,输出信息,保存文献。修改模块:输出修改人名,查找相应信息,修改保存。删除模块:输出删除人名,查找相应信息,删除保存。查询模块:输出查询人名,输出响应信息.浏览模块:运用了n=load函数,输出所有信息。4.程序:#include<stdio.h>#include<string.h>#include<stdlib.h>structpeople{ charname[20]; charcompany[30]; charphone[20]; charEmail[30];};structpeoplePEO[50]; save(){ FILE*fp; inti; if((fp=fopen("f1_list","wb"))==NULL) { printf("\ncannotopenfile\n"); returnNULL; } fwrite(&PEO[i],sizeof(structpeople),1,fp); printf("filewriteerror\n"); fclose(fp);}load(){ FILE*fp; inti; if((fp=fopen("f1_list","rb"))==NULL) { printf("\nCannotopenfile\n"); returnNULL; } for(i=0;!feof(fp);i++) fread(&PEO[i],sizeof(structpeople),1,fp); fclose(fp); return(i-1);} voidbrowse() { inti,j,n; FILE*fp; n=load(); fp=fopen("f1_list","rb"); for(i=0;i<n;i++) { printf("%s%20s%20s%30s\n",PEO[i].name,PEO[i].company,PEO[i].phone,PEO[i].Email); } fclose(fp); menu();}voidadd() { inti,n,m,k; FILE*fp; n=load(); printf("Howmanypeopleareyouwanttoadd?\n"); scanf("%d",&m); k=m+n; for(i=n;i<k;i++) { printf("\nInput%dthpeoplerecord.\n"); printf("name:\n"); scanf("%s",&PEO[i].name); printf("company:\n"); scanf("%s",&PEO[i].company); printf("phone:\n"); scanf("%s",&PEO[i].phone); printf("Email:\n"); scanf("%s",&PEO[i].Email); } if((fp=fopen("f1_list","ab"))==NULL) { printf("\ncannotopenfile\n"); returnNULL; } for(i=n;i<k;i++) fwrite(&PEO[i],sizeof(structpeople),1,fp); printf("filewriteerror\n"); fclose(fp); printf("输入成功!!!!!"); menu();} voiddel(){ structpeoples; structpeoplea[50]; inti,n,k; FILE*fp; n=load(); if((fp=fopen("f1_list","rb"))==NULL) { printf("\nCannotopenfile\n"); returnNULL; } printf("\n\nEnternamethatyouwanttodelete!"); scanf("%s",); for(i=0;i<n;i++) if(strcmp(,PEO[i].name)==0) k=i; for(i=0;i<n;i++) { strcpy(a[i].name,PEO[i].name); strcpy(a[i].company,PEO[i].company); strcpy(a[i].phone,PEO[i].phone); strcpy(a[i].Email,PEO[i].Email); } fclose(fp); for(i=k;i<n-1;i++) { strcpy(a[i].name,a[i+1].name); strcpy(a[i].company,a[i+1].company); strcpy(a[i].phone,a[i+1].phone); strcpy(a[i].Email,a[i+1].Email); } for(i=0;i<n-1;i++) { printf("%s%s%s%s",a[i].name,a[i].company,a[i].phone,a[i].Email); } if((fp=fopen("f1_list","wb"))==NULL) { printf("\ncannotopenfile\n"); returnNULL; } for(i=0;i<n-1;i++) fwrite(&a[i],sizeof(structpeople),1,fp); printf("filewriteerror\n"); fclose(fp); printf("删除成功!!!!"); menu();}voidmodify() { structpeoples; inti,n,k,w0=1,w1,w2=0; FILE*fp; n=load(); fp=fopen("f1_list","rb+"); printf("\n\nwritenamewhichyouwanttomodify\n\n"); scanf("%s",); for(i=0;i<n;i++) if(strcmp(,PEO[i].name)==0) k=i; printf("namewhichyouwanttochangeinto\n"); scanf("%s",&PEO[k].name); printf("companywhichyouwanttochangeinto\n"); scanf("%s",&PEO[k].company); printf("phoneyouwanttochangeinto\n"); scanf("%s",&PEO[k].phone); printf("Emailyouwanttochangeinto\n"); scanf("%s",&PEO[k].Email); fwrite(&PEO[k],sizeof(structpeople),1,fp); fclose(fp); printf("修改成功!!!!!"); menu();} voidsearch(){ inti,j,k,n; FILE*fp; structpeoples; n=load(); fp=fopen("f1_list","rb"); printf("\n\nEnternamethatyouwanttosearch"); scanf("%s",); for(i=0;i<n;i++) if(strcmp(,PEO[i].name)==0)k=i; printf("%s%20s%20s%20s\n",PEO[k].name,PEO[k].company,PEO[k].phone,PEO[k].Email); fclose(fp); menu();}menu(){ intn,w1; do { puts("\t\t*********************MENU**********************\n\n"); puts("\t\t\t\t1.Addnewdata"); puts("\t\t\t\t2.Modifydata"); puts("\t\t\t\t3.Deletedata"); puts("\t\t\t\t4.Browsedata"); puts("\t\t\t\t5.Searchbyname"); puts("\t\t\t\t6.Exit(0)"); puts("\n\n\t\t*********************************************\n"); printf("选择号码(1-6):[]\b\b"); scanf("%d",&n); if(n<1||n>6) { w1=1; getchar(); } elsew1=0; } while(w1==1); switch(n) { case1:add();break; case2:modify();break; case3:del();break; case4:b

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论