各位高手帮帮忙!这是我的毕业设计任务,我怎么觉的我不会呀,我上的是成人 函授专升本,月底交货!!!各位老大能否帮我度过难关,小弟谢谢了!!! 相对来说第三题较自由一些!!! 毕业设计任务书 一.设计题目 1.新生录取管理信息系统 【问题描述】 某校录取新生的标准下限为:六门课均及格,或虽有一门课不及格但在50分以上且平均成绩达到60分以上。 【基本要求】 (1) 从键盘输入每个考生的准考证号、姓名、身份证号、各科成绩,生成一个文件。 (2) 可以对考生记录进行添加、修改但不得删除。 (3) 找出符合录取标准的考生记录,计算该生总分,生成另一个文件。 (4) 打印符合录取标准的考生报表。报表按总分依次从大到小排序,表格内容包括准考证号、姓名、总分、各单科成绩。 【完善要求】 (1) 设置管理员和普通用户两种登录系统身份,管理员应设有自己的口令,普通用户无需口令; (2) 管理员身份可以完成上述基本要求的功能,普通用户可以通过同时输入准考证号和身份证号查询个人成绩。 2.单科学生成绩管理信息系统 【问题描述】 对在校某班学生一门课程的平时成绩与考试成绩进行统一管理。每个学生记录包括学号、姓名、每次习题(按16次计)、测验(按3次计)、考试成绩和总评成绩等信息,以学号为序存放。 【基本要求】 (1)一个文件按以班为单位存储学生记录。 (2)将允许的操作分为四种,以A、B、C、D为标志(若设置菜单操作更佳): A:插入一个新的学生记录; B:登记某次成绩(可以是每次习题、测验、考试成绩); C:修改某次成绩(可以是每次习题、测验、考试成绩); D:删除一个学生记录。 (3) 计算学生的最终成绩,各项成绩权重为:习题10%、测验20%、考试70%。 (4) 按学号排序打印全班成绩表,表格内容包括习题、测验、考试、总评成绩,前三项为百分制,总评成绩为加权计算结果值(也是百分制)。 【完善要求】 (1)设置教师和学生两种登录系统身份,教师应设有自己的口令,学生无需口令; (2)教师身份可以完成上述基本要求的功能,学生可以通过输入学号查询个人成绩。 【选作内容】 任意多个班级的成绩管理。 3.自选题目 【问题描述】 【基本要求】 【完善要求】 注:以上题目任选一个。 二.要求 1. 需求分析; 2. 系统设计; 3. 采用一种开发工具实现系统; 4. 按照软件工程相关准则进行系统测试; 5. 最终完成软件及各阶段相关技术文档; 6. 毕业设计说明书要求不少于400字的中英文摘要,论文总篇幅40页以上,正文20页以上,程序源代码20页左右。其中可包括图、表、程序代码、外文翻译等; 7. 毕业设计说明书一律按标准A4纸张打印。
三.实施步骤 1. 对系统进行全面需求分析,给出分析文档; 2. 设计系统相关成分,包括关系数据库的规范化设计等; 3. 依据系统实现环境,使用一种开发工具实现系统; 4. 按照软件工程的测试技术进行单元测试和集成测试,提交经过α测试的软件版本; 5. 整理设计过程中的全部文档,打印设计报告等资料。
四.进度安排 1.熟悉软件开发过程及环境、进行系统分析 2.系统设计 1周 3.系统实现及测试、调试等 2周 4.整理文档及外文翻译资料、编写毕业设计说明书 1周 5.毕业答辩:11月13日上午交设计成果(设计论文、软件)、抽签排名,14日答辩
附1:毕业设计说明书书写格式 1.封面:采用附2统一制作的封面格式(也可从教务处网页下载) 2.字号要求:一级标题:2号,二级标题:3号,三级标题:4号,内容:5号。 3.毕业设计说明书章节安排(供参考): 目录、摘要(中、英文) 第一章、题目背景和选题依据、题目的应用价值、主要设计内容、思路和创新点、章节安排等。 第二章、需求分析,可以包括数据流图及相关说明。 第三章、总体设计,包括对解决问题的总体考虑、软件结构图(模块图)以及有关说明。 第四章、详细设计,包括程序详细流程(流程图)。 第五章、系统实现,包括软件开发环境:软、硬件环境,关键算法等。 第六章、使用说明,具体说明软件的使用方法、步骤等。 第七章、结束语(结论):总结,包括设计过程的收获、遇到的问题、解决问题的手段、提出新的问题。 主要参考文献,列出5到10种。 附件1(源代码:全部程序清单) 附件2中英文翻译(可选)
----------------解决方案--------------------------------------------------------
这是找的学长做的!!!如何改改成为自己的???帮帮忙!!!谢谢!
----------------解决方案--------------------------------------------------------
#include <stdio.h>
#include <string.h>
struct student
{int num[4];
char name[16];
int xiti[16];
int quiz[3];
int score1;
int score2;
int score3;
int total;
}stu[40],t;
int N;
FILE *fp;
main()
{
char a,c; int g,i=1; char str[6]; char d,e;
printf("\n Ni de shen fen(T/S):");
a=getchar();
if(a=='t'||a=='T')
{loop:if(i<=3)
{ printf("shu ru ni de mi ma:\n ");
scanf("%s",str);
if((strcmp("13407",str))==0)
{printf("\n Shi fou jian li xue sheng ji lu(Y/N): ");
scanf("%s",&d);
if(d=='Y'||d=='y') xinjian();
else if(d=='N'||d=='n') meau();
}
else {printf("Code wrong,continue or not(Y/N)?\n");
scanf("%s",&c);
if(c=='Y'||c=='y') goto loop;
else if (c=='N'||c=='n') exit(0);
}
}
}
else if (a=='s'||a=='S') meau2();
}
xinjian()
{int i;
int j;
int k;
int a;
printf("\n\n How many records you need input?");
scanf("%d",&a);
N=a;
printf("Please Input your the %d records:",a);
for (i=0;i<N;i++)
{ printf("\nInput num:"); scanf("%d",stu[i].num);
printf("\nInput name:"); scanf("%s",stu[i].name);
printf("\nQing shu ru 16 ci xi ti cheng ji:\n");
for (j=0;j<16;j++)
{ printf("\nxiti-%d:",j); scanf("%d",&stu[i].xiti[j]);}
for(k=0;k<3;k++)
{ printf("\nquiz-%d:",k); scanf("%d",&stu[i].quiz[k]);}
printf("\nQing shu ru kao shi cheng ji:\n");
scanf("%d",&stu[i].score1);
} jisuan();
if((fp=fopen("student","wb"))==NULL)
{ printf("can not open the file.\n"); exit(0);}
for(i=0;i<N;i++)
if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)
printf("error\n");
fclose(fp);
meau();
}
----------------解决方案--------------------------------------------------------
/* insert()
{
int i;
int j;
int k;
printf("Input student's number and name:\n");
scanf("%d%s",&stu[N].num,stu[N].name);
if((fp=fopen("student","w"))==NULL)
{ printf("can not open the file.\n"); exit(0);}
if (stu[N].num<stu[N-1].num)
{ for(i=0;i<N;i++)
{k=i; for(j=i+1;j<=N;j++)
if(stu[j].num<stu[k].num) k=j;
if(k!=i) {t=stu[i];stu[i]=stu[k];stu[k]=t;}}
for (i=0;i<N;i++)
if(fwite(&stu[i],sizeof(struct student),1,fp)!=1)
printf("error\n");
fclose(fp);
N=N+1;
meau();
} */
deleted()
{
int i;
int j;
int n;
int flag;
int num;
printf("\n Input number deleted:");
scanf("%d",&num);
for(flag=1,i=0;i<N;i++)
{if(num==stu[i].num)
for(j=i;j<N;j++) stu[j]=stu[j++]; flag=0;
} if(!flag) N=N-1;else printf("\n not found!");
fp=fopen("student","wb");
for (i=0;i<N;i++)
if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)
printf("error\n");
fclose(fp);
meau();}
check()
{ char a; int i;
int b;
int c;
printf("Deng ji na yi xiang chang ji('X','Q','S')\n? ");
scanf("%s",&a);
if(a=='X'||a=='x')
{ printf("Qing shu ru di ji ci cheng ji:\n");
scanf("%d",&c);
printf("Qing shu ru cheng ji:\n");
for (i=0;i<N;i++)
scanf("%f",&stu[i].xiti[a-1]);
}else if(a=='Q'||a=='q')
{ printf("Qing shu ru di ji ci cheng ji:\n");
scanf("%d",&b);
printf("Qing shu ru cheng ji:\n");
for (i=0;i<N;i++)
scanf("%f",&stu[i].quiz[a-1]);
}else if(a=='S'||a=='s')
{ printf("Qing shu ru kao shi cheng ji:\n");
for (i=0;i<N;i++)
scanf("%f",&stu[i].score1);
fp=fopen("student","wb");
for (i=0;i<N;i++)
if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)
printf("error\n");
fclose(fp);
meau();
}
}
amend()
{ printf("amend right!"); meau();}
print()
{ int i;
printf("SCORTED STUDENT'S SCORES LIST IS AS FELLOWS\n\n\n");
printf("------------------------------------------------------------------------\n");
printf(" NO. NAME SCORE1 SCORE2 SCORE3 TOTAL \n");
printf("------------------------------------------------------------------------\n");
fp=fopen("student","rb");
for (i=0;i<N;i++)
{fread(&stu[i],sizeof(struct student),1,fp);
printf("%4d%6s%8d%8d%8d%10.2f\n",stu[i].num,stu[i].name,stu[i].score1,
stu[i].score2,stu[i].score3,stu[i].total); }
fclose(fp);
meau();
}
chaxun(int num)
{int i;
fp=fopen("student","rb");
for (i=0;i<N;i++)
if(fread(&stu[i],sizeof(struct student),1,fp)!=1)
printf("error\n");
for (i=0;i<N;i++)
if(num==stu[i].num)
printf("SCORTED STUDENT'S SCORES LIST IS AS FELLOWS\n");
printf("------------------------------------------------------------------------\n");
printf(" NO. NAME SCORE1 SCORE2 SCORE3 TOTAL ");
printf("------------------------------------------------------------------------\n");
printf("%3d%-10s%8d%8d%8d%10.2f\n",stu[i].num,stu[i].name,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].total);
fclose(fp);
meau();
}
meau()
{char e;
printf("\n\n --------------------------------------------------------------------------\n");
printf(" Qing xuan ze: A.charu B.dengji C.xiugai D.shanchu E.print F.exit\n ");
printf(" --------------------------------------------------------------------------\n");
scanf("%s",&e);
switch(e){
case 'a':insert();break;
case 'b':check();break;
case 'c':amend();break;
case 'd':deleted();break;
case 'e':print();break;
case 'f':exit(0);break;
default:printf("Error!\n");
}
}
jisuan()
{ int i;
int j;
int k;
int s=0;
int t=0;
for(i=0;i<N;i++)
{for(j=0;j<16;j++)
s+=stu[i].xiti[j]; stu[i].score2=s;
}
for(i=0;i<N;i++)
{for(k=0;k<3;k++)
t+=stu[i].quiz[k]; stu[i].score3=t;
}
for(i=0;i<N;i++)
stu[i].total=stu[i].score2+stu[i].score3+stu[i].score1;
}
/*jisuan()
{ int i;
int j;
int k;
int s=0;
int t=0;
for(i=0;i<N;i++)
{for(j=0;j<16;j++)
s+=stu[i].xiti[j]; stu[i].score2=s/16.0;
}
for(i=0;i<N;i++)
{for(k=0;k<3;k++)
t+=stu[i].quiz[k]; stu[i].score3=t/3.0;
}
for(i=0;i<N;i++)
stu[i].total=stu[i].score2*10/100.0+stu[i].score3*20/100.0+stu[i].score1*70/100.0;
} */
meau2()
{int n;
printf("Input Your Number:");
scanf("%d",&n);
chaxun(n);
}
----------------解决方案--------------------------------------------------------
在线狂等!!!
----------------解决方案--------------------------------------------------------
最笨的方法系改变量和常量名!
----------------解决方案--------------------------------------------------------
呵呵1!还真有人做啊!!
佩服!!
----------------解决方案--------------------------------------------------------