中易网

学生综合测评成绩之德育成绩管理系统

答案:2  悬赏:70  
解决时间 2021-04-28 13:54
  • 提问者网友:沉默的哀伤
  • 2021-04-27 20:46
用c++完成
课程设计:学生综合测评成绩之德育成绩管理系统
(含早操、课堂、晚点名考勤,寝室纪律卫生,参加各类比赛评优评奖情况)
学生相关信息:学号,姓名,性别,成绩,家庭地址,宿舍号,家庭困难档次
事项信息:事件名、时间、地点、当事人、事项管理单位、检查成绩、对应分数等
具体分值等请参照(宜宾学院现行学生手册。)
要求:1)系统以菜单方式工作
2)能实现数据的输入,修改,查询,删除。
3)根据输入项进行加减操行分,分数汇总,最后计算
谢谢你了大侠,我看你跟别个都做的那么完美。实在是麻烦你了帮帮忙吧!
最佳答案
  • 二级知识专家网友:不服输就别哭
  • 2021-04-27 21:38
如果系统不支持中文,姓名要按英文输入,例如:
1 zhang_san 100 100 100 100
2 li_si 50 50 50 50
3 wang_wu 60 70 80 90
4 zhao_liu 70 70 80 90
----------------------------------

#include
#include

typedef struct stu{
int id;
char name[40];
int mark[4];
float total;
} STU;
int id;
int m1,m2,m3,m4;
char str[40];

void main()
{
int i,j,N=0;
FILE *fin, *fout;
STU tmp;
STU *s;

fin = fopen("score.txt","r");
while (1){
if ( fscanf(fin,"%*d %*s %*d %*d %*d %*d") ==EOF) break;
N++;
}

fclose(fin);

s = (STU *) malloc(N * sizeof(STU));
if (!s) {
printf("no enough memory for STU\n"); exit(0);
}

fin = fopen("score.txt","r");

for (i=0;i fscanf(fin,"%d %s %d %d %d %d",&id,&str[0],&m1,&m2,&m3,&m4);
s[i].id = id;
strcpy(&s[i].name[0],str);
s[i].mark[0]= m1;
s[i].mark[1]= m2;
s[i].mark[2]= m3;
s[i].mark[3] = m4;
s[i].total = 0.2*m1 + 0.6*m2 + 0.5 * m3 + 0.15*m4;
}
fclose(fin);

for (i=0;i for (j=i+1;j if (s[j].total > s[i].total){
tmp = s[j]; s[j]=s[i];s[i]=tmp;
};
};
};

fout = fopen("score_Q.txt","w");
for(i=0;i fprintf(fout,"%d %s %d %d %d %d\n",s[i].id,s[i].name,s[i].mark[0],s[i].mark[1],s[i].mark[2],s[i].mark[3]);
}
fclose(fout);
exit(0);
}
你的串号我已经记下,采纳后我会帮你制作
你的串号我已经记下,采纳后我会帮你制作
全部回答
  • 1楼网友:时光挺欠揍
  • 2021-04-27 21:44
如果系统不支持中文,姓名要按英文输入,例如: 1 zhang_san 100 100 100 100 2 li_si 50 50 50 50 3 wang_wu 60 70 80 90 4 zhao_liu 70 70 80 90 ---------------------------------- #include <stdio.h> #include <stdlib.h> typedef struct stu{ int id; char name[40]; int mark[4]; float total; } stu; int id; int m1,m2,m3,m4; char str[40]; void main() { int i,j,n=0; file *fin, *fout; stu tmp; stu *s; fin = fopen("score.txt","r"); while (1){ if ( fscanf(fin,"%*d %*s %*d %*d %*d %*d") ==eof) break; n++; } fclose(fin); s = (stu *) malloc(n * sizeof(stu)); if (!s) { printf("no enough memory for stu\n"); exit(0); } fin = fopen("score.txt","r"); for (i=0;i<n;i++){ fscanf(fin,"%d %s %d %d %d %d",&id,&str[0],&m1,&m2,&m3,&m4); s[i].id = id; strcpy(&s[i].name[0],str); s[i].mark[0]= m1; s[i].mark[1]= m2; s[i].mark[2]= m3; s[i].mark[3] = m4; s[i].total = 0.2*m1 + 0.6*m2 + 0.5 * m3 + 0.15*m4; } fclose(fin); for (i=0;i<n-1;i++){ for (j=i+1;j<n;j++){ if (s[j].total > s[i].total){ tmp = s[j]; s[j]=s[i];s[i]=tmp; }; }; }; fout = fopen("score_q.txt","w"); for(i=0;i<n;i++){ fprintf(fout,"%d %s %d %d %d %d\n",s[i].id,s[i].name,s[i].mark[0],s[i].mark[1],s[i].mark[2],s[i].mark[3]); } fclose(fout); exit(0); } 你的串号我已经记下,采纳后我会帮你制作 你的串号我已经记下,采纳后我会帮你制作
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息