C语言实训报告

C语言实训报告
C语言实训报告

苏州市职业大学实习(实训)报告名称程序逻辑设计与编程规范实训

2014年6月8日至2014年6月14日共1 周

学院(部) 计算机工程学院

班级计算机网络技术

姓名xxxxx

学院(部)负责人xxxx

系主任xxxx

指导教师x x x x x x x x

目录

一、实训目的与要求 (3)

二、题目说明 (3)

三、总体设计 (4)

3.1.软件模块结构图 (4)

3.2.程序流程图: (4)

四、详细设计和实施 (5)

4.1.函数详解与代码 (5)

4.2运行结果,图片显示: (15)

五、遇到的问题和解决方法 (17)

六、实训总结 (18)

七、参考文献 (18)

附录(源程序代码) (18)

一、实训目的与要求

1、实训目的:

利用《程序逻辑设计与编程规范》课程中所学到的编程知识和编程技能,完成达到规定难度和工作量的程序设计题目,帮助掌握编程、调试的基本技能。

通过亲自设计程序,熟悉c语言操作,更熟练的掌握c语句。初步体会编程的过程,为将来的程序深入学习打下基础和培养兴趣。

2、实训要求:

在实训过程中要求态度认真、重视实训环节,用严谨、科学和踏实的工作态度对待实训的每一项任务;按照实训的题目要求,独立地完成各项任务,不允许相互抄袭;按时到机房上机,并接受教师的检查。认真编写实训报告。

编辑c语言需要细心、耐心,还必须有钻研精神。在调试程序时需要反复的修改代码,以确保运行结果正确。

二、题目说明

职工信息管理系统设计

职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。

试设计一职工信息管理系统,使之能提供以下功能:

1、系统以菜单方式工作

2、职工信息录入功能--输入

3、职工信息浏览功能--输出

4、职工信息查询功能--算法

查询方式:按学历查询等;按职工号查询等;

5、职工信息删除、修改功能(可选项)

三、总体设计

3.1.软件模块结构图

3.2.程序流程图:

开始

显示菜单

输入功能代码

input( ) display( ) search( ) del( ) add( ) exit(0 )

结束

显 示 主 菜 单

输 入 函 数 写 入 函 数 导 出 函 数 浏 览 函 数 查 询 函 数 删 除 函 数 添 加 函 数

四、详细设计和实施

4.1.函数详解与代码

1、定义头文件、主函数:main( )

先声明所有将会调用到的函数名。再运用选择函数switch即可根据使用者所输入的功能代号进入对应的功能程序。定义一个全局指针变量*p和全局变量a。a表示当前系统中职工人数,p指向a的地址,追踪人数变化,这样在添加或者删除导致人数变化后,浏览函数display()能够正确显示出当前人数的职工信息。宏定义define N指定首次输入的职工人数,可根据需要更改,变化。#include

#include

#include

#define N 3

struct employee

{

int number,age,wage;

char name[20],sex[10],address[30],xueli[20];

long int telephone;

}em[N];

int a=N;

int *p=&a;

main( )

{

void search();

void search_name();

void search_xueli();

void search_number();

void load();

void display();

void del();

void input();

void add();

void save();

int n;

printf("\n");

printf(" ******************职工信息管理****************\n");

printf("\n");

printf(" 1.录入职工信息\n");

printf(" 2.浏览职工信息\n");

printf(" 3.查询职工信息\n");

printf(" 4.删除职工信息\n");

printf(" 5.添加职工信息\n");

printf(" 6.退出\n");

printf("\n");

scanf("%d",&n);

switch(n)

{

case 1:printf(" 输入职工信息\n");

printf("\n");input( );main( );break;

case 2:printf(" 浏览职工信息\n");

printf("\n");display(*p);main( );break;

case 3:printf(" 查询职工信息\n");

printf("\n");search();break;

case 4:printf(" 删除职工信息\n");

printf("\n");del(p);break;

case 5:printf(" 添加职工信息\n");

printf("\n");add(p);break;

case 6:exit(0);break;

default :break;

}

}

2.输入函数void input()

用for语句来循环输入职工的信息,printf语句提示需要输入的内容,scanf语句输入相应的信息。输入结束再用保存函数save(N)将输入的信息放入指定的文件d:\\abc.txt

void input()

int i;

for(i=0;i

{

printf("请输入职工号: ");

scanf("%d",&em[i].number);

printf("请输入姓名: ");

scanf("%s",em[i].name);

printf("请输入性别: ");

scanf("%s",&em[i].sex);

printf("请输入年龄: ");

scanf("%d",&em[i].age);

printf("请输入学历: ");

scanf("%s",em[i].xueli);

printf("请输入工资: ");

scanf("%d",&em[i].wage);

printf("请输入住址: ");

scanf("%s",em[i].address);

printf("请输入电话: ");

scanf("%d",&em[i].telephone);

printf("\n");

}

printf("\n创建完毕!\n");

save(N);

}

3.保存函数void save(int m)

定义整形变量i,文件指针,fopen打开指定的文件。先用if语句判断文件是否打开成功,若返回值为0,则继续操作。用for循环通过fprintf语句将数组em中的内容保存在文件中。

void save(int m)

{

int i;

FILE*fp;

if(!(fp=fopen("d:\\abc.txt","w")))

printf("打开失败");

exit(0);

}

for(i=0;i

fprintf(fp," %d %5s %5s %d %s %d %s %ld \n",em[i].number,

em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,

em[i].address,em[i].telephone);

fclose(fp);

}

4.导出函数void load(int b)

定义整形变量i和文件指针,先用if语句判断文件是否打开成功,若返回值为0,则继续操作。用for循环通过fscanf语句将文件中的信息取出放到数组em中。

void load(int b)

{

int i;

FILE*fp;

if(!(fp=fopen("d:\\abc.txt","r")))

{

printf("打开失败");

exit(0);

}

else

for(i=0;i

fscanf(fp," %d %5s %5s %d %s %d %s %ld \n",&em[i].number,&em[i].name,&em[i].sex,&em[i].age,&em[i].xueli,&em[i].wage,&em[i].ad dress,&em[i].telephone);

fclose(fp);

}

5.浏览函数void display(int a)

声明整形变量i和b,其中i记录输出的职工序数,b用来接收调用浏览函数时所传递过来的实参,接着将其值传递给导出函数load(b),使得导出的职工人数与浏览的职工人数保持一致。通过调用load函数,用for循环输出每个职工的各种信息。

void display(int a)

{

int i,b=a;

load(b);

printf("\n职工号姓名性别年龄学历工资住址电话\n");

for(i=0;i

printf("%d %5s %5s %d %s %d %s %ld\n",em[i].number,em[i].name,em[i].sex,em[i] .age,em[i].xueli,em[i].wage,em[i].address,em[i].telephone);

printf("\n");

}

6 .查询函数void search( )

声明整形变量t,先用 printf语句显示查询菜单,用 scanf输入选择的查询方式代号,用switch(t)进入所选择的具体查询函数,包括按职工号查询、按姓名查询、按学历查询三种方式. void search( )

{

int t;

printf("\n按职工号查询按1\n按姓名查询请按2");

printf("\n按学历查询请按3\n返回主菜单请按4\n");

scanf("%d",&t);

switch(t)

{

case 1:printf("\n按职工号查询\n");search_number(); break;

case 2:printf("\n按姓名查询\n");search_name(); break;

case 3:printf("\n按学历查询\n");search_xueli(); break;

case 4:main();break;

default :printf("输入错误,请重新输入!\n");

search( );

break;

}

}

7.三种方式查询职工信息:按职工号查询;按姓名查询;按学历查询。

按职工号查询void search_number()

声明整形变量i,number,调用导出函数load(*p)。用scanf语句输入要查询的职工号,用for 循环判断em.number中是否有输入的职工号,若有,则输出相应信息,跳出循环。若没有,则输出“查无此人”,返回查询菜单。

void search_number()

{

int i,number;

load(*p);

printf("\n请输入要查询的职工号:");

scanf("%d",&number);

for(i=0;i<*p;i++)

if(number==em[i].number)

{

printf("\n该职工信息如下:\n");

printf("\n职工号姓名性别年龄学历工资住址电话\n");

printf("%d %5s %5s %d %s %d %s %ld\n",em[i].number,em[i].name,em[i].sex,em[i] .age,em[i].xueli,em[i].wage,em[i].address,em[i].telephone);

printf("\n");

break;

}

if(i==*p)

printf("\n查无此人\n");

search();

}

按姓名查询void search_name( )

声明整形变量i和字符型数组name[20],调用导出函数load(*p)。用scanf语句输入要查询的职工名字,用for循环,if语句判断https://www.360docs.net/doc/5316695205.html,中是否有输入的职工信息,若有,则输出相应信息;若无,则输出“查无此人”,返回查询菜单。

void search_name()

{

int i;

char name[20];

load(*p);

printf("\n请输入要查询的姓名:");

scanf("%s",name);

for(i=0;i<*p;i++)

if(!strcmp(em[i].name,name))

{

printf("\n该职工信息如下:\n");

printf("\n职工号姓名性别年龄学历工资住址电话\n");

printf("%d %5s %5s %d %s %d %s %ld\n",em[i].number,em[i].name,em[i].sex,em[i] .age,em[i].xueli,em[i].wage,em[i].address,em[i].telephone);

printf("\n");

break;

}

if(i==*p)

printf("\n查无此人\n");

search();

}

按学历查询void search_xueli( )

声明整形变量i,k,字符型数组xueli[20]。调用导出函数,用scanf输入要查询的职工学历,查询时可能有多个职工有相同的学历,采用另一种方法,判断并执行一次后继续循环,找出所有相同学历的职工;解决输入错误提示“查无此人”,还得需要一段for循环,通过k记录循环的次数,若最后仍无结果,则输出“查无此人”,返回查询菜单。

void search_xueli()

{

int i,k=0;

char xueli[20];

load(*p);

printf("\n请输入要查询的学历:");

scanf("%s",xueli);

for(i=0;i<*p;i++)

if(!strcmp(em[i].xueli,xueli))

{

printf("职工号姓名性别年龄学历工资住址电话\n");

printf("%d %5s %5s %d %s %d %s %ld\n",em[i].number,em[i].name,em[i].sex,em[i] .age,em[i].xueli,em[i].wage,em[i].address,em[i].telephone);

for(i=0;i<*p;i++)

{

if(!strcmp(em[i].xueli,xueli))

break;

else k++;

}

if(k==*p)

printf("\n查无此人\n");

search();

}

8.删除函数void del(int *b)

声明整形变量i,j,t,m,a和char形数组name[20]。调用浏览函数display(a),显示所有职工信息。用printf语句提示“输入要删除的职工名字”,用scanf语句输入删除对象名字。用for循环,先判断https://www.360docs.net/doc/5316695205.html,中是否存在所输入的名字。若存在,printf语句提示是否确认删除,用scanf 语句输入确认指令,再用for循环从要删除的这个职工开始,依次用后一个职工的信息覆盖前一个的。循环结束后当前职工人数a自减1,并保存,跳出大循环;若不存在,输出“输入错误,无此人”。再将a的新值附给*b,实参p所指的人数地址中的人数也随即改变删除后的人数。printf提示下一步操作“继续删除请按1\n浏览信息请按2\n返回主菜单请按3”。switch根据键盘输入的指令代号选择下一步连接的函数。

void del(int *b)

{

int i,t,j,m;

int a=*b;

char name[20];

printf("\n所有职工信息:\n");

display(a);

printf("\n请输入要删除职工的名字:");

scanf("%s",name);

for(i=0;i

{

if(!strcmp(em[i].name,name))

printf("\n确认删除请按1\n取消请按2\n");

scanf("%d",&t);

if(t==1)

{

for(j=i;j

{

em[j].age=em[j+1].age;

em[j].wage=em[j+1].wage;

em[j].number=em[j+1].number;

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

strcpy(em[j].xueli,em[j+1].xueli);

strcpy(em[j].name,em[j+1].name);

strcpy(em[j].address,em[j+1].address);

strcpy(em[j].sex,em[j+1].sex);

}

a--;

save(j);

break;

}

if(t==2)

break;

}

}

if(i==a)

printf("\n输入错误,无此人\n");

*b=a;

printf("\n继续删除请按1\n浏览信息请按2\n返回主菜单请按3\n"); scanf("%d",&m);

switch(m)

{

case 1:del(p);break;

case 2:display(*b);main();break;

case 3:main();break;

default:break;

}

}

9.添加函数void add(int *a)

声明整形变量i,n,m,定义指针文件fp,追加打开文件,若打开失败,则退出;若成功,则继续操作,用for循环输入要添加的信息,再用另外一个for循环将输入的信息写入文件中,关闭文件。再调用switch语句选择下一步操作,并连接到相应函数。

void add(int *a)

{

int i,n,m;

FILE*fp;

if(!(fp=fopen("d:\\abc.txt","a")))

{

printf("打开失败");

exit(0);

}

printf("\n请输入想添加的人数:\n");

scanf("%d",&n);

for(i=*a;i

{

printf("请输入职工号: ");

scanf("%d",&em[i].number);

printf("请输入姓名: ");

scanf("%s",em[i].name);

printf("请输入性别: ");

scanf("%s",&em[i].sex);

printf("请输入年龄: ");

scanf("%d",&em[i].age);

printf("请输入学历: ");

scanf("%s",em[i].xueli);

printf("请输入工资: ");

scanf("%d",&em[i].wage);

printf("请输入住址: ");

scanf("%s",em[i].address);

printf("请输入电话: ");

scanf("%d",&em[i].telephone);

printf("\n");

}

printf("\n添加完毕\n");

for(i=*a;i

fprintf(fp,"%d %5s %5s %d %s %d %s %ld \n",em[i].number, em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,

em[i].address,em[i].telephone);

fclose(fp);

*a=*a+n;

printf("\n浏览新信息请按1\n返回主菜单请按2\n");

scanf("%d",&m);

switch(m)

{

case 1:display(*a);main();break;

case 2:main();break;

default:break;

}

}

4.2运行结果,图片显示:

五、遇到的问题和解决方法

整个程序代码是分块书写的,每个函数都可以独立运行。只有输入函数查询菜单函数写得很顺利,一次性就能够成功运行,其他函数在调试过程中或多或少都出现了问题。

1、保存函数save()在调试和链接的时候都没有出现错误提示,但在运行的时候出现了问题。写入指定位置的文件,打开后总会有乱码。与c语言课本上的例题对照后发现,我写的fopen("d:\\bbb","w")没有指定文件的存储类型。解决方法:在文件名bbb后面加上.txt后即可。

2、导出函数load()遇到两个问题。1是为图方便直接将保存函数复制过来进行修改时,忘了修改文件的打开方式,不能运行。经多次检查后终于发现了,解决:将只写"w"改为只读"r"。2是用fscanf语句时,漏写地址符。调试和链接都没问题,但点击运行后,总出现一个提示出错的蓝色小窗口。经老师提时候发现了错误所在。解决:在em[i].name等之前加上地址符。

3、浏览函数display()遇到的问题虽然不大,但解决起来很麻烦。理想的运行结果是美观整齐。即下面的职工信息分别与第一个printf输出的中文项目提示对齐。解决方法:不断修改空格个数,不断运行察看效果。

4、按学历查询函数search_xueli(),要考虑输入一种学历,可能对应出很多职工,这就不能延用按姓名和职工号查询中判断是否输入错误的方法了。为了显示出所有具有该学历的职工,就需要让for循环一直运行到最后一个为止。这时计量数i始终会等于职工人数,不能再用i来判断是否不存在此人。这就需要再定一个整形变量k,用来计量单独的一个循环次数。

5、添加函数add()遇到的问题是用printf输入新职工信息后,保存到文件里面,发现原有的信息不见了。解决:文件打开方式改用"a"追加写入。

六、实训总结

经过一学期的C语言学习,我掌握了C语言的基础知识,能够读懂别人用c语言设计的程序。平时的程序设计大多是以填空的形式出现,虽然有所接触,但都不完全。而这周的课程设计,却让我完完全全用自己学到的知识编写一个完整的体统程序。这是一个新的挑战,也是一种新的学习。

我选择的是题目中的第一个——职工信息管理系统。这需要自己设计一个系统,可以输入信息,保存到文件里,再从文件里调出来,使之显示在屏幕上,进行删除、添加等对信息的修改。初看到这个题目觉得很简单,但当我做到电脑前准备开始编写代码的时候才发现无从下手。通过去图书馆查找程序设计相关的书籍,和上网参考前人编写的类似程序,我脑中才有了一个大概方向。

但具体编写过程中,可谓困难重重。反复调试程序、修改代码,再运行。经过N次之后才成功。

七、参考文献

[1] 实用C语言程序设计教程

主编:李金祥顾小晶副主编:陈静陈小英李爱军

附录(源程序代码)

《C语言程序设计》实习报告

重庆城市管理职业学院 《C语言程序设计》实习报告 班级软件A1501 专业软件技术 学号 学生姓名 指导教师 评定成绩 信息工程学院 2016年06月 21 日

题目: 给小学生出加法考试题 编写一个程序,给学生出一道加法运算题,然后判断学生输入的答案对错与否,按下列要求以循序渐进的方式编程。 程序 1 通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则显示“Not correct! Try again!”,程序结束。 程序 2 通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则显示“Not correct! Try again!”,直到做对为止。 程序 3 通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则提示重做,显示“Not correct! Try again!”,最多给三次机会,如果三次仍未做对,则显示“Not correct! You have tried three times! Test over!”,程序结束。 程序4 连续做10道题,通过计算机随机产生两个1~10之间的加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则显示“Not correct!”,不给机会重做,10道题做完后,按每题10分统计总得分,然后打印出总分和做错的题数。 程序5 通过计算机随机产生10道四则运算题,两个操作数为1~10之间的随机数,运算类型为随机产生的加、减、乘、整除中的任意一种,如果输入答案正确,则显示“Right!”,否则显示“Not correct!”,不给机会重做,10道题做完后,按每题10分统计总得分,然后打印出总分和做错题数。 实习目的: 1、进一步掌握和利用C语言进行程设计的能力。 2、进一步理解和运用结构化程设计的思想和方法。 3、初步掌握开发一个小型实用系统的基本方法。 4、学会调试一个较长程序的基本方法。 5、学会利用流程图或N-S图表示算法。 6、掌握书写程设计开发文档的能力(书写实习报告)。 实习要求: (1) 系统分析: 将系统计算的值与答案相比较,相等则输出‘right’,不相等则输出‘No correct!Try again!’。

C语言实训报告

C语言程序设计 实训报告 题目:红外避障机器人 院(系):信息工程系 专业:通信工程 学生姓名:韦嘉宝 学号: 24 指导教师:朱震周斌王旬全刘辉 2016 年10月8 日 目录 摘要 (1) 设计要求 (2) 设计步骤 (3) 代码编写 (4) 心得体会 (5) 参考文献 (6)

许多机器人使用雷达(RADAR)或者声纳(SONAR)来探测物体而不需要同物体接触。本文的方法是使用红外光来照射机器人前进的路线,然后确定何时有光线从被探测目标反射回来,通过检测反射回来的红外光就可以确定前方是否有物体。由于红外遥控技术的发展,现在红外线发射器和接收器已经很普及并且价格很便宜。 随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器、并行和串行接口、看门狗、前置放大器、A/D转换器、D/A转换器等多种电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。这种技术促使机器人技术也有了突飞猛进的发展,目前人们已经完全可以设计并制造出具有某些特殊功能的简易智能小车。 机器人使用红外线二极管LED 作为前灯,如图6-1 所示。红外线二极管发射红外光线,如果机器人前面有障碍物,红外线从物体反射回来,相当于机器人眼睛的红外检测(接收)器,检测到反射回的红外光线,并发出信号来表明检测到从物体反射回红外线。机器人的大脑——单片机A T89S52 基于这个传感器的输入控制伺服电机。红外线(IR)接收/检测器有内置的光滤波器,除了需要检测的980 nm 波长的红外线外,它几乎不允许其他光通过。红外检测器还有一个电子滤波器,它只允许大约38.5 kHz 的电信号通过。换句话说,检测器只寻找每秒闪烁38500 次的红外光。这就防止了普通光源像太阳光和室内光对IR 的干涉。太阳光是直流干涉(0Hz)源,而室内光依赖于所在区域的主电源,闪烁频率接近100 Hz 或120 Hz。由于120 Hz 在电子滤波器的38.5 kHz 通带频率之外,它完全被IR 探测器忽略。 本任务将搭建并测试红外线发射和检测器对。本讲需要用到的新部件如下: 元件清单 (1)红外检测器,2 个。 (2)IR LED(带套筒),2 个。 (3)470? 电阻,2 个。 (4)连接线,若干。 二、设计要求 (1)小车能够完成前进、后退、左转、右转等动作。 (2)机器人能够读出传感器电平变化,并作相应的动作变化。 (3)利用机器人所装配的两个探测器,探测和避开障碍物。 三、设计步骤

c语言实践报告

实 验 报 告 二级学院:信息与工程学院 系别:计算机科学与技术系 专业:信息管理与信息系统 课程名称:高级语言程序设计 班级:姓名: 实验名称: 电话订餐信息处理 实验目的: 题目要求: 一个小饭馆的生意非常红火,要想用餐必须提前一天打电话预订,假设我们是饭馆负责接受电话预订的服务员,我们需要做些什么呢?首先,需要准备一张大小适当的白纸,等待顾客的电话。李红最先打进了电话,她预约第2天中午12点用餐,用餐人数5人,服务员在纸上做了如下记录:“李红 12点 5人”;接着,刘娜、汪涵、孙杰和赵君分别来了电话,服务员根据他们的要求做了记录,此时纸上记录的内容是: 李红 12点 5人 刘娜 11点 2人 汪涵 11点20分 3人 孙杰 10点30分 5人 赵君 13点20分 6人 孙杰随后又来电话,将用餐时间推后一个小时,那么记录的内容也应该做相应的修改。刘娜来用餐以后,可以将其信息从纸上划去 编写程序处理电话订餐的情况

实验步骤: 首先建立结构体类型,然后函数声明,编写主函数,定义函数,调用函数。完成后,对程序进行调试,确定所编写的程序是否能够运行。 实验内容: #include<> #include<> #define max 30 struct guest { intnum; char name[40]; char time[20]; int sum; }guestlink[max]; void insert(int *p); void inquire(int); void change(int); void dele(int *p); void show(int); void main() { inti; int count=0; do {0 printf("1.......插入\n"); printf("2.......查询\n"); printf("3.......修改\n"); printf("4.......删除\n"); printf("5.......显示\n"); printf("6.......退出\n"); scanf("%d",&i); switch(i) { case 1: insert(&count);break; case 2: inquire(count);break; case 3: change(count);break; case 4: dele(&count);break; case 5: show(count);break; case 6:break; default:printf("输入错误!");break; } }while(i!=6); }

停车场管理系统 C语言实习报告

C 语 言 课 程 实 习 报 告 【要求】 设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。停车场内如有某辆车要开走,在它之后进来的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场。每辆车在离开停车场时,都应依据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。编制一程序模拟停车场管理。 【提示】 汽车的模拟输入信息格式可以是:(到达/离去,汽车牌照号码,到达/离去的时刻)。 基本要求:要求程序输出每辆车到达后的停车位置(停车场或便道上),以及某

辆车离开停车场时应交纳的费用和它在停车场内停留的时间。 根据题目要求,停车场可以用一个长度为n 的堆栈来模拟。由于停车场内如有某辆车要开走,在它之后进来的车辆都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场,所以可以设两个堆栈。 一、需求分析 根据题目要求,程序应该提供“到达/离去,汽车牌照号码,到达/离去”的输入、输出操作;在程序中需要浏览停车场的车位信息,应提供显示、查找、排序等操作;此外还应提供键盘式菜单实现功能选择。 二、总体设计: 根据需求分析,可以将系统的设计分为以下五大模块:(1)车辆进入;(2)车辆退出; (3)车辆等待;(4)车辆查询;(5)退出。 一、详细设计: 主函数中只包含菜单函数,菜单部分单独写成函数,只提供输入、功能处理和输出部分的函数调用,其中各功能模块用菜单方式选择。 [程序] #define N 30 /*等待车辆*/ #define M 20 /*车位*/ #define P 2 /*单位时间所收费用*/ #include #include #include struct cars /*定义车辆信息*/ { char state; int num; int in_time; 停车场 管理系统 车辆进入 车辆退出 车辆等待 车辆信息 显示 车辆查询 退出系统

c语言实验报告总结

篇一:《C语言上机实验心得》 C语言上机实验心得 在科技高度发展的今天,计算机在人们之中的作用越来越突出。而C语言作为一种计算机的语言,学习它将有助于我们更好的了解计算机,与计算机进行交流,因此,我们一定要学好C语言,这对我们以后的发展是十分重要的。 说到这,上机实验当然就是一个必不可少的环节了,C语言灵活、简洁的特点,只有通过编程实践才能真正了解,真正说懂。为了更好地学习语法规定、掌握程序设计方法、提高程序开发能力,我们必须实际上机、编写程序。 通过实验我也发现了自己不少的问题,这都是只看书上的程序而没有自己亲身上机编写程序而无法得知的,假如我们只因看熟书上的程序就以为自己已经掌握了C语言那就大错特错了。 我主要存在以下的这些缺点 1、学习耐心与细心不足,如scanf(“%d”,&n);中的“&”有时候会忘了。而在最后

输出时又错写成printf(“%d”,&n);从而错误得输出了地址而不是我原来想要的答案。 2、编程思想不够发散,看着题目有时想不出解答的方法,更不用说编写程序来解 题了。 3、 4、基本功不够,有些函数的表达不太精通,需要看书来核实,以致耗时较多。知识不够广,有些内容没有学好,不能要用到时及时反映出来,认识程度不够 深刻。 5、 6、有时候不够精简,有一点用处不大或者说没有也可以的文字存在。英语水平较差,对错误的地方虽然电脑有说,但由于是英文,理解上还是存在

一点问题。 为了能更好地学好C语言,在今后学习中我要更多的动脑,综合运用所学,多看相关东西,多上机练习,提高电脑水平,增强自学能力,把已会的东西掌握好。 实验中我深刻意识到完成程序的编写,决不意味着万事大吉。认为万无一失的程序,实际上机运行时可能会出现很多意想不到的问题。有时编译程序检测出一大堆错误,有时程序能够顺利运行,但是运行结果并不是你预期中想要的。因为开发环境所提供的编译系统无法发现程序逻辑错误,或者是你原来所设计时的理论错误,这就只能靠自己的上机经验来分析判断错误的所在了。所以程序的调试是一个技巧性很强的工作,它可能比编一个程序耗时更 多。由此可看出上机实践的重要性。 通过本次C语言上机实验,我对这个介于人类与非人类之间的计算机编程语言有了一定的体验。编程的时候有因为顺利编出程序而开心过、有因为做得比人家慢而郁闷过、有因为不知从何入手而无奈过、有因为不知错出在哪而彷徨过但随着练习的增多,我对C语言比以前熟了很多,不再只是纸上谈兵,我都有能力独立做出一些程序,可能对于一些“高手来说这不算什么,或者他们早就会了,但我依然觉得很开心,因为我跟我自己比是进步了。

C语言程序设计实验报告(完整版)

报告编号:YT-FS-4244-21 C语言程序设计实验报告 (完整版) After Completing The T ask According To The Original Plan, A Report Will Be Formed T o Reflect The Basic Situation Encountered, Reveal The Existing Problems And Put Forward Future Ideas. 互惠互利共同繁荣 Mutual Benefit And Common Prosperity

C语言程序设计实验报告(完整版) 备注:该报告书文本主要按照原定计划完成任务后形成报告,并反映遇到的基本情况、实际取得的成功和过程中取得的经验教训、揭露存在的问题以及提出今后设想。文档可根据实际情况进行修改和使用。 实验名称计算出1000以内10个素数之和 实验目的 1、熟练掌握if、if…else、if…else if语句和 witch语句格式及使用方法,掌握if语句中的嵌套关 系和匹配原则,利用if语句和switch语句实现分支 选择结构。 2、熟练掌握while语句、do…while语句和for 语句格式及使用方法,掌握三种循环控制语句的循环 过程以及循环结构的嵌套,利用循环语句实现循环结 构。 3、掌握简单、常用的算法,并在编程过程中体验 各种算法的编程技巧。进一步学习调试程序,掌握语 法错误和逻辑错误的检查方法。

实验内容 计算并输出1000以内的10个素数以及它们的和。 要求: 在程序内部加必要的注释。 由于偶数不是素数,可以不考虑对偶数的处理。 虽然在1000以内的素数超过10个,但是要对1000以内不够10个素数的情况进行处理。 输出形式为:素数1+素数2+素数3+…+素数10=总和值。 算法描述流程图 Main函数: 判断素数: 源程序 #include #include int sushu(int n)/* 判断素数的函数 */ { int t,i;

C语言实习报告

C语言实习报告(用链表实现学生学籍管理)

绪言 C语言使国内外广泛使用的一种计算机语言。C语言功能丰富、表达能力强、使用灵活方便、应用面广、目标程序效率高、可移植性好。既具有高级语言的优点,又具有低级语言的许多特点,因此特别适合编写系统软件。 在经过一整个学期的C语言理论学习,我们已经能够掌握其基本语法,但是缺乏一定的实际运用的能力。为了让我们更好的理解和运用其解决实际问题,并且对结构化程序有更进一步的认识,学校组织了这一次C语言实习。 实习中,我们将按要求完成一个较为复杂的程序编写——学生学籍管理程序。 实习基本内容和要求: 1、总体功能要求 (1)链表的建立:每个节点包括:学号、姓名、性别、语文、数学、英语、总分; (2)节点的插入:按学号的顺序插入; (3)删除链表中的节点:按学号或者姓名; (4)链表的输出:按学号排序、按总分排序。 2、性能的要求: (1)各个功能分别用函数实现;

(2)节点信息让用户通过键盘输入 (3)总分通过计算获得; (4)有简单的操作界面; 尽可能考虑程序的容错性、可操作性。 教材和主要参考书目: (1)教材:《C程序设计》,谭浩强编著,清华大学出版社(2)主要参考书目: ①《C程序设计教程》,谭浩强编著,清华大学出版社; ②《C语言程序设计——习题与实验指导》,谭浩强编著,清华大学出版社。实习过程: 我们将有5天的时间完成一个程序和一份实习报告。 1、我们要根据题目的要求进行需求分析和资料整理;(1天) 2、我们利用资料、教材和寻求他人帮助完成详细设计;(注: 关键部分解释说明)(3天) 3、完成一份对自己程序详细描述与解释的报告。(1天)

C语言实习报告

设计报告 一,实验目的: 通过上机实习,熟练掌握循环语句、选择语句、指针以及结构体的运用技巧。在实习中通过 实际操作,编写程序,发现问题,最后解决问题,提升对c语言实用性的理解,在实践中巩固各知 识点。 C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点,上 机实习可以帮助我们更好地理解这种结构式的 中级语言以及其各式各样的数据类型和高效率 的运算程序,为我们进一步学习C++打下坚实基 础。 同时,在实习过程中,通过互相发现问题,共同解决问题,不仅锻炼了我们的合作能力,而 且也让我们发现了一些自己的个人误区以及其 他人容易犯的错误,从而在今后的学习中更加谨 慎,达到事半功倍的效果;通过询问老师,也让 我们养成了不耻下问的好习惯,这将很有利于以 后的学习。 闲乐-一个人闲。不如大家一块儿乐https://www.360docs.net/doc/5316695205.html,

二,总体设计: 1,学生成绩排名 1,流程图: <通过冒泡法对数组进行排序> <测试时由于循环语句循环次数的错误导致部分数据没有排序,修改FOR语言中的条件即可调试成功>

2,程序: #include int main() { int a[11],i,j,t,b,c,temp1,temp2,temp3; //定义一个数组a[11],用以存放学生的成绩 printf("从键盘输入10个学生成绩:\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); //输入10个学生成绩 for(i=0;i<9;i++) for(j=0;j<9-i;j++) if(a[j]

C语言实训课程学习总结

C语言实训课程学习总结 在初学C语言的一个学期后,我们进行了C语言实训阶段,尝试编写一个比较复杂的程序系统。在为期一周的时间中,我们同组的 同学共同的感受是:C语言实训和平时上课所接触的程序是有很大 不同的,所经受的考验和克服的困难是平时所无法比拟的。好在同 组的搭档们精诚合作,分工明确,有问题共同解决,攻克了C语言 实训的复杂程序。在这里,我作为其中的参与者,感触良多。 在这次实训中,我对对C语言有了一个更深的了解认识,也对这个学期学的知识得到巩固,还尝试运行编程,每次运行程序成功, 让我对下面的项目就充满信心。通过自己与同学合作编写程序,最 终把最初的理论知识转化基本技能。这次的实训,使我对C语言的 学习产生浓厚的兴趣。 还是这次实训,最令人激动的就是合作做项目,虽然那只是一个很小很小的项目。每天大家来得很早,大家在一起学习,取长补短,我们很好的在实训中长知识,提高我们的学习热情。实训中深切体 会到了老师认真负责的伟大的精神和热情为同学指导的促学方式, 虽然对有些时候老师没给我们指出解决问题的方法有些小抱怨,但 是到了结束时才知道,这种教学让我们自己学会了自学,学会了去 看懂别人的代码。更多是老师给的感动,每天在我们来之前就到了 教室,在讲课中海给我们分享他在公司上班的一些心得和体会,还 有那些我们应该注意的事项,这些是平时上课时无法学到的,是更 深层次的巨大收获。 通过这次实训,也使我们发现了许多问题。 在实训中,我们认识到自己还有很多的知识没学好,基础知识没理清,而且许多东西还要去翻书,去上网搜索。而且遇到一些小错 误运行不出来,就会烦躁不安,觉得有些自暴自弃或者抱怨项目的 变态,以后要克服,尽量保持一颗良好的心态,学好C语言,也学 好用C语言编写一个按要求的系统。

c语言实习报告

实习报告 实习性质: C语言课程实习 学生姓名:谢辉 专业班级:信安141 指导教师:郑晓蓉、杨娟 实习时间:2014年12月22日- 2014年12月26日 实习地点:1203 重庆工程职业技术学院 学生实习考核表 三号黑体行距:固定

目录 1实习目的..................................................... 2 实习概况..................................................... 2.1 实习要求 ............................................... 2.2 实习时间 ............................................... 2.3 实习环境 ............................................... 2.4 开发环境 ............................................... 3 实习内容..................................................... 3.1 系统需求分析 ........................................... 3.2 程序设计 ............................................... 3.2.1程序的初始界面..................................... 3.2.2成绩的输入......................................... 3.2.3成绩的查询......................................... 3.2.4各科成绩的排序..................................... 3.4.5总成绩排序.........................................

最新大学生c语言程序设计实训报告总结

大学生c语言程序设计实训报告总结 C语言是在国内外广泛使用的一种计算机语言。其语言功能丰富、表达能力强、使用灵活方便,,小编整理了大学生c语言程序设计实训报告总结,希望能帮助到您。 大学生c语言程序设计实训报告总结一 C语言是在国内外广泛使用的一种计算机语言。其语言功能丰富、表达能力强、使用灵活方便、既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件。其功能强大,不仅用在计算机上广泛用在电子,机械等方面上,而且,所有的windows,Unix,Linux,Mac,os/2,无一例外,哪一个不是C语言写的?很多新型的语言如,C++,Java,C#,J#,perl...都是衍生自C语言。掌握了C语言,可以说你就掌握了很多门语言。 学习C程序这门课一年了,这是我们学的第一门专业课,在大学里C语言不但是计算机专业的必修课程而且也是非计算机专业学习计算机基础的一门必修课程。所以作为我这个计算机专业的学生来说当然十分重要,老师在第一节课说过,C语言是计算机的基础,大多数软件都需要用C语言来编写,通过一个年的学习,使我由初步掌握简单的应试知识到完成高难度的深入编程,如我们在编写一个较大的程序时应该把它分开成几个小程序来看,这样会容易得多。同时,我觉得C语言应该是操作和理论相结合的课程,在不断地编写中去思考,两者是不可分割的。 在学习一年C语言的过程中我也在慢慢探索怎样才能学好C语言,

并总结了一点经验: 要了解C语言就要从语法规为基础来学习起,首先要是要了解它的结构,比如变量,首先要了解变量的定义方式(格式),其意义是什么(定义变量有什么用);其次就是要我要怎么去运用它(我要用什么型式去应用它)。在C语言的命令行中所有的语句都是有它自己的一定格式和形式出现在我们面前,所以我们在学习某种语句或命令时你首先要了解的就是它的规则是什么、有什么用、怎么实现等。这些都是语法基础也是C语言的基础如果把它们都了解很好了,那么你编起程序来就很得心应手了。比如说IFELSE和SWITCHCASE这两种条件语句都是用来判断执行功能的,那我要什么时侯用IF什么时侯用SWITCH 呢?如果你很好地了解它们的结构和作用的话那么就知道:若它的条件分支是多个而且条件的值是整数或是一个字符值时就会选SWITCH 而不会选IF。因为如果条件分支太多时要用IF语句,这样一定会出现IF的嵌套,如果IF的嵌套越多时程序的开销就会随着增大,这样对整个程序的运行效率就大在降底。而SWITCH就不同,它只要比较一次就可以找出条件的结果比起嵌套IF它的效率就大大的提高了很多。不过SWITCH也有它的约束条件,就是它的条件值一定要是一个整型数或是一个字符值,所以碰到它不能解决的问题时我们也会通常使用IF语句,毕竟IF语句它使用起来也比较方便用的范围也比较广。所以说了解语法规则是很重要的,如果没有一个良好的语法基础是很难编出一个好的程序!学习好基础后我们就可以开始来编程了。 大学生c语言程序设计实训报告总结二

C语言实训报告模板

湖北汽车工业学院电气与信息工程学院 《C语言程序设计》 实训报告 实训题目:学生信息管理系统 专业:汽车电子工程专业 班级: 姓名: 成绩:

一、需求分析 1、问题 根据需求,该系统所应包含的信息有以下一些: 学生的基本信息: 学号,班级,姓名,年龄,出生日期。 根据需求,该系统所应实现的功能有以下一些: 各种基本信息数据的录入:a由键盘输入学号,班级等基本信息。 B由文件录入学生信息。 对学生信息的查询:a按学号查询指定学生信息。 b按班级查询指定班级内学生的信息。 学生基本信息数据的删除:按学生学号来删除指定学号的学生信息。 学生基本信息的保存:将录入的学生信息保存到文件中。 2、系统 采用C语言实现,开发环境为VC,可以运行在操作系统windows98及以上皆可。 3、运行要求 能连续录入任意个数学生的基本信息。 界面简洁,操作方便,提示人性化,例如删除前需要提示用户是否删除 容错性强,例如输入的学生出生日期格式不对或日期不符合时提示输入错误,并可重新输入。 二、总体设计 1、系统流程设计 根据系统要求,设计如下的系统流程

+ 2、系统模块设计 根据系统的功能设计,如下模块

主界面模块:完成系统菜单的显示 功能选择模块:根据用户的选择,完成其相应的功能 键盘输入学生信息:从键盘输入任意个数学生的基本信息,并保存到结构体链表中。 文件录入学生信息:从指定的文件中录入学生的基本信息,并保存到结构体链表中。 按学号查学生信息:输入要查找的学生的学号,可查询并显示该学号对应学生的基本信息。 按班级查学生信息:输入要查找的班级,可查询并显示该班级内学生的基本信息。 删除指定学号信息:输入要删除的学生的学号,可找到并显示该学号对应学生的信息并删除其信息。 保存学生信息:可将已录入的学生信息保存到指定的文件中。 三、详细设计 1、数据结构设计 根据系统要求,系统中需要保存的数据有通讯录的信息,其结构如下: 数据项数据项名称数据类型数据长度备注学号xh_number 整形变量 2 班级bj_number 整形变量 2 姓名name 字符串变量20 年龄nl_number 整形变量 2 指向日期结构 体的指针born_day*q 指向日期结构体类型的指针变量 应题目要求另加一个存放日期的结构体: 数据项数据项名称数据类型数据长度备注 年份y 整形变量 2 月份m 整形变量 2 号 d 整形变量 2 为了能实现可连续输入任意个数的学生信息,我采用链表的结构保存学生的 基本信息,在增加学生的基本信息时,创建一个学生信息的节点,将其插入到链表中,示意图如下。 使用C语言创建的结构体如下: struct student { int xh_number; 学号 int bj_number; 班级 char name[20]; 姓名

c语言课程设计总结

c语言课程设计总结 c语言课程设计总结8篇 c语言课程设计总结(一): 经过一个星期的上机实践学习,使我对c语言有了更进一步的认识和了解,要想学好它要重在实践,要透过不断的上机操作才能更好地学习它,透过实践,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,透过学习也有所改善;再有对c语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对c语言中经常出现的错误也不了解,透过实践,使我在这几个方面的认识有所提高。 透过实践的学习,我认到学好计算机要重视实践操作,不仅仅仅是学习c语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。 c语言课程设计总结(二): 经过一个学期的学习,我对C语言有了必须的了解。C语言是学习计算机科学的基础,作为一名计算机专业学生,掌握C语言更是毋庸置疑。在上课之前,就经常听同学说,C语言很难学,确实,刚开始听课时觉得老师不知所云。但是,发现对后续资料的预习后,前面的疑团都迎刃而解,这让我对C语言的学习更有信心。

计算机最重要的就是上机操作,自己编写程序,在VisualC++运行,刚开始经常会出现错误,经过分析改正后,最后能够运行了,就觉得个性激动。 课程设计是一个把需求分析、程序编写、程序调试、撰写报告结合为一体的过程。在这个过程中,不仅仅锻炼了我们缜密的思维和坚持不解的毅力,更磨练了一个队伍的团结互助的精神。只有透过大家一齐努力才能将课程设计的所有环节都顺利的完成。另外程序设计中我们遇到问题并解决问题的过程,使得我们独自探索并解决问题的潜力了有了一个提高,这有利于我们以后的学习。同时这整一个过程,也使我们对程序编写的整个过程有了一个统筹全局的思想,因为需求分析、程序编写、程序调试、撰写报告这些过程是环环相扣的,绝对不可能独立进行。 课程设计是学习《C程序设计》后对知识的全面测试,刚拿到题目时不明白怎样去处理,觉得很复杂,经过和小组成员的讨论,上网查资料,逐个问题逐个击破,问题不再那么复杂。透过课程设计,我发现自己还存在很多知识漏洞,编写程序时,经常会出现低级错误,很多知识点都不熟悉。在今后的时间里,我必须要投入更多精力学习C语言,以课本为基础,请教老师,与同学讨论,参考资料,上机操作,我相信我必须能把C语言学好。

C语言综合实验报告模板(附调试代码)

学生姓名:学号:专业班级: 实验类型:□验证□综合□设计□创新实验日期: 实验项目:学生成绩管理系统 一、实验目的和要求 目的: 1.掌握三种程序基本结构; 2.熟练使用数组、用户自定义函数等相关知识进行程序设计; 3.熟悉结构化程序设计语言思想编写程序代码; 4.理解和掌握C语言的语法以及三种基本程序结构的综合应用; 5.熟悉排序、查找、统计分析等常用算法 6.熟悉C语言的编程和调试环境,培养学生用计算机解决实际问题的能力要求:根据实验内容,认真编写源程序代码、上机调试程序,书写实验报告。 二、实验内容 综合利用所学C语言三种程序基本结构以及数组(或指针)、用户自定义函数等相关知识进行一个小型学生成绩管理系统的设计与实现,具体内容如下:某班有最多不超过30人(具体人数由键盘输入)参加某门课程的考试,实现如下的学生成绩管理系统: (1)录入每个学生的学号和考试成绩 (2)计算课程的总分和平均分 (3)按成绩由高到低排出名次表 (4)按学号由小到大排出成绩表 (5)按学号查询学生考试成绩 (6)按优秀(90-100分)、良好(80-89分)、中等(70-79分)、及格(60-69分)、不及格(0-59分)5个类别,统计每个类别的人数及其所占百分比(7)输出每个学生的学号、考试成绩 三、实验步骤 1.仔细阅读实验要求和书上的相关内容,在磁盘上新建以学号姓名命名的文件夹。

2.编写程序代码、编译、连接及运行程序、查找程序中的错误 3.函数及功能说明 四、完整源程序代码 五、结果分析及总结 分析运行结果,并进行总结(可以从以下几个方面来总结:你在编程过程中对问题是如何分析的?遇到了哪些难题?你是怎么克服的?你的收获有哪些?) 调试代码: #include #include #include #define STU_NUM 30 /*最多的学生人数*/ int Menu(void); void Readscore (long num[],float score[],int n); void Aversumofscore(float score[],int n); void Desortbyscore(long num[],float score[],int n); void Assortbynum(long num[],float score[],int n); void searchbynum(long num[],float score[],int n); void statisticanalysis(float score[],int n); void printscore(long num[],float score[],int n); int main() { char itemselected; int n; float score[STU_NUM]; long num[STU_NUM];

C语言程序设计实习报告

手机通讯录管理系统一、设计题目的任务和内容 任务:本程序是非数值计算型算法设计,我设计出了通讯录管理系统的基本功能,并设计了简单的界面。本程序主要考察对自定义函数的熟悉程度,本程序主要使用的是数组的相关操作,包括结构体数组的输入、输出、查找、删除等。我设计的这个通讯录系统也初步实现了人员信息的显示、删除、查找、修改、添加等必要的功能。 具体要求: ◆建立通讯录信息,信息包含、姓名、分类(1、办公类2、个人类3、商务类)、电话、 电子邮箱等; ◆将通讯录保存在文件中; ◆查看功能:可按1、办公类2、个人类3、商务类分类查询,当选中其中一类时,显示出 此类所有数据中的姓名和电话号码。 ◆增加功能:能录入新数据。当录入重复姓名和电话号码时,则提示数据录入重复并取消 录入;当通讯录中超过15条信息时,存储空间已满,不能录入新数据;录入的新数据能按递增的顺序自动进行条目编号。 ◆修改功能:选中某个人的姓名是,可对此人的相应数据进行修改。 ◆删除功能:选中某个人的姓名是,可对此人的相应数据进行删除并自动调整后续条目编 号。 系统功能需求分析: 查询:查询通讯录记录 添加:添加通讯录记录 显示:显示通讯录记录 删除:删除通讯录记录 修改:修改通讯录记录

二、总体设计思路 本系统首先设计出了主函数,然后根据去要实现的功能分别设计拉,显示、删除、查找、修改、添加功能的子函数。在显示的函数设计过程中首先运用拉文件的读取等必要的知识通过把文件的内容读取到内存然后打印出来。删除函数的设计是首先从文件内找到要删除的人,然后通过写一个实现删除目的的FOR循环将该人从内存里删除,然后再用写的方式打开文件,将内存内的信息写入文件,实现删除。查找也是先打开文件,用一个字符串对比的方法找出用户要查找的人,然后打印出来。修改也大体和删除相同,添加函数在设计时通过申请一片空间,然后通过指针将需要添加的信息添加进去,从而实现添加功能。 系统功能模块图: 输入新信息:可输入新的数据。 添加:可以添加通讯录记录,依次输入姓名、电话号码、分类、电子邮箱后,会提示是否继续添加。 删除:输入姓名删除,输入欲删除的那个人的名字后,会自动删除他(她)的记录内容 查询:可按1、办公类2、个人类3、商务类分类查询 修改:输入欲修改的那个人的名字后,再依次输入姓名、电话号码、分类、电子邮箱即可完成修改。 下面就是总的程序流程图:

游戏C语言实验报告

嘉应学院计算机学院 实验报告 课程名称: C程序设计 开课学期: 2015—2016学年第1学期 班级:计算机1505 指导老师:陈广明 设计题目:游戏2048 学生姓名(学号):第3组:钟瞻宇

目录 一、实验目的和要求 .................................................................................................................................................... 二、实验环境、内容和方法 ........................................................................................................................................ 三、程序设计 ................................................................................................................................................................ 四、源代码 .................................................................................................................................................................... 五、调试与运行结果.................................................................................................................................................... 六、总结........................................................................................................................................................................

c语言实训报告范文

---------------------------------------------------------------范文最新推荐------------------------------------------------------ c语言实训报告范文 通过C语言实训,让我加深了对C语言的了解,而不只是单单的在课本中学到的那些理论,平时乏味的课程,通过自己动手亲自编写,变的生动有趣,而在自己动手的过程中,出现的问题很多,比理论要难的多,当一个程序写完以后,经常会有很多错误而没法解决。不过,通过几天的实训,逐渐积攒了一些经验,有些错误可以很快就看出来。 这次实训有很大的收获,让我对C语言有了更深的认识,平时在课堂上学到的东西可以自己动手编写,将其转化成一些实用的技能。如果是一个程序写完一处错误也没有,会有种成就感,于是兴趣就来了,兴趣来了,自然学的东西也就多了,能把理论变成实际的技能,让我对C语言有了浓厚的兴趣和更深层的认识。 C语言是一个有序的学习,学了最基本的替换,然后扩展到循环,嵌套,条理很清楚,不是一个零散的知识,实际上所有的课程都如此,不过通过实训我也知道了自己的不足,存在的很多问题。 比如自己写的写的小程序出了问题,不会解决了就叫老师帮忙,虽然说一定意义上增加了师生之间的感情,但是会养成一种依赖的心理,碰到问题了第一个想到的是求助而不是自己独立解决,所以以后要多多锻炼自己的信心和增加自己的能力,争取做到老师不在身边的时候也可以完成一些简单的程序编写与错误排除。 1 / 10

还有自己的基础知识不扎实,遇到的问题,没有很好的逻辑思维,亲自编写一个陌生的程序的时候会有种无法下手的感觉,找不到突破口。通过实训,逐渐理清了顺序,对于简单的程序和一些相对比较繁琐的嵌套,循环,不在是看着一头雾水。其实只要理清了思路,把基础知识掌握了,然后有条不紊的分析,一步一步理解,C语言还是很有意思的课程。 自己亲自动手编写程序让我增加了对C语言程序开发环境的了解,在上课的时候老师就讲,学习C语言最重要的是学习C语言的逻辑思维,不管以后从事什么行业,学习C语言都对自己的职业很有帮助,如果是从事编程工程工作的话,就更有帮助了,即使以后的编程工作可能不用C语言,但是拥有扎实的C语言基础是对工作很有用的。 当初在初步接触C语言的时候,看着一堆“奇形怪状”的符号,觉得甚是无聊,通过这次实训,摆脱了那种似懂非懂的状态! 感谢学校安排这次实训和老师的耐心讲解,让我学到了很多知识,在实训过程中,同学之间的相互探讨,老师的循循善诱,最终让我们达到了举一反三的效果,在学知识的同时,也增加了同学老师之间的感情。希望以后还会有更多类似的实训课程,在有限的大学时间内学到更多的实用技能,为以后的工作打下一个良好的基础。 经过短短一个星期的实训,感触很多,收获很多,同时我受到的打击也很多,让我尝到了工作中的酸甜苦辣,同样也体会到了工作的辛苦,但是,不管怎样,这些都是我生命的一个小插曲,

C语言程序设计实习报告

用链表实现简单的学籍管理 一、系统概况 系统名称:用链表实现简单的学籍管理系统 软件要求: Turbo c 2.0 硬件要求:PC机 具体概况: 学籍管理系统是用turboc2.0 C语言编辑器设计一个学籍管理系统,该系统能很好的实现学籍管理,能按照设计菜单对其进行信息输入建立学籍档案,也能对系统进行编辑如插入学生信息、删除信息等操作,并能输出整个学籍信息,也可以按照学号或者总分进行排序输出。 本系统就是运用C程序设计中的结构体、指针、函数(系统库函数、自定义函数)、用指针处理链表、文件操作等知识编写的一个简单的方便查询和管理学籍的应用系统。 二、需求分析 ●总体功能要求: (1)链表的建立:每个节点包括:学号、姓名、性别、语文、数学、英语、总分; (2)节点的插入:按学号的顺序插入; (3)删除链表中的节点:按学号或者姓名; (4)链表的输出:按学号排序、按总分排序。 ●性能的要求: (1)各个功能分别用函数实现; (2)节点信息让用户通过键盘输入; (3)总分通过计算获得; (4)有简单的操作界面; ●功能模块图、流程图:

创建动态链表: 链表的插入的操作流程图:

输出链表操作的流程图: 链表排序操作的流程图: 三、设计 程序代码: #include………………/*输入输出函数*/ #include #define NULL 0………………/*宏定义*/ #define LEN sizeof (struct student) int add(int a,int b,int c)……/*定义一个函数,计算语文数学英语成绩的总和*/ { int s; s=a+b+c;

相关文档
最新文档