计算机科学与技术专业实习报告模板(生产、专业实习、C语言实训)20xx版--1350423

时间:2024.4.13

防灾科技学院

实习报告书

防灾科技学院灾害信息工程系

20##年制



六、实习内容及步骤:(3000字左右)

1 ***管理系统

1.1. 系统开发思路(需求分析)(300字左右)

1.2. 数据结构设计(500字左右)

  将使用的每个对象的结构体类型给出

1.3. 系统设计与实现

1.3.1主要函数设计

1.3.2系统主要流程图

1.3.3系统功能设计与实现

......

1.4. 系统测试

给出测试数据和测试结果

1.5. 结论(300字左右)

1.5.1本次实习取得的成绩

1.5.2系统存在的问题

1.5.3总结

2 ***游戏

2.1. 系统开发思路(需求分析) (300字左右)

2.2. 数据结构设计(500字左右)

  将使用的每个对象的结构体类型给出

2.3. 系统设计与实现

2.3.1主要函数设计

2.3.2系统主要流程图

2.3.3系统功能设计与实现

......

2.4. 系统测试

给出测试数据和测试结果

2.5. 结论(300字左右)

2.5.1本次实习取得的成绩

2.5.2系统存在的问题

2.5.3总结

要求:

1.文档为宋体小四号字体,1.5倍行距。

2.文档中所用图表编号方式与毕业设计格式相同。

3.每个章节要分页


第二篇:20xx暑假c语言实习报告3


手机通讯录管理系统设计

一、 实习的目的

加深对《C语言》课程所学知识的理解,进一步巩固C语言编程方法。学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备解决综合性实际问题的能力,加强动手能力。

二、 课程设计的题目与要求

1、 题目:手机通讯录管理系统设计

注:要求整个系统设计为数据查看模块、数据添加模块、数据修改模块、数据删除模块。

[基本要求] 要能提供以下几种功能:

(1)查看功能:选择此功能时,列出下列三类选择:

A:办公类 B:个人类 C:商务类

(2)查询功能:当选中某类时,显示出此类所有数据中的姓名和电话号码

(3)添加数据功能:能录入新数据,每个结点包括:姓名,电话号码,分类(可能选项有:w为办公类 p为个人类 b为商务类),电子邮件。

例如: 杨春 135xxxxxxxx 商务类 chuny@126.com 当录入重复的姓名和电话号码时,则提示数据录入重复并取消录入;当通讯录中超过50条信息时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号。

(4)修改功能:选中某个人的姓名时,可对此人的相应数据进行修改。

(5)删除功能:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调。

【提示】

(1)需求分析

手机通讯录采用文件储存,因而要提供文件的输入/输出操作;要实现查看功能,需要提供显示操作;在增加新数据的过程中要检查是否有重复、储存空间是否已满,且录入的新数据能按递增的顺序自动进行条目编码,因而要提供查找、统计和排序操作;要提供修改、删除和自动调整编号功能;另外,还要提供键盘是选择菜单以实现功能选择。

(2)总体与结构

整个系统可以设计为数据查看模块、数据添加模块、数据修改模块、数据删除模块。建立结构体,结构体成员包括姓名、电话号码、分类、电子邮件。

三、程序的总体设计与分析

这个程序的综合性很强,需要用到函数的声明与调用,结构体的构建、文件的储存以及构建模块。首先,因为每个个体有多种信息,所以要建立结构体来储存和整合各个信息。然后利用模块来分别实现程序的各个功能。各个模块用函数来实现。在通过主函数来判断输入字母,从而调动函数,实现所需功能。最后将输入的文件保存在文件里,以便重复使用。

根据题目的要求,需要构建的模块有:添加,查看,删除,修改,保存五个模块。在模块中通过调用各个函数来实现功能。

1、程序主框架如下:

20xx暑假c语言实习报告3

四、分解程序---程序的组成

(1)、构建结构体,写入文件

FILE *fp;

int i;

struct address

{ char a[40]; ////email地址

};

struct ffriend

{ int num;

char name[20];

char kind[20];

long telephone;

struct address address;

}

friends[50];

(2)、构造显示模块

void Show(int j)

{

system("cls"); //实现分屏操作的函数

printf("\n\n\t编号-Nnumber: %3d",friends[j].num); printf("\n\t姓名-Name:%-20s",friends[j].name);

printf("\n\t性别-kind:%s",friends[j].kind);

printf("\n\t联系电话-Telephone:%-13ld",friends[j].telephone); printf("\n\temail-address:%-40s",friends[j].address.a); }

(3)、构造增加模块

void Append(int j)

{

system("cls"); //实现分屏操作的函数

friends[j].num=j;

printf("\n\t\t\t序号-Number : %d",j);

printf("\n\t\t\t姓名-Name : ");

scanf("%s",friends[j].name);

printf("\t\t\t类别-kind : ");

scanf("%s",&friends[j].kind);

printf("\t\t\t联系电话-telephone : ");

scanf("%ld",&friends[j].telephone);

while(friends[j].telephone<0||friends[j].telephone>16000000000) {

printf("电话号码不合法!请重新输入:");

scanf("%ld",&friends[j].telephone);

}

printf("\t\t\temail-Address : ");

scanf("%s",friends[j].address.a);

getchar();

}

(4)、构造删除模块

void Delete()

{

int k;int j;

system("cls");

printf("\n\tDelete 序号-Number : ");

scanf("%d",&k);

if(k<=i)

{

for(j=k;j<i+1;j++) /*插入位置后的元素顺序后移*/ {

strcpy(friends[j].name,friends[j+1].name); //*交换元素内容* strcpy(friends[j].kind,friends[j+1].kind);

friends[j].telephone=friends[j+1].telephone;

strcpy(friends[j].address.a,friends[j+1].address.a); }

i--;

}

else

{

printf("输入的序号太大!");

}

}

(5)构造修改模块

void Modify(int j)

{

system("cls"); //实现分屏操作的函数

Append(j);

}

(6)构造储存函数

void Save()

{

int i,j;

system("cls");

printf("\n\n\t\t请耐心等待,信息正在保存!\n");

printf("\n\n\n\n\t\t\tSaving");

for(i=0;i<20;i++)

{

Sleep(300);

printf(".");

}

printf("\n\n信息已经保存成功!\n");

fp=fopen("friend.txt","w"); //打开文件friend.txt for(j=1;j<=i;j++) {

fwrite(&friends[j],sizeof(struct ffriend),1,fp);

}

fclose(fp);

}

(7)、主程序---用switch语句判断输入者要使用的功能,然后调用函数,模块实现功能。

void main()

{

int j;char a;char x;

char grade;

char searchkind[20];

char searchname[20];

i--;

system("cls");

do

{

printf("\n\n\t\t\t=========================================\n"); printf("\t\t\t\t手机通讯录\n");

printf("\t\t\t\t功能选择\n");

printf("\t\t\t=========================================\n"); printf("\t\t\t A.查看*\n");

printf("\t\t\t B.增添*\n");

printf("\t\t\t C.删除*\n");

printf("\t\t\t D.查询*\n");

printf("\t\t\t E.修改*\n");

printf("\t\t\t F.保存*\n");

printf("\t\t\t=========================================\n");

printf("\t\t\n请选择(Choice)\n\n\t\t注:~h或A~H的字母:"); scanf("%c",&grade);

switch(grade)

{

case 'a':

case 'A': j=0;

while(getchar()!=0x1b&&j<=i)

{

Show(j++);

printf("\n\n请按回车键继续!");

}

while(getchar()==0x1b||j>i)

{

printf("\n\t空文档,无任何记录-Empty Note\n");

printf("\n\n请按回车键继续!");

getchar();

break;

}

printf("\n\t\t\t\t\t\t\t此次操作结束");

printf("\n\t------------------------------------------------------------\t\t\n");

break;

case 'b':

case 'B':

while(i<=50)

{

i++;

Append(i);

printf("\t是否继续增加?(y/n)");

a=getchar();

if(a=='n')

break;

}

if(i==51)

printf("\n\t文档已满,无法增加记录-note full");

printf("\n\t\t\t\t\t\t\t此次操作结束");

printf("\n\t------------------------------------------------------------\t\t\n");

getchar();

break;

case 'c':

case 'C':

Delete();

if(i<1)

printf("\n没有记录-No records\n");

printf("\n\n请按回车键继续!");

getchar();

getchar();

printf("\n\t\t\t\t\t\t\t此次操作结束");

printf("\n\t------------------------------------------------------------\t\t\n");

break;

case 'd':

case 'D':

system("cls");

printf("\n\t请输入要查询记录的相关类别: p.个人类 b.商务类 w.办公类"); //增添查询按列号的

scanf("%s",searchkind);

getchar();

for(j=0;j<=i;j++)

{

if(strcmp(searchkind,friends[j].kind)==0)

{

Show(j);

} getchar();}

break;

case 'e':

case 'E':

printf("\n\t请输入要修改记录的相关姓名:");

gets(searchname);

scanf("%s",searchname);

for(j=0;j<=i;j++)

{

if(strcmp(searchname,friends[j].name)==0)

{

Modify(j);

} }

if(i<1)

{ printf("\n 没有您所要修改的记录-No records");

printf("\n 请按回车键继续!");

getchar();

getchar();

}

printf("\n\t\t\t\t\t\t\t此次操作结束");

printf("\n\t------------------------------------------------------------\t\t\n");

break;

case 'f':

case 'F':

system("cls");

Save();

getchar();

printf("\n\t\t\t\t\t\t\t此次操作结束");

printf("\n\t------------------------------------------------------------\t\t\n");

break;

default:

printf("\n\t输入有误,请输入正确的序列号!");

printf("\n请按回车键继续!");

getchar();

printf("\n\t\t\t\t\t\t\t此次操作结束");

printf("\n\t------------------------------------------------------------\t\t\n");

}

}while(1);

}

整个程序的组成如上:写入文件的结构体、各函数模块和实现函数的主程序。由这三部分实现功能!

五、运行结果

(1)、主界面

20xx暑假c语言实习报告3

(2)增加通讯录数据

20xx暑假c语言实习报告3

(3)、按顺序查看通讯录

20xx暑假c语言实习报告3

(4)、根据相关类别查询通讯录

20xx暑假c语言实习报告3

20xx暑假c语言实习报告3

(5)根据序列号删除通讯录名单

20xx暑假c语言实习报告3

(6

20xx暑假c语言实习报告3

)根据姓名修改通讯录资料

重新输入数据:

20xx暑假c语言实习报告3

(7)保存文件信息

20xx暑假c语言实习报告3

更多相关推荐:
计算机科学与技术实习报告

目录一实习计划1二实习目的1三实习内容2四实习日志3五实习总结6六致谢7七实习单位评语7八成绩评定8一实习计划3月01日详细了解实习内容和时间明确实习期间所要完成的任务进一步修订计划表3月04日安装思科路由器交...

计算机科学与技术专业毕业实习报告

计算机学院本科毕业实习报告院系计算机学院专业班级09计算机科学与技术3班学生姓名成绩指导老师提交日期

计算机科学与技术专业实习报告

西安科技大学计算机科学与技术学院生产实习报告姓名学号系别专业计算机科学与技术年级班级实习单位填表时间20xx年1月7日个人基本信息实习报告实习鉴定

计算机科学与技术 毕业实习报告

新疆财经大学计算机科学与工程学院毕业实习报告学号20xx101784姓名吴慧班级061班实习单位石河子市科技咨询服务中心实习时间20xx年3月8日至20xx年4月23日指导教师杨晓梅二一年四月一实习内容1实习目...

计算机科学与技术专业认识实习报告

编号成绩计算机科学与技术学院认识实习报告题目学习和认识校园网的组建及其拓扑结构学生姓名专业班级学号评阅教师时间20xx年7月计算机科学与技术学院制认识实习报告认识实习报告认识实习报告认识实习报告认识实习报告认识...

计算机科学与技术认识实习报告

计算机科学与技术认识实习报告学院:海南大学三亚学院专业:计算机科学与技术学号:1010711015姓名:李媛媛一:认知实习目的计算机科学与技术专业10级学生在学校对计算机理论方面的知识有了初步的了解,为了增加学…

计算机科学与技术专业见习报告

随着计算机技术的飞速发展,计算机在企业管理中应用的普及,各个行业都在积极使用现代化的手段,利用计算机实现企业人事、工资、材料、财务等方面的管理势在必行,这些都在很大程度上给企业提出越来越严峻的挑战,对企业体系无…

计算机科学与技术专业实习报告

计算机科学与技术专业实习报告实习单位蒙自宏远电脑经营部院系工学院专业计算机科学与技术学生姓名学号日期指导教师计算机科学与技术专业实习报告了正式的上岗首先师傅给我讲解大概的电脑安装顺序电脑安装主要是主机的安装各个...

计算机科学与技术专业见习报告模板

计算机科学与技术专业见习报告学生姓名学号系别计算机系专业网络工程班级10级3班指导教师胡德斌20xx年5月1日计算机科学与技术专业见习报告20xx级3班xxx姓名见习时间20xx年4月22日4月28日见习单...

计算机科学与技术oracle实习报告

酒店管理系统电气与信息工程学院数据库开发技术课程设计设计题目年级专业组长小组成员指导教师完成日期酒店管理系统酒店管理系统设计摘要随着信息化建设的发展酒店服务业与国际市场接轨已成为大势所趋酒店业要迎接这场挑战就必...

Bexfgah计算机科学与技术毕业实习报告

生命中不断地有人离开或进入于是看见的看不见的记住的遗忘了生命中不断地有得到和失落于是看不见的看见了遗忘的记住了然而看不见的是不是就等于不存在记住的是不是永远不会消失河北建筑工程学院毕业实习报告系别计算机系专业计...

计算机科学与技术毕业实习报告

专科88999学生姓名学号院系网络教育学院专业计算机科学与技术毕业时间20xx年6月华南师范大学网络教育学院专科毕业实习总结1目的通过计算机的基本维护以及使用将学到的知识应用化并在实践之中获取未知的知识为以后的...

计算机科学与技术专业实习报告(31篇)