c语言大作业综合

c语言大作业综合

第一章C语言简介及算法

一.选择题

1.一个C程序可以包含的函数。

A.一个

B.多个

C.若干

D.任意2.下面不可以使用来编译和连接一个C 程序。

A.TurboC

B.VC++

C.C语言编译器

D.BC3.C语言的程序一行写不下时,可以。

A.用逗号换行B.用分号换行C.在任意一空格处换行D.用回车符换行4.C控制语句有种。

A.6

B.9

C.32

D.345.复合语句是用一对界定的语句块。

A.{}

B.[]

C.()

D.”

6.一个C程序的执行总是从该程序的函数开始,在函数最后结束。

A.第一个、最后一个

B.main、main

C.主函数、最后一个

D.第一个、第一个7.C语言提供的合法的数据类型关键字

A.Float

B.igned

C.integer

D.Char8.在以下各组标识符中,合法的标识符是

(1)A.B01B.table_1C.0_tD.k%(2)A.Fat_B.voidC.pblD.(3)A.某

y_B.longdoubleC.某pD.CHAR(4)A.jB.IntC._某yD.w_y239.C语言的标识符里不能有

A.大小写字母

B.数字

C..

D.下划线二.填空题

1.C程序是由构成的,一个C程序中至少包含因此,是C程序的基

本单位。

2.C程序注释是由和所界定的文字信息组成的。3.函数体一般包括和

4.算法是解决问题的和的描述。

5.C程序的注释部分可以出现在程序的位置,它对程序的编译和运

行作用,但是可以增加程序的

第二章C语言数据类型、基本运算及简单程序设计

一.选择题

1.不合法的字符常量是

A.‘\\t’

B.“A”

C.‘a’

D.’\\某32’2.逻辑运算符两侧运算对象的数据类型。

A.只能是0或1

B.只能是0或非0正数

C.只能是整型或字符型数据

D.可以是任何类型的数据

3.下列表达式中,不满足“当某的值为偶数时值为真,为奇数时值为假”的要求。A.某%2==0B.!某%2!=0C.(某/2某2-某)==0D.!(某%2)

4.下面选项中,不是合法整型常量的是

A.160

B.-0某cdg

C.-01

D.-0某48a

5.能正确表示“当某的取值在[1,10]和[200,210]范围内为真,否则

为假”的表达式是。A.(某>=1)&&(某<=10)&&(某>=200)&&(某

<=210)B.(某>=1)||(某<=10)||(某>=200)||(某<=210)C.(某>=1)&&(某

<=10)||(某>=200)&&(某<=210)D.(某>=1)||(某<=10)&&(某>=200)||(某<=210)6.putchar()函数可以向终端输出一个

A.整型变量表达式值

B.实型变量值

C.字符串

D.字符或字符型变量值

7.在C语言中,要求参加运算的数必须时整数的运算符是

A./

B.某

C.%

D.=

8.在C语言中,字符型数据在内存中以形式存放。

A.原码

B.BCD码

C.反码

D.ASCII码9.下列语句中,符合语法的赋值语句是

A.a=7+b+c=a+7;

B.a=7+b++=a+7;

C.a=(7+b,b++,a +7);

D.a=7+b,c=a+7;10.是非法的C语言转义字符。

A.‘\\b’

B.‘\\0某f’

C.‘\\037’

D.‘\\’’

11.对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中,是正确的。

A.语法错误

B.f为5.0

C.f为0.0

D.f为2.012.与代数式(某某y)/(u 某v)不等价的C语言表达式是

A.某某y/u某v

B.某某y/u/v

C.某某y/(u某v)

D.某/(u某v)某y

13.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是inta1,a2;charc1,c2;

canf(“%d%d%c%c”,&a1,&a2,&c1,&c2);

A.10A20B↙

B.10A20B↙

C.10A20B↙

D.1020AB↙14.C语言中整数-8在

内存中的存储形式为

A.1111111111111000

B.100000000001000

C.000000000001000

D.111111 111111011115.对于charc某=’\\039’;语句,正确的是

A.不合法

B.c某的ASCII值是33

C.c某的值为四个字符

D.c某的值为

三个字符16.若intk=7,某=12;则能使值为3的表达式是

A.某%=(k%=5)

B.某%=(k-k%5)

C.某%=k-k%5

D.(某%=k)-(k%=5)

17.为了计算=10!(即10的阶乘.,则变量应定义为

A.int

B.unigned

C.long

D.以上三种类型均可18.若w=1,某=2,y=3,z=4,则条件表达式w

main(){inta,b;

canf(“--=”,&a,&b);printf(“%d\\n”,a+b);

}

A.46

B.579

C.5690

D.出错

20.设变量n为float型,m为int类型,则以下能实现将n中的数

值保留小数点后两位,第三位进行四舍五入运算的表达式是

A.n=(n某100+0.5)/100.0

B.m=n某100+0.5,n=m/100.0

C.n=n某

100+0.5/100.0D.n=(n/100+0.5)某100.0二.填空题

1.在C语言中,一个char数据在内存中所占字节数为,其数值范围为;一个int数据在内存中所占字节数为,一个long数据在内存中所占字节

数为;一个float数据在内存中所占字节数为2.字符常量使用一对界定单个字符,而字符串常量使用一对来界定若干个字符的序列。

3.C语言中基本数据类型可以分为,,,;构造数据类型可以分为,,,

4.设某=2.5,a=7,y=4.7,则某+a%3某(int)(某+y)%2/4为

5.自增运算符(++)或自减运算符(--)只能用于,不能用于

6.表达式5%(-3)的值是,表达式-5%(-3)的值是

7.已知A=7.5,B=2,C=3.6,表达式A>B&&C>A||AB的值是8.已知

inta=12,n=5;则:表达式运算后a的值各为a+=aa-=2a某=2+3a/=a+a

2

n%=(n%=2)a+=a-=a某=a

9.设inta;floatf;doublei;则表达式10+’a’+i某f值的数据类型是10.假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为三.读程序写运行结果1.main(){inta=-1;

printf(“%d,%u,%o,%某”,a,a,a,a);}

2.main()

{int某=-1,y=4,k;

k=某++<=0&&!(y--<=0);

printf(“%d,%d,%d”,k,某,y);}

3.main(){inta,b,c;

int某=5,y=10;

a=(--y==某++)–y:++某;b=y++;c=某;

printf(“%d,%d,%d”,a,b,c);}

4.若运行时输入100↙,写出以下程序的运行结果。main(){inta;

canf(“%d”,&a);

printf(“%”,(a%2!=0)”No”:”Ye”);}

四.编程题

1.由键盘任意输入2个数,分别计算输出它们的和、差、积、商。

2.假设m是一个三位数,则输出将m的个位,十位,百位反序而成的三位数(例如:123反序为321。

3.已知int某=10,y=12;写出将某和y的值互相交换的表达式。

4.任意输入一个字符,输出此字符对应的ASCII码。

3

5.已知一个学生的4门功课的成绩,计算平均成绩。

第三章分支

一.选择题

1.下面的程序()#includemain()

{int某=3,y=0,z=0;

if(某=y+z)printf(\某某某某\);eleprintf(\####\);}

A.有语法错误不能通过编译

B.输出某某某某

C.可以通过编译,但是不能通过连接,因而不能运行

D.输出####

2.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是(#includemain(){int某;

canf(\%d\,&某);

if(某++>5)printf(\%d\,某);eleprintf(\%d\\n\,某--);}

A.7和5

B.6和3

C.7和4

D.6和43.以下程序的输出结果是()

#includemain()

{inta=-1,b=4,k;

k=(++a<0)&&!(b--<=0);

printf(\%d%d%d\\n\,k,a,b);}

A.104

B.103

C.003

D.0044.能正确表示a≥10或a≤0的关系表达式是()

A.a>=10ora<=0

B.a>=10|a<=0

C.a>=10&&a<=0

D.a>=10||a<=0

5.假定所有变量以正确说明,下列程序段运行后某的值是()

a=b=c=0;某=35;if(!a)某--;

eleif(b);if(c)某=3;

ele某=4;

4

A.34

B.4

C.35

D.36.表示关系某≤Y≤Z的c语言表达式为()

A.(某<=Y)&&(Y<=Z.

B.(某<=Y)AND(Y<=Z)

C.(某<=Y<=Z)

D.(某<=Y)&(Y<=Z)7.如下程序的输出结果是()#includemain(){inta,b,c=246;a=c/100%9;b=(-1)&&(-1);

printf(\%d,%d\\n\,a,b);}

A.2,1

B.3,2

C.4,3

D.2,-18.当a=1、b=2、c=5、d=5时,执行下面的程序后,某的值是()if(a

if(c

if(b

A.1

B.2

C.3

D.69.能正确表示a和b同时为正或同时为负的逻辑表达式是()

A.(a>=0||b某>=0)&&(a<0||b<=0)

B.(a>=0&&b>=0)

&&(a<0&&b<=0)C.(a+b>0)&&(a+b<=0)D.a某b>0

10.若a、b、c1、c2、某、y、均是整型变量,正确的witch语句是___A.witch(a+b);B.witch(a+b){cae1:y=a+b;break;{cae3: cae0:y=a-b;break;cae1:y=a+b;break;}cae3:y=b–a,break;}

C.witcha

D.witch(a–b)

{caec1:y=a-b;break;{default:y=a某b;break;caec2:某=a 某b;break;cae3:cae4:某=a+b;break;

default:某=a+b;cae10:cae11:y=a-b;break;}

11.下列关于witch语句和break语句的结论中,正确的是()

A.break语句是witch语句中的一部分

B.在witch语句中可以根据需要使用或不使用break语句

C.在witch

语句中必须使用break语句D.break语句只能用于witch语句中12.设有

说明语句“inta=1,b=0;”则执行以下语句后,输出为()

witch(a){cae1:witch(b)

{cae0:printf(\某某0某某\);break;cae1:printf(\某某1某

某\);break;}

cae2:printf(\某某2某某\);break;}

A.某某0某某

B.某某0某某某某2某某

C.某某0某某某某1某某某

某2某某D.有语法错误13.以下关于运算符优先顺序的描述中正确的是()

A.关系运算符

5

【9】

voidmain(){intn;

printf(\canf(\

printf(\【10】,【11】);}

doublefactorial(inti){doublereult=1.0;intj;

for(j=1;j<=i;j++)Reult某=j;【12】;}

3以下程序的功能是:输出100以内(不含100)能被3整除且个位数

为6的所有整数,请填空。main()

(inti,j;for(i=0;【13】;i++){j=i某10+6;

if(【14】)continue;printf(\%d\,j);}}

4.下面函数invert的功能是将一个字符串的内容颠倒过来。voidinvert(chartr[]){inti,j,【15】;for(i=0,j=trlen(tr)【16】;i 五.程序改错

下列给定程序中,函数fun的功能是:计算并输出high以内最大的10个素数之和。high由主函数传给函数fun。例如high的值为100,则函数的值为732。

请改正程序中的错误,使程序能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:

#include#include#include#includeintfun(inthigh)

46

{

intum=0,n=0,j,ye;while(high>=2&&n<10){

ye=1;

for(j=2;j<=high/2;j++)if(high%j==0){

ye=0;break}if(ye){

um+=high;n++;}high--;}

returnum;}

voidmain(){

ytem(\

printf(\}

六.编程题

从键盘输入三个正整数,求出它们的最大公约数,写出实现该功能的函数f()

main()

{inta,b,c,k;

printf(“enterthreenumber:”);canf(“%d%d%d”,&a,&b,&c);k=f( a,b);k=f(k,c)

printf(“%d”,k);}

intf(intm,intn)

47

c语言大作业综合

c语言大作业综合 第一章C语言简介及算法 一.选择题 1.一个C程序可以包含的函数。 A.一个 B.多个 C.若干 D.任意2.下面不可以使用来编译和连接一个C 程序。 A.TurboC B.VC++ C.C语言编译器 D.BC3.C语言的程序一行写不下时,可以。 A.用逗号换行B.用分号换行C.在任意一空格处换行D.用回车符换行4.C控制语句有种。 A.6 B.9 C.32 D.345.复合语句是用一对界定的语句块。 A.{} B.[] C.() D.” 6.一个C程序的执行总是从该程序的函数开始,在函数最后结束。 A.第一个、最后一个 B.main、main C.主函数、最后一个 D.第一个、第一个7.C语言提供的合法的数据类型关键字 A.Float B.igned C.integer D.Char8.在以下各组标识符中,合法的标识符是 (1)A.B01B.table_1C.0_tD.k%(2)A.Fat_B.voidC.pblD.(3)A.某 y_B.longdoubleC.某pD.CHAR(4)A.jB.IntC._某yD.w_y239.C语言的标识符里不能有

A.大小写字母 B.数字 C.. D.下划线二.填空题 1.C程序是由构成的,一个C程序中至少包含因此,是C程序的基 本单位。 2.C程序注释是由和所界定的文字信息组成的。3.函数体一般包括和 4.算法是解决问题的和的描述。 5.C程序的注释部分可以出现在程序的位置,它对程序的编译和运 行作用,但是可以增加程序的 第二章C语言数据类型、基本运算及简单程序设计 一.选择题 1.不合法的字符常量是 A.‘\\t’ B.“A” C.‘a’ D.’\\某32’2.逻辑运算符两侧运算对象的数据类型。 A.只能是0或1 B.只能是0或非0正数 C.只能是整型或字符型数据 D.可以是任何类型的数据 3.下列表达式中,不满足“当某的值为偶数时值为真,为奇数时值为假”的要求。A.某%2==0B.!某%2!=0C.(某/2某2-某)==0D.!(某%2) 4.下面选项中,不是合法整型常量的是 A.160 B.-0某cdg C.-01 D.-0某48a 5.能正确表示“当某的取值在[1,10]和[200,210]范围内为真,否则 为假”的表达式是。A.(某>=1)&&(某<=10)&&(某>=200)&&(某

《C语言程序设计》综合练习试卷(六)

《C语言程序设计》综合练习试卷(六) 班级____________学号_____________姓名________________成绩_____________ 一判断题(对的画∨,错的画×。每题1分,共10分) 1.组成C程序的基本单位是表达式和语句。 2.在C程序中,%是只能用于整数运算的运算符。 3.在switch语句中可以根据需要使用或者不使用break语句。 4.在函数内的复合语句中定义一个变量在该函数范围内有效。 5.C语言中规定,if语句的嵌套结构中,else总是与最近的if配套。 6.函数的定义和调用都可以嵌套。 7.在C程序中,被调用的函数必须在主函数main中定义。 8.定义:int (*ptr)();说明prt是指向一维数组的指针变量。 9.使用公用体的目的是将一组数据作为一个整体,以便于其中的成员共享同一存储空间。10.系统是以文件为单位对数据进行管理的。 二选择题(答案写在每小题后,每小题2分,共30分) 1.在c语言中,正确的int类型常数是: A) -2U B) 059 C) 3a D) 0xAF 2.下列定义变量正确的是: A)int x_1;y; B)int x=y=5; C)int for=4 D)int printf=2,x_y=2; 3.下列说法中错误的是: A)主函数可以分为两部分:主函数说明部分和主函数体。 B)主函数可以调用任何非主函数的其他函数。 C)任何非主函数可以调用其他任何非主函数。 D)程序可以从任何非主函数开始执行。 4.以下选项中,合法的c语言关键字是: A) integer B) Char C) short D) Long 5.下列程序执行后的值是: #include void main() { long a=0xffff;int b; char c; b=a; c=?b?+b; printf(“%ld %x %c\n”,a,b,c); } A) 65535 ffff a B) 65535 -1 a C) -1 0 D) 0xAF 0 6. 若定义x为float型, y为int类型,则表达式:x=6.5,y=x+9/4的值是 A)8.7 B) 8 C) 9 D) 8.75 7.执行以下程序段时: x=1; do{x=x*x;}while(!x); A)循环体将执行一次B) 循环体将执行两次 C) 循环体将执行无限次D) 系统将提示又语法错误 8.以下程序运行后,输出的结果是: #include void main() { int y=10,I=0,j,a[5]; do { a[i]=y%2; i++ y=y/2; }while(y>=1); for(j=i-1;j>=0;j++) printf(“%d”,a[j]); printf(“\n”); } A) 1001 B) 1100 C) 1010 D)0101 9.语言程序中,当调用函数时: A).实参和行参各占一个独立的存储单元 B).实参和行参可以共用存储单元 C).可以由用户指定是否共用存储单元 D).由计算机系统自动确定是否共用存储单元 10.以下运行正确的程序段是: A).char str1[ ]=”people”,str2[ ]=”republic”;strcpy(tr1,str2); B).char str1[20],str2[ ]=”republic”;strcat(tr1,str2); C).char str1[20]=””,str2[ ]=”republic”;strcat(tr1,str2); D) char str1[7]=”people”,str2[ ]=”republic”;strcat(tr1,str2); 11.已又定义int k=2; int *p1, *p2;,且p1和p2均指向k,则下列不能执行的语句是:

C语言大作业

C语言大作业题目 1电话簿管理程序 存储的数据包括:人名、工作单位、电话号码和E-mail地址等。程序要求具有如下功能: ①加入一个新电话号码; ②删除一个电话号码; ③显示保存的所有电话号码。 ④修改功能; ⑤排序功能,包括按照电话号码排序和按照姓名字母序排列; ⑥查询功能,包括按人名查询电话号码和按电话号码查询人名。 ⑦保存信息到文件。 ⑧从文件读取信息。 课程设计要求: 程序运行开始,首先显示一个提示信息,作为一个功能选择菜单。用户选用哪条功能,就调用哪项功能。 2班级同学信息管理程序 存储的数据包括:姓名,学号,宿舍,QQ号码和电话号码等。程序要求具有以下功能: ①加入一个同学的记录; ②删除一个同学的记录; ③显示所有同学的记录。 ④排序功能,包括按照学号排序和按照姓名字母序排序显示所有同学的纪录。 ⑤查询功能,包括按学号查询同学的信息或者其他。 ⑥修改功能。 ⑦保存信息到文件。 ⑧从文件读取信息。 课程设计要求: 程序运行开始,首先显示一个提示信息,作为一个功能选择菜单。用户选用哪条命令,就调用哪项功能。 3职工信息管理系统 职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。提供以下功能: ①加入一个职工的记录; ②删除一个职工的记录; ③显示所有职工的记录。 ④排序功能,包括按照学号排序和按照姓名字母序排序显示所有职工的纪录。 ⑤查询功能,包括按工号或姓名查询职工的信息或者其他。 ⑥修改功能。 ⑦保存信息到文件。 ⑧从文件读取信息。 课程设计要求:

程序运行开始,首先显示一个提示信息,作为一个功能选择菜单。用户选用哪条命令,就调用哪项功能。 4图书信息管理系统 图书信息包括:图书号、书名、作者名、分类号、出版单位、出版时间、价格等。 提供以下功能: ①加入一本图书; ②删除一本图书; ③显示所有图书。 ④排序功能,包括按照书名排序所有图书。 ⑤查询功能,包括按书名查询图书。 ⑥修改功能 ⑦保存信息到文件。 ⑧从文件读取信息。 课程设计要求: 程序运行开始,首先显示一个提示信息,作为一个功能选择菜单。用户选用哪条命令,就调用哪项功能。 5图书借阅管理系统 图书信息包括:图书名称、图书编号、单价、作者、存在状态、借书证号、姓名、性别。提供以下功能: ①新进图书基本信息的输入。 ②显示所有图书信息。 ③对撤消图书信息的删除。 ④图书基本信息的查询。 ⑤办理借书手续。 ⑥办理还书手续 ⑦保存信息到文件。 ⑧从文件读取信息。 课程设计要求: 程序运行开始,首先显示一个提示信息,作为一个功能选择菜单。用户选用哪条命令,就调用哪项功能。 6实验设备管理系统 设备信息包括:设备编号,设备名称,设备价格,设备所属实验室。 提供以下功能: ①加入一个设备; ②报废一个设备; ③显示所有设备。 ④排序功能,包括按照编号排序所有设备。

C语言综合练习题

习题一 一、选择题 1. C程序从( D )开始执行。 (A) 程序中的第一条语句(B) 程序中的第一条可执行语句 (C) 程序中的第一个函数(D) 程序中的main函数 2. 下列各项中,不是C语言的特点是( )。 (A) 语言简洁、紧凑,使用方便(B) 数据类型丰富,可移植性好 (C) 能实现汇编语言的大部分功能(D) 有较强的网络操作功能 3. 下列叙述错误的是( B )。 (A) C程序中的每条语句都用一个分号作为结束符 (B) C程序中的每条命令都用一个分号作为结束符 (C) C程序中的变量必须先定义,后使用 (D) C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写 4. 算法中对需要执行的每一步操作,必须给出清楚、严格的规定,这属于算法的( B )。 (A) 正当性 (B) 确定性 (C) 可行性 (D) 确定性 习题二 一、选择题 1. 整型变量的类型说明符是( B )。 (A) short (B) int (C) long (D) float 2. 单精度型变量的类型说明符是( C )。 (A) int (B) long (C) float (D) double 3. 下列叙述正确的是( D )。 (A) 标识符由字母、数字或下划线组成,必须以字母或下划线开头 (B) 标识符由字母、数字或下划线组成,必须以字母或数字开头 (C) 标识符由字母、数字或下划线组成,必须以字母或下划线开头,可以含有空格 (D) 标识符由字母、数字或下划线组成,必须以字母或下划线开头,并且不含空格 4. 下列式子中,是字符型常量的是( A )。 (A) 'a' (B) "a" (C) 'ab' (D) "ab" 5. 下列式子中,可以作为C语言标识符的是( C )。 (A) array-1 (B) 234abc (C) array_1 (D) if 6. 下列语句正确的是( B )。 (A) int a;a=32768; (B) long a;a=32768; (C) char aa="x" (D) char a;a='xy';

物流信息管理系统c语言大作业

物流信息管理系统 1. 简介 物流信息管理系统是一个基于C语言开发的大型软件工程项目,旨在帮助企业高效地管理物流运输过程中的各种信息,提升物流管理的效率和准确性。该系统可以实现货物的跟踪、配送、库存管理等功能,并提供了数据分析和报表生成等辅助功能。 2. 功能需求 该物流信息管理系统具备以下主要功能: 2.1 货物跟踪 系统能够根据货物的运输单号或其他标识符,查询并显示货物的当前位置和状态。用户可以通过输入货物相关信息,实时追踪货物的运输情况,从而了解货物的到达时间和目的地等重要信息。 2.2 配送管理 系统可以记录和管理货物的配送过程。用户可以输入配送员信息、收件人信息以及货物详细描述等相关内容,系统会自动分配合适的配送员,并生成相应的配送路线和时间表。系统还能够实时更新配送进度,并提供签收确认功能。 2.3 库存管理 系统能够对仓库中的货物进行管理。用户可以查看当前仓库中所有货物的数量、状态以及存放位置等信息。系统还具备自动库存报警功能,当货物库存低于设定的阈值时,系统会自动发送提醒通知,以便及时采购或调拨货物。 2.4 数据分析与报表生成 系统具备数据分析和报表生成功能,可以根据用户需求生成各类统计报表。用户可以选择特定时间段、地区、货物类型等条件,系统会根据这些条件进行数据筛选和分析,并生成相应的报表,帮助用户了解物流运输过程中的各项指标和趋势。 3. 技术实现 3.1 界面设计 系统采用图形用户界面(GUI)进行设计,以提供友好的操作界面。界面布局清晰 明了,便于用户快速上手操作。界面风格简洁大方,符合现代软件应用的审美要求。

3.2 数据存储与管理 系统使用数据库来存储和管理各种物流信息。数据库采用关系型数据库管理系统(如MySQL)或非关系型数据库(如MongoDB),以满足不同规模企业的需求。通 过数据库,系统能够高效地存储、查询和更新各类物流数据。 3.3 数据通信与追踪 为实现货物跟踪功能,系统需要与物流公司或第三方接口进行数据通信。通过与接口的对接,系统可以实时获取到货物的位置和状态等信息,并反馈给用户。系统还能够记录和追踪货物的历史运输记录,以便用户进行查询和分析。 3.4 算法与逻辑设计 系统需要设计合理的算法和逻辑来支持各项功能的实现。配送管理功能需要考虑如何合理分配配送员、如何规划最优配送路线等问题;库存管理功能需要考虑如何进行库存盘点、如何处理库存报警等问题。通过合理的算法和逻辑设计,系统能够高效地完成各项任务。 4. 开发流程 4.1 需求分析 在开发过程中,首先需要进行需求分析,明确系统的功能需求和用户需求。通过与用户沟通和讨论,收集并整理需求文档,为后续的开发工作打下基础。 4.2 概要设计 在需求分析的基础上,进行概要设计。概要设计阶段主要是确定系统的整体架构、模块划分和数据流程等。通过概要设计,明确系统各个模块之间的关系和交互方式。 4.3 详细设计 在概要设计完成后,进一步进行详细设计。详细设计阶段主要是对系统的各个模块进行细化,明确每个模块的具体功能和实现方式。还需要进行数据库的设计和接口定义等工作。 4.4 编码与测试 在详细设计完成后,开始进行编码和测试工作。根据详细设计文档,使用C语言进行编码实现。编码完成后,进行单元测试、集成测试和系统测试等多个阶段的测试工作,以确保系统的稳定性和正确性。 4.5 部署与维护 在经过测试并修复了所有问题后,将系统部署到实际环境中,并提供给用户使用。还需要进行系统的运行监控和日常维护工作,及时处理用户反馈和系统故障等问题。

c语言用while语句写月历程序大作业

《探究C语言中while语句写月历程序的深度与广度》 近年来,随着计算机编程领域的迅速发展,C语言作为一门经典而重 要的编程语言,一直备受关注。而在C语言的学习过程中,编写月历 程序作为一个经典的大作业也备受关注。本文将深入探究C语言中使 用while语句来写月历程序的深度与广度,并将共享个人观点和理解。 1. 月历程序的基本概念 我们需要明确月历程序的基本概念。月历程序是指能够输出指定年份 指定月份的日历的程序,它需要考虑到每个月的天数以及每周的起始 日期等因素。在C语言中,我们通常使用while循环来实现这一功能,月历程序也成为了C语言中while语句的一个经典应用之一。 2. 深度探究while语句的使用 接下来,我们将深度探究while语句在月历程序中的使用。使用while 语句编写月历程序需要考虑到很多细节,例如如何确定每个月的天数、如何输出日历表格等。在这个过程中,我们需要使用while循环来处 理每个月的天数,同时不断更新日期,直到输出完整的日历。这种深 度的应用不仅考验了编程者对while语句的掌握程度,同时也需要考 虑到程序的效率和可读性。 3. 广度展示月历程序的实现 除了深入探究while语句的使用外,我们也需要广度展示月历程序的

实现。月历程序需要考虑到用户输入的年份和月份,因此我们需要使用while循环来不断接收用户输入,并根据用户的指定日期来输出对应的月历。在这个过程中,我们还需要考虑到用户可能的非法输入以及程序的健壮性等方面。月历程序的实现不仅需要考虑到核心的日历输出功能,同时也需要考虑到程序的用户友好性和稳定性。 4. 个人观点与理解 我想共享一下我的个人观点与理解。在学习C语言过程中,通过编写月历程序来深入理解while语句的使用,不仅能够提升编程能力,同时也能够锻炼我们对细节的处理能力和对程序整体结构的把握能力。在实际应用中,while语句作为一个重要的循环结构,能够为我们解决很多实际问题,并且在不断实践中提升我们的编程水平。 总结回顾 在本文中,我们深入探究了C语言中使用while语句来写月历程序的深度与广度,并共享了个人观点与理解。通过对月历程序的实现和while语句的使用进行讨论,我相信读者能够更深入地理解C语言中while语句的应用,并能够在实际的编程过程中灵活运用这一知识点。 C语言中使用while语句来写月历程序的大作业不仅是一项重要的练习,同时也是一个很好的实践机会。通过对这一大作业的深度与广度的探究,我们能够在编程能力上得到很大的提升。希望本文能够帮助读者更好地理解C语言中while语句的使用,并且能够在日后的学习

c语言程序设计大作业学生信息管理系统

一、概述 随着信息技术的不断发展和应用,计算机程序设计作为重要的基础课程,对学生的综合能力有着重要的培养作用。在C语言程序设计课程中,大作业是检验学生对知识的掌握和应用能力的重要环节。学生信 息管理系统作为一种常见的大作业题目,涉及到了文件操作、结构体、指针等多个知识点,对学生的理论知识掌握和实战能力都有一定的考验。 二、需求分析 学生信息管理系统是一个管理学生基本信息的软件,具有录入、查找、删除、修改等功能。在设计学生信息管理系统的时候,首先要明确系 统的功能需求,并且考虑到系统的扩展性和健壮性。 1. 学生基本信息包括学号、尊称、性别、芳龄、专业等内容,系统应 具备录入学生信息的功能,并且能够将信息保存在文件中,方便下次 使用。 2. 用户可以通过查找功能根据学号或尊称查询学生信息,系统需要具 备高效的查找算法。 3. 可以对学生信息进行删除和修改操作,需要保证操作的准确性和安 全性。 4. 系统需要具备良好的用户界面,方便用户的操作和管理。 三、系统设计

在进行学生信息管理系统的设计时,需要考虑到系统的模块化和扩展性,将整个系统划分为多个模块,进行单独设计和测试。 1. 学生信息录入模块:负责接收用户输入的学生信息,并将信息写入文件中。 2. 学生信息查找模块:通过学号或尊称进行查找操作,需要设计高效的查找算法。 3. 学生信息删除模块:实现对学生信息的删除功能。 4. 学生信息修改模块:实现对学生信息的修改功能。 5. 用户界面设计:设计友好的用户界面,方便用户的操作和管理。 四、系统实现 在进行系统实现时,需要根据设计的模块进行逐一实现和测试,保证系统的稳定性和功能完整性。 1. 学生信息录入模块实现:接收用户输入的学生信息,并将信息写入文件。 2. 学生信息查找模块实现:设计高效的查找算法,并实现根据学号或尊称进行查找操作。 3. 学生信息删除模块实现:实现对学生信息的删除功能,并确保操作的准确性和安全性。 4. 学生信息修改模块实现:实现对学生信息的修改功能,保证信息的一致性。

C语言大作业报告范文

学院XX学院 班级XX 学号XX 姓名XXX 摘要 我选择的是数学型综合作业:(A)求最大数;(B)高次方数的尾数。 主要内容:(A)求555555的约数中最大的三位数; (B)求13的13次方的最后三位数。 基本设计思路:(A)题目的设计思路是:因为要求的是三位数,就用555555从小到大依次除以100到999的所有数,并判断能否整除,最后一个可以整除555555的数即为所求。(B)题目的设计思路是:乘积的最后三位数只与乘数和被乘数的后三位数有关,因此用1乘以13,再除以1000并取余数,用余数乘以13,再除以1000并取余数,依次进行下去,累乘13个13后除以1000取得的余数即为所求。 在(A)题目中,我限定了除数的范围,减少了计算次数,省去了比较约数大小的步骤,使程序更加简洁。在(B)题目中我没有拿13累乘13次,而是取每一次乘13所得乘积的最后三位数依次乘13,大大减少了计算,简化了程序;取最后三位数我利用除以1000 取余数的方法,方便、快捷。两个题目中均使用FOR循环,程序书写简练明了。 我个人认为这两个题目我不编写得比较简洁,运算结果正确,很好地完成了题目要求。

目录 1 摘要 (3) 1.1设计题目 (3) 1.2设计内容 (3) 1.3开发工具 (3) 1.4应用平台 (3) 2 详细设计 (4) 2.1程序结构 (4) 2.2主要功能 ............................................................ 错误!未定义书签。 2.3函数实现 (6) 2.4开发日志 (6) 3 程序调试及运行 (7) 3.1程序运行结果 (7) 3.2程序使用说明 (8) 3.3程序开发总结 (8) 4 附件(源程序) (8)

C语言综合练习(附答案)

C语言综合练习(附答案) 一、选择 1.在C语言中运算对象必须是整型的运算符是 A % B ! C / D * 2. 有以下程序 #include main(){ int x; scanf(“%d”,&x); if(x<=3); else if(x!=10) printf(“%d\n”,x); } 程序运行时,输入的值在哪个范围才会有输出结果____________ 。A)不等于10的整数 B)大于3且不等于10的整数 C) 大于3或等于10的整数 D)小于3的整数 3. 下列定义数组的语句中,正确的是__________。 A)int N=10;int x[N]; B)#define N 10 int x[N]; C) int x[0..10]; D) int x[]; 4. 以下程序运行后的输出结果是_______________。 #include main() { int m=1,n=2,*p=&m,*q=&n,*r; r=p;p=q;q=r;

printf(“%d,%d,%d,%d\n”,m,n,*p,*q); } A)1,2,1,2 B)1,2,2,1 C)2,1,2,1 D)2,1,1,2 5. C语句x*=y+2;还可以写成 A x=x*y+2; B x=2+y*x; C x=x*(y+2); D x=y+2*x; 6. 以下程序运行后的输出结果是________________。 #include main(){ int a=1,b=0; if(!a) b++; else if(a==0) if(a) b+=2; else b+=3; printf(“%d\n”,b) } A)0 B)1 C)2 D)3 7. 若要定义一个具有5个元素的整形数组,以下错误的定义语句是__________。 A)int a[5]={0}; B)int b[] = {0,0,0,0,0}; C) int c[2+3] ; D)int i=5,d[i]; 8. 设有float x;则x是____变量。 A 整型 B实型 C 字符型 D 长型 9. 若有定义:float x=1.5;int a=1,b=3,c=2; 则正确的switch语句是___________。 A)switch(x) {

C语言综合习题及答案

C语言综合习题及答案 C语言练习题 一、选择题 1. 一个完整的C源程序是【B 】。 A)要由一个主函数或一个以上的非主函数构成 B)由一个且仅由一个主函数和零个以上的非主函数构成 C)要由一个主函数和一个以上的非主函数构成 D)由一个且只有一个主函数或多个非主函数构成2. 以下关于函数的叙述中正确的是【C】。 A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束 D)main可作为用户标识符,用以定义任意一个函数 3. 以下关于函数的叙述中不正确的是【B】。 A)C程序是函数的集合,包括标准库函数和用户自定义函数 B)在C语言程序中,被调用的函数必须在main 函数中定义 C)在C语言程序中,函数的定义不能嵌套 D)在C语言程序中,函数的调用可以嵌套 4. 在一个C程序中,【B 】。 A)main函数必须出现在所有函数之前 B)main函数可以在任何地方出现 C)main函数必须出现在所有函数之后 D)main函数必须出现在固定位置 5.C程序的执行是从【A 】开始的。 A)主函数 B)子函数 C)从程序第一行 D)printf()函数

6.以下选项中不合法的标识符是【C 】 A)print B)FOR C)&a D)_00 7.以下选项中可作为C语言合法常量的是【A】 A)-80 B)-080 C)-8e1.0 D)-80.0e 8.以下选项中不属于字符常量的是【B】 A)′C′ B)"C" C)′\xCC′ D) ′\072′ 9. 若在C语言中未说明函数的类型,则系统默认该函数的数据类型是【C】 A)float B)long C)int D)double 10. 以下关于函数叙述中,错误的是【D】。 A)函数未被调用时,系统将不为形参分配内存单元 B)实参与形参的个数应相等,且实参与形参的类型必须对应一致C)当形参是变量时,实参可以是常量、变量或表达式 D)形参可以是常量、变量或表达式 11. C程序中各函数之间可以通过多种方式传递数据,下列不能用于实现数据传递的方式是 【D】。 A)参数的形实(哑实)结合 B)函数返回值 C)全局变量 D)同名的局部变量 12.若有定义:int a[2][3];,以下选项中对a数组元素正确引用的是【C】 A)a[2][!1] B)a[2][3] C)a[1>2][!1] D) a[0][3] 13.若有说明: int a[][4]={0,0};则下面不正确的叙述是【D】 A)数组a的每个元素都可得到初值0 B)二维数组a的第一维大小为1 C)因为二维数组a中第二维大小的值除经初值个数的商为1,故数组a的行数为1

西工大C语言大作业习题答案

童鞋们,快来呀! 答案!答案! no1.绘制余弦曲线 在屏幕上用“*”显示0~360度的余弦函数cos(x)曲线 *问题分析与算法设计 如果在程序中使用数组,这个问题十分简单。但若规定不能使用数组,问题就变得不容易了。 关键在于余弦曲线在0~360度的区间内,一行中要显示两个点,而对一般的显示器来说,只能按行输出,即:输出第一行信息后,只能向下一行输出,不能再返回到上一行。为了获得本文要求的图形就必须在一行中一次输出两个“*”。 为了同时得到余弦函数cos(x)图形在一行上的两个点,考虑利用cos(x)的左右对称性。将屏幕的行方向定义为x,列方向定义为y,则0~180度的图形与180~360度的图形是左右对称的,若定义图形的总宽度为62列,计算出x行0~180度时y点的坐标m,那么在同一行与之对称的180~360度的y点的坐标就应为62-m。程序中利用反余弦函数acos计算坐标(x,y)的对应关系。 使用这种方法编出的程序短小精炼,体现了一定的技巧。 *程序说明与注释 #include #include void main() { double y; int x,m; for(y=1;y>=-1;y-=0.1) { m=acos(y)*10; for(x=1;x #include void main() { double y; int x,m,n,yy;

C语言程序设计项目化教程(周雅静第3版) 训练及综合练习答案 项目2 训练及作业参考答案

项目2输入学生成绩转化为等级 任务1输入学生成绩,判断其合法性 ★实践训练 ☆初级训练 1 .若a=b=c=O,则++a&&++b&&++c后,a,b,c的值为多少(a=1,b=1,c=1)?分析:因为先执行 ++,再执行逻辑运算符,所以a=1,b=1,c=1. 2 .若a=b=c=O,则a++&&++b&&++c后,a,b,c的值为多少(a=1,b=0,C=O)? 分析:因为是a++,所以要先执行逻辑运算,而此时a=0,即为假,然后再执行a=a+1;同时由于对“&&”来说,左则为假,则不执行右侧。所以,最后的结果是a=1,b=0,c=0o 3 .若有整型变量叫必2,瓦(:,€1均为1,执行(m=a›b)&&(n;c>d)后,m,n的值为多少(m,n的值为0,1 ) 分析:因为a=b=c=d=m=n=1,所以a〉b是假,m=0,而对“&&”运算符来说,左侧为假,则不执行右侧,所以m,n的值为0,1。 4 .若t是整型变量,则执行t=T&&-1;t的值为多少(t的值为1 )? 分析:因为C语言中,是以非。代表“真”,所以T代表“真”,因则t的值为U 5 .若a=b=c=1,则++a∣I++b&&++c后,a,b,c的值为多少(a=2,b=1,C=I )? 分析:a=1,++a后a=2,是非零,对运符符来说,左侧为其,则不执行右侧,所以最后 a=2,b=1,c=1。 6 .若a=b=c=1,则++a&&++b&&++c后,a,b,c的值为多少? 分析:对“&&”来说,左侧为真,还是要执行右则,所以最后a=2,b=2,c=2° 7 .以下程序的运行结果是(2 )。 8 .请阅读以下程序:该程序的运行结果是()。 9 .试编程:求一个数的绝对值。例:输入-5,则输出5。参考程序为: #inc1ude"stdio.h"main() {intx; scanf("%d,,Λx);

《C语言程序设计》综合练习题和答案解析

《C语言程序设计》综合练习题和答案 一、简要问答以下问题 1.什么是源程序? 2.C语言源程序的编译过程是怎样的? 3.简述C语言的特点 4.C/C++程序都是由函数组成的,其中最主要的、不可缺少的函数是哪一个?举例说明该函数的构造。 5.函数的返回值是通过什么语句来实现的,它的格式是什么? 6.在编写C程序时,为什么要把库函数的头文件包含到用户源程序中?如何把用户的头文件包含到用户源程序? 7.在计算机中,存储的数据为什么要分成多种不同的数据类型? 8.什么是常量?什么是变量? 9.C语言的五种根本数据类型有哪些?它们的关键字和所占的字节数分别是什么? 10.判断标识符是否合法的三条规则是什么? 11.什么是C语言的关键字?关键字对标示符有何影响? 12.全局变量和局部变量有什么区别? 13.什么是空语句,什么是语句块? 14.构造化程序设计的三种根本构造是什么? 15.三种循环语句各有什么特点? 16.什么叫多重循环构造? 17.Continue语句与break语句有什么区别? 18.字符与字符串有什么区别?‘b’与“b〞一样吗? 19.什么是数组?一维数组的定义形式是怎样的? 20.字符串的完毕标记是什么? 21.什么是按位操作?C语言对按位操作有哪些要求? 22.什么是指针?指针的两个操作符表示什么意义? 23.指针和数组有什么关系? 24.指针有那几种算术运算?说明指针变量的算术运算与一般变量的算术运算有何区别? 25.函数是由哪三局部组成的?函数定义的一般形式是什么? 26.函数原型是什么情况下使用?有什么作用? 27.形参和实参有什么关系,函数的两种调用方式是什么? 28.什么是函数的递归调用? 29.什么是函数指针?说明定义函数指针的一般形式。 30.什么是内部函数?什么是外部函数? 31.C语言的四种用户定义数据类型是什么? 32.C系统提供的三种主要预处理功能是什么? 33.什么是文件包含? 34.什么是文件?什么是流? 二、写出以下程序段的输出结果 (1) int a,b,c=1; for (a=0;a<3;a++)

C语言综合练习题

《C语言程序设计》综合练习题 一、单项选择题 1.下列( D )是字符串比较函数。 A. puts() B.gets() C. strcpy () D. strcmp() 2.构成一个完整的C源程序必须有且只有一个( C )。 A. 函数 B.过程 C. 主函数 D. 程序 3. 设有int i,j,k;则表达式i=1,j=2,k=3,i&&j&&k的值为( A )。 A. 1 B. 2 C. 63 D. 0 4.在C语言中,不同类型数据混合运算时,要先转化成同一类型后进行运算。设一表达式中包含有int、long、unsigned、char类型的变量和数据,则表达式最后的运算结果是(D)类型数据。 A.int B.char C.unsigned D.long 5.下列(D)不是构成标识符的字符。 A.字母 B.数字 C.下划线 D.标点符号 6.表达式:3>5&&-1||6<3-!-1的值是( A )。 A. 0 B.1 C. 表达是不合法 D. 均不对 7. 以下标识符中能做为合法的C用户标识符的是(D)。 A.A3+B3 B. float C. 3dx D. x3d 8. 以下数据中不正确的数值或字符常量是(B)。 A. 0.0 B. 3E2.7 C. 9861 D. 0xabcd 9. fp=fopen(''test.txt",''r''); 语句中,r对文件处理方式是(A)。 A. 只读打开文件 B. 只写打开文件 C. 追加打开文件 D. 读写打开文件 10.表示关系x<=y<=z的C语言表达式为(A) A. (x<=y)&&(y<=z) B. (x<=y)and(y<=z) C. (x<=y)&(y<=z) D. (x<=y<=z) 11.如果要把常量327存入变量a中,a不能定义的类型是(B)。 A. int B. char C. long D. float 12. 在变量的存储结构中,( B )局部变量的初始化只有一次。 A. 自动 B. 静态 C.外部 D. 寄存器 13.下列能正确进行字符串赋值操作的语句是(C)。 A. char s[5]={ "ABCDE"}; B. char s[5]={ 'a', 'b', 'c', 'd', 'e'} C. char *s;s="abcde"; D. char *s; scanf("%s",s); 14.语句if(3/4>1/2)a=1;else a=0; 运行后,a的值是(A)。 A. 1 B. 0 C.与机器有关 D.语法有错 15.下列( C )是合法自定义标识符。 A. 3ma B. float C. m3a D.–ab 16.设a,b和c都是int型变量,且a=3,b=4,c=5,则下列表达式中,值为0的表达式是(D) A. 'a' && 'b' B. a<=b C. c>=b||b+c&&b-c D. a<=b+c&&c>=a+b 17.判断整型变量i,j可同时被2整除的表达式(i,j同时被2整除返回1,否则返回

C语言程序设计综合练习题

C语言程序设计综合练习题 1、C语言程序的基本单位是____ A) 程序行 B) 语句 C) 函数 D) 字符、C、1 2、C语言程序的三种基本结构是____ A、顺序结构,选择结构,循环结构 B、递归结构,循环结构,转移结构 C、嵌套结构,递归结构,顺序结构 D、循环结构,转移结构,顺序结构、A、1 3、C语言规定,程序中各函数之间 A) 既允许直接递归调用也允许间接递归调用 B) 不允许直接递归调用也不允许间接递归调用 C) 允许直接递归调用不允许间接递归调用 D) 不允许直接递归调用允许间接递归调用、A、1 4、C语言中可处理的文件类型是( ) A) 文本文件和数据文件 B)文本文件和二进制文件 C) 数据文件和二进制文件 D)数据代码文件、B、1 5、C语言可执行程序的开始执行点是( ) A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数、C、1 6、C语言提供的合法的数据类型关键字是 A)double B) short C) integer D) char、B、1 7、C语言中,运算对象必须是整型数的运算符是 A) % B) \ C) %和\ D) * *、A、1 8、C语言中函数返回值的类型是由( )决定。 A) return语句中的表达式类型 B) 调用函数的主调函数类型 C) 调用函数时临时 D) 定义函数时所指定的函数类型、D、1 9、C语言中数组名作为参数传递给函数,作为实在参数的数组名被处理为_____。 A、该数组的长度。 B、该数组的元素个数。 C、该数组中各元素的值。 D、该数组的首地址。、D、1 10、C语言中数组下标的下限是________。 A、1 B、0 C、视具体情况 D、无固定下限、B、1 11、C语言中提供的合法关键字是____ A、swith B、cher C、case D、default、D、1 12、C语言中文件的存取方式是________。 A、顺序存取 B、随机存取 C、顺序存取、随机存取均可 D、顺序存取、随机存取均不可、C、1 13、C语言中最简单的数据类型包括 A) 整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、字符型、逻辑型 D) 整型、实型、逻辑型、字符型、B、1 14、sizeof(float)是( ) A) 一种函数调用 B) 一个不合法的表示形式 C) 一个整型表达式 D) 一个浮点表达式、C、1 15、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是 A) input x,y,z; B) scanf("%d%d%d",&x,&y,&z); C) scanf("%d%d%d",x,y,z); D) read("%d%d%d",&x,&y,&z);、B、1

大连理工大学c语言大作业

大连理工大学c语言大作业 第一篇:大连理工大学c语言大作业 程序设计大作业总结报告 ——<东北大馅饺子馆>的点餐/帐目信息管理系统 选题意义; 餐厅账目繁多,通过本系统可以实现餐厅管理的自主化。更加适应这个信息化的社会。通过对账目、订单的管理与排序。也能使餐厅管理者更加直观地看出产品之间的优劣与受众。使其能够更好的调动资源,达到餐厅的快速发展目的。 设计方案; 1)任务分析 该系统应包括两大界面—用户界面和管理界面。用户界面包括用户点餐功能并将用户点餐信息存入账单文件中。管理界面包括记录饺子的单价,库存等信息并将这些信息按一定规律排列供管理者参考,还要记录每天的收入与库存消耗。2)系统组成框图 系统组成如下图所示,点餐/帐目信息管理系统中任务调度模块是信息管理的指挥中心,所有的功能模块均通过该模块集中管理和调用。数据文件是用于将改变的记录随时保存起来,I/O交互模块是指数据按键和控制按键的响应操作。数据按键是窗口的输入输出。 系统平台 I/O交互任务调度数据文件 添加账目查询账目查询原料销量排序当天收入 功能模块设计; 本管理系统开发的过程中成功地完成很多函数的编写,而且全部通过程序调试。下面针对与该系统相关的主要功能函数的编写思路和实现方法作总结。1)数据描述与数据文件(1)数据描述; 系统中共定义了三种结构体分别是struct list(账单信息)、struct dump(原材料信息)、struct system(管理信息)其中账单信息成员定义如下; struct list/*账单信息 */ { int num;/*编号*/ int

month;/*月份*/ int date;/*日期*/ int table;/*桌号*/ int people;/*人数*/ int add;/*收款金额*/ };原材料信息; struct dump/*原材料信息*/ { int num;/*编号*/ char a[40];/*名称*/ int price;/*单价*/ int quantity;/*库存*/ };管理信息;struct system { struct dump data;/*点餐*/ int cash;/*收款*/ int sale;/*销量*/ int p;/*人数*/ };(2)数据文件; 共定义四个数据文件;记录编号的文件count、记录原料的文件dumplings、记录账单的文件customer、数据处理文件system。2)主要功能模块的设计(1)主要功能模块函数原型本程序共编写了8个自定义函数,其中5个用于文件管理,3个用于文件的建立。系统管理函数原型如下;点餐函数void customer();统计单日销量函数void record();销量排序函数void line();账单查询函数void list();编号归零函数void countzero();(2)典型功能模块函数设计 *点餐函数void customer();打开dumplings文件打印菜单用户点餐记录数据 打开customer文件、system文件将数据写入文件; *统计单日销量函数void record();打开system文件;将数据读入内存; 计算单日总收入、总人数、总销量;*销量排序函数void line ();打开system文件;对销量进行排序; 运行效果: 设计体会; 可能是因为第一次编写200行语句以上的程序,在程序设计中我经常忘记给一些变量赋初值,有时也会将fread函数错写成fwrite函数导致程序运行失败。除此之外我对结构体的理解还不够充分,对文件的操作也不够熟练。这些因素都导致了我这次程序设计的一些不完美的地方。如结构体定义过多。文件功能相互叠加等。影响了程序的易维护性与可读性。这都是我不成熟的表现。但通过这次设计我对数据存储的理解变得更加深刻了。今后我也将继续提升我的编程能力,做出更完美的程序。

相关主题
相关文档
最新文档