文档库 最新最全的文档下载
当前位置:文档库 › C语言程设计实验与案例周信东主编实验七函数

C语言程设计实验与案例周信东主编实验七函数

C语言程设计实验与案例周信东主编实验七函数
C语言程设计实验与案例周信东主编实验七函数

实验5 函数

学号:姓名:实验日期:

一、实验目的和要求

(1)掌握C语言函数的定义方法、函数的声明及函数的调用方法。

(2)掌握函数实参和形参的对应关系以及“值传递”的方式。

(3)掌握函数嵌套调用和递归调用的方法。

(4)掌握全局变量和局部变量、动态变量和静态变量的定义、说明和使用方法。

二、实验内容

实验指导书中的实验七“基础部分”和“增强部分”的题目。

三、实验步骤及结果

【基础题】:Ex7-1请在下面分别插入根据题意进行修改后的运行画面,并回答问题:

(1)程序修改前的运行结果:

请在此粘贴本程序运行结果的截图

(2)按第①步修改,在主函数的printf语句前加入int a=8;语句后的运行结果:请在此粘贴本程序运行结果的截图

实参a是否为同一变量?请回答

不是

(3)程序按第②步修改后的运行结果:

请在此粘贴本程序运行结果的截图

请在此粘贴本程序运行结果的截图

观察结果有何变化?请回答

有关键字“extern”时的结果为,无关键字“extern”是输出的值乱码,函数并没有调a,b的值。

通过本题,可以得出什么结论?请回答

在被调函数内部,通过对形式参数的操作实现对外部数据的引用。

(5)通过单步调试运行本程序,需要在程序执行过程中观察自定义的函数内部变量的变化情况,该如何操作:

请回答

(1)点击组建

(2)点击开始调试

(3)单步调试

(4)函数内部调试

Ex7-2请在下面分别插入改正错误后的源程序代码及运行成功时的画面:

源程序代码:

请在此粘贴修改后正确的程序代码。

#include

#include

float px(float x, int n)

{

if(n>0)

return x*px(x,n-1);

else

if(n==0)

return 1;

else return px(x,n+1)/x;

}

int main()

{

float c,m;

int b;

printf("请输入一个数和所要求得次方数:\n");

scanf("%f %d",&c,&b);

m=px(c,b);

printf("%f",m);

}

运行结果:

请在此粘贴本程序运行结果的截图

Ex7-3请在下面分别完成本题的源程序代码及运行结果的画面:

源程序代码:

请在此粘贴完成本题的程序源代码。

#include

#include

void main()

{

float px(float ,int );

float c,m;

int b;

printf("请输入一个数和所要求得次方数:\n"); scanf("%f %d",&c,&b);

m=px(c,b);

printf("%f",m);

}

float px(float x, int n)

{

if(n>0)

return px(x,n-1)*x;

else

if(n==0)

return 1;

else

re

运行结果截图:

请在此粘贴本程序运行成功时的截图

【增强题】:Eh7-1请在下面分别完成本题的源程序代码及运行结果的画面:源程序代码:

请在此粘贴完成本题的程序源代码。

#include

#include

char *Del(char *src)

{

char *p = src;

int i,j;

for(i=0;src[i];i++)

{

if(src[i]==' ')

{

for(j = i; src[j]; j++)

src[j] = src[j+1];

i--;

}

}

return p;

}

int main ()

{

char s[128] = {0};

scanf("%[^\n]",s);

printf("%s\n",Del(s));

return 0;

}

运行结果截图:

请在此粘贴本程序运行成功时的截图

Eh7-2请在下面分别完成本题的源程序代码及运行结果的画面:源程序代码:

请在此粘贴完成本题的程序源代码。

#include "stdio.h"

long jc(int x)

{

long item=1,i;

for (i=1;i<=x;i++)

item*=i;

return item;

}

long add(int y)

{

long sum;

int i;

sum=0;

for (i=1;i<=y;i=i+3)

sum+=1/long(i);

return sum;

}

void main()

{

double s;

s=add (19);

printf("the result is : %lf\n",s);

}

运行结果截图:

请在此粘贴本程序运行成功时的截图

四、选作实验题目完成情况

若你选作了课堂布置之外的题目,请按照上述格式依次编写你所作各题目的题号、源程序代码、运行结果截图及其结果情况分析。

五、实验总结

总结你在实验中易犯的错误及其解决方法,或总结本次实验中你学到的经验或技能等。注意,不要说空话。

基本掌握C语言函数的定义方法、函数的声明及函数的调用方法,也在一定程度上掌握函数实参和形参的对应关系以及“值传递”的方式,但是在实际的运用中,运用得不怎么灵活,有时候都反应不过来。

大一C语言课程设计题目

课 程 设 计 任 务 书 信息工程与自动化 学院 计算机科学与技术 专业 2011 年级 学生姓名: 课程设计题目: 程序设计语言课程设计 课程设计主要内容: 一、 基础程序设计: 本设计部分主要完成与链表操作相关的基本运算,其中包含:链表的建立、链表的输出、链表的插入、链表的删除等运算。. 二、 综合程序设计: 该部分主要是培养学生在程序编写方面综合能力的训练,学生选作其中的一至二题程序的编写与实施。 1、设计统计任意文本字数的程序(张力老师组必做): 要求包括:中英文文本的:中文字数、数字数目、英文字符数、英文单词数及其他符号。 2、车票订购统计系统(张力老师组必做): 下图是昆明——北京的沿途车站与票价: 请用C 语言为之开发一个售票程序,要求如下: (1)乘客购票时用菜单选择起点站和终到站。如果选择的起点站和终到站为同一个站则报错,程序退出。 (2)选好起点站和终到站之后,通过调用函数int BuyTicket() 为之计算票价和里程,并在屏幕上显示出来。 (3)用文件类型存储每一次售票记录,包括:售票流水号,起点站,终点站,里程,金额等数据,并统计所有存储记录的总售票金额及各站的旅客流量(进站流量+出站流量)。 3、万年历的设计: 要求: 模仿现实生活中的挂历,能够显示年历、月历、日历,并具备退出功能。 当前页以系统当前日期的月份为准显示当前月的每一天(显示出日及对应的星期几)。 当系统日期变到下一月时,系统自动翻页到下一月。 4、通讯录管理系统:

制作一个通讯录程序,该程序具有查找、添加、修改、删除功能。通讯录包括:姓名,电话,街道,城市,省,邮编等。 模块设计参考: 第一个模块——主函数main()的功能是:根据选单的选项调用各函数,并完成相应的功能。 第二个模块——Menu()的功能是:显示英文提示选单。 第三个模块——Quit()的功能是:退出选单。 第四个模块——Create()的功能是:创建新的通讯录。 第五个模块——Add()的功能是:在通讯录的末尾,写入新的信息,并返回选单。 第六个模块——Find()的功能是:查询某人的信息,如果找到了,则显示该人的信息,如果未找到,则提示通讯录中没有此人的信息,并返回选单。 第七个模块——Alter()的功能是:修改某人的信息,如果未找到要修改的人,则提示通讯录中没有此人的信息,并返回选单。 第八个模块——Delete()的功能是:删除某人的信息,如果未找到要删除的人,则提示通讯录中没有此人的信息,并返回选单。 第九个模块——List()的功能是:显示通讯录中的所有记录。 设计指导教师(签字): 教学基层组织负责人(签字): 年月日

C语言课程设计报告-游戏2048

东华理工大学C语言课程设计报告 学院:国际教育学院学院专业:电子信息工程 班级:1420606 学号:201420060638 姓名:钟天运

一、课程设计题目:游戏2048 二、课程设计要求: a)使用C语言编写2048这款游戏 b)能够正常运行,拥有游戏界面。 c)能正常进行游戏从开始到结束。 d)用户操作方便 三、设计思路: a)游戏介绍: i.2048是一款简单的数字类游戏,界面是一个 4*4的方形格子。每个格子里可以为空或者有 一个2^n的数值。 ii.用户可以输入4种指令,分别是:上下左右,游戏会根据用户的指定的方向,将格子中 的数值向对应方向进行移动,直至移动到最边 上的格子或者有其他数值占用,如果碰到等大 数值,将会进行合并。此外,成功移动后,会 在一个空格子随机生成一个2或者4 iii.游戏目标是合成2048这个数值或者更大的数值。 b)实现思路: i.可以使用二维数组来保存4*4格子中的数值 ii.指令,可以通过输入字符函数,读取用户

在键盘上的方向键,进行判断执行对应的代 码。 iii.游戏界面,可以使用简单的特殊制表符,来实现,并通过清屏函数来进行反复同位置打 印界面。 iv.需要判断游戏结束的函数,以及记录游戏分数和步骤的变量 v.当游戏结束时,能够询问用户是否重新开始。 vi.随机生成一个新数,可以调用随机函数,使用时间做种子。 c)实现难点: i.打印游戏界面,要实现灵活能根据棋盘数组里 面的数据灵活打印。 ii.执行操作时,数值的移动和合并。

四、流程图

五、C语言源代码 // 游戏2048.c #include "windows.h" #include "time.h" #include "stdio.h" #include "conio.h" #include "string.h" //宏定义常量方向键值 //const int LEFT = 75, UP = 72, RIGHT = 77, DOWN = 80; #define LEFT 75 #define UP 72 #define RIGHT 77 #define DOWN 80 const char error_str[] = "您上次输入的指令无法识别,请重新输入。"; struct board { int place[4][4]; long int stepn; long int num; //存储游戏分数 long int time; int dtk; //direction key 记录方向键,及操作方向 int over; int zeronum; }; //该函数为游戏运行函数,当只是玩游戏的时候。进入该函数,游戏控制函数。int main() { //place数组为棋盘,其中为零代表空,-1代表不能合并的牌,其他2的倍数值为本身含义,初始化为全0。 struct board board1, board_backup; int newgame(struct board *, int), show(struct board *), operate(struct board *); char str[100] = "首次运行游戏"; //用于记录系统返回给用户的信息,例如:上一步执行向左合并,按键有误等 newgame(&board1, 0); //调用函数为新局初始化,第二个

[C语言课程设计题目](丁海军)

C语言课程设计设计题 丁海军 本手册提供的设计题大致可分为为3类:第一类侧重于算法设计与实现;第二类侧重于文件操作。 (一)算法设计类题目 1. Fibonacci数列。Fibonacci数列的计算公式如下: fib(1) = 1; fib(2) = 1; fib(n) = fib(n-1) + fib(n-2); //对大于等于3的任意n (1)简单变量“数据平移”方法计算Fibonacci数列的第n项(正整数n通过键盘输入):说明变量old1=1,old2=1,newItem;新的Fibonacci项newItem总是“距它最近”的前两项(old1与old2)的累加和。而后通过“old1=old2; old2=newItem;”进行所谓的“数据平移”。接着计算另一个新的Fibonacci项newItem,依次循环,直到求出数列的第n项时为止。 (2)使用数组求出Fibonacci数列的第n项(正整数n通过键盘输入)并显示在屏幕上:说明数组f用来存放Fibonacci数列的各项之值,且仅初始化前两个元素f[0]=1,f[1]=1,而后通过f[i]=f[i-2]+f[i-1];依次计算出f[2]到f[n-1](注意f[n-1]恰为所要求出的第n项)并将该值显示在屏幕上。 2.编程序,循环进行如下的处理过程:由计算机生成简单的四则运算题;用户给出答案;计算机判断对错。直到用户回答说不再继续做了时结束程序。 提示:可让用户选择指定出加、减、乘、除哪一种运算题,以及出一位数还是两位数的运算题;而后通过使用“rand()%10”或“rand()%100”来获得一个0到9的一位整数随机值或得到0到99的两位整数随机值来为用户出题。还可进一步对用户所做算术题的对错次数进行记录,结束程序时给出一个某种形式的成绩。 3.数的进制转换 (1)将输入的2进制数(一个非“0”即“1”的字符串)化为10进制数。 提示:用字符数组a盛放所输入的二进制数;而后从后往前逐一计算每一位的“位权”w (2的0次方、2的1次方、...),再计算“位权”乘以“位值”并累加到一个初值为0的变量value 上,最后输出该value。 (2)如何把8进制数或16进制数化为10进制数。 (3)如何把某一个k进制的数化为10进制数呢? 4.编程序,输入正整数m,它代表一个人民币钱数(元数)。求取这样一个方案,使用最少张数的人民币纸币,凑成上述的钱数m,并输出求取结果。

信息科学与工程学院综合性设计性实验报告

重庆交通大学信息科学与工程学院 综合性设计性实验报告 专业:通信工程专业11级 学号:0204 姓名:何国焕 实验所属课程:宽带无线接入技术 实验室(中心):软件与通信实验中心 指导教师:吴仕勋 一、题目 OFDM系统的CFO估计技术 二、仿真要求 要求一:OFDM系统的数据传输 ①传输的数据随机产生; ②调制方式采用16QAM; 要求二:要求对BER的性能仿真 设计仿真方案,比较两个CFO的性能(基于CP与基于训练符号Moose),并画出不同SNR下的两种估计技术的均方差(MSE)性能。

三、仿真方案详细设计 1、首先OFDM技术的基本思想和现状了解。认真学习OFDM技术的基本原理,包括OFDM系统的FFT实现、OFDM系统模型、OFDM信号的调制与解调、OFDM信号的正交性原理,根据PPT及网上查阅资料加以学习。其次,了 解OFDM的系统性能,包括OFDM系统的同步技术及训练序列等。 2、同步技术:接收机正常工作以前,OFDM系统至少要完成两类同步任务: ①时域同步,要求OFDM系统确定符号边界,并且提取出最佳的采样时钟,从而减小载波干扰(ICI)和码间干扰(ISI)造成的影响。 ②频域同步,要求系统估计和校正接收信号的载波偏移。在OFDM系统中,N个符号的并行传输会使符号的延续时间更长,因此它对时间的偏差不敏感。对于无线通信来说,无线信道存在时变性,在传输中存在的频率偏移会使OFDM 系统子载波之间的正交性遭到破坏。 3、载波频率的偏移会使子信道之间产生干扰。OFDM系统的输出信号是多个相互覆盖的子信道的叠加,它们之间的正交性有严格的要求。无线信道时变性的一种具体体现就是多普勒频移引起的CFO,从频域上看,信号失真会随发送信道的多普勒扩展的增加而加剧。因此对于要求子载波严格同步的OFDM 系统来说,载波的频率偏移所带来的影响会更加严重,如果不采取措施对这种信道间干扰(ICI)加以克服,系统的性能很难得到改善。 OFDM系统发射端的基本原理图OFDM信号频谱 4、训练序列和导频及信道估计技术 接收端使用差分检测时不需要信道估计,但仍需要一些导频信号提供初始的相位参考,差分检测可以降低系统的复杂度和导频的数量,但却损失了信噪

c语言课程设计报告学生成绩信息管理系统源代码

实验报告 一、问题陈述及其需求分析 (一)问题陈述 学生信息管理系统是对学生信息的基本管理,其中包括以下及模块: (1)增加一个学生的信息(需输入要增加学生的所有信息); (2)统计本班学生总人数及男女生人数。 (3)分别按照学号查找学生的信息;若找到则输出该学生全部信息,否则输出查找不到的提示信息。 (4)按学号对所有学生信息排序,并输出结果; (5)删除一个学生的信息(需指定要删除学生的学号);同时显示删除后的结果。( 二) 功能需求分析 学生信息管理系统设计 学生信息包括:学号,姓名,性别,出生年月,电话 使之提供以下功能: 1、系统以菜单方式工作 2、建立链表并显示 3、插入新的学生信息 4、删除某学号的学生信息 5、查找某学号的学生信息 6、对学生信息排序 7、统计学生人数 8、输出学生信息 二总体设计 (一)模块 依据程序的数据结构,描述该程序的层次结构,如下图:

1、建立链表并显示 void createlist(struct stucode **r); 2、插入新的学生信息 void insert(struct stucode **r); 3、删除某学号的学生信息 void del(struct stucode **r); 4、查找某学号的学生信息 void search1(struct stucode *r); 5、对学生信息排序 void sort(struct stucode **r); 6、统计学生人数 void search2(struct stucode *r); 7、输出学生信息 void out(struct stucode *r); 1 建立链表并显示 2 添加学生信息 3 删除学生信息 息 4 按学号查找学生信 5 对学生信息排序 6统计学生人数 7输出学员信息 8 学生信息写入文件 0退出 main() 菜单函数

c语言课程设计报告

C语言程序设计B 课程设计报告 设计题目:学生成绩管理系统年级班级: 学号: 姓名: 指导教师: 2020 年 6 月 18 日

目录 一、设计目的 (3) 二、课程设计内容和要求 (4) 三、总体设计 (5) 四、主要步骤 (12) 五、功能实现 (13) 六、功能测试 (64) 七、评价程序 (83) 八、课程设计体会 (84)

一、设计目的 程序设计能力是当代理工类大学生的必备能力,当学生学习了C语言之后,编程能力远远不能达到开发实际应用程序的要求,特备是对其中的指针、结构体、链表和文件部分的理解和应用都比较弱。 程序设计的目的是通过对面向过程的学习,将C语言的主要知识点进行综合,针对提高学生C语言程序设计能力,强化编写较大的应用软件能力,熟练运用已掌握的知识解决实际需要解决的问题,以达到更加熟知指针、链表、结构体、文件读取、标准库的使用。 主要目的为以下几点: 1、熟练掌握面向过程(结构化)程序设计基本知识; 2、综合运用所学知识解决实际问题; 3、受到面向过程(结构化)程序设计的基本训练; 4、体会面向过程(结构化)开发程序的过程。

二、课程设计内容和要求 1.课程设计内容: 学生通过使用C语言进行编写算法,开发学生成绩管理系统,以实现对学生成绩的管理。 2.课程设计要求 1)具有菜单,可以在菜单上进行选择; 2)能实现学生数据录入、修改、删除、查询; 3)能实现数据排序; 4)有数据输出功能; 5)有数据读取与存储功能; 6)一个学生的数据(称为:每条记录)包含姓名、学号、语文、数 学、英语、总分、名次等信息; 7)以结构方式存储每条记录; 8)多条记录以链表方式存储到内存; 9)随时可将全部数据存储到磁盘文件中,方便下次从磁盘读取数据。

C语言课程设计题目

C语言程序课程设计题目 一、程序设计题目:简单的学生成绩管理程序 程序设计功能及要求: (1) 总人数定义为宏,数据使用文件存放; (2) 输入学生姓名学号,及五门成绩,并计算每个学生五门功课的平均分,并按平均分排列名次,若平均分相同则名次并列;结果写入文件并按格式打印在屏幕上。 ⑶ 统计全班每门课程的平均分,并计算各分数段(60以下,60~69,70~79,80~89,90以上)的学生人数;结果写入文件,并按格式在屏幕上打印; ⑷ 在屏幕上打印出所有不及格学生的下列信息:学号,不及格的课程名,该不及格课程成绩; ⑸ 在开始画面加入简单的菜单便于选择各种功能。 例: 1学生条目输入 2 成绩统计 3分数段统计 4不及格学生筛选 ⑹文件格式要求 1.原始数据文件格式(具体数据和项目自行编写) 学号姓名英语C语言高等数学………….. 1 张三76 89 78 2 李四…. …. …. 2.输出数据文件(由程序自动生成) 1)学生综合成绩文件。 2)学号姓名英语C语言高等数学…………….平均成绩名次 1张三76 89 78 ………….. 2李四…. …. …. 3)统计结果文件。 4)分数段英语C语言高等数学…………………. <60 2 … 60~69 8 … 70~79 5 … 80~89 10 … ⑺加入优等生统计功能,要求按优等生条件筛选出优等生的条目存入单独文件,并输出到屏幕。 优等生标准(满足之一即可): 1 平均成绩上80。 2平均成绩及格但未上80,有单科成绩上90。 3平均成绩未及格,有单科满分。 二、程序设计题目:简单的同学通讯录程序设计 [问题描述]

具有数据插入、修改、删除、显示、查询和统计功能的电话簿管理程序。 [程序设计功能及要求] ⑴人数不定,数据使用文件存放。 ⑵记录每位同学的学号、姓名、性别、工作单位、电话号码和E-mail地址建立单独的条目,存入数 据文件。 ⑶可对记录中的姓名和电话号码等进行修改。 ⑷可增加或删除记录 ⑸可显示所有保存的记录 ⑹加入统计功能,可以统计男女同学或总人数。 ⑺加入查询功能,通过姓名、学号或电话号码查询到同学的条目。 ⑻在开始画面加入简单的菜单便于选择功能。 ⑼文件格式 1.储存数据文件格式 学号姓名性别工作单位电话号码E-mail 1 李四…. …. …. ⑽选做:加入文件加密系统,对储存数据文件进行简单的加密,要求通过直接打开储存数据文件无法获得其中的数据。但同时不影响程序对储存数据文件的调用。 [设计提示] 本程序建议采用结构体类型和文件系统实现。 三、程序设计题目:图书管理系统 [问题描述] 设计一个具有数据插入、修改、删除、显示和查询功能的图书管理程序。 [设计要求] (1)用户登录功能; (2)设计程序运行界面; (3)能用菜单选择各功能。 说明: (1)数据包括:书名、作者、书号、出版社、出版日期和单价; (2)可对图书信息修改; (3)可增加或删除图书信息; (4)可显示所有保存的图书信息; (5)可按书名、作者、书号或出版社进行图书信息的查询。 四、职工信息管理系统设计 1. 目的: (1)要求学生熟练掌握C语言的基本知识和编程技能; (2)基本掌握结构化程序设计的基本思路和方法; 2. 要求 基本要求: (1)试设计一个职工信息管理系统,使之能提供以下功能: (2)系统以菜单方式工作

C语言课程设计报告-模板

C语言课程设计报告 班级:16 物联网 一、题目说明 (1)读取输入信息,能正确进行数字运算

(2)拥有记忆功能,可查询最近几次计算结果并继续进行数字运算。 二、基本功能实现 (1)能实现两个数之间的加减,乘,除,乘方,开方等运算。 (2)实现记忆功能,可保留近十位结果,可用#键查看。(3)*键作为清0键,清除当前屏幕上的值为0表示重新开三、设计流程(可以画流程图,可以直接写说明)

四、代码 #include #include #include #include double yunsuan(double a, char operate, double b); //处理数值之间的运算void PutRes(double array[], double res, int *i); //保存该次运算结果 int main() { char str[40]; double a = 0; double b = 0; double res = 0; double history[10] = {0,0,0}; char opt; int i = 0; printf("欢迎进入计算功能(eg: 1 \n+ 1 ; '#':查询历史结果; 'q':退出程序)·\n"); while(1){

fgets(str,40,stdin); //将从键盘的一整行标准输入保存在字符串str中 if(sscanf(str,"%lf", &a) == 1){ //将str以长浮点型的格式放入a中,如果返回值为1,说明输入的是数值, scanf("%c %lf", &opt, &b); //获取操作符的值和另外一个操作数的值 res = yunsuan(a,opt,b); //调用yunsuan()函数计算,并将结果给res printf("%lf %c %lf = %lf\n\n",a, opt, b, res); PutRes(history, res, &i); //调用函数PutRes()将本次结果保存到数组history中(i用引用传递) // printf("%d\n", i); }else if(sscanf(str,"%c",&opt) == 1){ //将str以字符型的格式放入opt中,如果返回值为1,说明输入的是字符 if(opt == '#'){ //如果opt为‘#’,则显示history 中的数值 int j = 0; for(j = 0; j < i; ++j){ //i为history中存放的数值个数 printf(" %lf ", history[j]); } printf("\n");

C语言课程设计题目汇总

目录 题目6:通讯录程序设计(限2人)........................................................................................................................................... 题目10:机房机位预定系统(限2人)..................................................................................................................................... 题目13:工资纳税系统............................................................................................................................................................. 题目41:条件编译.....................................................................................................................................................................

题目6:回文数的形成............................................................................................................................................................... 杨顺民题目 C语言程序课程设计题目 题目1:年历显示 功能要求: (1)输入一个年份,输出是在屏幕上显示该年的日历。假定输入的年份在1940-2040年之间。(2)输入年月,输出该月的日历。 (3)输入年月日,输出距今天还有多少天,星期几,是否是公历节日。 题目2:小学生测验 面向小学1~2年级学生,随机选择两个整数和加减法形成算式要求学生解答。 功能要求: (1)电脑随机出10道题,每题10分,程序结束时显示学生得分; (2)确保算式没有超出1~2年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出0~50的范围,负数更是不允许的; (3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案; (4)对于每道题,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分; (5)总成绩90以上显示“SMART” ,80-90显示“GOOD”,70-80显示“OK”,60-70显示“PASS”,60以下“TRY AGAIN”

c语言课程设计报告书

课程设计报告书 所属课程:c语言 项目:库函数模拟系统 指导老师:邹姝稚 班级:软件1401 姓名:江闯 学号:141403107 分数:

1.任务描述: 本系统开发的代码模拟了下列库函数的功能: (1).模拟gets和puts的功能:能接收一个字符串,将其写入ASCII文件,并且可以读出显示。 (2).在不使用字符串库函数的条件下,编程实现字符串的拷贝,连接,求长,倒置功能。 (3).字符串加密功能:将一段明文建立到一个ASCII文件中,按加密的算法加密后写入密文文件,最终实现将明文和密文文件都显示出来。 (4).编程实现字符串与对应数字的相互转换功能。 2.总体设计: 模块调用图: 图1

函数调用图: 图2 函数功能: (1)函数gp( ):模拟gets和puts的功能 (2)函数kaobei( ):实现字符串的拷贝 (3)函数lianjie( ):实现字符串的连接 (4)函数qiuchang( ):实现字符串的求长 (5)函数daozhi( ):实现字符串的倒置 (6)函数jiami( ):实现字符串的加密功能,最后将明文和密文文件都显示出来 (7)函数zhuanhuan1( ):将数字字符串转换为对应的数字 (8)函数zhuanhuan2( ):将数字转换为对应的数字字符串 3.详细设计: (1).模仿gets和puts功能: gets和puts功能与scanf和printf函数的功能相似,但是也不是完全相同,本系统模拟功能的程序总共运用了两次函数调用技术,模拟gets运用了一次,模拟puts运用了一次。 (2)..字符串的拷贝功能: 字符串的拷贝功能程序设计源于strcpy的功能,其中运用了字符串数组和指针的相关技术,还运用了一组while语句,实现语句的循环,从而将一个字符串拷贝到一个空数组中。

CSS页面布局及样式设计实验报告

实验项目名称: CSS页面布局及样式设计 (所属课程:web系统与技术) 学院:计算机学院专业班级:11级计科信息姓名:学号: 实验日期:实验地点:A06-404 合作者:指导教师:李 本实验项目成绩:教师签字:日期: 一、实验目的 (1)掌握CSS中的定位属性使用方法。 (2)掌握DIV+CSS的页面布局方式。 (3)掌握CSS中的常用属性的使用方法。 (4)理解CSS的样式构造。 二、实验条件 安装Web开发环境的微机。 三、实验内容 (1)重新对聊天室的注册页面、登陆页面和聊天页面进行页面布局。 (1)对聊天室的注册页面、登陆页面和聊天页面进行样式设计。 四、实验步骤 (1)注册页面使用CSS将注册表单居中显示,表单内嵌入表格将文本与输入域格式化显示,表单内使用label标签。 (2)登录页面中添加div层用于显示在线用户数。 (3)登录页面使用div将登录表单,在线用户数,logo图片,超链接等页面元素重新定位布局。 (4)聊天页面改用div标签并使用CSS的position定位属性进行布局,框架内的独立页面使用float属性进行布局。 (5)使用CSS设置三个页面的背景颜色或背景图片。 (6)注册页面使用CSS设计所有输入框和提交按钮的样式。 (7)登录页面使用CSS设置的超链接的字体和下划线、登录表单使用圆顶角、在线用户数使用图片数字,使用CSS设计登录按钮的显示样式。

(8)聊天页面中使用CSS设计信息发送表单和发送按钮的样式,设计用户信息列表和聊天信息段落的的显示样式。 五、实验结果 注册界面效果图及代码: //总体框架 //添加图片代码 //用户注册信息代码

注册信息

用户姓名:

用户密码:



--> 姓    别:

C语言课程设计参考题目 (1)

C语言课程设计参考设计题目 1、学生信息管理 (1)问题描述 学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能: ●系统以菜单方式工作 ●学生信息录入功能(学生信息用文件保存)---输入 ●学生信息浏览功能——输出 ●查询、排序功能——算法 1、按学号查询 2、按姓名查询 ●学生信息的删除与修改(可选项) (2)功能要求 ●界面简单明了; ●有一定的容错能力,比如输入的成绩不在0~100之间,就提示不合法,要求重新 输入; ●最好用链表的方式实现。 (3)算法分析 首先,一个学生包括这么多的属性,应该考虑定义一个结构,其次,我们应该考虑数据的存储形式:是定义一个数组来存储,还是定义一个链表呢?在这里假如我们以数组的方式来存储,当然可以,但是我们知道,假如我们定义一个数组的话,我们首先必须知道学生人数大概是多少,以便我们确定数组的大小,但是题目中没有给出,而且题目要求中有大量的删除、插入操作,所以用链表的方式比较方便。 对于菜单的实现,其实也比较简单,首先我们用printf语句把程序的功能列出来,然后等待用户输入而执行不同的函数,执行完了一个功能后又回到菜单。文件的读写操作大家参照书中的有关文件的章节。 2、学生综合测评系统 每个学生的信息为:学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%,10%,10%,20%。 A、学生信息处理 (1) 输入学生信息、学号、姓名、性别、家庭住址、联系电话,按学号以小到大的顺序存入文件中。 提示:学生信息可先输入到数组中,排序后可写到文件中。 (2) 插入(修改)同学信息: 提示:先输入将插入的同学信息,然后再打开源文件并建立新文件,把源文件和输入的信息合并到新文件中(保持按学号有序)若存在该同学则将新记录内容替换源内容, (3) 删除同学信息: 提示:输入将删除同学号,读出该同学信息,要求对此进行确认,以决定是否删除将删

设计性实验报告格式

大学物理设计性实验报告 实验项目名称:万用表设计与组装实验仪 姓名:李双阳学号:131409138 专业:数学与应用数学班级:1314091 指导教师:_王朝勇王新练 上课时间:2010 年12 月 6 日

一、实验设计方案 实验名称:万能表的设计与组装试验仪 实验时间:2010年12月6日 小组合作: 是 小组成员:孙超群 1. 实验目的:掌握数字万用表的工作原理、组成和特性。 2. 掌握数字万用表的校准和使用。 3. 掌握多量程数字万用表分压、分流电路计算和连接;学会设计制作、使用多量程数字万用表 2、实验地点及仪器、设备和材料: 万用表设计与组装实验仪、标准数字万用表。 3、实验思路(实验原理、数据处理方法及实验步骤等): 1. 直流电压测量电路 在数字电压表头前面加一级分压电路(分压电阻),可以扩展直流电压测量的量程。 数字万用表的直流电压档分压电路如图一所示,它能在不降低输入阻抗的情况下,达到准确的分压效果。 例如:其中200 V 档的分压比为: 001.010*********==+++++M K R R R R R R R 其余各档的分压比分别为: 档位 200mV 2V 20V 200V 2000V 分压比 1 0.1 0.01 0.001 0.0001 图一 实用分压器电路 实际设计时是根据各档的分压比和总电阻来确定各分压电阻的,如先确定 M R R R R R R 1054321=++++=总 再计算200V 档的电阻:K R R R 10001.021==+总,依次可计算出3R 、4R 、5R 等各档的分压电阻值。换量程时,多刀量程转换开关可以根据档位调整小数点的位置,使用者可方便地直读出测量结果。 尽管上述最高量程档的理论量程是2000V ,但通常的数字万用表出于耐压和安全考虑,规定最高电压量限为1000V 或750V 。

中国地质大学C语言课程设计题目(附参考代码)

C语言课程设计题目 选题一(起评分100分) 高考招生录取程序 已知文本文件f1.txt中存放了某个省当年参加高考的1000个考生的数据(考号、姓名、性别和考试成绩),存放格式是每行存放一个考生的数据,每个数据之间用空格隔开。 假定当年该省的招生计划是:一类本科招生计划为10%;二类本科招生计划为15%;三类本科招生计划为20%;四类高职高专招生计划为25%。 请编写程序,实现以下功能: (1)划定各批次录取分数线,结果可屏幕显示,也可存入文件。 (2)能够统计各批次中男生,女生的录取比例。统计结果可屏幕显示,也可存入文件。 (3)确定每名学生的录取情况及录取批次。 (4)考生可以根据考号或姓名(支持重名)查询自己的成绩及录取情况; 说明: ①系统程序要有界面 ②存入文件的数据,每行存一种数据,每行之间的不同信息用空格分隔。 选题二(起评分85分) 《C语言课程设计与学习指导》第4章题目或第5章题目任选其一 成绩评定方式 平时考勤:20% 考试(即程序考核及检查):40% 实习报告:40% 违规违纪处理 出现以下6种情况中的任何一种,整个课程设计的成绩直接认定为不及格: 1.考勤抽查出现3次(含)不在的情况; 2.上机从事玩游戏、看电影等活动被抓住2次(含)的情况; 3.程序检查被认定为抄袭的情况; 4.实习报告被认定抄袭或雷同的情况; 5.不参加考试(即程序考核及检查)的情况 6.不交实习报告的情况。

C语言课程设计报告撰写要求 1 内容要求 整个报告由六个部分构成: ①课设题目 ②题目分析 ③设计思路 ④实现结果 ⑤课设总结 ⑥附录(源代码) 2 篇幅要求 ①-⑤合计不低于8页,⑥不低于8页。 篇幅没有上限要求,但原则上要求不超过25页。 标题字体字号格式:宋体,三号,加黑,单倍行距。 正文字体字号格式:宋体或Times New Roman,五号,单倍行距。 3 撰写要求 严谨出现抄袭。 严谨出现雷同。 报告出现抄袭或雷同的,整个课程设计成绩一律按不及格论处。 4 其它 封面格式附后。

设计性实验报告

计算机与信息工程学院设计性实验报告 一、 实验目的 1.掌握线性时不变系统的两种描述形式—传递函数描述法、零极点增益描述法。 2.掌握两种描述形式之间的转换。 3.掌握连续和离散系统频率响应的求解 二、 实验仪器或设备 装MATLAB 软件的计算机一台。 三、 实验内容 1. 生成20个点的单位脉冲信号、单位阶跃信号,并记录下函数命令和波形。 2. 生成占空比为30%的矩形波。 3. 将连续系统 4)(s )21)(s (s 3) 1)(s -(s 0.5H(s)++++=转化为传递函数模型的描述形式。 4. 将离散系统 4-3-2-1--2 -10.5z 0.9z -1.3z 1.6z -12z 5z 3H(z)++++=转化为传递函数和零极点增益模型的的描述形式。

四、实验步骤(包括主要步骤、代码分析等) 1. 生成20个点的单位脉冲信号、单位阶跃信号,并记录下函数命令和波 形。 程序: clear,clc,close %清除变量空间变量,清除命令窗口命令,关闭图形窗口 t=-10:9; %取20个点 ft1=(t==0); %单位脉冲信号函数 ft2=(t>=0); %单位阶跃信号函数 subplot(1,2,1),stem(t,ft1,'m-o') %图像窗口1行2列的第1个子图绘制单位脉冲信号图形 title('20个点的单位脉冲信号'); %设置标题为“20个点的单位脉冲信号” subplot(1,2,2),stem(t,ft2) %图像窗口1行2列的第2个子图绘制单位阶跃信号图形 title('20个点的单位阶跃信号'); %设置标题为“20个点的单位阶跃信号” 2. 生成占空比为30%的矩形波。 程序: clear,clc,close %清除变量空间变量,清除命令窗口命令 x=0:0.001:0.6; %设置变量x的值范围 y=square(2*pi*10*x,30); %用square函数得到占空比为30%的矩形波 plot(x,y,'m'); %绘制矩形波的图像

C语言课程设计题目

本次课程设计是《C语言》课程的综合实验,作为课堂教学和课内正常上机实验的补充。 通过对《C语言》课程的学习,学生已初步掌握C语言的基本概念、结构化程序设计的基本方法,但是实际编程和上机调试程序的能力还远远不足。通过《C 语言》课程设计,加强学生自主学习、收集资料和动手编程的能力,为后续专业课程打好基础。 本次课程设计要求每个程序要调试通过;课程设计结束后,每个小组提交课程设计成果如下: 程序一套,要求演示,演示时采用答辩形式,由各小组同学边演示边讲解编程思路。 课程设计报告一份。 源代码以电子版形式提交,提交的源代码要求加注释。(以附件的形式提交至老师的邮箱,邮件正文中注明专业、班级、各组员学号及姓名) 课程设计报告内容包括: 一、需求分析 对所选择题目进行分析,描述问题。简述课题要解决的问题是什么,有什么要求和限制条件。列出参与人员进行本设计时要达到的具体的目标。 二、总体设计 对设计目标进行总体分析,说明要采用的基本思路,说明遇到的问题和解决方法。 说明完成本次课程设计的完整过程。 要描述程序的设计思想,画出本次课程设计完整的程序框图或流程图。 三、详细设计 要求列出所有编写的函数清单,说明每个函数的功能,各形式参数的意义,画出各函数的调用关系图。即模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等)。

四、程序运行结果测试与分析 要针对程序处理的不同情况列出有代表性的输入和输出,用足够多的实例说明程序完成了设计任务和目标。 五、结论与心得 主要说明程序调试中发现的问题和解决办法,包括你在该设计中主要承担什么任务,在设计中学到了什么,哪里遇到了困难,解决的办法,可能但因时间关系没有来得及完成的想法,今后的目标等。 C语言课程设计题目 1、年历显示 功能要求: (1)输入一个年份,输出是在屏幕上显示该年的日历。假定输入的年份在1900-2100年之间。 (2)输入年月,输出该月的日历。 (3)输入年月日,输出距今天还有多少天,星期几,是否是公历节日。 2、小学生测验 面向小学1~2年级学生,随机选择两个整数和加减法形成算式要求学生解答。 功能要求: (1)电脑随机出10道题,每题10分,程序结束时显示学生得分; (2)确保算式没有超出1~2年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出0~50的范围,负数更是不允许的; (3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案; (4)对于每道题,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分; (5)总成绩90以上显示“SMART”,80-90显示“GOOD”,70-80显示“OK”,60-70显示“PASS”,60以下“TRY AGAIN”。

大学物理综合设计性实验(完整)

综合设计性物理实验指导书黑龙江大学普通物理实验室

目录绪论 实验1 几何光学设计性实验 实验2 LED特性测量 实验3 超声多普勒效应的研究和应用 实验4 热辐射与红外扫描成像实验 实验5 多方案测量食盐密度 实验6 多种方法测量液体表面张力系数 实验7 用Multisim软件仿真电路 实验8 霍尔效应实验误差来源的分析与消除 实验9 自组惠斯通电桥单检流计条件下自身内阻测定实验10 用迈克尔逊干涉仪测透明介质折射率 实验11 光电效应和普朗克常数的测定液体电导率测量实验12 光电池输出特性研究实验 实验13 非接触法测量液体电导率

绪论 一.综合设计性实验的学习过程 完成一个综合设计性实验要经过以下三个过程: 1.选题及拟定实验方案 实验题目一般是由实验室提供,学生也可以自带题目,学生可根据自己的兴趣爱好自由选择题目。选定实验题目之后,学生首先要了解实验目的、任务及要求,查阅有关文献资料(资料来源主要有教材、学术期刊等),查阅途径有:到图书馆借阅、网络查询等。学生根据相关的文献资料,写出该题目的研究综述,拟定实验方案。在这个阶段,学生应在实验原理、测量方法、测量手段等方面要有所创新;检查实验方案中物理思想是否正确、方案是否合理、是否可行、同时要考虑实验室能否提供实验所需的仪器用具、同时还要考虑实验的安全性等,并与指导教师反复讨论,使其完善。实验方案应包括:实验原理、实验示意图、实验所用的仪器材料、实验操作步骤等。 2.实施实验方案、完成实验 学生根据拟定的实验方案,选择测量仪器、确定测量步骤、选择最佳的测量条件,并在实验过程中不断地完善。在这个阶段,学生要认真分析实验过程中出现的问题,积极解决困难,要于教师、同学进行交流与讨论。在这种学习的过程中,学生要学习用实验解决问题的方法,并且学会合作与交流,对实验或科研的一般过程有一个新的认识;其次要充分调动主动学习的积极性,善于思考问题,培养勤于创新的学习习惯,提高综合运用知识的能力。 3.分析实验结果、总结实验报告 实验结束需要分析总结的内容有:(1)对实验结果进行讨论,进行误差分析;(2)讨论总结实验过程中遇到的问题及解决的办法;(3)写出完整的实验报告(4)总结实验成功与失败的原因,经验教训、心得体会。实验结束后的总结非常重要,是对整个实验的一个重新认识过程,在这个过程中可以锻炼学生分析问题、归纳和总结问题的能力,同时也提高了文字表达能力。 在完成综合性、设计性实验的整个过程中处处渗透着学生是学习的主体,学生是积极主动地探究问题,这是一种利于提高学生解决问题的能力,提高学生的综合素质的教学过程。 在综合设计性实验教学过程中学生与教师是在平等的基础上进行探讨、讨论问题,不要产生对教师的依赖。有些问题对教师是已知的,但对学生是未知的,这时教师应积极诱导学生找到解决问题的方法、鼓励学生克服困难,并在引导的过程中帮助学生建立科学的思维方式和研究问题的方法。有些问题对教师也是一个未知的问题,这时教师应与学生共同思考共同解决问题。 二.实验报告书写要求 实验报告应包括:1实验目的;2实验仪器及用具;3实验原理;4实验步骤;5测量原始数据;6数据处理过程及实验结果;7分析、总结实验结果,讨论总结实验过程中遇到的问题及解决的办法,总结实验成功与失败的原因,经验教训、心得体会。 三.实验成绩评定办法 教师根据学生查阅文献、实验方案设计、实际操作、实验记录、实验报告总结等方面综合评定学生的成绩。 (1)查询资料、拟定实验方案:占成绩的20%。在这方面主要考察学生独立查找资料,并根据实验原理设计一个合理、可行的实验方案。 (2)实施实验方案、完成实验内容:占成绩的30%。考察学生独立动手能力,综合运用知识解决实际问题的能力。 (3)分析结果、总结报告:占成绩的20%。主要考察学生对数据处理方面的知识运用情况,分析问题的能力,语言表达能力。 (4)科学探究、创新意识方面:占成绩的20%。考察学生是否具有创新意识,善于发现问题并能解决问题。 (5)实验态度、合作精神:占成绩的10%。考察学生是否积极主动地做实验,是否具有科学、

相关文档
相关文档 最新文档