通讯录管理系统(c语言)

上传人:第*** 文档编号:55673058 上传时间:2018-10-04 格式:PDF 页数:16 大小:249.78KB
返回 下载 相关 举报
通讯录管理系统(c语言)_第1页
第1页 / 共16页
通讯录管理系统(c语言)_第2页
第2页 / 共16页
通讯录管理系统(c语言)_第3页
第3页 / 共16页
通讯录管理系统(c语言)_第4页
第4页 / 共16页
通讯录管理系统(c语言)_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《通讯录管理系统(c语言)》由会员分享,可在线阅读,更多相关《通讯录管理系统(c语言)(16页珍藏版)》请在金锄头文库上搜索。

1、- 1 -说说明明 1、设计的目的、设计的目的 1)复习巩固 C 语言的基础知识,进一步加深对 C 语言编程的理解和掌握; 2)利用所学知识,理论和实际结合,利用资源,采用模块化的结构,使用模仿 修改自主设计相结合的方法,锻炼学生综合分析解决实际问题的编程能力; 3)培养学生在项目开发中团队合作精神、创新意识及实战能力。 2、设计的任务、设计的任务 根据学生的实际情况,进行分组选题。主要的课程设计题目如下(学生也可自主 选题) : 1、图书管理系统2、学生信息管理系统 3、学生成绩管理系统4、学生通讯录管理系统 5、职工信息管理系统6、设计简单的计算器 课程设计采用学生自主设计和指导老师辅导相

2、结合的方式。 3、设计要求与设计报告、设计要求与设计报告 设计要求:设计要求: 1、任选上述题目之一,或自选题目。 2、模块化的程序设计 3、锯齿形的程序书写格式。 4、必须通过编译连接运行 设计报告:设计报告: 1、设计目的和任务 2、总体设计:包括程序设计组成框图、流程图。 3、详细设计:包括模块功能说明:函数功能、入口及出口参数说明,函数调用 关系描述等。 4、调试与测试:包括调试方法,测试结果分析与讨论,测试过程中遇到的主要 问题及采取的解决措施。 5、源程序清单和执行结果:清单中应有足够的注释。- 2 -设计目的和任务设计目的和任务(主要介绍设计的任务,为什么要设计,设计要达到什么样

3、的目的。 ) 设计目的:(1)基本掌握面向过程程序设计的基本思路和方法; (2)达到熟练掌握 C 语言的基本知识和技能; (3)能够利用所学的基本知识和技能,解决简单的程序设计问题 程序功能:(1). 学生基本信息及成绩所选科目成绩的录入。 (2). 基本信息的查询(分系、班级;分科目)与修改。 (3). 对每系或每班各科成绩进行分析(即求单科平均成绩、及格 率和优秀率); (4). 对所开课程的成绩分析(求其平均成绩,最高分和最低分); (5). 对学生考试成绩进行排名;目目录录一、总体设计3二、详细设计4三、调试与测试 5四、源程序清单和执行结果 6五、建议和体会7六、参考文献83一:总体

4、设计总体设计设计流程图如下:设计流程图如下:4二、详细设计二、详细设计1、输入初始的学生信息:其中包括学生的姓名、学号和性别以及学生的语文、数学、英语和计算机等相关信息;可用函数 cin(stu *p1)来实现此操作。2、查询模块:可用 stu *lookdata(stu *p1)来实现。找到就输出此学生全部信息包括学生的语文、数学、英语和计算机等的成绩。3、插入模块:可用 insert()函数来实现。其中通过学号的大小来比较的,并且以此来排序。4、输出学生的信息以及成绩:通过学生的姓名来查看学生的语文、数学、英语和计算机等相关成绩,同时也可以分别通过 caverage() 、 maverag

5、e() 、eaverage() 和comaverage()来输出语文、数学、英语和计算机等成绩的平均分数、最高和最低分数。5、退出系统:可用一个函数 exit()来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。5三、调试与测试三、调试与测试6四、源程序设计和测试结果四、源程序设计和测试结果7五、建议和体会五、建议和体会8三:调试与测试三:调试与测试问题一、学生初始信息模块:六、参考文献六、参考文献指导教师的评语及评分考核小组意见及评分综合评分综合评分9其中包括学生的姓名、学号和性别以及学生的语文、数学、英语和计算机等相关信息;可用函数 cin(stu *p1)来实现此操作

6、。当正确输入存在的学生学号,系统进行判断时,提示不存在此学生。解决办法及步骤:1、一个个输出所有的学生的学号,检查文件中是否有此学生,发现有。2、既然有此学生,那么检查循环判断是否有此学生的语句发现没有错3、输出用于循环检查语句中的学生信息,发现乱码4、仔细分析乱码的原因,最后发现是变量的类型错误,错将学生类型的结构体指针变量定义为了其他类型的指针变量。问题二、查询模块:可用 stu *lookdata(stu *p1)来实现。找到就输出此学生全部信息包括学生的语文、数学、英语和计算机等的成绩。当正确输入查找信息时,系统却不能够得到所要查找的学生信息以及学生的语文、数学、英语和计算机的成绩。解

7、决办法及步骤:1、检查所编写的程序代码是否完全正确,若不是,则改之,然后再继续正确输入查找信息看能否得到所要查找的学生信息以及学生的语文、数学、英语和计算机的成绩。2、检查当我们在输入查找信息时,看是否我们输入的信息有误,若是这样的话,我们应当仔细输入查找信息。四:源程序清单和执行结果四:源程序清单和执行结果 源程序如下:源程序如下: #include “stdio.h“ #include “math.h“ #define N 30 struct student long int num; char name10; char sex3; int Chinese,Math,English,tot

8、al,average; stuN=4001,“lks“,“m“,100,100,100,4002,“lyt“,“w“,99,63,89,4003,“asd“,“w“,60,70, 80,4004,“fgh“,“m“,41,100,98, 4005,“asd“,“m“,74,74,87,4006,“yt“,“m“,85,58,78,4007,“qwe“,“w“,74,100,87,4008,“d cs“,“w“,74,85,96, 4009,“qfg“,“m“,74,78,36,4010,“gft“,“m“,45,85,98,4011,“mn“,“m“,60,77,17,4012,“yer “,

9、“w“,78,78,100,4013,“lsd“,“m“,100,89,85,s; int M=13; void modify(struct student stu) int t;long num;char z; t=search(stu)-400; printf(“input num:“); scanf(“%ld“, printf(“input name:“); scanf(“%s“,stut.name); printf(“input sex:“);10scanf(“%s“,stut.sex); printf(“input score of Chinese:“); scanf(“%d“, p

10、rintf(“input score of Math:“); scanf(“%d“, printf(“input score of English:“); scanf(“%d“, stut.average=(stut.English+stut.Math+stut.Chinese)/3; stut.total=stut.English+stut.Math+stut.Chinese;printf(“tNUMtNAMEtSEXtCHINESEtMATHtENGLISHtTOTALtAVERAGEn“); printf(“t%4ldt“,stut.num); printf(“ %st“,stut.na

11、me); printf(“%st“,stut.sex); printf(“%4dt%4dt%4dt%4d%8dn“,stut.Chinese,stut.Math,stut.English,stut.tot al,stut.average); printf(“Next?y/n?“); scanf(“%s“, if(z=y) modify(stu); void output(struct student stu) inti; printf(“tNUMtNAMEtSEXtCHINESEtMATHtENGLISHtTOTALtAVERAGEn“); for(i=0;iM;i+) printf(“t%4

12、ldt“,stui.num); printf(“ %st“,stui.name); printf(“%st“,stui.sex); printf(“%4dt%4dt%4dt%4d%8dn“,stui.Chinese,stui.Math,stui.English,stui.total,s tui.average); void sort(struct student stu) int i,j,t; printf(“1.an yingyu chengcheji paixun2.an yuwen chengji paixun3.an shuxue chengji paixun4.an pingjue

13、chengji paixun5.an zongfen paixun“); scanf(“%d“, switch(t) case 1: for(i=0;iM-1;i+) for(j=0;jM-i-1;j+) if(stuj.Englishstuj+1.English) s=stuj; stuj=stuj+1; stuj+1=s; output(stu); getch(); break; case 2:11for(i=0;iM-1;i+) for(j=0;jM-i-1;j+) if(stuj.Chinesestuj+1.Chinese) s=stuj; stuj=stuj+1; stuj+1=s;

14、 output(stu); getch(); break; case 3: for(i=0;iM-1;i+) for(j=0;jM-i-1;j+) if(stuj.Mathstuj+1.Math) s=stuj; stuj=stuj+1; stuj+1=s; output(stu); getch(); break; case 4: for(i=0;iM-1;i+) for(j=0;jM-i-1;j+) if(stuj.averagestuj+1.average) s=stuj; stuj=stuj+1; stuj+1=s; output(stu); getch(); break; case 5: for(i=0;iM-1;i+) for(j=0;jM-i-1;j+) if(stuj.totalstuj+1.total) s=stuj; stuj=stuj+1; stuj+1=s; output(stu); getch(); break; 12int search(struct student stu) long t,i,z,K=y;char name20; printf(“1.an xueha

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号