C语言课设之行编辑系统文档格式.docx

上传人:b****6 文档编号:20176200 上传时间:2023-01-17 格式:DOCX 页数:18 大小:67.19KB
下载 相关 举报
C语言课设之行编辑系统文档格式.docx_第1页
第1页 / 共18页
C语言课设之行编辑系统文档格式.docx_第2页
第2页 / 共18页
C语言课设之行编辑系统文档格式.docx_第3页
第3页 / 共18页
C语言课设之行编辑系统文档格式.docx_第4页
第4页 / 共18页
C语言课设之行编辑系统文档格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

C语言课设之行编辑系统文档格式.docx

《C语言课设之行编辑系统文档格式.docx》由会员分享,可在线阅读,更多相关《C语言课设之行编辑系统文档格式.docx(18页珍藏版)》请在冰豆网上搜索。

C语言课设之行编辑系统文档格式.docx

现将一星期的实习内容及结果分析分列如下:

简单的行编辑器

一.题目要求

1.设置一个简单的行编辑器,每行以回车结束。

2.数据以文件形式存储。

3.编辑器具有查找,替代,修改数据的功能。

二.需求分析

根据题目要求,数据以文件的形式存储,所以应提供文件的输入,输出等操作;

还需要文件具有查找,替换,修改数据的功能。

三.总体设计

根据上面的需求分析,可以将这个系统的设计分为如下七大模块:

编辑,查找,修改,,删除,替换,保存,退出。

四.详细设计

1.主函数

为了各模块的独立性,主函数一般设计得比较简单,本系统主要用主函数打开上次保存的数据和进入主菜单函数

流程图

main()

{

FILE*fp;

fp=fopen("

record.txt"

"

w"

);

/*在C:

\DocumentsandSettings\Administrator里建立一个"

记事本*/

fclose(fp);

menu();

}

程序/*********************************主函数**

************************************/

2.主菜单函数

流程图程序

voidmenu()

intw,n;

do

clrscr();

printf("

\n"

\t\t*************************\n"

\t\t\n"

\t\tWelcometothemagazineordersystem!

^_^\n"

\n\n\t\t*********************************************\n\n"

\t\t1:

add_new_subscriber\n"

\t\t2:

browse\n"

\t\t3:

statistic\n"

\t\t4:

exit\n\n"

\t\t*********************************************\n\n"

Choiceyournumber(1-4):

[]\b\b"

scanf("

%d"

&

n);

if(n<

1||n>

4)w=1;

elsew=0;

while(w==1);

/***************选择功能****************/

switch(n)

{

case1:

add();

break;

/*增加新订户记录*/

case2:

search();

/*查找过期的订户记录并删除*/

case3:

statistic();

/*统计*/

case4:

exit();

/*退出*/

}

3.各功能模块函数

1)/*******************************************添加模块***************************************************/

voidadd()

intt,i,m;

t=load_record();

Howmanygroupsinformationdoyouwanttoadd?

Enterthenumber:

[]\b\b\b"

m);

for(i=0;

i<

m;

i++)

\nInput%dthsubscriberrecord.\n"

i+1);

input(t+i);

/*调用输入函数*/

save(t+m);

/*调用保存函数保存t+m组数据*/

/**********清屏************/

/*返回登陆界面*/

voidinput(inti)

Pleaseinput:

\nNamesexaddressphone_numberunit_priceamounttime_imit\n"

%s%s%s%s%s%s%s"

order[i].name,&

order[i].sex,&

order[i].addr,&

order[i].phone_number,&

order[i].unit_price,&

order[i].amount,&

order[i].time_limit);

2)/*****************************************统计模块**************************************************/

statistic()

intt;

Theamountofsubscriberis[%d]\b\b\b"

t);

printf_n(t);

\n\n\nPressanykeytogoback...\n\n"

getch();

voidprintf_one(inti)/*显示一个仪器记录的函数*/

%-10s%-5s%-10s%-11s%-4s%-3s%-10s\n\n"

order[i].name,order[i].sex,order[i].addr,order[i].phone_number,order[i].unit_price,order[i].amount,&

voidprintf_n(intn)/*显示n个仪器记录的函数*/

intj;

Namesexaddressphone_numberpriceamounttime_imit\n\n"

for(j=0;

j<

n;

j++)

if((j+1)%10==0)/*控制显示,每屏显示10行*/

printf("

\n\nPassanykeytocontinue..."

getch();

puts("

\n\n"

printf_one(j);

/*调用显示一个仪器记录的函数*/

3)/****************************查询模块********************************************/

voidsearch()

chardate[11],str[2];

intt,i,sum=0;

Pleaseinputthedate:

[]\b\b\b\b\b\b\b\b\b\b\b"

%s"

date);

if((fp=fopen("

))==NULL)/*以只写方式打开*/

\nCannotopenfile\n"

exit(0);

clrscr();

for(i=0;

t;

if(strcmp(order[i].time_limit,date)<

0)

sum++;

printf_one(i);

/**********把符合条件的记录显示出来************************/

\n\nTherecordisoutofdate!

"

\n\nDoyouwanttodeleteit'

sinformation?

('

Y'

or'

N'

):

scanf("

str);

;

if(strcmp(str,"

Y"

)==0||strcmp(str,"

y"

)==0)

continue;

fwrite(&

order[i],sizeof(structmagazine),1,fp);

if(sum==0)

***************************************************\n\n"

Sorry!

Cannotfindtheequipmentwhichyouwantto.\n\n"

\n\n\nPressanykeytogobacktheformerstep...\n"

menu();

}各功能模块

1.getch();

4)退出模块

程序

voidmyexit(char(*lines)[MAXC])

charc;

Savethelinestothefile?

(y/n)"

fflush(stdin);

c=getchar();

if(c=='

n'

)exit

(1);

savetofile(lines);

exit

(1);

4公共函数

intload_record()/***加载仪器信息并计算记录仪器个数的函数***/

inti;

if((fp=fopen("

r"

))==NULL)/*以只读方式打开*/

!

feof(fp);

i++)/*从文件中读入数据并保存在结构体数组中*/

fread(&

return(i-1);

voidsave(intn)/*n表示保存n组数据,m表示保存在哪个文件夹里*/

/*以只写方式打开*/

if(fp==NULL)

exit(0);

i++)

{

fwrite(&

}

fclose(fp);

}

综上全程序如下

#include<

stdio.h>

#definemax20

structmagazine

charname[11];

charsex[6];

charaddr[11];

charphone_number[12];

charunit_price[5];

charamount[4];

chartime_limit[11];

}order[max];

voidsave(intn);

intload_record();

voidsearch();

voidprintf_n(intn);

voidprintf_one(inti);

voidinput(inti);

statitic();

voidadd();

voidmenu();

/*******************************************添加模块***************************************************/

/*****************************************统计模块**************************************************/

/****************************查询模块********************************************/

/****************************公共函数********************************************/

\nCannotopenfile\n

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1