山东交通学院课程设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
}while(ch5!='0');
return 0;
}
addcj()
{
FILE *fp;
int i=0;
char choice='y';
fp=fopen("cj.txt","a+");
while(choice=='y'||choice=='Y')
{
system("color 3f");
system("cls");
printf("%d %8s %f\n",cj[i].cjnum,cj[i].cjname,cj[i].cjcreat); }
fclose(fp);
///////////////////////////////////// 输 出 80~89 分 之 间 的
/////////////////////////////////
fseek(fp,i*sizeof(struct cj),1);
fwrite(&cj[i],sizeof(struct cj),1,fp);
fclose(fp);
printf("\n 修改成功,请按任意键返回.");
getch();
return 0;
}
}
printf("\n 没有您要修改的成绩的学号!");
{
if(strcmp(cjname,cj[i].cjname)==0)
{
fwrite(&cj[i],sizeof(struct cj),1,fp2);
printf("\n 你所要修改的成绩的资料如下:\n");
printf("学号
姓名
成绩\n");
printf("%d %8s %f\n",cj[i].cjnum,cj[i].cjname,cj[i].cjcreat); fp=fopen("cj.txt","r+"); fp2=fopen("cj1.txt","r"); printf("\n 新的成绩:"); scanf("%f",&cj[i].cjnew); cj[i].cjcreat=cj[i].cjnew; fseek(fp,i*sizeof(struct cj),1); fwrite(&cj[i],sizeof(struct cj),1,fp); fclose(fp); fclose(fp2); printf("\n 修改成功,请按任意键返回."); getch(); return 0;
for(i=0;fread(&cj[i],sizeof(struct cj),1,fp)!=0;i++)
{
if(cjnum==cj[i].cjnum)
{
fwrite(&cj[i],sizeof(struct cj),1,fp);
printf("\n\n 你所要修改的成绩的资料如下:\n");
printf("学号
fp=fopen("cj.txt","r");
printf("输出 80~89 之间的:\n");
for(i=0;fread(&cj[i],sizeof(struct cj),1,fp)!=0;i++)//判断此段的成
绩是否有
if(cj[i].cjcreat>=80 && cj[i].cjcreat<=89)
ch5=getch();
switch(ch5)
{
case '1':findcj();getch();break;
case '2':findcj1();getch();break;
case '0':break; //退出,返回上一操作
default:printf("无此操作!\n");
getch();break; }
}
chacj()
{
char ch5;
do
{
system("cls");
printf("\n
◎◎◎欢迎进入成绩查询系统◎◎◎\n");
printf("
1: 按学号查询 \n");
printf("
2: 按姓名查询 \n");
printf("
0: 返回 \n");
printf("
请输入您的选择:(0━2):");
{
if(cjnum==cj[i].cjnum)
{
printf("\n 您要查找的成绩详细信息为:\n");
printf(" 学 号
姓名
成绩
\n%d %8s %f\n",cj[i].cjnum,cj[i].cjname,cj[i].cjcreat);
printf("\n 查询成功,请按任意键返回.");
Baidu Nhomakorabea
system("cls");
printf("输出 60~79 之间的:\n");
for(i=0;fread(&cj[i],sizeof(struct cj),1,fp)!=0;i++)
if(cj[i].cjcreat>=60 && cj[i].cjcreat<=79)
{
printf(" 学号
姓名
成绩\n");
scanf("%s",cjname); //输入姓名
for(i=0;fread(&cj[i],sizeof(struct cj),1,fp)!=0;i++) {
if(strcmp(cjname,cj[i].cjname)==0) {
printf("\n 您要查找的成绩的详细信息为:\n");
printf(" 学 号
山东交通学院
C 语言课程设计
成绩记录簿
院(系)别 信息科学与电气工程学院 班级
学号 姓名 指导教师 时 间 2013-08-26—2013-08-30
课程设计任务书
题目
成绩记录簿
系 (部)
信息科学与电气工程学院
专业
自动化专业
班级
学生姓名
学号 8 月 26 日至 8 月 30 日 共 1 周
指导教师(签字) 系 主 任(签字)
if(strcmp(cjname,cj[i].cjname)!=0) {
fwrite(&cj[i],sizeof(struct cj),1,fp2); } } fclose(fp); fclose(fp2); printf("确认删除(y/n)?"); scanf("%s",&choice); if(choice=='y'||choice=='Y') {
fp=fopen("cj.txt","r");
for(i=0;fread(&cj[i],sizeof(struct cj),1,fp)!=0;i++)
{
printf("\n
◎◎◎欢迎进入成绩修改系统◎◎◎\n");
printf("\n
1: 按学号修改成绩信息:");
printf("\n
2: 按姓名修改成绩信息:");
fclose(fp);
return 0; }
}
printf("没有您要查询的信息!\n");
fclose(fp); return 0;
}
findcj1()
{
FILE *fp;
char cjname[20];
int i;
fp=fopen("cj.txt","r");
printf("\n 请输入您要查找的学生姓名:\n"); //查找的学生姓名
} }
printf("\n 没有您要修改的成绩的姓名!"); return 0; break; } case '0':break; default:printf("无此操作!");getch();break; }
return 0; } fclose(fp); return 0; } shuchucj() { FILE *fp; int i=0; float cjcreat; fp=fopen("cj.txt","r");
printf("\n
◎◎◎欢迎进入成绩添加系统◎◎◎
\n");
printf("\n 请输入您要添加的学号:");
scanf("%d",&cj[i].cjnum);
printf("\n 请输入您要添加的姓名:");
scanf("%s",cj[i].cjname);
printf("\n 请输入您要添加的 c 的成绩:");
年月日
一、设计内容及要求 编制一个 C 语言成绩记录簿,每个学生信息包括:学号、姓名、C 语言成绩。具体 功能:
(1)创建信息链表并以磁盘文件保存; (2)读取磁盘文件并显示输出所有学生的成绩; (3)按学号或姓名查询成绩;、(4)添加成绩记录; (5)修改指定姓名或学号的学生的成绩并可存盘; (6)显示输出60分以下、60~79、80~89、90分以上各分数段的学生信息。
findcj()
{
FILE *fp; int cjnum; int i;
fp=fopen("cj.txt","r"); printf("\n 请输入您要查找的学生学号:");
scanf("%d",&cjnum);
for(i=0;fread(&cj[i],sizeof(struct cj),1,fp)!=0;i++)
return 0;
break;
}
case '2':
{
printf("\n\n 请输入您要修改的学生的姓名:");
scanf("%s",cjname);
fp=fopen("cj.txt","r");
fp2=fopen("cj1.txt","w");
for(i=0;fread(&cj[i],sizeof(struct cj),1,fp)!=0;i++)
二、设计原始资料 #include<stdio.h> #include<string.h> #include<conio.h> #include<stdlib.h> #include<ctype.h> struct cj { int cjnum; char cjname[20];float cjcreat,cjnew; }cj[1000];
scanf("%f",&cj[i].cjcreat);
fwrite(&cj[i],sizeof(struct cj),1,fp);
printf("\n 是否要输入下一名学生的信息(y/n):");
scanf("%s",&choice);
}
fclose(fp);
} delcj() {
FILE *fp,*fp2; int i; char cjname[20],choice; system("cls"); fp=fopen("cj.txt","r"); fp2=fopen("cj1.txt","w"); printf("\n 请输入您要删除的姓名:\n"); scanf("%s",cjname); for(i=0;fread(&cj[i],sizeof(struct cj),1,fp)!=0;i++) {
getch();
return 0;
}
else
{
printf("\n 按任意键返回...\n");
getch();
return 0;
}
}
changecj()
{
FILE *fp,*fp2;
char cjname[20],choice;
int i,cjnum;
float cjcreat,cjnew;
system("cls");
printf("\n
0: 返回 \n");
printf("
请输入您的选择(0━2):");
choice=getch();
switch(choice)
{
case '1':
{
printf("\n\n 请输入您要修改的学生的学号:");
scanf("%d",&cjnum);
fclose(fp);
fp=fopen("cj.txt","r");
姓名
成绩
\n%d %8s %f\n",cj[i].cjnum,cj[i].cjname,cj[i].cjcreat);
printf("\n 查询成功,请按任意键返回.");
fclose(fp);
return 0;
}
}
printf("没有您要查询的信息\n");
fclose(fp);
return 0;
姓名
成绩\n");
printf("%%8s%f\n",cj[i].cjnum,cj[i].cjname,cj[i].cjcreat);
fclose(fp);
fp=fopen("cj.txt","r+");
printf("\n 新的成绩:");
scanf("%f",&cj[i].cjnew);
cj[i].cjcreat=cj[i].cjnew;
fp=fopen("cj.txt","w"); fp2=fopen("cj1.txt","r"); for(i=0;fread(&cj[i],sizeof(struct cj),1,fp2)!=0;i++) { fwrite(&cj[i],sizeof(struct cj),1,fp); } fclose(fp); fclose(fp2); fp2=fopen("cj1.txt","w"); fclose(fp2); printf("\n 删除成功,按任意键返回...\n");