C语言课程设计报告

更新时间:2024-05-13 00:40:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

XX大 学

信 息

科 学

与 工

程 学 院

程序设计语言课程设计报告

XX大学

课程设计报告

题 目:通讯录管理系统 设 计 者:XXX 专业班级:XXXXX班 学 号:XXXXXX 指导教师:XXX

所属院系:信息科学与工程学院

2011年 7 月 1 日

2

程序设计语言课程设计报告

目录

1

1.1 1.2

课题的基本内容和要求 .................................................................................... 4~6

摘要 ................................................................. 4 本次课题的基本内容和要求 ............................................. 6

2 详细设计说明 .................................................................................................. 7~19

2.1 2.2 2.3 2.4 2.5

总体设计方案 ......................................................... 7 程序描述 ............................................................. 7 功能结构 ........................................................... 7-8 主要模块描述 ...................................................... 8-18 采用的算法 ....................................................... 18-19

3 4 5 6

程序测试 ........................................................................................................ 19~23 课程设计总结 ...................................................................................................... 23 软件使用说明 ...................................................................................................... 23 附录(参考文献,原代码:) ...................................................................... 24~49

3

程序设计语言课程设计报告

1.1摘要

一个良好的通讯录能够方便用户增/删/查/改信息.获取用户。要的信息. 汇编语言也是计算机应用中重要的语言之一. 用汇编语言程序代码编写通讯录, 理解和掌握复杂的汇编语言应用程序的编程.本程序将主要完成的功能为姓名查询模块: 查询,输入姓名可以查询该人其他信息;在屏上提示:选择“1”:输入姓名,按姓名查询,显示查询结果;选择“0”:结束.通过此次设计巩固和加深子程序调用、参数传送、BIOS功能调用INT 10H和宏定义;将课本上的子程序调用和宏定义等有关知识和实际应用有机的结合起来,提高分析和解决实际问题的能力;通过对通讯录汇编语言程序代码的阅读、修改、设计,理解和掌握复杂的汇编语言应用程序的编程,从而提高自身实践编程能力。

4

程序设计语言课程设计报告

1.2课程设计的基本内容和要求

课程名称 程序设计:C语言课程设计 设计题目 1.销售信息管理系统 2.职工工资信息管理系统 3.图书信息管理系统 4.材料管理系统 5.学生成绩管理系统 6.设备管理系统 7.通信录 8.人事信息管理系统 9.人员基本信息管理系统 10. 学生选修课程信息管理系统 11. 小学算术运算测试 12. 宿舍信息管理系统 13. 基于C语言的模拟电梯系统程序设计 题目序号 7 设计时间 2011年 6 月20 日——2010 年 7 月 1 日 信息与科学工程学院 系(院) 一、 课程设计的基本要求: 专业 电气信息类 班级 1032 本次“C语言程序设计实践”课程设计,是基于“C语言程序设计基础”课程学习内容的重要实践环节,其主要目的在于,通过综合程序课程设计,培养和提高学生的独立分析问题、解决实际问题的能力和计算机语言编程能力。本次课程设计时间为2周,要求每位同学在为期两周的时间段内,独立完成相关设计题所规定的任务(上机时数为20学时)。进度安排建议如下: 1、阅读设计题目、任务内容,规划设计进度,并进行软件的各相关功能模块的规划设计(1天)。 2、在Turbo C(或Visual C++6.0)环境下,用结构化程序设计思想进行C语言程序设计、功能模块调试(7-9天)。 3、进行课程设计报告编写与整理(2天)。 4、课程设计结束时,要求进行设计成果演示(由指导老师验收相关程序运行成果并打分);每人须对相关电子文档进行整理上交(包括:程序文件、帮助说明文档);交课程设计报告(纸质)一份(手工书写稿或打印稿)。

5

程序设计语言课程设计报告

二、主要参考资料 [1]谭浩强.C程序设计(第三版).北京:清华大学出版社,2005 [2]谭浩强.C程序设计题解与上机指导(第三版).北京:清华大学出版社,2005 [3] 李丽娟.马淑萍.C语言程序设计.中国铁道出版社,2009 [4]程序设计语言课程设计指导书.

6

程序设计语言课程设计报告

2详细设计说明

2.1总体设计方案

本程序分为九个大模块,每个大模块又分为若干个小模块,每个模块用来实现一个特定的功能;本程序运用了结构体来存放联系人的信息,并定义了结构体数组使数据的管理转化为对结构数组的操作,从而实现了通讯录的输入,输出,存档,读取,删除以及查找和分类显示等功能。

2.2程序描述

本程序有三大主要特点:

1、 本程序功能比较强大,建立了一个比较健全的通讯录系统;

2、 本程序秉着人文主义的原则,使用了大量人性化的语句,能够给使用者提供一个温

馨的使用环境,能够让使用者感觉到人性化关怀;

3、 本程序结构清晰,能够很方便的添加功能,将来能很方便的对其进行改进! 安排本程序的目的及意义:

这样安排本程序是为了方便程序的模块化及将来的改进。 设计本程序的目的及意义:

设计本程序的目的在于:

1、 编写一个比较完美的C程序; 2、 考验一个人的聪明才智;

3、 考察一个人的思维的敏锐程度及缜密程度; 4、 考察一个人的编程能力及对事情的专注程度。 它的意义在于:

1、 锤炼思维,通过本程序的编写来提高思维的敏锐度; 2、 加深对教材内容的理解和提高对教材知识的掌握程度; 3、 使学生掌握一定的编程技巧及提高学生的认知力; 4、 提高学生分析问题、综合解决问题的能力。

2.3功能结构

本程序具有九个大功能,每个大功能又有若干个小功能,具体功能如下:

1、 添加个人信息;

2、 查询个人信息;它又分为:按手机号码查询、按姓名查询、按家庭电话号码查

询和按QQ号码查询这四个小功能;

3、 删除个人信息;它又分为按按手机号码删除和按姓名删除这两个小功能; 4、修改个人信息;它又分为按按手机号码修改和按姓名修改这两个功能,这两个 功能又都具有修改项目这个小功能;

5、信息排序;它又分为按按手机号码排序和按姓名排序这两个功能,这两个功能 又都具有输出全部信息这个功能;

7

程序设计语言课程设计报告

6、输出全部信息 7、写入文件 8、读取文件

9、 删除所有 功能结构图:

2.4主要模块描述

通讯录管理系统主要用数组来实现,其数组元素是结构体类型,整个系统由如下几个功能模块组成: (1) 添加个人信息模块。添加个人信息模块主要将用户通过键盘输入的数据存

入数组的工作,数据记录的结构由结构体定义,包含联系人的相关信息。 设计说明:

本程序定义了结构体person,为全局变量,用于存放联系人的基本信息: struct person

{

char name[15]; char sex[2];

int nianling;

8

程序设计语言课程设计报告

char birthday[10]; long int youbian; char addr[50];

char celephone[22]; char homephone[22]; char company[20]; char email[40]; long int QQ;

char xuehao[10]; }per[500];

然后定义了void newrecord()函数(新添纪录函数)

用来实现数据的输入,每次输入都依“学号(xuehao),姓名(name),性别

(sex);年龄(nianling);生日(birthday),地址(addr);手机号码(celephone);家庭电话(homephone);公司名称(company);电子邮箱(email);QQ号码(QQ);”的次序分别以字符数组的形式将用户在键盘上输入的数据存入内存中先前定义的结构体数组中。

操作说明:请按提示操做;请输入正确的信息;本程序有自动查错功能。 流程图:

9

程序设计语言课程设计报告

开始Y输入per[num].namestrlen(per[num].name)>15N输入Yper[num].sexstrlen(per[num].sex)==0Yper[num].nianlingper[num].nianling<10||per[num].nianling>110YN输入per[num].youbianper[num].youbian<10000||per[num].youbian>999999N输入per[num].addrYstrlen(per[num].addr)>50||strlen(per[num].addr)<4NY输入per[num].celephonestrlen(per[num].celephone)!=11NY输入per[num].homephoneper[num].homephone)!=11a=1N Y 10 输入 per[num].companyN

程序设计语言课程设计报告

(2) 查询个人信息模块。查询个人信息模块主要完成在数组中查找满足相关条

11

程序设计语言课程设计报告

件的信息记录。本程序中,用户可以按联系人姓名及手机号码进行查找。若找到待查记录,则以表格形式显示在屏幕上,否则提示待查信息不存在。 设计说明:

本程序有四个小功能;由一个界面统一控制;

操作说明:请按提示操做;请输入正确的信息;本程序有自动查错功能。 流程图:

开始 i=5 i<=19 printf(\printf(\scanf(\ printf(\ scanf(\ scanf(\printf(\me\printf(\name,p[i].tell,p[i].mail,p[i].add); printf(\

输入a a==1 Choice() i++ 结束 12

程序设计语言课程设计报告

(3)删除个人信息模块。删除个人信息模块主要完成对指定记录的删除。 设计说明:

本程序有俩小功能;由一个界面统一控制;

操作说明:请按提示操做;请输入正确的信息;本程序有自动查错功能。 流程图:

入口 显示菜单 选择功能 键1:输入姓名,按姓名查询,显示查询结果 键0:结束查询 键2:输入城市,按城市查询,显示查询结果

(4)修改个人信息模块。修改个人信息模块主要完成对指定记录的修改。 与查找功能相似,先找出要修改的好友的信息。再用一个选择结构进行判

断。若进行删除的操作,则利用strcpy函数将好友的相应的信息修改为空值;若进行修改操作,则输入相应的新的信息。

操作说明:请按提示操做;请输入正确的信息;本程序有自动查错功能。 流程图:

13

程序设计语言课程设计报告 开始 输入查找姓名 C==0 C<=19 if(strcmp(p[c].name,q)==0) 删除按1,修改按2 K==1 strcpy(p[c].name,\p[c].tell=0; strcpy(p[c].mail,\ strcpy(p[c].add,\K==2 输入新的资料 C++ c==20 对不起,还没有此人 结束

(5)信息排序模块。信息排序模块主要完成对将数组中的所有联系人的排序。

用两个循环结构将顺序不同的两个结构体调换过来。由于好友的姓名是用字符串表示,所以比较两个姓名的先后顺序时要用strcmp函数。在将两个字符串调换位置时借用另外一个字符数组和strcpy函数将它们调换过来。

操作说明:请按提示操做;请输入正确的信息;本程序有自动查错功能。 流程图:

14

程序设计语言课程设计报告

开始 输出name、tellphone, e-mail i=0 i<19 a=0 a<18 strcmp(p[a+1].name,p[a].name)strcpy(copy,p[a+1].name); trcpy(p[a+1].name,p[a].name); strcpy(p[a].name,copy); j=p[a].tell;p[a].tell=p[a+1].tell;p[a+1].tell=j; strcpy(copy,p[a+1].mail);strcpy(p[a+1].mail,p[a].mail); strcpy(p[a].mail,copy); strcpy(copy,p[a+1].add); strcpy(p[a+1].add,p[a].add); strcpy(p[a].add,copy); a++ i++

15

程序设计语言课程设计报告

i=1 i<=19 p[i].tell==0 输出p[i].name,p[i].tell,p[i].mail,p[i].add i++ tuichu(); 结束

(6)输出全部信息模块。输出全部信息模块是完成将数组中的所有联系人信息

以表格的形式显示在屏幕上的功能。

用于输出全部信息

操作说明:请按提示操做;请输入正确的信息;本程序有自动查错功能。 流程图:

对第一条记录 相等 输出第一条查询 记录 不 相 返回 等 相等 输出第二条对第二条记录 记录 查询 不 相 返回 等 相等 输出最后一对最后一条记

条记录 录查询

返回 返回

16

程序设计语言课程设计报告

(7)写入文件模块。写入文件模块是将内存数组中的数据存在硬盘文件中。 操作说明:请按提示操做;请输入正确的信息;本程序有自动查错功能。 流程图:

(8)读取文件模块。读取文件模块完成对记录的读取,是将硬盘文件中的数据读取在内存数组中。

操作说明:请按提示操做;请输入正确的信息;本程序有自动查错功能。 流程图: 对第一条记录查询

不 相等 相 输出第一条记录 等 对第二条记录查询 不 相等 相 输出第一条记录 等 对第三条记录查询

不 相等 相 输出第一条记录 等

对最后一条记录查询 返回主菜单

相等 输出最后一条记录 返回主菜单

(9)删除所有模块。删除所有模块完成对所有记录的删除。

在退出程序时,提示一个是否退出界面的提示,在利用一个判断结构进行相应判断,若返回则利用一个开始函数返回主界面的选择功能。 操作说明:请按提示操做;请输入正确的信息;本程序有自动查错功能。 流程图:

17

程序设计语言课程设计报告

开始 返回主界面请按'r'; 退出程序请按其他键 if(strcmp(str,\choice(); exit(0); 结束

(对主要模块包括主程序分别进行功能描述、设计说明、操作说明,并给出流程图)

2.5采用的算法

本程序所选用的算法是结构化的算法

主函数流程图:

开始 输出主界面 输入a a==1 a==2 a==3 chazhao() a==4 xiugai() wrong number paixu() tianjia() 结束

本程序具体的计算公式是:

18

程序设计语言课程设计报告

Y==X;

如果成立则执行某条程序;不成立则执行另一条程序。 计算步骤: Y==X; 成立执行a; 不成立执行b.

3程序测试

程序运行后,主界面如图:

输入数字1后如图:

19

程序设计语言课程设计报告

输入数字2后如图:

20

程序设计语言课程设计报告

输入数字3如图:

输入4后再输入1后如图:

21

程序设计语言课程设计报告

输入5后如图:

输入6后如图:

22

程序设计语言课程设计报告

本程序运行结果与期望的一致! 本程序只要求有数组的知识就够了!

4课程设计总结

两周的课程设计结束了,我的收获很大。通过课程设计的编程和对编程过程中遇到的问题的思考,有效的提高了我对编程的认识和理解,切实的提高了我的编程能力,补全了我的不足。通过这次课程设计,我巩固所了学过的知识,能用汇编语言熟练地运用顺序、选择、循环三大结构,进一步掌握了各个指令的功能,特别是转向指令,掌握了子程序的定义及调用,以及正确地运用指令。在整个程序的编写中,调试占了很大部分的时间。要想写好汇编语言的程序,必须认真对待代码的每一个细节,这对程序的调试是非常重要的。通过这次实际动手能力的培养,我进一步熟悉了语言的结构和使用方法,基本达到了能独立阅读、编制和调试一定规模的语言程序的水平。

5软件使用说明

本软件操作简单,只要按照界面的要求输入数行了!

请勿随便输入!

23

程序设计语言课程设计报告

6附录(参考文献,源代码:)

参考文献:

[1]谭浩强.C程序设计(第三版).北京:清华大学出版社,2005

[2]谭浩强.C程序设计题解与上机指导(第三版).北京:清华大学出版社,2005 [3]李丽娟.马淑萍.C语言程序设计.中国铁道出版社,2009 [4]程序设计语言课程设计指导书. 源代码:

#include #include #include #include struct person {

char name[15]; char sex[2]; int nianling;

char birthday[10]; long int youbian; char addr[50]; char celephone[22]; char homephone[22]; char company[20]; char email[40]; long int QQ;

char xuehao[10]; }per[500];

int num=0;//*外部变量num为文件中的纪录数*// FILE *fp;

void jiemian();//*界面*// void xinxi(int i); //*信息*// void mainmenu();//*主菜单*// void newrecord();//新添纪录*// void xiugaimenu();//*修改菜单*// void xiugaibyname();//*按姓名修改*//

void xiugaibycelephone();//*按手机号码修改*// void xiugaibyxuehao();//*按学号修改*// void xiugaixiangmu(int a);//*修改项目*// void searchmenu();//*查询菜单*//

void searchbyxuehao();//*按学号查询*// void searchbyname();//*按姓名查询*//

void searchbycelephone();//*按手机号码查询*//

void searchbyhomephone();//*按家庭电话号码查询*// void searchbyqq();//*按QQ查询*//

24

程序设计语言课程设计报告

void deletemenu();//*删除菜单*// void deleteall();//*删除所有信 息*// void deleteone();//*删除单个*//

void showall();//*输 出 全 部 信 息*// void readfromfile();//*读取(恢复)文件*// void writetofile();//*保存文件*// /

void deletebyxuehao(); //*按学号删除*//

void deletebycelephone(); //*按手机号码删除*// void deletebyname();//*按姓名删除*/

void listbycelephone();//*按手机号码排序*// void listbyxuehao();//*按学号排序*// void listbyname();//*按姓名排序*// void listmenu();//*排序菜单*//

main()//*主函数*//

{ int a; system(\ jiemian(); while (1) { mainmenu(); }

} //*主函数结束*//

void jiemian()//*界面*//

{ long int i; int k=0; system(\ system(\ printf(\

printf(\ xx大学 **************\ printf(\ *\ printf(\ xxx2班 *\

printf(\ 通讯录管理系统 *\ printf(\ 设计者:xx *\ printf(\ *\ printf(\ *\ printf(\ printf(\ *\ printf(\ 欢迎使用xxx班通讯录 *\

printf(\ *\ printf(\

25

程序设计语言课程设计报告

printf(\ \ printf(\ \ printf(\ 请输入密码进入主菜单:\

loop0: scanf(\ {if(i==120) return; else k++; printf(\对不起!您的输入有误!请重新输入: \ if(k==2) printf(\(警告:若再次输错密码,系统将自动退出!)\\n\ if (k==3) exit(0); else goto loop0; } }

void mainmenu()//*主菜单函数*//

{ int a; system(\ system(\ printf(\ 您 好! 欢 迎 使 用 通 讯 录!\\n\ printf(\ 1: 添 加 个 人 信 息\\n\ printf(\ 2: 查 询 个 人 信 息\\n\ printf(\ 3: 删 除 个 人 信 息\\n\ printf(\ 4: 修 改 个 人 信 息\\n\ printf(\ 5: 信 息 排 序\\n\ printf(\ 6: 输 出 全 部 信 息\\n\ printf(\ 7: 保 存 文 件\\n\ printf(\ 8: 读 取 文 件\\n\ printf(\ 9: 恢 复 文 件\\n\ printf(\ 10: 删 除 所 有\\n\ printf(\ 0: 退 出 \\n\ printf(\ 请输入您的数字选择: \ loop1: scanf(\ switch (a) { case 1:newrecord();break; case 2:searchmenu();break; case 3:deletemenu();break; case 4:xiugaimenu();break;

26

程序设计语言课程设计报告

case 5:listmenu();break; case 6:showall();break; case 7:writetofile();break; case 8:readfromfile();break; case 9: readfromfile();break; case 10:deleteall();break; case 0:exit(0); default:printf(\对不起!您的输入有误!请重新输入: \ } }

void newrecord()//*添加纪录*//

{

int a;

system(\

system(\ loop: printf(\ 请输入您要添加的联系人的信息: \\n\ printf(\请输入学号:\\n\

xuehao:scanf(\ if(strlen(per[num]. xuehao)!=10) { printf(\对不起!您的输入有误!请重新输入\ goto xuehao; }

printf(\请输入姓名:\\n\name: scanf(\ if(strlen(per[num].name)>15) { printf(\对不起!您的输入有误!请重新输入\ goto name; }

printf(\请输入性别:\\n\sex: scanf(\ if(strlen(per[num].sex)==0) { printf(\对不起!您的输入有误!请重新输入\ goto sex; } printf(\请输入年龄:\\n\

nianling: scanf(\

if(per[num].nianling<10||per[num].nianling>30) {

printf(\对不起!您的输入有误!请重新输入\ goto nianling; }

27

程序设计语言课程设计报告

printf(\请输入出生年月日(格式:年,月,日):\\n\birthday: scanf(\ printf(\请输入邮编\\n\

youbian: scanf(\

if(per[num].youbian<10000||per[num].youbian>999999) { printf(\对不起!您的输入有误!请重新输入\ goto youbian; } printf(\请输入地址\\n\addr: scanf(\ if(strlen(per[num].addr)>50||strlen(per[num].addr)<4) { printf(\对不起!您的输入有误!请重新输入\\n\ goto addr; } printf(\请输入手机号码:\\n\

celephone: scanf(\ if(strlen(per[num].celephone)!=11) { printf(\对不起!您的输入有误!请重新输入\\n\ goto celephone; } printf(\请输入家庭电话号码:\\n\

homephone: scanf(\ if(strlen(per[num].homephone)!=11) { printf(\对不起!您的输入有误!请重新输入\\n\ goto homephone; } printf(\输入电子邮箱:\

email: scanf(\ if(strlen(per[num].email)>30||strlen(per[num].email)<4) { printf(\对不起!您的输入有误!请重新输入\ goto email; } printf(\输入QQ号码:\QQ: scanf(\ if(per[num].QQ>1600000000||per[num].QQ<10000000) { printf(\对不起!您的输入有误!请重新输入\ goto QQ; } num++; printf(\是否继续添加?\\n\

28

程序设计语言课程设计报告

printf(\请按1和2(1代表继续;2代表不继续)\\n\ printf(\请输入您的选择 \ scanf(\ if(a==1) { goto loop; } else { return; } }

void searchmenu()//*查询菜单*//

{ int a; system(\ system(\ printf(\ 欢 迎 使 用 查 询 菜 单\ printf(\ 1-按手机号码查询\ printf(\ 2-按姓名查询\ printf(\ 3-按家庭电话号码查询\ printf(\ 4-按QQ查询\ printf(\ 5-按学号查询\ printf(\ 6-返回主菜单\ printf(\

printf(\请输入您的选择 \ scanf(\ switch (a) { case 1:searchbycelephone();break; case 2:searchbyname();break; case 3:searchbyhomephone();break; case 4:searchbyqq();break; case 5:searchbyxuehao();break; case 6:mainmenu();break; } }

void searchbycelephone()//*按手机号码查询*//

{ int mark=0; int i,j; int a=0;

29

程序设计语言课程设计报告

}

char celephone[11];

printf(\ 按手机号码查找 \\n\ printf(\请输入手机号码:\\n\ scanf(\ for(i=0;i

if (mark==0) { printf(\对不起!没有该联系人的信息!\ printf(\请按任意数字键返回主菜单\ scanf(\ return; }

void searchbyname()//*按姓名查询*//

{ int mark=0; int i,j,findmark=0; int a=0; char name[15]; printf(\ 按姓名查找 \ printf(\请输入姓名:\ scanf(\ for(i=a;i

findmark++; printf(\ 以下是您查找的联系人的信息 \ xinxi(i); if ((i+1)

30

程序设计语言课程设计报告

scanf(\ if (j==1) { a=i; mark++; continue; } else break; } else {

printf(\请按任意数字键返回主菜单\ scanf(\ return; } } } if(mark!=0) { printf(\对不起! 没有相同名字的该联系人的信息!!\ printf(\请按任意数字键返回主菜单\ scanf(\ return; } else if(findmark==0) { printf(\对不起!没有该联系人的信息!\ printf(\请按任意数字键返回主菜单\ scanf(\ return; } }

void searchbyhomephone()//*按家庭电话号码查询*//

{

int mark=0; int i,j; int a=0;

char homephone[11];

printf(\ 按家庭电话号码查找 \ printf(\请输入家庭电话号码:\ scanf(\ for(i=0;i

31

程序设计语言课程设计报告

if (strcmp(per[i].homephone,homephone)==0) { printf(\ 以下是您要查找的联系人的信息 \ xinxi(i);

printf(\请按任意数字键返回主菜单\ mark++; scanf(\ return; } } if (mark==0) { printf(\对不起!没有该联系人的信息!\ printf(\请按任意数字键返回主菜单\ scanf(\ return; } }

void searchbyqq()//*按QQ查询*//

{

int mark=0; int i,j;

long int QQ;

printf(\ 按QQ号码查找 \\n\ printf(\请输入QQ号码:\ scanf(\ for(i=0;i

if (mark==0) { printf(\对不起!没有该联系人的信息!\ printf(\请按任意数字键返回主菜单\ scanf(\ return;

32

程序设计语言课程设计报告

} }

void searchbyxuehao()//*按学号查询*// { int mark=0; int i,j; int a=0; char xuehao[10]; printf(\ 按学号查找 \ printf(\请输入学号:\ scanf(\ for(i=0;i

printf(\请按任意数字键返回主菜单\ mark++; scanf(\ return; } } if (mark==0) { printf(\对不起!没有该联系人的信息!\ printf(\请按任意数字键返回主菜单\ scanf(\ return; } }

void deletemenu()//*删除菜单*//

{

int i,j;

system(\ system(\ if(num==0) { printf(\对不起!文件中无任何纪录!\ printf(\请先添加个人信息!\ printf(\请按任意数字键返回主菜单\ scanf(\ return;

33

程序设计语言课程设计报告

} else { printf(\ 删 除 菜 单 \ printf(\ 1-删除单个 \ printf(\ 2-返回主菜单 \ printf(\ \ printf(\请输入您的数字选择: \ loop4: scanf(\ switch (i) { case 1:deleteone();break; case 2:mainmenu();break; default:printf(\对不起!您的输入有误!请重新输入: \ } } }

void deleteone()//*删除单个*// { int i; printf(\按手机号码删除 2-按姓名删除 3-按学号删除\ printf(\请输入您的选择:\ loop5:scanf(\ switch (i) { case 1:deletebycelephone();break; case 2:deletebyname();break; case 3:deletebyxuehao();break;

default:printf(\对不起!您的输入有误!请重新输入: \ } }

void deletebyname()//姓名删除*//

{

int a=0;

int findmark=0; int i,j,k;

int deletemark=0; char name[15];

printf(\请输入您要删除的联系人的姓名:\ scanf(\ for (i=a;i

34

程序设计语言课程设计报告

{ printf(\以下是您要删除的联系人的纪录:\ findmark++; xinxi(i); printf(\是否删除?(1代表删除;2代表不删除)\\n\ printf(\请输入您的数字选择: \ scanf(\ if(k==1) { for (j=i;j

35

程序设计语言课程设计报告

}

deleteone();

}

else if(findmark!=0) { printf(\对不起!没有重名信息!\ printf(\是否继续删除?(1代表继续;2代表不继续)\ printf(\ 请输入您的数字选择: \ scanf(\ if(k==1) deleteone(); }

void deletebycelephone()//*按手机号码删除*//

{

int i,j,h,m;

int deletemark=0; char celephone[11];

printf(\请输入要删除的联系人的手机号码:\ scanf(\ for(i=0;i

36

程序设计语言课程设计报告

}

if(deletemark==0) { printf(\对不起!没有该联系人的纪录!\ printf(\是否继续删除?(1代表继续;2代表不继续)\\n\ printf(\ 请输入您的数字选择: \ scanf(\ if(m==1) deletebycelephone(); }

void deletebyxuehao()//*按学号删除*//

{

int i,j,h,m;

int deletemark=0; char xuehao[10];

printf(\请输入要删除的联系人的学号:\ scanf(\ for(i=0;i

printf(\是否删除?(1代表删除;2代表不删除)\\n\ printf(\ 请输入您的数字选择: \ scanf(\ if(h==1) { for (j=i;j

37

程序设计语言课程设计报告

}

if(deletemark==0) { printf(\对不起!没有该联系人的纪录!\ printf(\是否继续删除?(1代表继续;2代表不继续)\\n\ printf(\ 请输入您的数字选择: \ scanf(\ if(m==1) deletebyxuehao(); }

void xiugaimenu()//*修改菜单*//

{ int i,j;

system(\ system(\ if(num==0) { printf(\对不起!文件中无任何纪录!\ printf(\请按任意数字键返回主菜单\ scanf(\ return; } else { printf(\按姓名修改 2-按手机号码修改 3-按学号修改\\n\ printf(\ 请输入您的数字选择: \ loop6:scanf(\ switch (i) { case 1:xiugaibyname();break; case 2:xiugaibycelephone();break; case 3:xiugaibyxuehao();break; default:printf(\对不起!您的输入有误!请重新输入: \ } } }

void xiugaibyname()//*按姓名修改*//

{

38

程序设计语言课程设计报告

int a=0; int findmark=0; int xiugaimark=0; int i,j; char name[15]; printf(\请输入要修改联系人的姓名:\ scanf(\ for (i=a;i

39

程序设计语言课程设计报告

}

printf(\没有该联系人的纪录\ printf(\是否继续修改?(1代表继续;2代表不继续)\ printf(\ 请输入您的数字选择: \ scanf(\ if (j==1) xiugaibyname(); return; }

else if (findmark!=0) { printf(\没有重名信息\ printf(\是否继续修改?(1代表继续;2代表不继续)\ printf(\ 请输入您的数字选择: \ scanf(\ if (j==1) xiugaibyname(); return; }

void xiugaibycelephone()//*按手机号码修改*//

{

int findmark=0; int i,j;

char celephone[11];

printf(\请输入要修改联系人的手机号码:\ scanf(\ for (i=0;i

40

本文来源:https://www.bwwdw.com/article/e2ug.html

Top