当前位置:首页 » 课程大全 » c语言课程设计记账系统

c语言课程设计记账系统

发布时间: 2021-02-14 11:25:56

A. C语言课程设计 学生管理系统设计

学生管理系统设计
我帮你弄
保证能运行
Q我

B. C语言课程设计,仓库管理系统

已经私信你了 可以解决

C. 急求 C语言课程设计 设计一个课程信息管理系统

#include<stdio.h>
#include<string.h>
#include <stdlib.h>
#define N 10
struct majors //课程信息结构体
{
int num; // 课程编号
char majorsname[12]; //课程名称
char teachername[15]; //授课老师
char clas[20]; //课程所属专业(扩展功能)
int a,b,c; //学分 课号 价格(扩展功能)
double pjf; // 课程质量评分(扩展功能)
};

void main()
{
void shuru(struct majors stu[N]); //子函数定义
void chuli(struct majors stu[N]);
void xiugai(struct majors stu[N]);
void shuchu(struct majors stu[N]);
void paixu(struct majors stu[N]);
void chaxun(struct majors stu[N]);
void tongj(struct majors stu[N]);
double pjf(struct majors stu[N]);
void bjgkm(struct majors stu[N]);
struct majors stu[N];
int i=0,j=0,p=0,u=0;
char str[70][500];
FILE *fp1,*fp;
if((fp=fopen("课程信息.txt","r"))==NULL) //提示文件存盘问题
printf("注意:为免出错,第一次使用本程序,请选1 手动输入课程信息. \n");
else
{
for(i=1;i<=N;i++)
{
if(i==1)
fp=fopen("课程信息.txt","r");
fscanf(fp,"%d%s%s%s%d%d%d",&stu[i].num,stu[i].name,stu[i].teachername,stu[i].clas,&stu[i].a,&stu[i].b,&stu[i].c);
if(1==N)
fclose(fp);
}
}
int choice;
do{
for(i=0;i<18;i++)
printf("**");
printf("主菜单");
for(j=0;j<18;j++)
printf("**");
printf("\n");
printf("#请选择:1 课程信息输入 2课程信息修改与删除 3 课程信息查询 4 信息输出 5 退出#\n");
for(i=0;i<20;i++)
printf("***");
printf("**\n");
scanf("%d",&choice);
switch(choice)
{
case 1 :
shuru(stu) ; break;
case 2 :
xiugai(stu) ; break;
case 3 :
chuli(stu) ; break;
case 4 :
shuchu(stu) ; break;
case 5 : break;
default : puts("error"); return;
}

} while(choice!=5);
fp1=fopen("课程信息.txt","w");
for(i=1;i<=N;i++)
{

fprintf(fp1,"%d ",stu[i].num);
fprintf(fp1,"%s ",stu[i].name);
fprintf(fp1,"%s ",stu[i].teachername);
fprintf(fp1,"%s ",stu[i].clas);
fprintf(fp1,"%d ",stu[i].a);
fprintf(fp1,"%d ",stu[i].b);
fprintf(fp1,"%d ",stu[i].c);
fprintf(fp1,"\n");
}
puts("信息已保存在“课程信息.txt”中 Thank you!!");
fclose(fp1);
}

void shuru(struct majors stu[N])
{
}
void chuli(struct majors stu[N])
{
}
void xiugai(struct majors stu[N])
{
}
void shuchu(struct majors stu[N])
{
}
void paixu(struct majors stu[N])
{
}
void chaxun(struct majors stu[N])
{
}
void tongj(struct majors stu[N])
{
}
//double pjf(struct majors stu[N])
//{

//}
void bjgkm(struct majors stu[N])
{
}

D. C语言课程设计家庭财务收支管理系统。主要包括收入、支出、查询、修改、监控等功能。

学籍管理系统软件需求分析________________________________________编著于博海、王利森、王艳梅、李岩、吕靖1引言信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。计算机虽然与人类的关系愈来愈密切,还有人由于计算机操作不方便继续用手工劳动。为了适应现代社会人们高度强烈的时间观念,学籍管理系统软件为教学公室带来了极大的方便。该软件是以汉语编程语言为实现语言,其功能在系统内部有源代码直接完成。通过操作手册,使用者可以了解本软件的基本工作原理。操作人员只需输入一些简单的汉字、数字,即可达到自己的目标。1.1编写目的本需求的编写目的在于研究学籍管理系统软件的开发途径和应用方法。本需求的预期读者是与学籍管理系统软件开发有联系的决策人,开发组成人员,扶助开发者,支持本项目的领导和公司人员,软件验证者。1.2背景及范围本项目的名称:学籍管理系统开发软件。本项目的任务提出者及开发者是学籍管理系统软件开发小组,用户是教学公室。本产品能具体化、合理化的管理学生的学籍档案,用结构化的思维方式去了解计算机的基本工作原理和汉语程序设计语言。1.3定义缩写词略语汉语程序设计语言:它是由北京元易达科技发展有限责任公司完全自主开发,完全自主版权的计算机语言,以汉语字词为结构,最大限度的利用汉语本身的特点,是一种基于汉语基础的通用的计算机的程序设计语言。学籍管理系统:学籍管理是帮助教学人员、行政人员对人事档案的管理软件。使用汉语编程语言,独立完成其功能。1.4参考资料>--------沈志斌编著电子工业出版社>--------王利福张世琨朱冰编著北京大学出版社>--------李绍原主编科学出版社2项目概述该学籍管理系统软件目前已有比较完善的管理与使用功能,并且是计算机行业中用汉语编程来完成的新软件成员。研制学籍管理系统软件是为了满足教学公室对学生档案管理的方便,以现代化的创新思维模式去工作。2.1目标2.1.1开发意图a.为了学籍管理系统更完善;b.为了教学公室对学生档案的管理更方便;c.为了减轻行政人员的工作负担。2.1.2应用目标通过本系统软件,能帮助教研人员利用计算机,快速方便的对学生学籍管理进行管理、输入、输出、查找的所需操作,使散乱的人事档案能够具体化,直观化、合理化。2.1.3作用及范围本软件适用于教育界,它是比较完善的系统管理软件,对学生的学籍可以随时输入、输出、查找。2.1.4背景现今学籍管理的繁索给具有强烈时间观念的行政人员带来了诸多不便,教学公室缺少一种完善的学籍管理软件,为了对学生档案的管理方便,因此开发了本软件。2.2产品描述本产品是一种依赖于汉语编程为基础的系统软件,它是以汉语编程系统词为基础,用汉语程序设计语言进行编程的产品。2.3产品功能2.3.1外部功能学籍管理系统软件具有输入、输出、查找功能。2.3.2内部功能该软件集命令、编程、编辑于一体,完成过滤、定位显示。2.3.3功能表2.3.4功能描述图2.3.5用户特点本软件的使用对象是教学公室工作人员。会汉语、懂计算机的基本操作就可以利用该软件进行所需操作。同时也会对汉语编程有认识。2.4一般约束a.本项目的开发经费不超过1万元;b.辅导老师2人,开发人员6人;c.在管理方针,硬件的限制,并行操作安全和保密方面无约束。2.5假设和依据假设开发经费不到位,管理不完善,设计时没能用全得到考虑,本项目的开发都将受到很大的影响。3具体需求3.1功能需求(一)3.1.1规格说明输入每个人的具体信息3.1.2引言为了把个人信息(包括:学号、姓名、性别、年级、班级、系别、专业、户口所在地、家庭住址、联系电话、户口分类、考前学历、现今学历、出生日期、民族、政治面貌、身份证号、文考准考证号、自考准考证号、填卡日期、备注)输入到数据库。3.1.3输入个人信息。3.1.4加工通过学籍管理系统输入到数据库中。3.1.5输出个人的全部信息。3.2功能需求(二)3.2.1规格说明查询个人的全部信息。

E. C语言课程设计银行管理小系统

我这有个个人收支管理系统,你看看是否用得上。
#include<stdio.h>
#include<string.h>
#define N 100
struct money
{
int shunxu;
int year;
int month;
int day;
char zhaiyao[50];
float jine;
float yue;
char bizhong[10];
int biao;

}in[N],out[N],temp[N],*pp,*qq;
void shouru(int x)
{

int i;
char ch;
system("cls");
if(x==1)
pp=in;
else
pp=out;
for(i=1;i<N;i++,pp++)
{
pp->shunxu=i;
pp->biao=x;
printf("\n日期(年 月 日)\t摘要\t金额\t币种\n");
scanf("%d%d%d%s%f%s",&pp->year,&pp->month,&pp->day,pp->zhaiyao,&pp->jine, pp->bizhong );
printf("是否继续输入?1 是 2 否\n");
scanf("%s",&ch);
if(ch=='1')
continue;
else if(ch=='2')
break;
else
{

printf("error!");
system("pause");
break;
}

}
printf("是否保存:1是 2否\n");
scanf("%d",&i);
switch(i)
{
case 1:
if(x==1)
{
xieru(1);
break;
}
else
{
xieru(-1);
break;
}
case 2:
system("pause");
break;
default:
break;
}

}
mingxi()
{
FILE *f;
int y,m,d,y2,m2,d2;
int i;
system("cls");
pp=temp;
if((f=fopen("ff.txt","rt"))==NULL)
{
printf("文件打开错误!");
system("pause");
}
for(i=0;i<N;i++,pp++)
fscanf(f,"%d\t%d年%d月%d日\t%s\t%f\t%f\t%s\t%d\n",&pp->shunxu,&pp->year,&pp->month,&pp->day,pp->zhaiyao,&pp->jine,&pp->yue,pp->bizhong,&pp->biao);
pp=temp;
/*for(;pp->shunxu!=0;pp++)
printf("%d %s %f\n",pp->shunxu,pp->bizhong,pp->jine);*/
printf("输入起止时间(年 月 日):\n");
scanf("%d%d%d%d%d%d",&y,&m,&d,&y2,&m2,&d2);
for(;pp->shunxu!=0;pp++)
{
if(pp->year>=y||pp->month>=m||pp->day>=d)
{

for(;pp->shunxu!=0;pp++)
{

if(pp->year>y2||pp->month>m2||pp->day>d2)
break;
printf("%d年%d月%d日\t%f\n",pp->year,pp->month,pp->day,pp->jine);
}
}

}

system("pause");

}
chaxun()
{
system("cls");
printf("建设中。。。");
system("pause");
}
xieru(int x)
{
FILE *f;
system("cls");
pp=in;
qq=out;
f=fopen("ff.txt","at+");
if(f==NULL)
{
printf("文件打开错误!");
system("pause");
}
if(x==1)
for(;pp->shunxu !=0;pp++)
{
fprintf(f,"%d\t%d年%d月%d日\t%s\t%f\t%f\t%s\t%d\n",pp->shunxu,pp->year,pp->month,pp->day,pp->zhaiyao,pp->jine,pp->yue,pp->bizhong,pp->biao);

}
else if(x==-1)
for(;qq->shunxu!=0;qq++)
{
fprintf(f,"%d\t%d年%d月%d日\t%s\t%f\t%f\t%s\t%d\n",qq->shunxu,qq->year,qq->month,qq->day,qq->zhaiyao,qq->jine,qq->yue,qq->bizhong,qq->biao);
}
else
{
for(;pp->shunxu !=0;pp++)
{
fprintf(f,"%d\t%d年%d月%d日\t%s\t%f\t%f\t%s\t%d\n",pp->shunxu,pp->year,pp->month,pp->day,pp->zhaiyao,pp->jine,pp->yue,pp->bizhong,pp->biao);

}
for(;qq->shunxu!=0;qq++)
{
fprintf(f,"%d\t%d年%d月%d日\t%s\t%f\t%f\t%s\t%d\n",qq->shunxu,qq->year,qq->month,qq->day,qq->zhaiyao,qq->jine,qq->yue,qq->bizhong,qq->biao);
}
}

fclose(f);
printf("保存成功!");
system("pause");
}
qu()
{
FILE *f;
char ch;
system("cls");

f=fopen("ff.txt","rb");
if(f==NULL)
{
printf("文件打开错误!");
system("pause");
}
ch=fgetc(f);
while(ch!=EOF)
{
putchar(ch);
ch=fgetc(f);
}
fclose(f);
system("pause");
}

void main()
{
int i=1,a;
for(;i!=0;)
{
system("cls");
printf("个人收支管理\n");
printf("1.收入\n2.支出\n3.明细表\n4.查询与统计\n5.写入文件\n6.读取文件\n0.退出\n");
scanf("%d",&a);
switch(a)
{
case 1:
shouru(1);
break;
case 2:
shouru(-1);
break;
case 3:
mingxi();
break;
case 4:
chaxun();
break;
case 5:
xieru(0);
break;
case 6:
qu();
break;
case 0:
i=0;
break;

}

}

}

F. C语言课程设计,学生个人生活费管理系统

#include "stdio.h"
#define N 10
struct student
{char num[10];
char name[20];
float score[3];
float sum;
float aver;
}stu[N];
void main()
{
void count(struct student stu[]);
void sort(struct student stu[]);
void find(struct student stu[]);
int i;
float temp;
for(i=0;i<N;i++)
{printf("enter data of the%dth student:\n",i+1);
printf("number: ");
gets(stu[i].num);
printf("name: ");
gets(stu[i].name);
printf("score1: ");
scanf("%f",&temp);
stu[i].score[0]=temp;
printf("score2: ");
scanf("%f",&temp);
stu[i].score[1]=temp;
printf("score3: ");
scanf("%f",&temp);
getchar();
stu[i].score[2]=temp;
}
count(stu);
printf("\n");
sort(stu);
printf("\n");
find(stu);
}

void count(struct student stu[])
{float sum,aver;
int i,j;
for(i=0;i<N;i++)
{sum=0;
for(j=0;j<3;j++)
sum+=stu[i].score[j];
aver=sum/3.0;
stu[i].sum=sum;
stu[i].aver=aver;
}
printf("number name sum average \n");
for(i=0;i<N;i++)
printf("%-8s%-10s%-9.2f%-9.2f\n",stu[i].num,stu[i].name,stu[i].sum,stu[i].aver);
}

void sort(struct student stu[])
{int i,j,k;
struct student temp;
for(i=0;i<N;i++)
{k=i;
for(j=i+1;j<N;j++)
if(stu[k].sum<stu[j].sum)k=j;
if(k!=i)
{temp=stu[i];
stu[i]=stu[k];
stu[k]=temp;}
}
printf("number name score1 score2 score3 sum average \n");
for(i=0;i<N;i++)
printf("%-8s%-10s%-8.2f%-8.2f%-8.2f%-8.2f%-8.2f\n",stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].sum,stu[i].aver);
}

void find(struct student stu[])
{int i,j,sum,flag=0;
printf("the student of two scores<60:\n");
for(i=0;i<N;i++)
{
sum=0;
for(j=0;j<3;j++)
if(stu[i].score[j]<60)sum++;
if(sum>=2)
{flag=1;
printf("%-8s%-10s\n",stu[i].num,stu[i].name);
}
}
if(flag==0)
printf(" not exist!\n");
}

G. C语言课程设计 设计题目管理系统

你好,源代码,实现你所要求的,需要了就聊我

H. 求C语言课程设计(教务信息管理系统)

/*-------------1-------------*/
#include<bios.h>
#include<dos.h> /*头文件*/
#include<conio.h>
#include<ctype.h>
#include<process.h>
#include<stdlib.h>
#include<stdio.h>
#include<string.h>

#define NULL 0
#define ESC 0x001b /* 退出 */
#define F1 0x3b00 /* 查看帮助信息,调用HelpMassage()函数 */
#define F2 0x3c00 /*输入学生成绩*/
#define F3 0x3d00 /*按学号查找*/
#define F4 0x3e00 /*按姓名查找*/
#define F5 0x3f00 /*列出所有学生成绩*/
#define F6 0x4000 /*统计*/

struct stuType /*定义结构体变量*/
{
char NO[11]; /*学号长度为10*/
char XM[10];
char AGE[2]; /*年龄长度为2*/
float CJ[4]; /*包含4门成绩*/
};

/*-------------2-------------*/
int JY_NO(char *stu_num,FILE *fp) /*检验学号的正确性*/
{ struct stuType stud;
int NO;
char *p=stu_num;
if(strcmp(stu_num,"#")==0) return 1; /*若输入"#"返回真值,不再循环输入*/
while(*p!='\0') /*学号必须是数字,否则返回重新输入*/
{ NO=(int)*p;
if(NO<48||NO>57)
{ puts("\t\tUndefined SN!Please input again!\n");/*非法学号!请重新输入!*/
return 0;
}
else p++; /*指针加1*/
}
if(strlen(stu_num)!=10) /*若学号长度不为10,则返回重新输入*/
{ puts("\t\tLength of SN Error!\n");/*学号长度不对*/
return 0;
}
if(getchar()!='\n') /*若学号后面的字符不是回车符,则学号长度大于10*/
{ printf("\t\tThe length of SN should more than 10!Please input again!\n");/*学号长度大于10个,请重新输入*/
do{}while(getchar()!='\n'); /*用getchar接收多余的字符*/
return 0;
}

else
{
rewind(fp); /*使文件指针指向头*/
while(!feof(fp)) /*若文件指针未到结尾,就继续执行下面的循环,feof遇到文件结束符返回非零值,否则返回0*/
{ fread(&stud,sizeof(struct stuType),1,fp); /*读取一定长度的数据*/
if(strcmp(stu_num,stud.NO)==0) /*学号的唯一性*/
{ printf("\t\t Repeat SN,Please input again!\n");/*学号重复!请重新输入*/
printf("\t\tThe Record of this student:\n");/*该学生成绩如下*/
printf("\t\tChinese:%.1f\n",stud.CJ[0]);/*语文*/
printf("\t\tMath:%.1f\n",stud.CJ[1]);/*数学*/
printf("\t\tEnglish:%.1f\n",stud.CJ[2]);/*英语*/
printf("\t\tTotal:%.1f\n",stud.CJ[3]);/*总评*/
return 0;
}
}
}
return 1;

}
/*-------------3-------------*/
int JY_NO2(char *stu_num) /*检验学号*/
{ int NO;
char *p=stu_num;
if(strcmp(stu_num,"#")==0)return 1; /*若输入“#”,则返回真值结束*/
if(strlen(stu_num)!=10) /*学号长度不为10*/
{ puts("\t\tLength of SN Error!\n");/*学号长度不对*/
return 0;
}
while(*p!='\0') /*学号必须用数字,若包含有字母,或其它字符则返回假值重新输入*/
{ NO=(int)*p;
if(NO<48||NO>57)
{ puts("\t\tUndefined SN!Please input again!\n");/*非法学号!请重新输入*/
return 0;
}
else p++; /*指针加1*/
}
if(getchar()!='\n') /*检验学号长度是否大于10,并把多余的字符去掉*/
{ printf("\t\tThe length of SN should more than 10!Please input again!\n");/*学号长度大于10个,请重新输入*/
do{}while(getchar()!='\n');
return 0;
}
return 1;
}

/*-------------4-------------*/
int JY_XM(char *stu_XM) /*检验姓名*/
{ int PD;
char *p;
p=stu_XM;
while(*p!='\0') /*姓名只能用英文*/
{
PD=(int)*p;
if(PD<0)
{ puts("\t\tName should use English, Please input again!\n");/*姓名只能用英文请重新输入*/
return 0;
}
else p++; /*使指针加1,指向下一汉字*/
}
if(getchar()!='\n') /*姓名长度不得大于5个*/
{ printf("\t\tThe length of Name is more than 5, Please input again!\n");/*姓名长度大于5个请重新输入*/
do{}while(getchar()!='\n');
return 0;
}
return 1; /*字符串全为汉字返回真*/

}

/*-------------5-------------*/
int JY_AGE(float stu_AGE) /*年龄只能在0~100之间*/
{
if(stu_AGE<0||stu_AGE>100)
{ printf("\t\tInput Error! Record should between 0~100!\n");/*输入错误,成绩只能在0~100之间*/
return 0;
}
return 1;
}

/*-------------6-------------*/
int JY_CJ(float stu_CJ) /*学生成绩只能在0~100之间*/
{
if(stu_CJ<0||stu_CJ>100)
{ printf("\t\tInput Error! Record should between 0~100!\n");/*输入错误,成绩只能在0~100之间*/
return 0;
}
return 1;
}

/*-------------7-------------*/
void CreatFile() /*输入文件*/
{ FILE *fp;
struct stuType stu,stu0={"","",}; /*对stu0xianfu*/
fp=fopen("stu.dat","wb+"); /*打开或创建一个二进制文件,打开时将原来的内容删除*/
if(fp==NULL)
{ printf("\t\tFile opens Error!\n\t\t\tPress Anykey back...");/*文件打开失败,按任意键返回*/
getch();
return;
}
else
{ while(1)
{ stu=stu0;
do{ printf("\n\t\tPlease input SN:"); /*输入学号并检验其正确性*/
scanf("%10s",stu.NO);
}while(!JY_NO(stu.NO,fp));
if(strcmp(stu.NO,"#")==0)break;
do{ printf("\n\t\tPlease input Name:"); /*输入姓名并检验其正确性*/
scanf("%10s",stu.XM);
}while(!JY_XM(stu.XM));
do{ printf("\n\t\tPlease input age:"); /*输入年龄绩并检验其正确性*/
scanf("%f",&stu.AGE);
}while(!JY_AGE(stu.AGE[0]));
do{ printf("\n\t\tPlease input record of Chinese:"); /*输入成绩并检验其正确性*/
scanf("%f",&stu.CJ[0]);
}while(!JY_CJ(stu.CJ[0]));
do{ printf("\n\t\tPlease input record of Math:"); /*同上*/
scanf("%f",&stu.CJ[1]);
}while(!JY_CJ(stu.CJ[1]));
do{ printf("\n\t\tPlease input record of English:");
scanf("%f",&stu.CJ[2]);
}while(!JY_CJ(stu.CJ[2]));
do{ printf("\n\t\tPlease input record of Total:");
scanf("%f",&stu.CJ[3]);
}while(!JY_CJ(stu.CJ[3]));
fwrite(&stu,sizeof(struct stuType),1,fp); /*写文件*/
}

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

}

/*-------------8-------------*/
void Search_Xuehao() /*按学号查询*/
{ FILE *fp;
int flag;
struct stuType stu,stud;
fp=fopen("stu.dat","rb");
if(fp==NULL) /*若文件打不开则输出下面的信息*/
{ printf("\t\tFile opens Error!\n\t\t\tPress Anykey back...");
getch();
return;
}
else
{ do{ puts("\n\t\tPress\"#\" or search");
do{ printf("\t\tPlease input the SN what you want:");
scanf("%10s",stu.NO);
}while(!JY_NO2(stu.NO));
if(strcmp(stu.NO,"#")==0)break; /*若输入“#”则结束循环*/
flag=0;
rewind(fp);
while(fread(&stud,sizeof(struct stuType),1,fp)) /*检查文件指针结束*/
{ if(strcmp(stu.NO,stud.NO)==0) /*比较学号*/
{ puts("\t\tThe Record of this student:");
printf("\t\tSN:%s\n",stud.NO);
printf("\t\tName:%s\n",stud.XM);
printf("\t\tAGE:%.1f\n",stud.AGE[0]);
printf("\t\tChinese:%.1f\n",stud.CJ[0]);
printf("\t\tMath:%.1f\n",stud.CJ[1]);
printf("\t\tEnglish:%.1f\n",stud.CJ[2]);
printf("\t\tTotal:%.1f\n",stud.CJ[3]);
flag=1; /*记录学号是否查到*/
}
}
if(flag==0)puts("\t\tUndefined SN");
}while(strcmp(stu.NO,"#")!=0);

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

}

/*-------------9-------------*/
void Search_Xingming() /*按姓名查找*/
{ FILE *fp;
int flag=0;
struct stuType stu,stud;
fp=fopen("stu.dat","rb");
if(fp==NULL)
{ printf("\t\tFile opens Error!\n\t\tPress Anykey back...");
getch();
return;
}
else
{ do{
do{ printf("\t\tPlease input the Name of the Student what you want:");
scanf("%10s",stu.XM);
}while(!JY_XM(stu.XM));
rewind(fp); /*文件指针指向头*/
while(fread(&stud,sizeof(struct stuType),1,fp))
{ if(strcmp(stu.XM,stud.XM)==0) /*比较姓名是否相同*/
{ puts("\t\tThe name of the Student is:");
printf("\t\tSN:%s\n",stud.NO);
printf("\t\tName:%s\n",stud.XM);
printf("\t\tAGE:%.1f\n",stud.AGE[0]);
printf("\t\tChinese:%.1f\n",stud.CJ[0]);
printf("\t\tMath:%.1f\n",stud.CJ[1]);
printf("\t\tEnglish:%.1f\n",stud.CJ[2]);
printf("\t\tTotal:%.1f\n",stud.CJ[3]);
flag=1; /*记录姓名是否被查到*/
}
}
if(flag==0)puts("\n\t\tUndefined Name!");
puts("\t\tContinue?(y--yes,Else key back)?");
}while(getch()=='y');
}
fclose(fp);
/* puts("\t\tPress Anykey to continue...");*/
/* getch();*/

}

/*-------------10-------------*/
int ListFile(void) /*输出文件,列出所有学生成绩*/
{ FILE *fp;
int REC=0; /*记录学生人数*/
struct stuType stu;
fp=fopen("stu.dat","rb");
if(fp==NULL)
{ printf("\t\tFile opens Error!\n\t\tPress Anykey back...");
getch();
return 1;
}
else{ printf("\t\tRecords of the Students:\n");
printf("\t\tSN\t\tName\tChinese\tMath\tEnglish\tTotal\n");
rewind(fp);
while(fread(&stu,sizeof(struct stuType),1,fp))
{ /*每读取一个长度的数据就输出*/
printf("\t\t%s",stu.NO);
printf("\t%s",stu.XM);
printf("\t%.1f",stu.AGE);
printf("\t%.1f",stu.CJ[0]);
printf("\t%.1f",stu.CJ[1]);
printf("\t%.1f",stu.CJ[2]);
printf("\t%.1f",stu.CJ[3]);
printf("\n");
REC++;
if(REC%20==0) /*20个学生成绩,停一下*/
{ printf("\t\tPress Anykey to continue...\n");
getch();
}
}
}
fclose(fp); /*关闭文件*/
printf("\t\tContinue...");
getch();

}

/*-------------11-------------*/
void Statistics() /*统计及格和优秀人数*/
{ FILE *fp;
int REC=0,unpass[4]={0},good[4]={0}; /*REC--记录个数,即人数,unpass--重修人数,good--优秀人数*/
float highest[4]={0},score[4]={0}; /*highest--最高分,score--总分*/

struct stuType stu;
fp=fopen("stu.dat","rb");
if(fp==NULL)
{ printf("\t\tFile opens Error!\n\t\tPress Anykey back...");
getch();
return;
}
else { rewind(fp);
while(fread(&stu,sizeof(struct stuType),1,fp))
{ REC++;
score[0]=score[0]+stu.CJ[0]; /*语文*/
if(stu.CJ[0]<=60)unpass[0]++;
if(stu.CJ[0]>=80)good[0]++;
if(highest[0]<stu.CJ[0])highest[0]=stu.CJ[0];
score[1]=score[1]+stu.CJ[1]; /*数学*/
if(stu.CJ[1]<=60)unpass[1]++;
if(stu.CJ[1]>=80)good[1]++;
if(highest[1]<stu.CJ[1])highest[1]=stu.CJ[1];
score[2]=score[2]+stu.CJ[2]; /*英语*/
if(stu.CJ[2]<=60)unpass[2]++;
if(stu.CJ[2]>=80)good[2]++;
if(highest[2]<stu.CJ[2])highest[2]=stu.CJ[2];
score[3]=score[3]+stu.CJ[3]; /*总评*/
if(stu.CJ[3]<=60)unpass[3]++;
if(stu.CJ[3]<=80)good[3]++;
if(highest[3]<stu.CJ[3])highest[3]=stu.CJ[3];
}
if(REC==0) /*可以防止记录为0是REC作除数而造成的错误*/
{ printf("\t\tYou did't input the Name!Press Anykey back...");
getch();
return;
}
else{
printf("\t Chinese\t Math\t English\tTotal\n"); /*输出统计信息*/
printf("\tAverage: %.1f\t %.1f\t %.1f\t\t%.1f\n",score[0]/REC,score[1]/REC,score[2]/REC,score[3]/REC);
printf("\tTop record: %.1f\t %.1f\t %.1f\t\t%.1f\n",highest[0],highest[1],highest[2],highest[3]);
printf("\tNumber of good students: %d\t\t %d\t %d\t\t %d\n",good[0],good[1],good[2],good[3]);
printf("\tNumber of unpassed students:%d\t\t %d\t %d\t\t %d\n",unpass[0],unpass[1],unpass[2],unpass[3]);
}
}
fclose(fp);
printf("\n\t\t\tPress Anykey to continue...");
getch();

}

/*-------------12-------------*/
void HelpMessage()
{ clrscr();
printf("\n\n\n\n\n chi xi tong shi lao shi suo bu zuoye bian ercheng,gai xitong juyou cunchu xuesheng shuju,an xuehao,xingming chaxun,liechu xuesheng chengji he tongjigongneng.\n \n shiyongfangfa:xitong shulu shuju hou,jiangzai dangqian muluzhong jianli yige mingwei stu.dat wenjian,yongyubaocun shulu de shuju.xuehao shulu neng yong shuzi shulu qie xuehao neng shi10wei.xingming shulu fuhe zhongguoren de xingming,neng yong zhongwen pinying,qie zuichangwei5 ge han.\n chi chenxu zai Turbo C2.0xia yunxing tongguo \n\n ");
getch();
}

/*-------------13-------------*/
int GetKey(void) /*此函数返回一个按键的数值*/
{ int key;
key=bioskey(0); /*bioskey为调用BIOS键盘接口*/
if(key<<8) /*位移*/
{
key=key&0x00ff;

}
return key; /*返回按键*/
}

/*-------------14-------------*/
void main()
{ int key;
struct date d; /*定义时间结构体*/
getdate(&d); /*读取系统日期并把它放到结构体d中*/
clrscr(); /*清除屏幕*/
printf("\n\n\n\n\n");
printf("\t ========================================================\n"); /*版本信息*/
printf("\n");
printf("\t\t The System of Students Records Management 1.0 \n");
printf("\n");
printf("\n");
printf("\t\t Builder: XG042-WZM YS HYF WQ \n");
printf("\t\t Teacher:Song Zheyuan\n");
printf("\t\t Time:2005\\7\\5 \n");
printf("\n");
printf("\t ========================================================\n");
printf("\t\t\tPress Anykey to continue...");
/*while(!kbhit());*/
getch(); /*从键盘读取一个字符,但不显示于屏幕*/
system("cls"); /*调用DOS的清屏函数,TC中可用clrscr代替*/
while(1) /*主菜单*/
{
printf("\n\n\n\n\n");
printf("\t **************************************************\n");
printf("\t **\t **\n");
printf("\t **\tF1 --Help **\n");
printf("\t **\t **\n");
printf("\t **\tF2 --Data Input & Save **\n");
printf("\t **\t **\n");
printf("\t **\tF3 --Search by SN **\n");
printf("\t **\t **\n");
printf("\t **\tF4 --Search by Name **\n");
printf("\t **\t **\n");
printf("\t **\tF5 --Contents Input **\n");
printf("\t **\t **\n");
printf("\t **\tF6 --Count Students Number(Passed&Good) **\n");
printf("\t **\t **\n");
printf("\t **\tESC--Quit the System **\n");
printf("\t **\t **\n");
printf("\t **************************************************\n");
printf("\n\t Please select...\t\t%d\\%d\\%d\n\n",d.da_year,d.da_mon,d.da_day); /*提示信息,并显示当前系统日期*/
key=GetKey(); /*调用自定义函数,读取一个键*/
switch(key)
{
case F1: HelpMessage(); break;
case F2: CreatFile(); break;

case F3: Search_Xuehao(); break;
case F4: Search_Xingming();break;
case F5: ListFile(); break;
case F6: Statistics(); break;
case ESC:exit(1); break;
/*default: puts("\t\t\tWrong SN input!");
printf("\t\t\tPress Anykey back...");
getch();*/
}
clrscr(); /*每执行完一项功能后,自动清屏*/
}

}

热点内容
武汉大学学生会辅导员寄语 发布:2021-03-16 21:44:16 浏览:612
七年级学生作文辅导学案 发布:2021-03-16 21:42:09 浏览:1
不屑弟高考成绩 发布:2021-03-16 21:40:59 浏览:754
大学毕业证会有成绩单 发布:2021-03-16 21:40:07 浏览:756
2017信阳学院辅导员招聘名单 发布:2021-03-16 21:40:02 浏览:800
查询重庆2018中考成绩查询 发布:2021-03-16 21:39:58 浏览:21
结业考试成绩怎么查询 发布:2021-03-16 21:28:40 浏览:679
14中医医师资格笔试考试成绩查分 发布:2021-03-16 21:28:39 浏览:655
名著赏析课程标准 发布:2021-03-16 21:27:57 浏览:881
北京大学商业领袖高端培训课程 发布:2021-03-16 21:27:41 浏览:919