C语言高级应用文件资料地读写.docx

上传人:b****8 文档编号:9728522 上传时间:2023-02-06 格式:DOCX 页数:9 大小:35.21KB
下载 相关 举报
C语言高级应用文件资料地读写.docx_第1页
第1页 / 共9页
C语言高级应用文件资料地读写.docx_第2页
第2页 / 共9页
C语言高级应用文件资料地读写.docx_第3页
第3页 / 共9页
C语言高级应用文件资料地读写.docx_第4页
第4页 / 共9页
C语言高级应用文件资料地读写.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

C语言高级应用文件资料地读写.docx

《C语言高级应用文件资料地读写.docx》由会员分享,可在线阅读,更多相关《C语言高级应用文件资料地读写.docx(9页珍藏版)》请在冰豆网上搜索。

C语言高级应用文件资料地读写.docx

C语言高级应用文件资料地读写

 

C语言程序设计报告

学生管理系统

 

 

2010年7月20日

报告人姓名:

学号:

一、设计流程:

1)密码设置:

进入菜单之前用户需要输入密码,有三次验证机会,三次都错误系统自动退出程序。

2)菜单操作:

程序有六个菜单选项:

打开文件(即新建)、显示信息、增添学生信息、保存信息、退出程序和清屏。

二、功能实现

1)密码设置:

用for循环语句进行三次校验,利用系统的strcmp函数判断密码是否正确,密码错误则提示用户error,三次错误直接退出程序。

2)打开文件:

选择1则定义指向文件的指针fp;调用自己定义的函数dakai。

之后自动返回主菜单。

3)显示信息:

选择2则调用自定义的list函数读取显示用户输入的学生信息。

之后自动返回主菜单。

4)增添信息:

选择3程序调用自定义的函数add,之后用户需根据提示输入新增学生信息,完毕后自动返回主菜单。

若果输入的学生num是0的话退出程序。

5)保存信息:

选择4程序调用自定义的函数save,将信息保存到文件stu.txt中,之后自动返回主菜单。

6)退出程序:

选择5程序会提示用户:

是否保存信息?

通过输入y和n来判断:

选择y则调用save函数并调用exit(0)选n则直接调用break退出程序。

注意:

如果已经选择4保存过信息则无需再次选择保存了!

7)清屏:

选择6调用系统函数clrscr清理屏幕,之后自动返回主菜单。

三、工程文件

文件main.c———main函数及菜单函数。

文件qitan.c———包含open、list、save、add函数。

文件struct.h——定义结构体stu,之后声明stu型结构体数组a[100].即最多能输入100个学生的信息。

建立工程文件STUDENT.PRJ。

四、源代码

4main.c部分

#include//头文件

#include

#include

#include

externvoidsave();//外部函数声明

externvoiddakai();

externvoidtuichu();

externvoidlist();

externvoidadd();

externvoidcaidan();

voidmain()//主函数(主要是用于密码设置)

{

charmm[5];

intj;

constcharmma[5]={"pass"};

for(j=0;j<1;j++)//三次密码校验

{

printf("pleaseenterpassword(youhavethreechances):

");

scanf("%s",mm);

if(strcmp(mma,mm)==0)break;

elseprintf("error!

\n");

printf("pleaseenterpassword:

");

scanf("%s",mm);

if(strcmp(mma,mm)==0)break;

elseprintf("error!

\n");

printf("pleaseenterpassword:

");

scanf("%s",mm);

if(strcmp(mma,mm)==0)break;

elseexit(0);

}

caidan();//调用菜单函数

}

voidcaidan(intn)//菜单函数定义

{

intm=0;//变量声明

intchos;

inta,h;

printf("======\n");

printf("1.Open\n");

printf("2.List\n");

printf("3.Add\n");

printf("4.Save\n");

printf("5.Exit\n");

printf("6.clearthescreen\n");

printf("======\n");

printf("pleasechoose:

");

scanf("%d",&chos);

switch(chos)//选择要进行的操作

{

case1:

dakai();//调用函数dakai()

break;

case2:

list();//调用函数list()

caidan(n);

case3:

//Add

add();//调用函数add()

caidan(n);//调用函数caidan()

case5:

break;

case4:

save(m,n);//调用函数save()

caidan(n);//调用函数caidan()

case6:

clrscr();//调用函数系统clrscr()用于清屏

caidan(n);//调用函数caidan()

}

if(chos==5)

{

printf("Doyouwanttosavetheinformationyoujustinput.(y/n)\n");

scanf("%s",&h);

if(h=='y')

{save();

exit(0);}

if(h=='n')

{exit(0);}

}

}

qita.c部分:

#include//头文件

#include

#include

#include

#include"struct.h"

staticintn=0;//定义静态变量n用于统计学生个数

voidcaidan();//函数声明

externvoiddakai()//函数定义

{

FILE*fp;

if((fp=fopen("stu.txt","wt+"))==NULL)

{printf("Error!

");

getch();

exit

(1);

}

elseprintf("\nfinish!

\n");

fclose(fp);

caidan();

}

voidlist()//定义函数list()

{

FILE*fp;

intj;intb;

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

{

printf("Error!

");

getch();

exit

(1);

}

//读数据

for(j=0;j<=n;j++)

{

fscanf(fp,"%s%d%s%ld",a[j].name,&a[j].num,a[j].zuoye,&a[j].phone);

printf("%s%d%s%ld",a[j].name,a[j].num,a[j].zuoye,a[j].phone);

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

}

fclose(fp);

caidan();

}

externvoidadd()//定义函数add()

{FILE*fp;

charcho;

if((fp=fopen("stu.txt","at+"))==NULL)

{

printf("error\n");

getch();

exit

(1);

}

printf("pleaseenterthename:

");

scanf("%s",a[n].name);

printf("pleaseenterthenumber:

");

scanf("%d",&a[n].num);

{

if(a[n].num==0)

exit(0);

}

printf("pleaseenterthezuoye:

");

scanf("%s",a[n].zuoye);

printf("pleaseenterthephone:

");

scanf("%ld",&a[n].phone);

n++;

fclose(fp);

}

voidsave()//定义函数save()

{

FILE*fp;

intm=0;

if((fp=fopen("stu.txt","at+"))==NULL)

{

printf("error\n");

exit

(1);

}

for(m=0;m<=n;m++)//将所有的学生信息输入文件

{

fprintf(fp,"%s",a[m].name);

fprintf(fp,"%d",a[m].num);

fprintf(fp,"%s",a[m].zuoye);

fprintf(fp,"%ld",a[m].phone);

}

fclose(fp);

}

struct.h部分

#ifndefhehe

#definehehe

structstu//结构体定义

{

charname[10];

intnum;

charzuoye[10];

longphone;

};

structstua[100];

#endif

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

当前位置:首页 > 外语学习 > 英语学习

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

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