c语言学生通讯录管理系统的设计内容摘要:
9。 ))+i+2)。 //颜色交替出现 /背景颜色 a[7]=(char)((int(39。 039。 ))+i)。 //字体颜色 system(a)。 system(cls)。 //清屏 printf(\n\n\n\n\n\n\n\n\t\t\4 \4 \4Wele To The Students39。 Address System\4 \4 \4)。 printf(\n\n\n\n\n)。 printf(\t\t\t\t\t\3 \3Design by LiWen\3 \3)。 Sleep(1000)。 //延时 1秒 system(cls)。 //清屏 } 上面程序代码为欢迎界面源代码,实现了背景颜色和字体颜色的交替变换, 和清屏函数交替使用, 实现一种闪烁的效果。 System(“ color 02” ),在 color 后面第一个参数为背景颜色,第二个为前景颜色,即字体颜色。 color 命令后不能写像变量参数,例如: color c(c+2)。 只能写颜色的代码,为实现颜色交替循环,用到了将字符串 中的 单个字符替换的理念。 欢迎界面结束后,显示菜单,运用 switch 语句,供用户选择不同的功能使用。 如以下代码。 for(。 )/*无限循环 */ { switch(menu()) //调用主菜单函数 { case 1:。 break。 } } 武汉工程大学计算机科学与工程学院 综合设计报告 6 输入函数 char s[15]={over}。 int i=0。 for(。 ) //无限循环 { scanf(%s,t[i].name)。 if(strcmp(s,t[i].name)==0) //判断字符串是否相等 //即 输入 over 结束输入 break。 scanf(%s%s%s%s%s,t[i].id,t[i].qq,t[i].tele,t[i].mail,t[i].address)。 i++。 } 在输入函数中,运用无限循环,直至输入 over 结束输入,在循环中记录输入记录数,最后将记录数返回,以便以后的函数使用。 输出函数 void print(ADDRESS temp,int n) //单条显示记录 { case :1{ printf(“ ==========Address============” ) printf(“ Nmae ID Telephone Mail Address” )}。 break。 case :2 printf(%15s%11s%12s%12s%19s%10s\n,ele,)。 break。 case :3 printf(“ ============End=============” )。 break。 } 上面代码为单条显示记录函数,在此函数中加 入参数 n,是 为了输出的更美观以及整齐,在其他函数中可以用调用此函数用 n参数输出不同的图案,更加方便快捷,不需要写更多的代码,只需要简单的调用函数即可。 输出所有记录的信息即可用此函数输出,用循环可以诸条显示。 按照姓名查找 int i。 for(i=0。 in。 i++)/*从第一条记录开始,直到最后一条 */ { if(strcmp(s,t[i].name)==0) /*记录中的姓名和待比较的姓名是否相等 */ return i。 } return i。 上面的代码实现了查 找一条信息并返回记录存储的位置,按照姓名查找信息根据上武汉工程大学计算机科学与工程学院 综合设计报告 7 面的代码查找存储位置,如果参数 i 大于总存储数目 ,显示没有找到, 否则 调用前面单条显示函数将其打印。 按照姓名删除 按照姓名删除信息和按照姓名查找显示信息本质其实一样,都是查找到信息,前者将其删除,后者将其显示。 而按照姓名删除中,要将数据全部前移,即将删除的信息的空缺补全。 下面这段代码可以实现将数据前移功能: for(j=i+1。 jn。 j++) /*删除该记录,实际后续记录前移 */ { strcpy(t[j1].name,t[j].name)。 /*将后一条记录拷贝到前一条 */ strcpy(t[j1].id,t[j].id)。 strcpy(t[j1].qq,t[j].qq)。 strcpy(t[j1].tele,t[j].tele)。 strcpy(t[j1].mail,t[j].mail)。 strcpy(t[j1].address,t[j].address)。 } 按照姓名修改 按照姓名修改信息,即先找到要修改的信息,然后读入新信息,将旧信息覆盖即可。 至于查找信息,前面已经介绍,在此不在累赘,修改信息时 , 选择 要修改的选项修改即可。 下面给出修改信息的原代码: printf(\n=======================Which one do you want to Modify?========================\n)。 printf( \4 1:ID 2: 3:Telephone 4:Mail 5:Address \4\n)。 printf(===============================================================================\n)。 //提示 printf(Your choose:)。 scanf(%d,amp。 x)。 printf(\n Please enter the new information:)。 scanf(%s,amp。 ch)。 switch(x) { case 1:strcpy(t[i].id,ch)。 break。 case 2:strcpy(t[i].qq,ch)。 break。 case 3:strcpy(t[i].tele,ch)。 break。 case 4:strcpy(t[i].mail,ch)。 break。 武汉工程大学计算机科学与工程学院 综合设计报告 8 case 5:strcpy(t[i].address,ch)。 break。 } 插入信息 插入信息的思想是:从键盘读入要插入的信息,将记录数加 1 即可。 部分代码如下: scanf(%s%s%s%s%s%s,,temp.address)。 // strcpy(t[n].name,)。 //记录拷贝到最后一条 strcpy(t[n].id,)。 strcpy(t[n].qq,)。 strcpy(t[n].tele,)。 strcpy(t[n].mail,)。 strcpy(t[n].address,)。 按照姓名排序 for(i=0。 in。 i++) { flag=0。 /*设标志判断是否发生过交换 */ for(j=0。 jn1。 j++) if((strcmp(t[j].name,t[j+1].name))0) /*比较大小 */ { flag=1。 strcpy(,t[j].name)。 /*交换记录 */ strcpy(t[j].name,t[j+1].name)。 strcpy(t[j+1].name,)。 } if(flag==0)break。 /*如果标志为 0,说明没有发生过交换循环结束 */ 用双重循环一个一个比较字符串的大小,如果后面的比较大,则将他们的数据交换,此处用到临时变量,帮助数据交换。 保存文件 FILE *fp。 /*指向文件的指针 */ fprintf(fp,%d,n)。 /*将记录数写入文件 */ fprintf(fp,\r\n)。 /*将换行符号写入文件 */ for(i=0。 in。 i++) { 武汉工程大学计算机科学与工程学院 综合设计报告 9 fprintf(fp,%15s%11s%12s%12s%19s%10s,t[i].name,t[i].id,t[i].qq,t[i].tele,t[i].mail,t[i].address)。 /*格式写入记录 */ fprintf(fp,\r\n)。 /*将换行符号写入文件 */ } fclose(fp)。 /*关闭文件 */ printf(\n\t\tSuccess!\n\n)。 /*显示保存成功 */ 保存文件的时候,用到了指向文件的指针, 以及文件的格式 写入 ,文件的打开,关闭操作。 读文件 FILE *fp。 /*指向文件的指针 */ if((fp=fopen(,rb))==NULL)/*打开文件 */ { printf(\n\t\tOpen failed!\n\n)。 /*不能打开 */ } else { fscanf(fp,%d,amp。 n)。 /*读入记录数 */ for(i=0。 in。 i++) fscanf(fp,%15s%11s%12s%12s%19s%10s,t[i].name,t[i].id,t[i].qq,t[i].tele,t[i].mail,t[i].address)。 /*按格式读入记录 */ fclose(fp)。 /*关闭文件 */ printf(\n\t\tSuccess!\n\n)。 /*显示保存成功 */ 读文件用到指向文件的指针 ,以及文件的按格式写入,文件的打开操作,和判断文件是否打开。 复制文件 复制文件操作即是读文件然后写入文件,就是将读文件写文件和在一起。 武汉工程大学计算机科学与工程学院 综合设计报告 10 第四章 设计结果及分析 菜单 欢迎界面过后,进入主菜单界 面,如图 41所示。 图 41 主菜单界面 输入信息 在 主 菜单按 1 回车进入输入信息界面 ,输入信息, 如图 42所示。 图 42 输入信息界面 显示信息 在主菜单按 2 回车进入 显示 信息界面如图 43所示。 图 43 显示信息界面 武汉工程大学计算机科学与工程学院 综合设计报告 11 按姓名查找 在主菜单按 3 回车进入查找信息界面,输入要查找的姓名如图 44所示。 图 44 查找信息显示界面 按姓名删除 在 主 菜单按 4 回车进入 删除 信息界面 ,输入要删除的姓名,输入 Y 确定, 如图 45所示。 在 主 菜单按 4 回车进入 显示界面看是 否删除成功,如图 46 所示。 图 45 删除 信息显示界面 01 图 46 删除 信息显示界面 02 按姓名修改 在 主 菜单按 5 回车进入 修改 信息界面 ,输入要修改的姓名,输入要修改信息的编号,输入新信息 如图 47 所示。 在 主 菜单按 2 回车进入 显示 信息界面 ,看是否修改成功,如图 48 所示。 武汉工程大学计算机科学与工程学院 综合设计报告 12 图 47 修改 信息显示界面 01 图 48 修改 信息显示界面 02 增加信息 在 主 菜单按 6 回车进入 增加 信息界面 ,输入要增加的信息, 如图 49 所示。 检查是否增加成功,如图 410 所示。 图 49 增 加 信息显示界面 01 图 410 增加 信息显示界面 02 武汉工程大学计算机科学与工程学院 综合设计报告 13 按姓名排序 在 主 菜单 选择 7 进入 排序 信息界面 ,然后检查是否排序成功,如图 411 所示。 图 411 排序 信息显示界面 保存 文件 在 主 菜单 选择 8 保存文件,检查是否成功, txt 文件 如图 412 所示。 图 412 文件 显示界面 读取文件 关闭 ,再重新打开,在菜单选择 9,成功读取后再选择 2 将读取的文件信息显示 ,如图 413 所示。 图 413 读取文件 显示界面 复制文件 回到主菜单,选择 10, 复制文件,然后输入输出路径, 如图 414 所示。 再在计算机找到复制的文件打开检查是否复制成功,如图 415 所示。 武汉工程大学计算机科学与工程学院 综合设计报告 14 图 414 复制文件 显示界面 01 图 415 复制文件 显示界面 02 系统信。c语言学生通讯录管理系统的设计
相关推荐
2、次数不宜过多,一般浇两次为宜;当苗成活后要及时中耕松土,以利新根生长发育;秋季番茄定植后,要采取小水勤浇,降低土壤温度和畦面气温。 浇水后要及时中耕松土,以促进幼苗健壮生长。 三、合理施肥多施有机肥料,除能为番茄的生长提供充足的多种营养素外,还能改善土壤的理化性质,有利于土壤微生物的活力。 因此,应以有机肥料为主,同时配合施用氮、磷、钾,防止氮肥用量过大,使得番茄生长过旺,叶面颜色过于浓绿
8—— 按 8 选择退出 程序 : 四. 问题 分析与设计体会 (1) 问题及解决的办法 在调试过程中我们也遇到过不少的错误,警告等,有些错误多达二十多个,改得头都是晕的,有时就想放弃了,但是在老师的帮助下,我慢慢的将程序调好,这都归功于老师的帮助。 有时我们在调试的时候无意间多打了一个空格或者是无意间删了一个字符,导致程序很多的错误,还有就是在建库的时候不能出错,一但出了一点错就得重新输入。
D、应急培训、演练 按工作阶段划分,应急管理工作应包括应急预防、应急准备、( ); A、应急预案编制 B、应急预案实施 C、应急响应及处置 D、应急恢复 E、应急总结与改进 重大危险源标准中所说的危险物质包括( ); A、易燃性物质 B、爆炸性物质 C、放射性物质 D、剧毒物质 专业性应急培训是指对( )等进行的培训; A、应急指挥人员 B、专业应急抢险人员 C、现场操作人员 D、附近居民
状又称灰斑病。 主要为害叶片。 叶斑出现在叶片两面,近圆形至不规则形,大小因寄主品种不同而异,一般 22面中心灰白色至褐色,常有 12个黑褐色细线轮纹圈,有的四周具黄色至暗褐色水浸状晕圈,湿度大时病斑上生有灰黑色霉层。 叶背色较浅。 为害重。 病原 11薯蓣色链隔孢,异名 薯蓣尾孢,属半知菌亚门真菌。 子实体生在叶的两面,子座生在表皮下,近球形,大小 20色;菌丝体内生,分生孢子梗 322
// Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CBudget) protected: virtual void DoDataExchange(CDataExchange* pDX)。 // DDX/DDV support //}}AFX_VIRTUAL //