计算机C语言课程设计案例学生资料的整理与编辑.docx
- 文档编号:3008487
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:18
- 大小:63.66KB
计算机C语言课程设计案例学生资料的整理与编辑.docx
《计算机C语言课程设计案例学生资料的整理与编辑.docx》由会员分享,可在线阅读,更多相关《计算机C语言课程设计案例学生资料的整理与编辑.docx(18页珍藏版)》请在冰豆网上搜索。
计算机C语言课程设计案例学生资料的整理与编辑
计算机技术基础课程设计
C语言设计报告
题目:
学生资料的整理与编辑
学院:
工商管理学院
专业:
信息管理与信息系统
班级:
%%%%%%%
姓名:
¥¥¥¥
指导教师:
&&&&
设计日期:
2011-12-29
题目:
学生资料的整理与编辑
一、选题背景:
学校的管理离不开软件,软件的开发需要有一些基础知识过硬的队伍。
本程序的设计即可以满足一些小学校的资料的统计也可以提高C语言知识水平。
达到即练习又实用的目的。
二、设计思想:
本程序包括三大部分:
第一部分:
定义函数和结构体。
在这部分可以输入学生的资料,包括:
学号、姓名、性别。
语文、数学等的成绩。
第二部分:
这一部分主要是程序结果的结构设计,还包括求各科分数的最大值
程序和一些相应的语句。
程序的实现主要是通过一些循环体完成的包括了一些C
语言中最经典的语句的练习。
第三部分:
主要是一些功能键的设置,输入数据、处理数据、求最大值、追加数
据、删除数据、退出管理。
利用帮助我们更好的完成资料的整理与编辑。
以上函
数的调用和运行主要是通过循环体来实现的,即应用循环来判断运行相应的函
数。
三、程序流程图
资料
假
真
四、程序清单:
#include
#defineN2/*宏定义N代替2*/
#defineG2
structstudent/*定义结构体*/
{
intnum;/*定义整型变量学号*/
intage;/*定义整型变量年龄*/
charname[2];/*定义字符型数组变量姓名*/
charsex;/*定义字符型变量性别*/
intChinesescore;
intEnglishscore;
intMathscore;/*定义整型变量数学成绩*/
intSum[2];/*定义整型变量数组总成绩*/
intaver[2];/*定义整型变量数组平均成绩*/
charDengji[2];/*定义字符型数组*/
}stud[N];/*定义结构体数组变量stud[N]*/
FILE*fp;/*定义指向FILE类型的指针变量*/
inti,j,m,n,o;/*定义整型变量i,j,m,n,o*/
voidenter()/*定义无返回值函数enter*/
{
i=1;/*给整型i变量附值*/
printf("pleaseinputstudentdata\n");/*输入学生资料*/
while(i<=N)/*while循环依次输入*/
{
printf("num:
");
scanf("%d",&stud[i].num);/*输入学生学号*/
printf("name:
");
scanf("%s",stud[i].name);
printf("age:
");/*输入学生年龄*/
scanf("%d",&stud[i].age);
getchar();
printf("sex:
");/*输入学生性别*/
scanf("%c",&stud[i].sex);
printf("Chinesescore:
");
scanf("%d",&stud[i].Chinesescore);
printf("Englishscore:
");
scanf("%d",&stud[i].Englishscore);
printf("Mathscore:
");/*输入数学成绩*/
scanf("%d",&stud[i].Mathscore);
i++;/*使i值加1循环*/
}
}
chuli(structstudentstud[])
{
intk,m;
structstudentt;/*定义结构体类型变量为t*/
intSum[N],aver[N];/*求每个学生总成绩和平均成绩*/
for(i=1;i<=N;i++)
Sum[i]=stud[i].Chinesescore+stud[i].Englishscore+stud[i].Mathscore;
for(i=1;i<=N;i++)
aver[i]=Sum[i]/3;/*求平均成绩*/
for(i=1;i<=N;i++)
{
k=i;
{
for(j=i+1;j<=N;j++)
if(Sum[i] k=j;/*按总分由高分向低分排序*/ if(k! =i) { t=stud[i];stud[i]=stud[k];stud[k]=t; m=Sum[i];Sum[i]=Sum[k];Sum[k]=m; n=aver[i];aver[i]=aver[k];aver[k]=n; } } } for(i=1;i<=N;i++) { if(aver[i]>=90) printf("%d\t%s\t%d\t%c\t%d\t%d\t%d\t%d\t%d\tA\n",stud[i].num,stud[i].name,stud[i].age,stud[i].sex,stud[i].Chinesescore,stud[i].Englishscore,stud[i].Mathscore,Sum[i],aver[i]); elseif(aver[i]>=80) printf("%d\t%s\t%d\t%c\t%d\t%d\t%d\t%d\t%d\tB\n",stud[i].num,stud[i].name,stud[i].age,stud[i].sex,stud[i].Chinesescore,stud[i].Englishscore,stud[i].Mathscore,Sum[i],aver[i]); elseif(aver[i]>=70) printf("%d\t%s\t%d\t%c\t%d\t%d\t%d\t%d\t%d\tC\n",stud[i].num,stud[i].name,stud[i].age,stud[i].sex,stud[i].Chinesescore,stud[i].Englishscore,stud[i].Mathscore,Sum[i],aver[i]); elseif(aver[i]>=60) printf("%d\t%s\t%d\t%c\t%d\t%d\t%d\t%d\t%d\tD\n",stud[i].num,stud[i].name,stud[i].age,stud[i].sex,stud[i].Chinesescore,stud[i].Englishscore,stud[i].Mathscore,Sum[i],aver[i]); else { printf("%d\t%s\t%d\t%c\t%d\t%d\t%d\t%d\t%d\tE\n",stud[i].num,stud[i].name,stud[i].age,stud[i].sex,stud[i].Chinesescore,stud[i].Englishscore,stud[i].Mathscore,Sum[i],aver[i]); printf("\t\t\t\t\tYoushouldworkhard! \n"); }/*输出学生的资料及各科成绩及总分,级别*/ } } intMaxchinesescore(structstudentstud[])/*定义最大值函数*/ { inti=0,Max; Max=stud[i].Chinesescore; m=stud[i].num; for(i=1;i if(Max {/*求语文成绩最大值*/ Max=stud[i].Chinesescore; m=stud[i].num; } printf("MaxChinesescore: "); printf("m=%d,Max=%d\n",m,Max); }/*输出语文成绩最大值学生学号与成绩*/ intMaxenglishscore(structstudentstud[]) { inti,Max; i=0; Max=stud[i].Englishscore; m=stud[i].num; for(i=1;i if(Max { Max=stud[i].Englishscore; m=stud[i].num; } printf("MaxEnglishscore: "); printf("m=%d,Max=%d\n",m,Max); } intMaxMathscore(structstudentstud[]) { inti=0,m,Max; Max=stud[i].Mathscore; m=stud[i].num; for(i=1;i if(Max { Max=stud[i].Mathscore; m=stud[i].num; } printf("NumAndMaxMathscore: "); printf("m=%d,Max=%d\n",m,Max); }/*输出数学成绩最大值学生学号与成绩*/ voidadd(structstudentadd[])/*定义无返回值的追加函数*/ { intk,m,n; charch; structstudentt;/*定义变量*/ intSum[G]; intaver[G]; printf("No%drecord\n",i); for(i=1;i<=G;i++) { printf("num: "); scanf("%d",&add[i].num); printf("name: "); scanf("%s",&add[i].name);/*输入追加学生资料*/ printf("age: "); scanf("%d",&add[i].age); printf("sex: "); getchar(); scanf("%c",&add[i].sex); printf("Chinesescore: "); scanf("%d",&add[i].Chinesescore); printf("Englishscore"); scanf("%d",&add[i].Englishscore); printf("Mathscore"); scanf("%d",&add[i].Mathscore); } printf("Congratulations! \n");/*追加成功*/ printf("Doyouwanttodealwithit? Ifyouwanttodoit,pleaseenter'd',elseenteranyotherword."); printf("inputyouchoise: ");/*输入选
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 语言 课程设计 案例 学生 资料 整理 编辑