今天给各位分享c语言编写成绩单管理的知识,其中也会对c语言学生成绩单制作进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
1、c语言编写查询学生成绩管理程序。2、C语言编写一个简单的学生成绩管理系统3、用C语言编写一个简单的成绩管理系统4、用C语言设计一个学生成绩管理系统5、怎样用C语言写学生成绩管理系统?
c语言编写查询学生成绩管理程序。
#includestdio.h
#includestdlib.h
#includestring.hstruct record
{
char xuehao[10];//学号
char name[20]; //姓名
char sex[3];//性别
int ke1;//数学
int ke2 ;//语文
int ke3;//英语
int pin;
}stu[50];
int k=1,n,m;void readfile();
void seek();
void insert();
void del();
void save();
void menu();
void seek()
{int i,j,item,flag;brchar s1[20];brprintf(“——————\n”);brprintf(“1.按学号查询\n”);brprintf(“2.退出本菜单\n”);brprintf(“——————\n”);brwhile(1)br{ printf(“请选择子菜单编号:”);brscanf(“%d”,item);brflag=0;brswitch(item)br{brcase 1:brprintf(“请输入要查询的学生的学号:\n”);brscanf(“%s”,s1);brfor(i=0;in;i++)brif(strcmp(stu[i].xuehao,s1)==0)br{ flag=1;brprintf(“该学生学号,姓名,性别,数学,语文,英语 分别为:\n”);brprintf(” %s %s %s %d %d %d”,stu[i].xuehao,stu[i].name,brstu[i].sex,stu[i].ke1,stu[i].ke2,stu[i].ke3);br}
if(flag==0)
printf(“该学号不存在!\n”); break;
case 2:return;
default:printf(“请在1-2之间选择\n”);
}
}
}
void insert()
{ int i=n,j,flag;
printf(“请输入待增加的学生数:\n”);
scanf(“%d”,m);
do
{ flag=1;
while(flag)
{ flag=0;
printf(“请输入第 %d 个学生的学号:\n”,i+1);
scanf(“%s”,stu[i].xuehao);
for(j=0;ji;j++)
if(strcmp(stu[i].xuehao,stu[j].xuehao)==0)
{ printf(“已有该学号,请检查后重新录入!\n”);
flag=1;
break;
}
}
printf(“请输入第 %d 个学生的姓名:”,i+1);
scanf(“%s”,stu[i].name);
printf(“\n请输入第 %d 个学生的性别:”,i+1);
scanf(“%s”,stu[i].sex);
printf(“\n请输入第 %d 个学生的数学成绩:”,i+1);
scanf(“%d”,stu[i].ke1);
printf(“\n请输入第 %d 个学生的语文成绩:”,i+1);
scanf(“%d”,stu[i].ke2);
printf(“\n请输入第 %d 个学生的英语成绩:”,i+1);
scanf(“%d”,stu[i].ke3);if(flag==0)
{ i=i;
i++;
}
}while(in+m);
n+=m;
printf(“录入完毕!\n\n”);
}void del()
{ int i,j,flag=0;
char s1[20];
printf(“请输入要删除学生的学号:\n”);
scanf(“%s”,s1);
for(i=0;in;i++)
if(strcmp(stu[i].xuehao,s1)==0)
{ flag=1;
for(j=i;jn-1;j++)
stu[j]=stu[j+1];
}
if(flag==0)
printf(“该学号不存在!\n”);
if(flag==1)
{ printf(“删除成功,显示结果请选择菜单6\n”);
n–;
}
}
void readfile()
{
char buf[80],*p=”student.dat”;
FILE *fp;
int i=0;
if ((fp=fopen(“student.dat”,”r”))==NULL)
{ printf(“Open file %s error! Strike any key to exit!”,p);
system(“pause”);
exit(0);
}
while(fscanf(fp,”%s%s%s%d%d%d”,stu[i].xuehao,stu[i].name,
stu[i].sex,stu[i].ke1,stu[i].ke2,stu[i].ke3)==6)
{ i++;
i=i;
}
fclose(fp);
n=i;
printf(“录入完毕!\n”);
}void save()
{ int i,j,k,flag=0;
FILE *fp;
fp=fopen(“student.dat”,”w”);
for(i=0;im;i++)
{
fprintf(fp,”%s%s%d%d%d”,stu[i].xuehao,stu[i].name,stu[i].sex,stu[i].ke1,
stu[i].ke2,stu[i].ke3);
fclose(fp);
printf(“已储存”);
}
}
void paixu()
{
int i,j,k,t;
for(i=0;im;i++)
{
stu[i].pin=(stu[i].ke1+stu[i].ke2+stu[i].ke3)/3;
}
for(i=0;i=m-2;i++)
{
k=i;
for(j=i+1;j=m-1;j++)
if(stu[j].pinstu[k].pin)
k=j;
if(k!=i)
{
t=stu[k].pin;
stu[k].pin=stu[i].pin;
stu[i].pin=t;
}
}
for(i=0;im;i++)
{printf(“第 %d 个学生的姓名%s:”,i+1,stu[i].name);br printf(“\n第 %d 个学生的性别:%s”,i+1,stu[i].sex);br printf(“\n第 %d 个学生的数学成绩:%d”,i+1,stu[i].ke1);br printf(“\n第 %d 个学生的语文成绩:%d”,i+1,stu[i].ke2);br printf(“\n第 %d 个学生的英语成绩:%d”,i+1,stu[i].ke3);br printf(“\n第 %d 个学生的平均成绩:%d”,i+1,stu[i].pin);br }
}
void menu()
{ int nub;
printf(” \n\n学生成绩管理系统\n\n”);
printf(“*****系统功能菜单*****\n”);
printf(“———————-\n”);
printf(“1.输入学生信息\n”);
printf(“2.查询学生信息\n”);
printf(“3.按学号删除信息\n”);
printf(“4.读入学生信息\n”);
printf(“5.保存信息(要把修改保存到文件,退出程序前必须执行本项)\n”);
printf(“6.查询学生平均成绩信息\n”);
printf(“0.退出系统\n”);
printf(“———————-\n”);
printf(“请选择菜单编号:”);
scanf(“%d”,nub);
switch(nub)
{
case 1:insert();break;
case 2:seek();break;
case 3:del();break;
case 4:readfile();break;
case 5:save();break;
case 6:paixu();break;
case 0:k=0;break;
default:printf(“请在0-6之间选择\n”);
}}
void main()
{
while(k)
menu();
}
//平均数是排序后,输出的,如果你不想直接输入,那就不要对每个学生进行选择排序了
C语言编写一个简单的学生成绩管理系统
C语言程序:
#include stdio.h
#include string.h
typedef struct student
{
char name[20];/* 姓名 */
int code;/* 学号 */
int kor, eng, math;/* 3门课程的成绩 */
}STUDENT;
/* 返回输入数据 */
STUDENT Input();
/* 输出所有输入的数据 */
void Output(STUDENT info[], int cnt);
/* 将输入分数转换为A-F */
char grade(int score);
int main()
{
STUDENT S[10];
int cnt = 0, select;
int i, j;
int code;
while(1)
{
printf(“\t学生信息管理系统\n\n”);
printf(“\t\t1\t添加\n”);
printf(“\t\t2\t删除\n”);
printf(“\t\t3\t查询\n”);
printf(“\t\t0\t结束\n”);
printf(“\t\t您的选择[0-3]:”);
scanf(“%d”, select);
if(select 0 || select 3)
continue;
if(select == 0)
{
printf(“退出系统!\n”);
break;
}
if(select == 1)/* 添加 */
{
S[cnt++] = Input();
}
else if(select == 2)/* 删除 */
{
printf(“\t\t待删除学生的学号:”);
scanf(“%d”, code);
for(i=0; icnt; i++)
if(S[i].code == code)
break;
if(i = cnt)
{
printf(“学号不存在,删除失败!\n”);
}
else {
for(j=i+1; jcnt; j++)
{
strcpy(S[j-1].name, S[j].name);
S[j-1].code = S[j].code;
S[j-1].kor = S[j].kor;
S[j-1].eng = S[j].eng;
S[j-1].math = S[j].math;
}
cnt–;
printf(“删除成功!\n”);
}
}
else/* 查询 */
{
printf(“\t\t待查找学生的学号:”);
scanf(“%d”, code);
for(i=0; icnt; i++)
if(S[i].code == code)
break;
if(i = cnt)
{
printf(“学号不存在,查找失败!\n”);
}
else
{
printf(“\t查询结果:\n”);
Output(S, i);
}
}
}
return 0;
}
/* 返回输入数据 */
STUDENT Input()
{
STUDENT stu;
printf(“\t\t新学生信息\n”);
printf(“\t\t学号:”);
scanf(“%d”, stu.code);
printf(“\t\t姓名:”);
getchar();
gets(stu.name);
printf(“\t\t3门课程成绩(以空格分隔):”);
scanf(“%d%d%d”, stu.kor, stu.eng, stu.math);
return stu;
}
/* 输出所有输入的数据 */
void Output(STUDENT info[], int cnt)
{
printf(“学号:%d\n”,info[cnt].code);
printf(“姓名:”);
puts(info[cnt].name);
printf(“成绩:%c %c %c\n”, grade(info[cnt].kor), grade(info[cnt].eng), grade(info[cnt].math));
}
/* 将输入分数转换为A-F */
char grade(int score)
{
if(score 0 || score 100)
return ‘F’;
if(score = 90)
return ‘A’;
if(score = 80)
return ‘B’;
if(score = 70)
return ‘C’;
if(score =60)
return ‘D’;
else
return ‘E’;
}
运行测试:
用C语言编写一个简单的成绩管理系统
(ps:没有自己编译过)
//我写 C++比较多
#include stdio.h
#include stdlib.h
#include string.h
#include conio.h
#define TOTAL_STUD 1000
typedef struct stud {
char name[20];
int score;
} students[TOTAL_STUD],sorted[TOTAL_STUD];
void delstud (int i) {
students[i].name = “无效学生”;
students[i].score = -999;
return;
}
#define show(listname,i) printf(“%04d %s %d\n”,i,listname[i].name,listname[i].score);
int cmpfunc (const void * a, const void * b)
{
return ( *(stud*)a.score – *(stud*)b.score );
} // 本段代码修改自此处
void run(int menu) {
switch (menu) {
case 1:
char uname[20];
int uid,uscore;
printf(“请输入学生姓名:”);
scanf(“%s”,uname);
printf(“\n 请输入学生学号:”);
scanf(“%d”,uid);
printf(“\n 请输入学生成绩:”);
scanf(“%d”,uscore);
students[uid].name = uname;
students[uid].score = uscore;
printf(“\n\n插入成功!\n\n”);
break;
case 2:
int delid;
printf(“要删除谁?学号?”);
scanf(“%d”,delid);
delstud(delid);
break;
case 3:
for (int i = 0; i TOTAL_STUD; i++) {
strcpy(sorted[i].name,students[i].name);
sorted[i].score=students[i].score;
}
qsort(sorted,TOTAL_STUD,sizeof(stud),cmpfunc);
printf(“学号 姓名 分数\n”);
for (int i = 0; i TOTAL_STUD; i++) {
if (sorted[i].score -900) show(sorted,i);
}
break;
case 4:
for (int i = 0; i TOTAL_STUD; i++) {
if (students[i].score -900) show(students,i);
}
break;
case 5:
int delid;
printf(“要查询谁?学号?”);
scanf(“%d”,delid);
show(students,delid);
break;
default:
printf(“– %d 无此功能。请重试。–“,menu);
}
return;
}
int main() {
int key = -1;
for (int i = 0; i TOTAL_STUD; i++) {
delstud(i);
}
while (key != 0) {
printf(“—成绩管理系统 V0.9 —\n 请选择:\n1 — 录入\n2 — 删除\n3 — 排序输出\n4 — 不排序输出\n5 — 查询\n0 — 退出”);
key=getch()-48;
if (key0) run(key);
else {
printf(“谢谢使用!再见!”);
return 0;
}
}
return 0;
}
用C语言设计一个学生成绩管理系统
#include stdio.h
#include string.h
#include stdlib.h
#define MAX 1000
/*定义学生成绩信息结构*/
struct stu
{
char id[8];
char name[8];
扩展资料:
short:修饰int,短整型数据,可省略被修饰的int。(KR时期引入)
long:修饰int,长整型数据,可省略被修饰的int。(KR时期引入)
long long:修饰int,超长整型数据,可省略被修饰的int。(C99标准新增)
signed:修饰整型数据,有符号数据类型。(C89标准新增)
unsigned:修饰整型数据,无符号数据类型。(KR时期引入)
restrict:用于限定和约束指针,并表明指针是访问一个数据对象的唯一且初始的方式。(C99标准新增)
复杂类型关键字
struct:结构体声明。(KR时期引入)
union:联合体声明。(KR时期引入)
enum:枚举声明。(C89标准新增)
typedef:声明类型别名。(KR时期引入)
sizeof:得到特定类型或特定类型变量的大小。(KR时期引入)
inline:内联函数用于取代宏定义,会在任何调用它的地方展开。(C99标准新增)
参考资料来源:百度百科-c语言
怎样用C语言写学生成绩管理系统?
程序如下: #include\x0d\x0avoid main()\x0d\x0a{\x0d\x0a float student[100][7];\x0d\x0a//student[][0]存放学号,student[][1]到student[][4]存放四门成绩,\x0d\x0a//student[][5]存放总分,student[][6]存放平均分,student[][7]存放排名\x0d\x0a int n,i,j,k,p,t,count,flag;\x0d\x0a int a[100],b[100],c[100];\x0d\x0a//a[]存放排序后的下标,b[]存放总分(备份),c[]存放排名的数据\x0d\x0a printf(“输入学生的个数:\n”);\x0d\x0a scanf(“%d”,n);\x0d\x0a for(i=0;ib[i+1])\x0d\x0a {\x0d\x0a c[i]=count;\x0d\x0a count++;\x0d\x0a }\x0d\x0a }\x0d\x0a printf(“\n以下是统计结果:\n”);\x0d\x0a printf(“学号 s[1] s[2] s[3] s[4] 总分 平均分 排名\n”);\x0d\x0a for(i=0;i
回答于 2022-11-16
c语言编写成绩单管理的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言学生成绩单制作、c语言编写成绩单管理的信息别忘了在本站进行查找喔。