通讯录c语言报告及源程序(3)

2018-11-18 21:28

错误二:

error C2562: 'Delete' : 'void' function returning a value

see declaration of 'Delete'

warning C4390: ';' : empty controlled statement found; is this the intent? warning C4390: ';' : empty controlled statement found; is this the intent? warning C4390: ';' : empty controlled statement found; is this the intent? 删除函数定义错误,应该用“int”,而不是“void”

4.2 系统错误及其调试方法

每次选择子程序操作完毕后,想要返回主菜单,却总是直接退出程序。 后来在主函数里添加了一个无限循环“for(;;){ }”,这个问题就解决了。

五、心得体会

通过此次的C++编程实习课学到了很多,对C语言也有了更好的了解,同时对C程序的操作和调试也有了进一步的掌握。尽管程序中的一部分是从网上复制过来的,但其中都加入了自己手动修改的元素,并且把一些以前不懂的弄懂了。

编译过程中经常出现各种各样的错误,以上罗列的只是其中很小的一部分,有的小错误却导致

运行不出结果,使我纠结了半天,后来还是请教实验室的同学才解决的。我深切感受到调试程序的经验不足,在输入源代码时一定要仔细、认真。几天过后我对C语言渐渐的不再感到陌生,许多大一学的知识也都回忆起来了,后来调试中出现的错误基本都可以自己解决了。通讯录最基本的功能基本都实现了,但是还有很多需要完善的地方,比如说系统日志没有添加,只能说我能力不够,其他的功能也存在或多或少不尽如人意的地方。通过深切的感受到编程的辛苦,一个问题解决后又会冒出另一个问题,没有问题后又会去想给如何完善程序的各种功能,感觉永远都编不完似的。

一个星期很快就过去了,C++编程实习课也接近尾声了,我在发现问题然后解决问题的过程中体会到了不一样的快乐,特别是自己发现并解决的时候会有一种小小的成就感!虽然有时会为了一个小小的错误苦恼不已,但当解决后却是异常的兴奋!

现在回想来看这个通讯录程序并不是很复杂,但我却不能很顺利的完成,因此我还要好好的学习C语言,只有做了多了才会熟练。

11

六、源程序

#include //标准输入、输出函数 #include //常用函数库 #include //字符串处理函数 #include struct Data {

char name[10]; //姓名

char tel[15]; //电话 char age[8]; //年龄 char adds[20]; //地址 char qq[20]; //QQ号

};Data dat[200]; char c; char Key[20];

int n=0; /*n为联系人个数*/ FILE *fp; /*指向文件的指针*/ char menu_select(); /*主菜单函数*/ int Input(Data dat[],int n); /*添加新联系人*/ void Display(Data dat[],int n); /*显示联系人*/ int Delete(Data dat[],int n); /*删除联系人*/ int onedelete(Data dat[],int n); /*删除单个联系人*/ int alldelete(Data dat[],int n); /*删除全部联系人*/ void Find(Data dat[],int n); /*查询联系人*/ void Change(Data dat[],int n); /*修改联系人信息*/ void Readfile(); /*读取文件*/ void Save(int n); /*保存文件*/ void namefind(Data dat[],int n); /*姓名查询联系人*/ void telfina(Data dat[],int n); /*电话查询联系人*/ void addsfind(Data dat[],int n); /*地址查询联系人*/

12

void namechange(Data dat[],int n); /*按姓名查找后修改*/ void telchange(Data dat[],int n); /*按电话查找后修改*/ void addschange(Data dat[],int n); /*按地址查找后修改*/ /*************************主菜单*************************/ char menu_select() { }

/*************************添加新联系人函数*************************/ int Input(Data dat[],int n) {

do{

system(\

printf(\欢迎%s,您的通讯录中共有%d张名片\\n\printf(\通讯录******* \\n\printf(\┌────────┐\\n\printf(\│ 1.添加名片 │\\n\printf(\│ 2.显示名片 │\\n\printf(\│ 3.删除名片 │\\n\printf(\│ 4.查询名片 │\\n\printf(\│ 5.修改名片 │\\n\printf(\│ 6.保存名片 │\\n\printf(\│ 0.退出程序 │\\n\printf(\└────────┘\\n\printf(\printf(\请您选择(0-6):\c=getchar();

}while(c<'0'||c>'6'); return(c-'0');

int i=0,j=0; char s[10];

13

char ch,m;

while(ch!='n'&&ch!='N') {

printf(\添加新联系人**********************\\n\printf(\姓名:\scanf(\

while(strcmp(dat[j].name,s)!=0&&j

strcpy(dat[n+i].name,s); printf(\电话:\

scanf(\printf(\年龄:\

14

j++;

if(strcmp(dat[j].name,s) == 0) {

printf(\通讯录中已有此人!\\n\printf(\是否继续添加?(Y/N)\scanf(\

while(m!='n'&&m!='N'&&m!='y'&&m!='Y') { }

if(m!='n'&&m!='N') { } return(n);

Input(dat,n);

printf(\输入错误!请重新输入:\scanf(\

}

}

}

scanf(\printf(\地址:\

scanf(\printf(\号:\scanf(\i++;

printf(\是否继续添加?(Y/N)\scanf(\

while(ch!='n'&&ch!='N'&&ch!='y'&&ch!='Y') { }

printf(\输入错误!请重新输入:\scanf(\

printf(\添加成功!\\n\return(n+i);

/*************************显示联系人函数*************************/ void Display(Data dat[],int n) {

printf(\**************************\\n\

printf(\┌─────────────────────────────┐

%d

int i; if(n!=0) {

\\n\

printf(\│ 姓名 │ 电话 │ 年龄 │ 地址 │ QQ │

15


通讯录c语言报告及源程序(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高中数学《线面平行问题的证明的解题课》教学设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: