c语言程序设计基础。
课程设计报告书。
设计题目电子通讯录
姓名。专业班级
学号。指导教师。
成绩。工商管理学院信息管理系。
2024年月。
目录。一引言3
二系统功能和原始数据3
三程序总体设计4
四功能模块函数设计和调试8
五程序清单11
六课程设计总结19
引言。c语言是一门高级的基础语言,是一种面向对象的计算机语言。计算机技术是21世纪的主流技术作为我们当代的大学生应该也必须将其掌握。
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。随着科学技术的不断发展,当今计算机应用在生活中是非常广泛的。因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。
在一学期的理论学习和基础实验的基础上,开发规模较大的程序和掌握应用计算解决实际问题的基本方法是我们信管专业的学生必须掌握的技能,并要熟悉c程序开发的全程。本任务是根据所选题目的要求和相关数据,设计一个电子通讯了程序,利用它能够录入一个朋友的基本信息,实现50人的通讯录的简单管理。
一、 系统功能和原始数据。
一) 原始数据。
通讯录信息包括:姓名,性别,出生日期(年、月、日),**号码,qq号码,电子邮箱,通讯地址,邮编。
sex birth addr telphone qq postnum email
1 a girl 19880123 b1-118 5312089 123456 125105
2 b girl 19870304 b1-209 5313789 134467 125105
3 c boy 19781224 a3-509 5316745 478375 125105
4 d boy 19850101 a5-313 5312648 478375 125105
二) 系统功能。
1)编辑联系人信息。
2)查找联系人信息。
3)显示所有联系人信息。
4)删除联系人。
5)修改联系人信息。
6)退出程序并保存。
二、 程序总体设计。
一) 数据结构。
依据想要输入的联系人信息和数据结构,采用顺序存储的方式来实现。结构类型的层次结构为:
记录编号:整型数据类型
姓名 : 字符串
性别 : 字符串
出生日期 : 字符串
**: 字符串。
qq号码: 字符串。
通讯地址: 字符串。
邮政编码: 字符串。
电子邮箱: 字符串。
结构类型定义为全局标识符:
struct addbook通讯录信息结构 */
int record
char name[15姓名 */
char sex[5性别 */
char birth[15出生日期 */
char addr[20通讯地址 */
char telphone[15]; 联系** */
char qq号码 */
char postnum[10]; 邮政编码 */
char email[20电子邮箱 */
二) 模块划分。
依据程序的数据结构和功能,遵照“自顶向下”原则,采用基于函数的逐步求精法,描述该程序的层次结构。图1显示出该程序的层次结构,共三层。第1层。
第2层。第3层。
三)函数原型清单。
1)编辑联系人信息。
void load();
2) 查找联系人信息。
void find();
3) 修改联系人信息。
void modify();
4) 删除联系人信息。
void delete();
5) 显示所有联系人。
void showall();
0)退出保存到磁盘文件。
void s**e();
四)程序整体框架。
模块层次结构,只确定了模块之间的关系和函数原型,不是程序的执行步骤。程序总体框架是该程序的总体流程图。该程序不是顺序连续地执行全部功能,而是在某一时刻有选择地执行一种或多种功能。
因此,选用菜单方式是较佳的方案。程序总体框架如下图所示。
三、 功能模块函数设计和调试。
一) 按联系人姓名查找信息条目。
1、 函数原型、功能和形参说明。
函数原型:void find(void)
函数功能:按联系人姓名查找通讯录,包括性别、生日、**、qq号码、电子邮箱、地址、和邮政编码等。
参数说明:char name[15] /姓名参数数组*/
file *fp /*文件指针*/
c字符常量 */
2、 函数流程图。
3、 运行结果。
四、 程序清单。
#include <>
#include <>
#include <>
#include <>
#define len sizeof(struct addbook)
#define max 50
void initdialbook(void);
void userinterface(void);
void load(void);
void add(void);
void find(void);
void modify(void);
void delete(void);
void showall(void);
void s**e(void);
struct addbook{
int record;
char name[15];
char sex[5];
char birth[15];
char addr[20];
char telphone[15];
char ];
char postnum[10];
char email[20];
struct addbook *link;
file *fp;
struct addbook *p,*p1,*head,*s,*t;
struct addbook phonebook;
main()
int flag;
int choice;
if((fp = fopen(""rb"))null)
system("cls");
printf("\t\t\tthe file dose not exsit!");
if((fp = fopen(""wb"))null)
printf("error!");
getch();
exit(0);
if(fgetc(fp)==1)
printf("\t\tthere is no message,please edit.");
initdialbook();
printf("\t\t\tok!");
printf("\t\tif you need more,please press 'y';or,press 'n'");
* exit(0);
rewind(fp);
load();
fclose(fp);
* printf("this is the no.%d member.",p->record);
flag = 1;
while(flag)
userinterface();
printf("please input:(0-5):"
scanf("%d",&choice);
getchar();
if(choice>=0&&choice<6)
switch(choice)
case 1:
add();break;
case 2:
find();break;
case 3:
showall();break;
case 4:
delete();break;
case 5:
modify();break;
case 0:
flag = 0;
system("cls");
printf("\t\t\tthank for use!!!
getch();
break;
else{printf("errow!");
fp = fopen(""wb");
s**e();
fclose(fp); system("cls");
printf("\t\t\tany key to exit!");
getch();
return 0;
void initdialbook(void)
p = phonebook;
p->record = 1;
printf("\t\tplease input name:")
gets(p->name);
printf("\t\tplease input sex:")
gets(p->sex);
printf("\t\tplease input birth:")
gets(p->birth);
printf("\t\tplease input addr:")
gets(p->addr);
printf("\t\tplease input telphone:")
高级语言程序设计
总分 100.00,做题时间 90分钟 一 单项选择题 总题数 15,分数 30.00 语言早期规定建立文件缓冲区采用的形式是 分数 2.00 a.缓冲文件系统。b.非缓冲文件系统。c.分页文件系统。解析 2.以下是对二维数组的正确说明的是 分数 2.00 a 3,4 a 1 4 a 3 4 解析 ...
高级语言程序设计
班级学号 021110212 姓名 卢荼 同组同学。成绩。时间 2011.6 28 题目 班级档案管理系统。一 设计任务与目标。对一个有n个学生的班级,通过该系统实现对该班级学生的基本信息进行录入 显示 修改 删除 保存等操作的管理。功能要求 1 本系统采用一个包含n个数据的结构体数组,每个数据的结...
高级语言程序设计
36.下面程序的运行结果是。include void main int a 2,b 1,c 2 if aif b 0 c 0 else c printf c d c 参 考察知识点 if语句的嵌套。运行结果 c 2 下面程序的运行结果是。include void main int a,b,c a 3...