C语言新手,学生成绩管理的程序,请前辈们帮帮忙。感谢……

作者&投稿:比哪 (若有异议请与网页底部的电邮联系)
学生成绩管理程序(c语言)~

到 我的空间里看看!《学生成绩管理系统》给你答案!

#include
#include
#include
#include
#define N 20
struct kec
{
char kcbm[10];//课程编码
char kcmc[10];//课程名称
float xf;//学分
float pscj;//平时成绩
float sycj;//实验成绩
float jmcj;//卷面成绩
float zhcj;//综合成绩
float sdxf;//实得学分
};
typedef struct
{
char xh[4];//学号
char name[10];//姓名
char xb[4];//性别
char qsh[10];//寝室号码
char dhh[10];//电话号码
struct kec kc[10];//所选课程
float gxxf;//共修学分

}stu;


void print(stu *x);








//菜单
void menu()
{

printf(" 学生管理系统
");
printf("=====================
");
printf("1.数据录入
");
printf("2.查询
");
printf("3.删除
");
printf("4.排序
");
printf("0.退出
");
printf("====================
");
printf("请选择相应的功能:");

}
//数据录入
void input()
{system("cls");
float s;
int t;
stu x;
FILE *fp;
if((fp=fopen("student.txt","ab"))==NULL)
{printf("cannot open this file
");
exit(0);
}
while(1)
{t=0;
s=0;
printf("
学生基本信息录入格式:学号 姓名 性别 寝室号码 电话号码 . 当输入学号为1结束录入
");
scanf("%s",x.xh);
if(strcmp(x.xh,"1")==0) break;
scanf("%s %s %s %s",x.name,x.xb,x.qsh,x.dhh);
printf("
学生成绩基本信息录入格式 课程编码 课程名称 学分 平时成绩 实验成绩 卷面成绩.
");
printf("第%d个课程信息:当输入课程编码为A时结束
",t+1);

while(1)
{
scanf("%s",x.kc[t].kcbm);
if(strcmp(x.kc[t].kcbm,"A")==0)
break;
scanf("%s %f %f %f %f",x.kc[t].kcmc,&x.kc[t].xf,&x.kc[t].pscj,&x.kc[t].sycj,&x.kc[t].jmcj);
if(x.kc[t].sycj==-1)
x.kc[t].zhcj=(float)(x.kc[t].pscj*0.3+x.kc[t].jmcj*0.7);
else
x.kc[t].zhcj=(float)((x.kc[t].pscj+x.kc[t].sycj)*0.15+x.kc[t].jmcj*0.7);

if(90<=x.kc[t].zhcj)
x.kc[t].sdxf=(float)(x.kc[t].xf);
else if(80<=x.kc[t].zhcj)
x.kc[t].sdxf=(float)(x.kc[t].xf*0.8);
else if(70<=x.kc[t].zhcj)
x.kc[t].sdxf=(float)(x.kc[t].xf*0.75);
else if(60<=x.kc[t].zhcj)
x.kc[t].sdxf=(float)(x.kc[t].xf*0.6);
else if(60>x.kc[t].zhcj)
x.kc[t].sdxf=0;
s=s+x.kc[t].sdxf;
t=t+1;

printf("
学生成绩基本信息录入格式 课程编码 课程名称 学分 平时成绩 实验成绩 卷面成绩.
");
printf("第%d个课程信息:当输入课程编码为A时结束
",t+1);

}
x.gxxf=s;

fwrite(&x,sizeof(stu),1,fp); //将信息写入文件
}

fclose(fp);//用完文件关闭文件
getchar();
}


void search()//按学号查找
{
system("cls");
stu x;
FILE *fp;
char number[4];
printf("
输入要查学生的学号: ");
scanf("%s",number);

if((fp=fopen("student.txt","rb"))==NULL) {printf("can't open file!
");exit(0);}
while(!feof(fp))
{fread(&x,sizeof(stu),1,fp);//把文件的学生信息读入到xs结构体
if(strcmp(number,x.xh)==0)//学号相当的时候运行下面程序
{ printf(" 学生的信息如下:
");
printf("学生姓名 性别 寝室号码 电话号码");
printf("
%s %s %s %s
",x.name,x.xb,x.qsh,x.dhh);
print(&x);
break;
}
}
if(feof(fp)) printf("cannot find
");
fclose(fp);
getchar();
getchar();

}

void print(stu *x)
{int i;
printf("学号 姓名");
printf("%s %s
",x->xh,x->name);
for(i=0;i<10;i++)
{if(strcmp((x->kc[i]).kcbm,"A")==0)
break;

printf("课程名称:%s 综合成绩:%6.2f 实得学分:%6.2f
",(x->kc[i]).kcmc,(x->kc[i]).zhcj,(x->kc[i]).sdxf);

}
printf("共修科目:%d ",i);
printf("共修学分:%6.2f
",x->gxxf);
}
//删除:输入学生姓名,若该学生存在,则删除
void dele()
{

stu xs[N];
FILE *fp;
char name[10];
int i,len,k=-1;
system("cls");
printf("
输入要删除的学生姓名: ");scanf("%s",name);
i=0;;
if((fp=fopen("student.txt","rb+"))==NULL) {printf("can't open file!
");exit(0);}
while(!feof(fp))
{fread(&xs[i],sizeof(stu),1,fp);
if(feof(fp)) break;
if(strcmp(xs[i].name,name)==0) k=i;
i++;
}
fclose(fp);
//以下是删除后重新写文件
len=i;
if(k>=0)
{if((fp=fopen("student.txt","wb+"))==NULL) {printf("can't open file!
");exit(0);}
for(i=0;i<len;i++)
{if(i==k) continue;
fwrite(&xs[i],sizeof(stu),1,fp);
}
printf("删除成功");
fclose(fp);
}
else printf("删除失败!!!
");
getchar();
getchar();

}

//排序
void sort()
{
stu xs[N],s;
void print();
FILE *fp;

int i,j,k,len;
system("cls");
i=0;
if((fp=fopen("student.txt","rb+"))==NULL) {printf("can't open file!
");exit(0);}
while(!feof(fp))
{fread(&xs[i],sizeof(stu),1,fp);
if(feof(fp)) break;
i++;
}
fclose(fp);
len=i;

for(i=0;i<len-1;i++)
{k=i;
for(j=i+1;j<len;j++)
if(xs[k].gxxf<xs[j].gxxf) k=j;
if(k!=i)
{s=xs[i];xs[i]=xs[k];xs[k]=s;}
}
printf("
%s %s
","姓名","共修学分");
for(i=0;i<len;i++)
printf("
%10s %6.2f",xs[i].name,xs[i].gxxf);
getch();
}

//菜单选择
void choice()
{
char ch;
while(1)
{system("cls");
menu();//显示菜单
ch=getch();//选择菜单
if(ch=='0')break;
switch(ch)//判断功能项
{
case'1':input();break;
case'2':search();break;
case'3':dele();break;
case'4':sort();break;

}
}
printf("
欢迎使用!!!
");
}

void main()
{
choice();//调用菜单选择
}

#include <stdio.h>

int main()
{
int exam_sc[999];
int work_sc[999];
int id;
char c;
for (id = 0 ; id < 999 ; id++)
{
exam_sc[id] = 101;
work_sc[id] = 101;
}
//input
do
{
//id
do
{
c = 'y';
printf("Please input id:");
scanf("%d",&id);
if (id > 999 || id < 1)
{
printf("Id (1 - 999)\n");
}
else if (exam_sc[id-1] != 101 || work_sc[id-1] != 101)
{
printf("Recompose this student's score?(Y/N)\n");
scanf("\n%c",&c);
}
} while(id > 999 || id < 0 || (c != 'y' && c != 'Y'));

if (id)
{
//eaxm
do
{
printf("Please input exam score:");
scanf("%d",&exam_sc[id-1]);
if (exam_sc[id-1] > 100)
{
printf("score is too large\n");
}
if (exam_sc[id-1] < 0)
{
printf("score is too small\n");
}
} while(exam_sc[id-1] > 100 || exam_sc[id-1] < 0);

//work
do
{
printf("Please input school work score:");
scanf("%d",&work_sc[id-1]);
if (work_sc[id-1] > 100)
{
printf("score is too large\n");
}
if (work_sc[id-1] < 0)
{
printf("score is too small\n");
}
} while(work_sc[id-1] > 100 || work_sc[id-1] < 0);
}
} while (id);

//output
printf("id\texam score\tschool work score\n");

for (id = 0 ; id < 999 ; id++)
{
if (exam_sc[id] != 101 && work_sc[id] != 101)
{
printf("%d\t%d\t%d\n",id,exam_sc[id],work_sc[id]);
}
}
}


c语言新手:输入某学生三个成绩,求出总分与平均分。例输入70 85 92,求...
void main(){ int a,b,c;printf("请输入三个学生成绩:\\n");scanf("%d%d%d",&a,&b,&c);printf("三个学生总分是:%d\\n",a+b+c);printf("三个学生平均分是:%f\\n",(a+b+c)*1.0\/3);}

C语言新手,学生成绩管理的程序,请前辈们帮帮忙。感谢……
include <stdio.h> int main(){ int exam_sc[999];int work_sc[999];int id;char c;for (id = 0 ; id < 999 ; id++){ exam_sc[id] = 101;work_sc[id] = 101;} \/\/input do { \/\/id do { c = 'y';printf("Please input id:");scanf("%d",&id);if (id > 999 |...

...打印一个学生的成绩信息。C语言新手,求大神帮助呀,程序不知道哪里错...
int count) \/\/加上函数类型,参数类型声明\/\/ struct student stu[6];\/\/这句不要{int i,j; \/\/增加for(i = 0;i< count;i++) \/\/增加{ printf("%s%s",

用C语言编一个学生成绩管理系统`(要求原创)
基本要求:要求利用C语言面向过程的编程思想来完成系统的设计;突出C语言的函数特征,以多个函数实现每一个子功能;画出功能模块图;进行简单界面设计,能够实现友好的交互;具有清晰... 基本要求:要求利用C语言面向过程的编程思想来完成系统的设计; 突出C语言的函数特征,以多个函数实现每一个子功能;画出功能模块图;进行简...

C语言:编写程序,输入10个学生的成绩数据,计算并输出平均分及低于平均分...
printf("请输入第%d个学生的成绩:",(i+1));scanf("%d",&score[i]);sum+=score[i];}avg=sum*1.0\/10; \/\/求着这10个学生成绩的平均值for(i=0;i<10;i++){ \/\/统计小于平均分的学生人数if(score[i]<avg){count++;}}for(i=0;i<10;i++){ \/\/使用冒泡排序对这10个学生的成绩逆序排序 for(...

有哪些适合新手入门c语言的技巧?
以下是一些适合新手入门C语言的技巧:1.学习基础概念:了解C语言的基本概念,如变量、数据类型、运算符、控制语句和函数等。2.编写简单程序:从简单的开始,尝试编写一些小程序来练习C语言的语法和功能。可以从输出"Hello,World!"开始,然后逐渐扩展到其他简单的例子,如计算器、学生成绩管理等。3.刻意...

用c语言编写程序,先输入一组学生成绩,用-1表示输入结束,然后输入某一...
即先对输入的数据进行排序,因为你无法保证输入的学生成绩都是有顺序的,所以先要排序,然后就是查找了,可以采用二分法查找,实现简单也比较快一些。当然如果学生数在10个以内,直接线性查找也是不错的,差别不会太大。 niluanxy | 发布于2012-05-08 举报| 评论 1 0 ...

题目:学生成绩管理系统   请大神帮忙做一个C语言作业,希望使用结构...
runMeun (student stu[], int *stuNum, int subNum); \/*运行菜单*\/status pressAnykeyToContinue (void); \/*按任意键继续*\/\/***以上为函数声明***\/运行结果主界面 输入学生信息 查找学生信息 删除学生信息 成绩排序 数据统计

C语言程序设计学生成绩管理系统
\/*显示单条学生记录*\/ void Student_DisplaySingle(int index){ printf("%10s%10s%8s%8s%8s%10s\\n","学号","姓名","成绩","成绩","成绩","平均成绩");printf("---\\n");printf("%10s%10s%8.2f%8.2f%8.2f%10.2f\\n",students[index].ID,students[index].Name,students[index].Mar...

C语言 绩点问题 在线求解答 新手 刚开始学 求大神帮忙解一下这道题...
include <stdio.h> int main(void) { int n;scanf("%d", &n);if (n < 0 || n > 100) { printf("Invalid");return 0;} if (n < 60) { printf("Faild");return 0;} printf("%.1f", (n - 50.0) \/ 10);return 0;} ...

铁岭市17726652399: 编程如何用C语言编写一个学生成绩管理系统程序 -
望文丁疏: 我们才做了这个作业... #include <malloc.h> #include <stdio.h> #include <stdlib.h> #define LEN sizeof(struct scorenode) #define DEBUG #include <string.h> struct scorenode { int number;/*学号*/ char name[8];/*姓名*/ float cj1;/*成绩1*/ ...

铁岭市17726652399: C语言编写一段程序是用来管理学生成绩的 -
望文丁疏: 展开全部#include#include#include#include#include#include#include#include#include#include#include using namespace std; int n; struct birth { int year,month,day; }; struct node { int num,old,math,english,computer; double ave; char name[20],sex[...

铁岭市17726652399: 怎么用c语言编写一个学生成绩管理系统啊?急…… -
望文丁疏: C语言课程设计报告-------学生成绩简单管理程序 一、系统菜单的主要功能 (1)输入若干条记录 (2)显示所有记录 (3)按学号排序 (4)插入一条记录 (5)按姓名查找,删除一条记录 (6)查找并显示一条记录 (7)输出统计信息 (新增)...

铁岭市17726652399: c语言:学生成绩简单管理程序 -
望文丁疏: 给你一个模板吧:#include"stdio.h"#include"stdlib.h"#include"string.h"#include#include typedef struct list { ...

铁岭市17726652399: 求一个学生成绩管理系统的C语言代码!!急!! -
望文丁疏: #includestruct student { char num[10];char name[20];char sex[5];float grade[7];float v;float sum;}stu[50]; int k=0;void input(); void output(); void search(); void average(); void sort(); void save(); void main() { int a;do{printf("\n\n **************...

铁岭市17726652399: 用c语言编写一个程序实现学员成绩管理,每个学生包括3门课的成绩?
望文丁疏: #include #define n 20 int static index=0; struct student { int num; char name[n]; float ... do{ q=str[j]. chengji; printf("请输入学生信息: "); printf("学号:"); fflush(...

铁岭市17726652399: 如何用C语言编一个学生成绩管理系统 -
望文丁疏: #include "stdio.h"#include "stdlib.h"#include "string.h"#define NULL 0 int shoudsave=0; struct student { char num[10]; char name[20]; char sex[4]; int cgrade; int mgrade; int egrade; int totle; int ave; char neartime[10]; }; typedef struct node { ...

铁岭市17726652399: .学生成绩管理 c语言程序 -
望文丁疏: #include #include #include #define N 20 struct kec{ char kcbm[10];//课程编码 char kcmc[10];/&#...

铁岭市17726652399: 请高手帮忙 编写一个简单的C语言学生成绩管理程序 -
望文丁疏: C++版的,自己改一下,以前帮同学写的,忙着考试,没时间整了,抱歉,呵呵,希望对你有用!#include#include#include...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网