c语言课程设计-学生成绩管理系统设计(编辑修改稿)内容摘要:
/*交换前后结点中的英语成绩,使之与学号相匹配 */ fen=maxshuxue。 maxshuxue=p1shuxue。 p1shuxue=fen。 /*交换前后结点中的数学成绩,使之与学号相匹配 */ } } max=head。 p1=head。 /*重新使 max,p指向链表头 */ } 9 p2next=NULL。 /*链表结尾 */ printf(输入的学生数为 :%d个 !\n,n)。 printf(请输入文件路径及文件名 :)。 scanf(%s,filepn)。 if((fp=fopen(filepn,w+))==NULL) { printf(不能打开文件 !\n)。 return 0。 } fprintf(fp, 考试成绩管理系统 \n)。 fprintf(fp,\n)。 fprintf(fp,|学号 \t|姓名 \t|语文 \t|英语 \t|数学 \t|\n)。 fprintf(fp,\n)。 /*打印表格域 */ while(p1!=NULL) { fprintf(fp,%d\t%s\t%.1f\t%.1f\t%.1f\t\n,p1number,p1name,p1yuwen,p1yingyu,p1shuxue)。 p1=p1next。 /*下移一个结点 */ } fclose(fp)。 printf(文件已经保存 !\n)。 if(head==NULL) {printf(\n没有任何学生资料 !\n)。 } else {printf(%d\n,n)。 printf(\n)。 printf(|学号 \t|姓名 \t|语文 \t|英语 \t|数学 \t|\n)。 printf(\n)。 /*打印表格域 */ p=head。 do 10 {printf(|%d\t|%s\t|%.1f\t|%.1f\t|%.1f\t|\n,pnumber,pname,pyuwen,pyingyu,pshuxue)。 printf(\n)。 /*打印表格域 */ p=pnext。 }while (p!=NULL)。 /*打印完成了 */ } return(head)。 } score *statistics_Sall(score *head) { float ssum=0。 score *p=head。 int y=0,i=0。 if(head==NULL) {printf(\n没有任何学生资料 !\n)。 return(head)。 }/*链表为空 */ else { printf(\n)。 printf(|学号 \t|姓名 \t|语文 \t|英语 \t|数学 \t|总分 \t|平均分 \t|\n)。 printf(\n)。 /*打印表格域 */ while(p!=NULL) { ssum=pyuwen+pyingyu+pshuxue。 /*计算 个人总分 */ psave=ssum/3。 /*计算个人平均分 */ printf(|%d\t|%s\t|%.1f\t|%.1f\t|%.1f\t|%.1f\t|%.1f\t|\n,pnumber,pname,pyuwen,pyingyu,pshuxue,ssum,psave)。 /*打印结果 */ printf(\n)。 /*打印表格域 */ p=pnext。 } } return(head)。 } score *Caverage(score *head) { 11 float sum1=0,sum2=0,sum3=0,ave1=0,ave2=0,ave3=0。 score *p=head。 int x=0,y=0,i=0。 if(head==NULL) {printf(\n没有任何学生资料 !\n)。 return(head)。 }/*链表为空 */ while(p!=NULL) { sum1=sum1+pyuwen。 sum2=sum2+pyingyu。 sum3=sum3+pshuxue。 /*计算总分 */ y=y+1。 ave1=sum1/y。 ave2=sum2/y。 ave3=sum3/y。 /*计算平均分 */ p=pn。c语言课程设计-学生成绩管理系统设计(编辑修改稿)
相关推荐
适时的处理 { printf(\n\t\t 您输入的时间有点不和实际。 请确定是否重新输入(y/n))。 ch1=getch()。 //输入一个字符 if(ch1==39。 n39。 ||ch==39。 N39。 )//判断字符 { printf(\n\t\t您放弃时间重新输入。 )。 goto gomi。 //转至出发分的输入 } printf(\n\t\t请重新输入时间。 )。 goto
(struct course))。 fscanf(fp,%d%s%s%s%d%d%s%d,amp。 p1num1,p1name1,p1major,p1type,amp。 p1credit,amp。 p1period,p1teacher,amp。 p1people)。 while(!feof(fp)) { N1=N1+1。 if(N1==1) head1=p1。 else p2next=p1。
{ Chazhao()。 } else { system(cls)。 menu()。 } } fread(amp。 i,sizeof(struct ima),1,fp)。 } fclose(fp)。 printf(\t\t\t\t\t输入的编号不存在,请您重新输入 ......)。 goto finID。 } 物品信息浏览函数: void Liulan() { struct ima i。 int
型变量,且 a 的初值为 6,则计算表达式后 a 的值为 ______。 a+=a=a*a 答 案: 60 详解: 表达式从左向右运算,先计算表达式 a=a36 后 a 为 30,再计算表达式 a=a+a 后 a 的值变为 60。 (十二 ) 条件运算 : 条件运算符的基本形式及功能: 条件运算是一种在两个表达式的值中选择一个的操作。 它的一般形式为: e1?e2:e3 它的操作过程为,若 e1
下选项中非法的表达式是 A) 0=x100 B) i=j==0 C) (char)(65+3) D) x+1=x+1 46. 有以下程序 main() { int a=1,b=2,m=0,n=0,k。 k=(n=ba)||(m=aB)。 printf(%d,%d\n,k,m)。 } 程序运行后的输出结果是 A) 0,0 B) 0,1 C) 1,0 D) 1,1 47. 有定义语句: int x,
sign=0。 while(1) { readers_node *r。 r=new readers_node。 rnext=NULL。 cout输入姓名:。 cinrreader_name。 cout输入读者的编号:。 cinrreader_no。 rreader_borrow_num=0。 rnext=Lnext。 Lnext=r。 coutadd more?(n 终止 ,其它键继续 )。