当前位置:文档之家› C语言程序设计--交通处罚单管理系统

C语言程序设计--交通处罚单管理系统

C语言程序设计--交通处罚单管理系统
C语言程序设计--交通处罚单管理系统

C语言设计实习报告

课程名称计算机高级语言课程设计(C)教师姓名孔春芳

本科生姓名

本科生学号2012100

本科生专业电子信息工程

所在院系机械与电子信息学院

类别: C. 本科生

日期: 2013-7-5

课程设计评语

注:1、无评阅人签名成绩无效;

2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效;

3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。

目录

1.题目要求 (4)

2.需求分析 (4)

3.总体设计.............................................................. 错误!未定义书签。4.详细设计. (5)

5.上机操作 (17)

6.总结 (21)

7.参考文献.............................................................. 错误!未定义书签。

1.题目要求

【要求】:交通处罚单涉及到车辆,驾驶员和开单交警的信息,还有交通处罚单的号码,处罚时间等信息。

【功能】:(1) 要求可以输入,删除,浏览交通处罚单信息。

(2)可以按车辆,驾驶员和开单交警查询。

(3)统计某时间段某个驾驶员的交通处罚数目及交

通处罚单号码。

2.需求分析

交通处罚单信息用文件存储,提供文件的输输出操作;要求可以输入,输出,删除,浏览交通处罚单信息,因而要提供输入,删除和显示操作;要实现按车辆,驾驶员和开单交警查询,则要提供查找操作;另外提供统计操作和键盘式选择菜单以实现功能选择。

3.总体设计

整个管理系统被设计为信息输入模块,信息删除模块,信息浏览模块,信息查询模块,信息统计模块。

4.详细设计

1,处罚单管理系统界面函数

此函数包括的功能是建立新的罚单,按司机姓名查询罚单并浏览相关信息,按交警姓名查询罚单并浏

览相关信息,按罚单号查询罚单并浏览相关信息,删除

罚单,数据统计和退出处罚单管理系统。

void menu()

{ int n,r;

do

{system(“cls”);

printf(“\n\t\t\t 交通处罚管理系统\n”);

printf(“**********************************”);

printf(“菜单:1-信息录入\n”);

printf(“2-信息删除\n”);

printf(“3-信息浏览\n”);

printf(“4-信息查询\n”);

printf(“5-信息统计\n”);

printf(“6-退出系统\n”);

printf(“*******************************”);

printf(“请从输入数字选择相应的功能:”);

scanf(“%d”,&n);

if(n<1||N>6)

{r=1;

getchar();

}

else r=0;

}while(r==1);

switch(n)

{ case 1: input ();break;

case 2: dele ();break;

case 3: browse();break;

case 4: search();break;

case 5:count();break;

case 6:exit(0);

}

}

2,各功能模块设计

(1)输入模块

处罚单包含的内容有处罚单号,车牌号,司机姓名,交警姓名,和处罚日期,因此相应的函数也应包含这些内容,在这个函数所控制的操作会依次提示输入以上内容。特别的,罚单号不能有重复,若输入的罚单号有重复,操作界面会提示罚单好重复,请重新输入。

结构体数组;

struct Plist //处罚单

char vno[20]; //车牌号

char dname[20]; //驾驶员姓名

char pname[20]; //交警姓名

char pno[20]; //交警编号

char no[20]; //处罚单编号

char date[20]; //处罚日期

} list[N]; //处罚单数组

说明:其中list[N]中的N为处罚单数量,程序中采用宏定义的方式,可随时在源程序宏定义中修改,本程序宏定义#define N 50。

输入模块程序流程图如下所示。

程序:

程序中涉及到文件的处理,要新建一个文件夹,将输入的信息保存进文件夹void input()

{

FILE*fp;

int num;

int i,j;

if((fp=fopen("list.txt","r+"))==NULL)

{

if((fp=fopen("list.txt","w"))==NULL)

{

printf("文件打开或创建失败!\n");

printf("\npress enter to return menu\n");

getchar();

menu();

}

printf("\n请输入处罚单数量:");

scanf("%d",&i);

printf("\n\n");

for(j=0;j

{

printf("输入第%d张处罚单的:\n",j+1);

printf("\n 车牌号、驾驶员姓名、交警姓名、交警号、处罚单号、日期(如20101112)\n");

printf("\n注意:中间用空格隔开!\n");

scanf("%s%s%s%s%s%s",&list[j].vno,&list[j].dname,&list[j].pname,&list[j].pno,&li st[j].no,&list[j].date);

}

for(j=0;j

{

fprintf(fp,"\n%s\t%s\t%s\t%s\t%s\t%s",list[j].vno,list[j].dname,list[j].pname,list[j].pn o,list[j].no,list[j].date); /*开辟存储空间,将信息输入到指针指向的位置*/ }

fclose(fp); /*关闭文件*/

printf("\n保存成功!");

printf("\npress enter to return menu\n");

getchar();

getchar();

menu();

}

printf("\n请输入处罚单数量:");

scanf("%d",&i);

for(j=0;!feof(fp);j++) //读取文件

{

fscanf(fp,"%s%s%s%s%s%s",&list[j].vno,&list[j].dname,&list[j].pname,&list[j].pno, &list[j].no,&list[j].date); /*将指针中输入的数据送到指定的存储位置*/

}

num=j+i;

if(num>N)

{

printf("\n结构体数组数的N太小,请先修改N的值\n");

printf("\npress enter to return menu\n");

getchar();

getchar();

menu();

}

printf("\n");

for(j=0;j

{

printf("输入第%d张处罚单的:\n",j+1);

printf("\n车牌号、驾驶员姓名、交警姓名、交警号、处罚单号、日期(如20101112)\n");

printf("\n注意:中间用空格隔开!\n");

scanf("%s%s%s%s%s%s",&list[j].vno,&list[j].dname,&list[j].pname,&list[j].pno,&li st[j].no,&list[j].date);

}

for(j=0;j

{

fprintf(fp,"\n%s\t%s\t%s\t%s\t%s\t%s",list[j].vno,list[j].dname,list[j].pname,list[j ].pno,list[j].no,list[j].date);

}

fclose(fp);

printf("\n保存成功!");

printf("\npress enter to return menu\n");

getchar();

getchar();

menu();

}

(2)删除模块

该模块删除多余信息,需要先以只读的形式打开,可以以其中一个信息输入内容确定需删除的信息,本程序输入处罚单的编号,根据编号删除记录。删除记录时,将数据从文件中删除,删除位置后面的记录往前移。该模块的流程图如下。

程序:

void dele()

{

int j;

int num;

int f=-1;

FILE*fp1,*fp2;

char s1[20];

if((fp1=fopen("list.txt","r"))==NULL)

{

printf("can not open file\n");

printf("\npress enter to return menu\n");

getchar();

getchar();

menu();

}

for(j=0;!feof(fp1);j++) //读取文件

{

fscanf(fp1,"%s%s%s%s%s%s",&list[j].vno,&list[j].dname,&list[j].pname,&list[j].pn o,&list[j].no,&list[j].date);

}

num=j;

fclose(fp1);

printf("请输入要删除的处罚单的编号\n");

scanf("%s",s1);

for(j=0;j

{

if(strcmp(s1,list[j].no)==0)

{

f=j;

if(f

{

for(j=f;j

{

strcpy(list[j].vno,list[j+1].vno);

strcpy(list[j].dname,list[j+1].dname);

strcpy(list[j].pname,list[j+1].pname);

strcpy(list[j].pno,list[j+1].pno);

strcpy(list[j].no,list[j+1].no);

strcpy(list[j].date,list[j].date);

}

}

if((fp2=fopen("list.txt","w"))==NULL)

{

printf("文件打不开!\n");

printf("\npress enter to return menu\n");

getchar();

menu();

}

for(j=0;j

{

fprintf(fp2,"\n%s\t%s\t%s\t%s\t%s\t%s",list[j].vno,list[j].dname,list[j].pname,list[j].p no,list[j].no,list[j].date);

}

fclose(fp2);

printf("\n删除成功!\n");

printf("\npress enter to return menu\n");

getchar();

getchar();

menu();

}

}

if(f<0)

{

printf("\n没有找到该学号的记录:\n");

printf("\npress enter to return menu\n");

getchar();

getchar();

menu();

}

}

(3).浏览模块

该功能时显示删除某些信息后处罚单上的所有记录。这部分显示处罚单的数量,再打开文件,按结构体数组的形式输出所有信息即可。其程序如下所示。

程序:

void browse()

{

int j;

int num;

FILE*fp;

if((fp=fopen("list.txt","r"))==NULL)

{

printf("can not open file\n");

printf("\npress enter to return menu\n");

getchar();

getchar();

menu();

}

for(j=0;!feof(fp);j++) //读取文件

{

fscanf(fp,"%s%s%s%s%s%s",&list[j].vno,&list[j].dname,&list[j].pname,&list[j].pno, &list[j].no,&list[j].date);

}

fclose(fp);

num=j;

printf("\n已添加%d条记录\n\n",num);

printf("车牌号驾驶员姓名交警姓名交警编号处罚单编号处罚日期\n");

for(j=0;j

{

printf("\n%s\t%s\t%s\t%s\t%s\t%s",list[j].vno,list[j].dname,list[j].pname,list[j].pno,lis t[j].no,list[j].date);

}

printf("\npress enter to return menu\n");

getchar();

getchar();

menu();

(4).查询模块

该模块有三个查询类型可供选择,可选择以车牌号、驾驶员姓名、开单交警姓名三种方式来查询,这些都将以菜单的形式选择,所以有一个主菜单和各个分模块。同样查询模块也必须先打开文件夹。

菜单流程图如下。

分模块的流程图基本相同,现以按车牌号查询为例,编写其流程图。

菜单程序:

void search()

{

int n;

int r;

do

{

system("cls");

printf("\n请选择查询类型:\n\t1-按车牌号2-按驾驶员姓名3:按开单交警姓名4-返回主菜单\n");

printf("\n请输入数字选择:");

scanf("%d",&n);

if(n<1||n>4)

{

r=1;

getchar();

}

else r=0;

}while(r==1);

switch(n)

{

case 1:vno_search();break;

case 2:dna_search();break;

case 3:pna_search();break;

case 4:menu();

}

}

各分模块程序:

按车牌号查询

void vno_search() /*按车牌号查询*/

{

int f=-1;

int num;

int j;

char no[20];

FILE*fp;

if((fp=fopen("list.txt","r"))==NULL)

{

printf("文件打不开!\n");

printf("\npress enter to return menu\n");

getchar();

menu();

}

for(j=0;!feof(fp);j++) //读取文件

{

fscanf(fp,"%s%s%s%s%s%s",&list[j].vno,&list[j].dname,&list[j].pname,&list[j].pno, &list[j].no,&list[j].date);

}

num=j;

fclose(fp);

printf("\n请输入车牌号:");

scanf("%s",no);

printf("\n罚单的信息为:\n\n");

printf("车牌号驾驶员姓名交警姓名交警编号处罚单编号处罚日期\n"); for(j=0;j

{

if(strcmp(no,list[j].vno)==0)

{

f=j;

printf("\n%s\t%s\t%s\t%s\t%s\t%s",list[j].vno,list[j].dname,list[j].pname,list[j].pno,lis t[j].no,list[j].date);

}

}

if(f<0)

printf("\n没有找到该车牌号的记录!\n");

printf("\npress enter to return sub menu\n");

getchar();

getchar();

search();

}

按驾驶员姓名查询

void dna_search() /*按驾驶员姓名查询*/

{

int f=-1;

int num;

int j;

char name[20];

FILE*fp;

if((fp=fopen("list.txt","r"))==NULL)

{

printf("文件打不开!\n");

printf("\npress enter to return menu\n");

getchar();

menu();

}

for(j=0;!feof(fp);j++) //读取文件

{

fscanf(fp,"%s%s%s%s%s%s",&list[j].vno,&list[j].dname,&list[j].pname,&list[j].pno, &list[j].no,&list[j].date);

}

num=j;

fclose(fp);

printf("\n请输入驾驶员的姓名:");

scanf("%s",name);

printf("\n罚单的信息为:\n\n");

printf("车牌号驾驶员姓名交警姓名交警编号处罚单编号处罚日期\n"); for(j=0;j

{

if(strcmp(name,list[j].dname)==0)

{

f=j;

printf("\n%s\t%s\t%s\t%s\t%s\t%s",list[j].vno,list[j].dname,list[j].pname,list[j].pno,lis t[j].no,list[j].date);

}

}

if(f<0)

printf("\n没有找到该驾驶员的记录!\n");

printf("\npress enter to return sub menu\n");

getchar();

getchar();

search();

}

按开单交警姓名查询

void pna_search() /*按开单交警姓名查询*/

{

int f=-1;

int num;

int j;

char name[20];

FILE*fp;

if((fp=fopen("list.txt","r"))==NULL)

{

printf("文件打不开!\n");

printf("\npress enter to return menu\n");

getchar();

menu();

}

for(j=0;!feof(fp);j++) //读取文件

{

fscanf(fp,"%s%s%s%s%s%s",&list[j].vno,&list[j].dname,&list[j].pname,&list[j].pno, &list[j].no,&list[j].date);

}

num=j;

fclose(fp);

printf("\n请输入开单交警的姓名:");

scanf("%s",name);

printf("\n罚单的信息为:\n\n");

printf("车牌号驾驶员姓名交警姓名交警编号处罚单编号处罚日期\n"); for(j=0;j

{

if(strcmp(name,list[j].pname)==0)

{

f=j;

printf("\n%s\t%s\t%s\t%s\t%s\t%s",list[j].vno,list[j].dname,list[j].pname,list[j].pno,lis t[j].no,list[j].date);

}

}

if(f<0)

printf("\n没有找到该开单交警的记录!\n");

printf("\npress enter to return sub menu\n");

getchar();

getchar();

search();

}

(5).统计模块

该模块先输入驾驶员的姓名和一个时间段,就可以统计某个驾驶员在某段时间内的处罚单数目和处罚单号。

程序为:

void count()

{

int f=-1;

int num; //所有罚单单数

int j;

int total=0; //某驾驶员的罚单数

char name[20];

char time1[20];

char time2[20];

FILE*fp;

if((fp=fopen("list.txt","r"))==NULL)

{

printf("文件打不开!\n");

printf("\npress enter to return menu\n");

getchar();

menu();

}

for(j=0;!feof(fp);j++) //读取文件

{

fscanf(fp,"%s%s%s%s%s%s",&list[j].vno,&list[j].dname,&list[j].pname,&list[j].pno, &list[j].no,&list[j].date);

}

num=j;

fclose(fp);

printf("\n请根据提示输入驾驶员的姓名和一个时间段,统计某个驾驶员在某段时间内的处罚单数目和罚单号\n");

printf("\n\n请输入驾驶员的姓名:");

scanf("%s",name);

printf("\n请输入一个较早的时间:");

scanf("%s",time1);

printf("\n请输入一个最近的时间:");

scanf("%s",time2);

for(j=0;j

{

if((strcmp(list[j].date,time1)>=0)&&(strcmp(list[j].date,time2)<=0))

{

f=j;

total++;

printf("\n罚单号:%s\n",list[j].no);

}

}

if(f<0)

printf("\n没有找到记录!\n");

printf("\n罚单总数为:%d\n",total);

printf("\npress enter to return menu\n");

getchar();

getchar();

menu();

}

5.上机操作

1,数据源

(1)处罚单号01 车牌号码2001 司机姓名li 警察姓名wang 处罚日期20090901

(2)处罚单号02 车牌号码2002 司机姓名zhang 警察姓名li 处罚日期20090902

(3)处罚单号03 车牌号码2003 司机姓名ma 警察姓名li 处罚日期20090903

(4)处罚单号04 车牌号码2004 司机姓名song 警察姓名chen 处罚日期20090904

(5)处罚单号05车牌号码2005 司机姓名chen 警察姓名ren 处罚日期20090905

2, 运行结果

主菜单函数:

(1)信息录入模块

(2)信息删除模块

(3)信息浏览模块

(4)信息查询模块

按车牌号查询:

按驾驶员姓名查询:

按开单交警姓名查询:

国家开放大学C语言程序设计A第一次形考任务及答案

一、选择题(共40分,每小题2分) 题目1 在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()。 A. main B. MAIN C. name D. function 题目2 C语言源程序文件的缺省扩展名为()。 A. cpp B. exe C. obj D. c 题目3 由C语言目标文件连接而成的可执行文件的缺省扩展名为()。 A. cpp B. exe C. obj D. c 题目4 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用的分隔符为()。 A. 空格或逗号 B. 逗号或回车 C. 逗号或分号

D. 空格或回车 题目5 每个C语言程序文件的编译错误被分为()。 A. 1类 B. 2类 C. 3类 D. 4类 题目6 不符合C语言规定的复合语句是()。 A. {} B. {;} C. {x=0;} D. {y=10} 题目7 C语言程序中的基本功能模块为()。 A. 表达式 B. 标识符 C. 语句 D. 函数 题目8 在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和()。 A. 表达式 B. 语句 C. 参数表

D. 函数体 题目9 在一个程序文件中,若要使用#include命令包含一个用户定义的头文件,则此头文件所使用的起止定界符为一对()。 A. 尖括号 B. 双引号 C. 单引号 D. 花括号 题目10 在C语言程序中,多行注释语句使用的开始标记符为()。 A. // B. /* C. */ D. ** 题目11 在printf()函数调用的格式字符串中,若使用格式符为“%c”,则对应输出的数据类型为()。 A. char B. int C. float D. double 题目12 在printf()函数调用的格式字符串中,若使用格式符为“%5d”,则规定对应输出的数据占用的字符位置个数为()。

(完整版)交通行政处罚案卷范本(超限一般)

卷宗目录 本卷宗共有19页

1 行政处罚决定书 违法事实及证据: 2017年3月6日16时14分,武穴市金顺汽车运输有限公司驾驶员驾驶鄂二轴货车装运沙石行驶至武穴市盘塘治超检测站,经该站执法人员检测,车货总重22.10吨,超限4.10吨,属擅自在公路上超限运输,前述事实由《询问笔录》,《勘验笔录》及车辆检测单予以佐证,对违法事实予以承认。 以上事实违反了《公路安全保护条例》第三十三条第一款 的规定,依据《公路安全保护条例》第六十四条、《超限运输车辆行驶公路管理规定》第四十三条第二款的规定,决定给予罚款贰仟元的行政处罚。 处以罚款的,罚款自收到本决定书之日起15日内缴至湖北武穴农村商业银行益兴支行,账号为:82010000000033690,到期不缴的依法每日按罚款数额的3%加处罚款。 如果不服本处罚决定,可以依法在60日内向武穴市行政复议委员会申请行政复议,或者在六个月内依法向人民法院提起行政诉讼,但本决定不停止执行,法律另有规定的除外。逾期不申请行政复议、不提起行政诉讼又不履行的,本机关将依法申请人民法院强制执行或者依照有关规定强制执行。 交通行政执行机关(印章) 2017 年 3 月 6 日 (本文书一式两份:一份存根,一份交当事人或其代理人。)

2 立案审批表

3 询问笔录 时间: 2017 年 3 月 6日 16 时 15分至 16 时 25分第一次 询问地点:武穴市盘塘治超站 询问人:记录人: 被询问人:与案件关系: 性别:男年龄: 48 身份证号:联系电话: 工作单位及职务: _ 联系地址: 我们是的执法人员,这是我们的执法 证件,执法证件号码分别是请你确认。现依法向你 询问,请如实回答所问问题,执法人员与你有直接利害关系的,你可以申请回避。 答:精楚,不申请回避。 问:请介绍你的基本情况? 答: 问:请问你所驾车辆的简况? 答: 问:我们在盘塘治超检测站对你所驾车辆进行检测,该车车货总重22.1吨。超限4.1吨,你知道吗? 答:看到你们检测知道了。 问:你车上装运的什么货物? 答:车上装的是沙石。 被询问人签名及时间:询问人签名及时间: 4

C语言程序设计(第二版)课后答案 丁亚涛

习题二 一、选择题 二、填空题 1.18 2.int float double 3.10 11 4.8 16 10 5.% 三、阅读题 1. 10,10,9,10 2. j=1, i=2 k=3,i=3 i=3,i=2 k=1,i=1 习题三 一、选择题 二、填空题 1. 从键盘上读入一个字符在屏幕上输出一个字符 #include 2. 按十进制整数形式输出,有符号 按16进制整数形式输出,没有符号 按十进制小数形式输出,输出的数据长度为7位,有2位小数 按字符形式输出一个字符 3. 按十进制整数形式输入数据 按十进制整数形式输入三位数据 跳过3位十进制数据 按字符形式输入一个字符 4. 分程序;; 5. 大写字母L 6. -1 三、阅读题 1. 6 6 6.00 6.00

2. x=127,x= 127,x=177,x=7f y=123.4567,y= 123.46,y=123,45670 3. 2,1 4. 1234 5. 4,3 6. -6,-6 习题四一、选择题 二、填空题 1. 非0 0 、 2. k==0 3. n%7==0&&n%==0 else 三、阅读题 1. a=1,b=0 2. c=1 习题五一、选择题 二、填空题 1. for语句 do-while 语句 while 语句 2. a=14,y=26 3. k=14,n=-1 4. 39 5. s=19 6. 22222 7. 10 8. 7 9. 8 10. 5,5 三、改错题

1. for( i=0;i<5;i++);for控制部分用分号分隔 2. int j=0;while(j<10){j++;i=j} 分号是多余的,否则会造成死循环 3. int s=1,i=1; while(i<5) {s*=i; i++; } 两条语句需要加上花括号 4. while(j<10);(分号不能少) 5. continue改为break 习题六 一、选择题 二、填空题 1. 20 0 19 2. 数组名 3. 越界 4. 6 5. j==k a[j][k]=1; a[j][k]=0; 三、阅读题 1. 6 5 4 3 2 1 2. aaa bbb ccc ddd 3. 2,2,1 习题七 一、选择题 二、填空题 1. 整个函数体内局部 2. 整型 3. k<=b return y;

c语言交通处罚单管理系统(含实验报告和源代码)

C语言程序设计 课程设计材料 学生姓名:王嘉廉学号:11562255123 系 (院):信息工程学院 专业:信息管理与信息系统 设计(论文)题目: 交通处罚单管理系统 完成日期: 2012年9月 指导教师: xx! 二○一二年九月

●课程设计目的 (3) ●课程设计内容 (3) ●总体设计 (3) ●详细设计 (4) ●运行结果 (8) ●程序调试 (10) ●编程体会 (11)

一、课程设计目的 1.通过课程设计,加深对结构化程序设计思想的理解,能对系统功能进行分析,并设 计合理的模块化结构。 2.通过课程设计,进一步掌握C有并重要的数据结构。掌握并熟练运用指针、链表、 结构体、文件等数据结构。 3.通过课程设计,提高程序开发能力,能运用合理的控制流编写清晰高效的程序。 4.通过课程设计,培养C语言知识运用和自学能力,真正的把课堂上获得的知识运用 起来,培养自己对程序编写的兴趣,并能独立设计和实现一个中小型系统。 5.通过课程设计,加强了自己的程序分析能力。 6.通过课程设计,完成了交通处罚单管理系统,很多功能还待完善。 二、课程设计内容 用C语言编写软件完成以下任务: 1交通处罚单基本信息输入(数据包括处罚单号码,车牌号码,姓名,开单警察的信息ID,处罚时间等),信息保存在data.txt文件中, 2交通处罚单基本信息浏览。将文件内所有的交通处罚单信息全部输出展现出来。 3交通处罚单基本信息查询。可以查询特定的交通处罚单信息。 4交通处罚单基本信息统计。可以查询某一个时间段的所有的交通处罚单信息。 5 交通处罚单基本信息删除。删除不需要的交通处罚单信息。 三、总体设计 本系统的功能模块如图1所示,主要有以下模块: (1)交通处罚单基本信息输入:构造函数void shurujianli()),对产生新的交通处罚单的信息进行输入。 (2)交通处罚单基本信息浏览:构造函数void liulan(),全部浏览已被录入交通处罚单的所有信息。 (3)交通处罚单基本信息查询:构造函数void chaxun(),输入想要查询的方式,用三种方式查询交通处罚单基本信息。 (4)交通处罚单基本信息统计:构造函数void tongji(),对文件中所有的交通处罚单进行精确统计。 (5)交通处罚单基本信息删除:构造函数void shanchu(),通过输入书名,判断此交通处罚单是否存在,若存在,则删除该交通处罚单所有信息,然后再把剩下的交通处罚单信息保存到文件。

C语言程序设计入门经典例题

1、加法练习程序:由用户通过键盘输入加数和被加数,程序显示加法式子,用户通过键盘作答后,程序给出正确与错误提示信息。要求:利用C的选择语句if条件语句或switch 开关语句,键盘输入数据前,程序会出被输入数据的信息提示。 #include void main(){ int a,b,c; printf("please put an addend:\n");scanf("%d",&a); printf("please put an augend:\n");scanf("%d",&b); printf("please answer the question:a+b=?");scanf("%d",&c); if(a+b==c) printf("very good!"); else printf("wrong! "); } 个人感觉这个程序最不好的地方是,不管回答正确还是回答错误,程都会立即结束,所以我用了do…while实现一个回答错误之后获得再次回答机会的循环,则程序修改如下: #include void main(){ int a,b,c; printf("请输入一个加数:\n");scanf("%d",&a); printf("请输入一个被加数:\n");scanf("%d",&b); do { printf("请回答:a+b=");scanf("%d",&c); if(a+b!=c) printf("请再想一想\n"); } while(a+b==c) printf("回答正确!"); } 2、判闰年程序:判断某一年是否闰年? 要求:程序首先提示用户从键盘输入4位数年份,程序能显示“XXXX年是闰年”或“XXXX年不闰年”的输出信息。 算法:year 是闰年,即year能被4整除但不能被100整除,或 year 能被 400 整除。其对应的C逻辑表达式为:(year % 4 = = 0 && year % 100 != 0) || (year % 400 = = 0) 或: (!(year % 4) && year % 100) || !(year % 400 ) 程序中可设置1个变量leap来代表是否闰年的信息,闰年:leap=1; 不闰年:leap=0。 #include void main() int year; printf("请输入4位数年份:");scanf("%d",&year); if(year%4==0&&year%100!=0||year%400==0)//闰年就是能被4整除但不能被100整除及能被400整除的

交通罚单管理系统方案

目录 一.系统开发的背景 (2) 二.系统分析与设计 (2) (一)系统功能要求 (2) (二)系统模块结构设计 (2) 三.系统的设计与实现 (3) (一)罚单基本信息录入:input() (3) (二)信息删除:delete() (6) (三)find函数 (9) (四)show函数 (13) (五)sum函数 (14) 四.系统测试 (16) (一)测试input函数 (16) (二)测试delet函数 (17) (三)测试find函数 (18) (四)测试show函数 (18) (五)测试sum函数 (19) 五、总结 (20) 六、附件(代码、部分图表) (21)

交通罚单管理系统 一.系统开发的背景 为了方便单位对交通处罚的经一步解交通处罚单信息用文件存储,提供文件的输入输出操作;要求可以输入、删除、浏览交通处罚单信息,因而要提供信息的输入、删除和显示操作;要实现按车辆、驾驶员和开单交警查询,则要提供查找操作;另外提供统计操作和键盘式选择菜单以实现功能选择。 二.系统分析与设计 (一)系统功能要求 可以录入交通罚单的信息,交通处罚单信息用文件存储,因而要提供文件的输入输出操作。 1.要求可以输入、删除、浏览交通处罚单信息,因而要提供 信息的输入、删除和显示操作; 2.要实现按车辆、驾驶员和开单交警查询,则要提供查找操 作; 3.另外提供统计操作和键盘式选择菜单以实现功能选择。 4.罚单信息(包括车牌号、驾驶员、交警、交警编号、罚单编 号) (二)系统模块结构设计 通过对系统功能的分析,交通罚单管理系统功能如图所示

图1 交通管理系统功能图 通过上图的功能分析,把整个系统划分为5个模块: 1、交通罚单信息录入,该模块主要实现:车牌号、驾驶员、 交警、交警编号、罚单编号的输入,用input函数实现。 2、信息删除模块,该模块主要实现信息的删除,用delet 函数实现。 3、信息查询模块,该模块主要实现信息的查询﹕有车牌号 查询、驾驶员查询、交警查询,共用四个函数进行查询, 分别是find, 4、信息统计模块,主要实现的是罚单数量的统计,用sum 函数实现。 三.系统的设计与实现 (一)罚单基本信息录入:input() 分析:先输出表头,然后进行罚单的信息输入,单独看各个数据信息,开单日期以及驾驶员为字符型,可以采用字符型数组;处罚单、车牌以及交警ID为整型,可以采用整型数组。一条记录对应一交通处罚

第5章-C语言程序设计(第2版)教材习题答案

【教材】《C语言程序设计(第2版)》清华大学出版社,黄保和,江弋编著。2011年10月第二版。ISBN:978-7-302-26972-4。售价:35元。 【答案版本】本习题答案为2012年2月修订版本。 一、选择题 1. 设有程序段”int k=10; while(k=0) k=k-1;”,则下面叙述正确的是D)循环体语句一次也不执行。 A. while循环执行10次 B. 循环是无限循环 C. 循环体语句执行一次 D. 循环体语句一次也不执行 2. 设有程序段”int x=0,s=0;while(!x!=0) s+=++x; printf(“%d”,s);”则A)运行程序段后输出1。 A. 运行程序段后输出1 B. 程序段执行无限次 C. 运行程序段后输出0 D. 程序段中的控制表达式是非法的 3. 下面循环语句中,错误的是D) int a=1,b=2;do b-- while(b= =0);。 A. int a=1,b=2; while(b--); B. int a=1,b=2; do a++; while(a==b); C. int a=1,b=2; while(a=3); D. int a=1,b=2; do b-- while(b==0); 4. 已知”int i=5;”,下列do…while循环语句的循环次数为C) 5。 do{ printf(“%d\n”,i--); } while(i!=0); A. 0 B. 1 C. 5 D. 无限 5. 循环语句”for(int i=0,j=10; i==j; i++,j--)”的循环次数是A) 0。 A. 0 B. 5 C. 10 D. 无限 6. 下述有关break语句的描述中,不正确的是C) break语句用于if语句的内嵌语句内,它结束该if语句。 A. break语句用于循环体内,它将结束该循环 B. break语句用于开关语句,它结束该开关语句 C. break语句用于if语句的内嵌语句内,它结束该if语句 D. break语句在一个循环体内可使用多次 7. 下面关于循环语句的描述中,错误的是B)循环体内必须同时出现break语句和continue 语句。 A. 循环体内可以包含有循环语句 B. 循环体内必须同时出现break语句和continue语句 C. 循环体内可以出现选择语句 D. 循环体可以是空语句 8. 以下不是死循环的是D)for(;(c=getchar()!=’\n’);)printf(“%c”,c);。 A. for(; ; x+=i); B. while(1) { x++; } C. for( i=10; ; i--) sum+=i; D. for( ; (c=getchar() )!=’\n’ ; ) printf( “%c”,c); 9. 执行语句”for(i=0;i++<3;);”后,变量i的值为C) 4。 A.2 B. 3 C. 4 D. 5 10.语句”for(x=0,y=0;y!=1&&x<4;x++);”是C)循环4次。 A. 无限循环 B. 循环次数不定 C. 循环4次 D. 循环3次

船舶交通管理系统安全监督管理规则(新版)

When the lives of employees or national property are endangered, production activities are stopped to rectify and eliminate dangerous factors. (安全管理) 单位:___________________ 姓名:___________________ 日期:___________________ 船舶交通管理系统安全监督管理 规则(新版)

船舶交通管理系统安全监督管理规则(新版)导语:生产有了安全保障,才能持续、稳定发展。生产活动中事故层出不穷,生产势必陷于混乱、甚至瘫痪状态。当生产与安全发生矛盾、危及职工生命或国家财产时,生产活动停下来整治、消除危险因素以后,生产形势会变得更好。"安全第一" 的提法,决非把安全摆到生产之上;忽视安全自然是一种错误。 第一章总则 第一条为保障船舶交通安全,提高船舶交通效率,保护水域环境,根据《中华人民共和国海上交通安全法》、《中华人民共和国船舶交通管理系统安全监督管理规则》等有关法律、法规,制定本规则。 第二条本规则适用于在中华人民共和国烟台海事局烟台船舶交通管理系统(以下简称VTS系统)管理区域(以下简称VTS区域)内航行、停泊和作业的船舶、设施(以下简称船舶)及其相关单位和人员。 第三条中华人民共和国烟台海事局是实施本规则的主管机关(以下简称主管机关)。 烟台海事局船舶交通管理中心(以下简称VTS中心)依据本规则负责具体实施船舶交通管理和提供交通服务。 第二章船舶报告 第四条船舶进烟台港驶抵第一报告线时,应向VTS中心报告船名、船位、进港目的以及VTS中心要求的其他事项,载有危险货物的船舶还

交通罚单管理系统

交通罚单管理系统 一.系统开发的背景 (2) 二.系统分析与设计 (2) (一)系统功能要求 (2) (二)系统模块结构设计 (2) 三.系统的设计与实现 (3) (一)罚单基本信息录入:input() (3) (二)信息删除:delete() (6) (三)find函数 (9) (四)show函数 (13) (五)sum函数 (14) 四.系统测试 (16) (一)测试input函数 (16) (二)测试delet函数 (17) (三)测试find函数 (18) (四)测试show函数 (18) (五)测试sum函数 (19) 五、总结 (20) 六、附件(代码、部分图表) (21)

交通罚单管理系统 一.系统开发的背景 为了方便单位对交通处罚的经一步解交通处罚单信息用文件存储,提供文件的输入输出操作;要求可以输入、删除、浏览交通处罚单信息,因而要提供信息的输入、删除和显示操作;要实现按车辆、驾驶员和开单交警查询,则要提供查找操作;另外提供统计操作和键盘式选择菜单以实现功能选择。 二.系统分析与设计 (一)系统功能要求 可以录入交通罚单的信息,交通处罚单信息用文件存储,因而要提供文件的输入输出操作。 1.要求可以输入、删除、浏览交通处罚单信息,因而要提供 信息的输入、删除和显示操作; 2.要实现按车辆、驾驶员和开单交警查询,则要提供查找操 作; 3.另外提供统计操作和键盘式选择菜单以实现功能选择。 4.罚单信息(包括车牌号、驾驶员姓名、交警姓名、交警编号、 罚单编号) (二)系统模块结构设计 通过对系统功能的分析,交通罚单管理系统功能如图所示

图1 交通管理系统功能图 通过上图的功能分析,把整个系统划分为5个模块: 1、交通罚单信息录入,该模块主要实现:车牌号、驾驶员 姓名、交警姓名、交警编号、罚单编号的输入,用input 函数实现。 2、信息删除模块,该模块主要实现信息的删除,用delet 函数实现。 3、信息查询模块,该模块主要实现信息的查询﹕有车牌号 查询、驾驶员查询、交警查询,共用四个函数进行查询, 分别是find, 4、信息统计模块,主要实现的是罚单数量的统计,用sum 函数实现。 三.系统的设计与实现 (一)罚单基本信息录入:input() 分析:先输出表头,然后进行罚单的信息输入,单独看各个数据信息,开单日期以及驾驶员姓名为字符型,可以采用字符型数组;处罚单号

《C语言程序设计教程(第二版)》习题答案

2 第1章程序设计基础知识 一、单项选择题(第23页) 1-4.CBBC 5-8.DACA 二、填空题(第24页) 1.判断条件 2.面向过程编程 3.结构化 4.程序 5.面向对象的程序设计语言7.有穷性8.直到型循环9.算法10.可读性11.模块化12.对问题的分析和模块的划分 三、应用题(第24页) 2.源程序: main() {int i,j,k; /* i:公鸡数,j:母鸡数,k:小鸡数的1/3 */ printf("cock hen chick\n"); for(i=1;i<=20;i++) for(j=1;j<=33;j++) for(k=1;k<=33;k++) if (i+j+k*3==100&&i*5+j*3+k==100) printf(" %d %d %d\n",i,j,k*3);} 执行结果: cock hen chick 4 18 78 8 11 81 12 4 84 3.现计算斐波那契数列的前20项。 递推法源程序: main() {long a,b;int i; a=b=1; for(i=1;i<=10;i++) /*要计算前30项,把10改为15。*/ {printf("%8ld%8ld",a,b); a=a+b;b=b+a;}} 递归法源程序: main() {int i; for(i=0;i<=19;i++) printf("%8d",fib(i));} fib(int i) {return(i<=1?1:fib(i-1)+fib(i-2));} 执行结果: 1 1 2 3 5 8 13 21 3 4 55 89 144 233 377 610 987 1597 2584 4181 6765

船 舶 交 通 管 理

船舶交通管理 Vessel traffic management 一、船舶交通 1.船舶交通及其要素 船舶交通(vessel traffic): 海上交通(marine traffic):船舶在海面上的移动行为; 水上交通(waterborne traffic):船舶在江河、运河、湖泊等水域的移动行为。 船舶交通要素:航路、船舶、动力和驾驶技术。 (1)航路:按照自然状态可分为大洋航路、狭水道航路和沿岸航路。 ①大洋航路:指远海与大洋上不受地形和水深限制、自然碍航物极少的自然航路。在这种航路上船舶可以不考虑水深等因素而自主地选择航线。 ②狭水道航路:由于陆岸、岛屿、暗礁等地形条件限制,可航水域狭窄,船舶仅能在限定水域内选择航线以及经过人工疏浚所形成的水道,船舶基本上没有选择航线的自由。 ③沿岸航路:地理上介于大洋航路和狭水道航路之间的航路。在沿岸航路上航行要受到地形、岛屿等的限制,船舶选择航线也受到一定的限制,但仍有较大的余地。航路还可分为自由航路和法定航路。 (2)船舶:船舶交通的主体,也是船舶交通管理的主要客体。在 ①按照船舶大小分有小型船(100~500 总吨),中型船(500~3 000 总吨),大型船(3000~ 20 000 总吨),巨大型船(20 000~100 000 总吨)及超大型船(100 000 总吨以上); ②按照船舶动力形式分有机动船和非机动船; ③按照船舶用途分有杂货船、散货船、滚装船、集装箱船、油船、客船、液化气船、化 学品船、渔船、工程作业船等。 (3)动力:船舶能够航行的必要条件。 (4)驾驶技术:不仅与船舶驾驶人员所具有的航海知识有关,而且还与船舶驾驶人员所具有的生理、心理素质以及航行经验有关。 2.船舶交通的现状与特点 (l)船舶种类多样化和专业化。 (2)船舶趋于大型化。 (3)船舶交通流量急剧增大,对航行水域的管理越来越严格。 (4)船舶设备条件不断改善。 (5)涉及船舶交通的法规不断增多。。 船舶交通的特点:船舶种类繁多、差异较大;交通流量大,尤其是繁忙水道和港湾,船舶交通拥挤;船舶交通事故频繁,所产生的危害给社会带来的影响增大。 二、船舶交通管理系统 1.概念和目的和意义 船舶交通管理(vessel traffic management,VTM):通过监控、整顿船舶交通,建立良好的交通秩序,协助船舶航行,减少海难事故,特别是船舶碰撞、搁浅、触礁这些船舶交通事故的发生,从而保证船舶安全,保护水域环境和社会环境,提高船舶交通的效率。 船舶交通管理的目的和意义:增进安全、提高效率、保护环境。 2.船舶交通管理的手段和内容 (1)管理手段:法规约束和服务两个手段。 制定和实施船舶交通管理法规。 交通服务:信息服务、助航服务等。 (2)管理方式

C语言程序设计之交通处罚单管理系统 报告(内含代码)

C语言程序设计 姓名:张强强 学号:20121003695 班序号:011121

前言: C语言是近年来国内得到迅速推广使用的一种计算机语言。C语言程序设计课程是计算机专业和信息管理专业的核心专业基础课,无论是计算机专业还是非计算器专业的学生,学习好C语言是非常重要的。 一.交通处罚单管理 要求: 交通处罚单涉及到车辆,驾驶员和开单交警的信息,还有交通处罚单的号码,处罚时间等信息。 功能: (1) 要求可以输入,删除,浏览交通处罚单信息。 (2) 可以按车辆,驾驶员和开单交警进行查询。 (3) 统计某时间段某个驾驶员的交通处罚数目及交通处罚单号码。 (一)需求分析 交通处罚单信息用文件存储,提供文件的输入输出操作;要求可以输入,输出, 删除,浏览交通处罚单信息,因而要提供输入,删除和显示操作;要实现按车辆,驾 驶员和开单交警查询,则要提供查找操作;另外提供统计操作和键盘式选择菜单 以实现功能选择。 (二)总体设计 整个管理系统被设计为信息输入模块,信息删除模块,信息浏览模块,信息查 询模块和信息统计模块等。如下图:

(三)详细设计 1.主函数实现的是显示菜单以及函数调用,其中各功能模块用菜单方式选择。程序: int main() { int n; /**变量n保存选择菜单数字**/ printf("\n\n") printf ( " ****************菜单*****************\n"); printf ( " * *\n"); printf ( " * 1.输入 2.删除 *\n"); printf ( " * *\n"); printf ( " * 3.浏览 4.查询 *\n"); printf ( " * *\n"); Printf ( " * 5.统计 6.退出*\n"); printf ( "* *\n"); printf("****************************************\n"); printf("请选择功能菜单: [ ]\b\b"); scanf("%d",&n); if (n<1||n>7) n=7;

国家开放大学C语言程序设计A第一次形考任务与答案(20201127230652)

一、选择题(共40分,每小题2分) 1 题目1 在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()* A.main B. MAIN C. name D. function 题目2 1 C语言源程序文件的缺省扩展名为()。 A. cpp B. exe C. obj * D.c 题目3 1 由C语言目标文件连接而成的可执行文件的缺省扩展名为()。 A. cpp B. exe C. obj D. c 题目4

程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用的分隔符为() A. 空格或逗号 B. 逗号或回车 C. 逗号或分号

* D.空格或回车 题目5 1 每个C语言程序文件的编译错误被分为()。 A. 1类 ” B.2 类 C. 3类 D. 4类 题目6 不符合C语言规定的复合语句是()。 A. {} B. {;} C. {x=0;} + D.{y=10} 题目7 1 C语言程序中的基本功能模块为()。 A. 表达式 B. 标识符 C. 语句 D. 函数 题目8 在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和()

B. 语句 C. 参数表 D. 函数体 题目9 1 在一个程序文件中,若要使用#include命令包含一个用户定义的头文件,则此头文件所使用 的起止定界符为一对()。 A. 尖括号 * B.双引号 C. 单引号 D. 花括号 题目10 L 在C语言程序中,多行注释语句使用的开始标记符为()。 A. // + B./* C.*/ D ** 题目11 1 在printf()函数调用的格式字符串中,若使用格式符为“%C',则对应输出的数据类型为()。

交通处罚通知书

车辆违章处罚通知书 鲁车于年月日时分在营运过程中出现 (违章)现象,公司按照安全法规和公司相关制度规定决定对该车驾驶员处以元罚 款,要求你在今后的营运过程中严格按照相关法律法规运行。(注:罚款金额请在返程后立即 到公司缴纳) 驾驶员保证: 驾驶员签字:年月日 车辆违章处罚通知书 鲁车于年月日时分在营运过程中出现 (违章)现象,公司按照安全法规和公司相关制度规定决定对该车驾驶员处以元罚 款,要求你在今后的营运过程中严格按照相关法律法规运行。(注:罚款金额请在返程后立即 到公司缴纳) 驾驶员保证: 驾驶员签字:年月日篇二:交通运 输违章违规处罚通知书 上海xxxx化工危险物品运输有限公司 交通运输违章违规处罚通知书 沪x处字(20 )第号 车号_____________驾驶员_____________押运员_____________: 经检查,你驾驶的车辆于______年______月______日______:______在 ________________________地点,存在____________________________________ 违章违规 行为,违反了______________________规定第___条第___款第__项的规定,公司令你立即 改正上述行为,并照章给予________________________的处罚。 年月日 -------------------------------------------------------------------------------- -------------------------------------- 上海xxx化工危险物品运输有限公司 交通运输违章违规处罚通知书 沪x处字(20 )第号 车号_____________驾驶员_____________押运员_____________: 经检查,你驾驶的车辆于______年______月______日______:______在 ________________________地点,存在____________________________________ 违章违规 行为,违反了______________________规定第___条第___款第__项的规定,公司令你立即 改正上述行为,并照章给予________________________的处罚。 年月日 篇三:数据库系统原理,第二章课后答案 数据库系统原理,第二章课后答案 交通违法处罚通知书的er图 图中显示一张交通违章处罚通知书,根据这张通知书提供的信息,设计一个e-r模型, 并将这个e-r模型转换成关系数据模型,要求标注主码和外码。 交通违章通知书编号:tz11719 e-r图 关系模型:司机(驾照号,姓名,地址,邮编,电话) pk=驾照号机动车(牌照号, 型号,制造厂,生产日期)pk=牌照号警察(警察编号,姓名)pk=警察编号通知书(编号,

C语言程序的设计习题参考答案(第二版_杜友福)

C 语言程序设计习题答案 习题一 C 语言程序设计概述 一、名词解释 (1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)汇编程序P2 (5)高级语言P2 (6)编译程序P3 (7)解释程序P3 (8)算法P4 (9)结构化的程序设计P9 二、简述题 1. 设计程序时应遵循哪些基本原则?P4 答:正确性、可靠性、简明性、有效性、可维护性、可移植性。 2. 算法的要素是什么?算法具有哪些特点? 答:算法的要素是:操作与控制结构;算法的特点有:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。 3. 算法的表示形式有哪几种? 答:算法的表示形式有:自然语言、传统流程图、伪代码、结构化的流程图(N_S 流程图,盒图)。 4. 有哪三种基本结构? 答:三种基本结构是:顺序结构、选择结构和循环结构。 5. 传统流程图与N-S 流程图最大的区别是什么? 答:N-S 流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。 三、用传统流程图、N-S 图分别表示求解以下问题的算法。 1. 有3个数a ,b ,c ,要求按由大到小的顺序把它们输出。 2. 依次将10个数输入,求出其中最大的数 和最小的数并输出。 3. 求1+2+3+…+100的值。 4. 求1×2×3×…×10的值。

5. 求下列分段函数的值。 6. 求100~200之间的所有素数。 7. 求一元二次方程ax 2+bx+c=0的根。分别考虑d=b 2-4ac 大于0、等于0和小于0三种情况。 四、注释下面C 程序的各个组成部分。 main() /*主函数 */ { /*程序开始 */ int a,k,m; /*定义三个用来存放整数的变量 */ a=10; /*将整数10赋值给变量a */ k=2; /*将整数2赋值给变量k */ m=1; /*将整数1赋值给变量1 */ a=(k+m)*k/(k-m); /*先求出算术表达式的值,并将其赋值给变量a */ printf("%d\n",a); /*在屏幕上打印出变量a 的值 */ } /*程序结束 */ 习题二 数据类型、运算符与表达式 一、选择题 1~10:BCDCB DDBCA 11~20: ADDAA DBADC 21~28: DABAD CDD Y= 3X (X<1) 4X-1 (X=1) 5(X-1)+6 (1

C语言程序设计实习报告

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

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

【C语言实战应用】交通处罚单管理系统

C语言实践应用 交通处罚单管理系统 内容: 〔要求〕交通处罚单涉及到车辆、驾驶员和开单交警的信息,还有交通处罚单号码,处罚时间等信息。 功能: (1)要求可以输入、删除、浏览交通处罚单信息。 (2)可以按车辆、驾驶员和开单交警查询。 (3)统计某时间段某个驾驶员的交通处罚单数目及交通处罚单号码。 第二部分:需求分析 1.交通处罚单信息用文件存储,提供文件的输入输出操作; 2.要求可以输入、删除、浏览交通处罚单信息,因而要提供信息的输入、删除和显示操作; 3.要车辆、驾驶员和开单交警查询,则要提供查找操作; 4.另外提供系统操作和键盘式选择菜单以实现功能选择。 第三部分:程序总体设计思路 由于C语言是面对过程的语言,故我的设计思路是根据目标程序运行的过程来编写的。 在编写本程序的过程中,首先,确定目标程序运行的次序与界面,

即本程序首先运行【用户系统】菜单界面,菜单界面上为用户提供信息输入,信息删除,信息查询,信息浏览,信息统计,退出菜单共六种操作选择。此功能用switch语句来实现。其次,根据目标程序运行的次序与界面,确定设计顺序,设计界面(包括各部分菜单与用户提示信息)。再次,按照程序运行的各界面下的菜单功能编写各功能模块,并调试程序各功能模块,使各模块能够稳定高效准确地完成对应功能。 第四部分:程序功能模块划分、图示及流程图 系统的结构图: . 【信息输入模块】 该模块的功能是为用户提供信息输入界面,用户可以根据信息提示进行信息输入,用户输入的信息将被保存在文件当中。 【流程图】

【程序】:

void shuru() { FILE *fp; int i=0; if((fp=fopen("data.txt","wb"))==NULL) { printf("Can not open the file\n"); exit(0);//调用此函数时必须包含 } printf("请输入车牌号码:\n"); scanf("%d",&dan[NUM ].chepai); printf("请输入驾驶员姓名:\n"); scanf("%s",dan[NUM ].name); printf("请输交警ID:\n"); scanf("%d",&dan[NUM ].id); printf("请输入开单日期(以年/月/日形式输入):\n"); scanf("%d/%d/%d",&dan[i].date.year,&dan[i].date.month,&dan[i].date.d ay); printf("请输入处罚单号:\n"); scanf("%d",&dan[NUM ].num); for (i=0;i<=NUM;i++)

c语言程序设计教程第二版课后习题答案

c 语言程序设计教程第二版课后习题 答 案 篇一: c 语言程序设计教程_李含光_ 郑关胜_ 清华大学 出版社习题答案习题答案[完美打印版]】1.单项选择题 (1)a (2)c(3)d (4)c (5)b 2.填空题(1)函数 (2)主函数(main )(3)printf(),scanf()第 2 章习题参考答案 1.单项选择题 1-5 cbccc 6-10 cdcdc 11-13 dbb 2 .填空题 (1)1(2)26 (3)6 , 4 , 2 (4)10 , 6 (5)3.000000 (6)双精度(double )(7)9 (8)字母,数字,下划线(9)13.700000 (10)11(11)((m/10 )%10 )*100+ (m/100 )*10+m%10 (12)0 (13)10 ,9 ,11(15) (x0y0)||(x0z0)||(y0||z0)(16 )double (17)x==0 (18)sqrt(fabs(a-b))/(3*(a+b))(19 )sqrt((x*x+y*y)/ (a+b)) 第 3 章习题参考答案 1.单项选择题 1-5 cccdd 6-10 bcdbc11-15 bcbbb16 a 2 .填空题 (1)用;表示结束(2){ } (3 )y=x0?1:x==0?0:-1 (4)y%4==0y%100!=0||y%400==0 (5)上面未配对(6)default 标号(7)while ,do while ,for (8)do while (9)本次(10)本层3.阅读程序,指出结果 (1)yes (2)*(3)abother (4)28 70 (5)2,0(6)8(7)36 (8)1(9)3,1,-1,3,1,-1(10)a=12 ,y=12 (11) i=6 ,k=4 (12)1,-2 4 .程序填空 (1)x:y ,u :z (2)m=n ,m !=0 ,m=m/10 (3)teps , t*n/(2*n+1) , printf( n”“,%2*lsf )(4)m%5==0 ,

相关主题
文本预览
相关文档 最新文档