当前位置:首页 » 考试成绩 » c语言程序学生成绩管理重要性

c语言程序学生成绩管理重要性

发布时间: 2021-02-27 11:28:11

⑴ 基于C语言的学生成绩管理系统的研究意义与发展

你要的是论文?

⑵ C语言程序设计 学生成绩管理信息系统

我主要设计一个能实现学生信息管理系统,让它来运行和管理学生信息。它在现实生活中运用方便的、管理方便。它能输入学生学号、年龄、性别、出生年月、地址电话E-mail。系统以菜单的方式进行工作,进入子菜单后,还可以返回主菜单。在子菜单中的各种操作都有中文说明,操作简单、易懂。只要我们正确的操作系统,系统就无异常现在,当然系统也能对一些基本的错误做出提示,并能让使用者重新进行操作。
对各个操作的成功,如:添加学生信息、修改学生信息、删除学
生信息,系统都输出“…….的成功”的字样。系统对删除和修改前,还进行“确定”和“取消”。系统对不存在的学号和姓名系统能判断是否存在。对已存在的学号,操作者不能添加和这个学号一样的学生信息,同时系统还提示已有此学号。对于修改、删除和查询,系统遇到不存在的学生能提示没有这个信息。

⑶ 学生成绩管理c语言程序

这是我今天刚考完的,5个学生 3门课程,和你的差不多,你只要稍微修改一下就可以啦~
记得给分我啊!~~~~~~~~~~~~~~~~~~

#include "stdio.h"
#include "stdlib.h"
#define N 5
void sort(char *code[],char *name[],float *scorel,float *score2,float *score3,float *aver,int n);
main()
{char *code[N],*name[N];
float score1[N],score2[N],score3[N],aver[N];
int i;
for (i=0;i<N;i++)
{printf("input NO.%d:",i+1);
code[i]=malloc(8);
name[i]=malloc(12);
scanf("%s%s%f%f%f",code[i],name[i],&score1[i],&score2[i],&score3[i]);
aver[i]=(score1[i]+score2[i]+score3[i])/3.0;
}
printf("\n");
printf(" school report(1) \n");
printf("------------------------------------------------------------- \n");
printf("code name score1 score2 score3 aver\n");
printf("-------------------------------------------------------------\n");
for (i=0;i<N;i++)
{printf("%-10s%-14s%8.2f%8.2f%8.2f%8.2f\n",code[i],name[i],score1[i],score2[i],score3[i],aver[i]);
}
printf("-------------------------------------------------------------\n");
sort(code,name,score1,score2,score3,aver,N);
printf("\n");
printf(" school report(2) \n");
printf("-------------------------------------------------------------\n");
printf("code name score1 score2 score3 aver\n");
printf("-------------------------------------------------------------\n");
for (i=0;i<N;i++)
{
printf("%-10s%-14s%8.2f%8.2f%8.2f%8.2f\n",code[i],name[i],score1[i],score2[i],score3[i],aver[i]);
}
printf("\n");
getch();
}
void sort(char *code[],char*name[],float *score1,float *score2,float *score3,float *aver,int n)
{
int i,j;
float temp;
char *temp1;
for (i=0;i<n-1;i++)
for (j=1;j<n;j++)
if (aver[i]<aver[j])
{
temp=aver[i];aver[i]=aver[j];aver[j]=temp;
temp=score1[i];score1[i]=score1[j];score1[j]=temp;
temp=score2[i];score2[i]=score2[j];score2[j]=temp;
temp=score3[i];score3[i]=score3[j];score3[j]=temp;
temp1=name[i];name[i]=name[j];name[j]=temp1;
temp1=code[i];code[i]=code[j];code[j]=temp1;
}
}

⑷ c语言程序设计:学生成绩管理系统


include "stdio.h" /*I/O函数*/
#include "stdlib.h" /*其它说明*/
#include "string.h" /*字符串函数*/
#include "conio.h" /*屏幕操作函数*/
#include "mem.h" /*内存操作函数*/
#include "ctype.h" /*字符操作函数*/
#include "alloc.h" /*动态地址分配函数*/
struct score
{
int mingci;
char xuehao[8];
char mingzi[20];
float score[6];
}data,info[1000];
int i,j,k=0;
char temp[20],ch;
FILE *fp,*fp1;

void shuru()
{
if((fp=fopen("s_score.txt","ab+"))==NULL)
{
printf("cannot open this file.\n");
getch();exit(0);
}
for(i=0;i<=1000;i++)
{
printf("\nPlease shuru xuehao:");
gets(data.xuehao);
printf("Please shuru mingzi:");
gets(data.mingzi);
printf("Please shuru yuwen score:");
gets(temp);data.score[0]=atof(temp);
printf("Please shuru shuxue score:");
gets(temp);data.score[1]=atof(temp);
printf("Please input yingyu score:");
gets(temp);data.score[2]=atof(temp);
printf("Please shuru wuli score:");
gets(temp);data.score[3]=atof(temp);
printf("Please shur huaxue score:");
gets(temp);data.score[4]=atof(temp);
data.score[5]=data.score[0]+data.score[1]+data.score[2]+data.score[3]+data.score[4];
fwrite(&data,sizeof(data),1,fp);
printf("another?y/n");
ch=getch();
if(ch=='n'||=='N')
break;
} fclose(fp);
}
void xianshi()
{
float s;int n;
if((fp=fopen("s_score.txt","rb+"))==NULL)
{
printf("Cannot reading this file.\n");
exit(0);
}
for(i=0;i<=1000;i++)
{
if((fread(&info[i],sizeof(info[i]),1,fp))!=1)
break;
}
printf("\nxuehao mingzi yuwen shuxue yingyu wuli huauxue zhongfen\n");
for(j=0,k=1;j<i;j++,k++)
{
info[j].mingci=k;
printf("%6s %8s %3.1f %3.1f %3.1f %3.1f %3.1f %3.1f\n",info[j].xuehao,info[j].mingzi,info[j].score[0],info[j].score[1],info[j].score[2],info[j].score[3],info[j].score[4],
info[j].score[5]);
}
getch();
fclose(fp);
}

void xiugai()
{
if((fp=fopen("s_score.txt","rb+"))==NULL||(fp1=fopen("temp.txt","wb+"))==NULL)
{
printf("Cannot open this file.\n");
exit(0);
}
printf("\nPLease shuru xiugai xuehao:");
scanf("%d",&i); getchar();
while((fread(&data,sizeof(data),1,fp))==1)
{
j=atoi(data.xuehao);
if(j==i)
{
printf("xuehao:%s\nmingzi:%s\n",data.xuehao,data.mingzi);
printf("Please shuru mingzi:");
gets(data.mingzi);
printf("Please shuru yuwen score:");
gets(temp);data.score[0]=atof(temp);
printf("Please shuru shuxue score:");
gets(temp);data.score[1]=atof(temp);
printf("Please input yingyu score:");
gets(temp);data.score[2]=atof(temp);
printf("Please input wuli score:");
gets(temp);data.score[3]=atof(temp);
printf("Please input huaxue score:");
gets(temp);data.score[4]=atof(temp);
data.score[5]=data.score[0]+data.score[1]+data.score[2]+data.score[3]+data.score[4];

} fwrite(&data,sizeof(data),1,fp1);
}
fseek(fp,0L,0);
fseek(fp1,0L,0);
while((fread(&data,sizeof(data),1,fp1))==1)
{
fwrite(&data,sizeof(data),1,fp);
}

fclose(fp);
fclose(fp1);
}
void chazhao()
{
if((fp=fopen("s_score.txt","rb"))==NULL)
{
printf("\nCannot open this file.\n");
exit(0);
}
printf("\nPLease shuru xuehao chakan:");
scanf("%d",&i);
while(fread(&data,sizeof(data),1,fp)==1)
{
j=atoi(data.xuehao);
if(i==j)
{
printf("xuehao:%s mingzi:%s\nyuwen:%f\n shuxue:%f\n yingyu:%f\n wuli:%f\n huaxue:%f\n ",data.xuehao,data.mingzi,data.score[0],data.score[1],data.score[2],data.score[3],data.score[4],data.score[5]);
}getch();
}
}
void shanchu()
{
if((fp=fopen("s_score.txt","rb+"))==NULL||(fp1=fopen("temp.txt","wb+"))==NULL)
{
printf("\nopen score.txt was failed!");
getch();
exit(0);
}
printf("\nPlease input ID which you want to del:");
scanf("%d",&i);getchar();
while((fread(&data,sizeof(data),1,fp))==1)
{
j=atoi(data.xuehao);
if(j==i)
{

printf("Anykey will delet it.\n");
getch();
continue;
}
fwrite(&data,sizeof(data),1,fp1);
}
fclose(fp);
fclose(fp1);
remove("s_score.txt");
rename("temp.txt","s_score.txt");
printf("Data delet was succesful!\n");
printf("Anykey will return to main.");
getch();
}
main()
{
while(1)
{
clrscr(); /*清屏幕*/
gotoxy(1,1); /*移动光标*/
textcolor(YELLOW); /*设置文本显示颜色为黄色*/
textbackground(BLUE); /*设置背景颜色为蓝色*/
window(1,1,99,99); /* 制作显示菜单的窗口,大小根据菜单条数设计*/
clrscr();
printf("*************welcome to use student manage******************\n");
printf("*************************menu********************************\n");
printf("* ========================================================= * \n");
printf("* 1>shuru 2>xiugai * \n");
printf("* 3>shanchu 4>chazhao * \n");
printf("* 5>xianshi 6>exit * \n");
printf("* * \n");
printf("* --------------------------------------------------------- * \n");
printf(" Please input which you want(1-6):");
ch=getch();
switch(ch)
{
case '1':shuru();break;
case '2':xiugai(); break;
case '3':shanchu(); break;
case '4':chazhao(); break;
case '5':xianshi(); break;
case '6':exit(0);
default: continue;
}
}
}
在tc中运行

⑸ C语言程序设计 班级学生成绩管理系统

#include <stdio.h>
#include <malloc.h>
#include <string.h>
#include <conio.h>

#define ADDRFILE "c:\\addrlist.txt"

typedef struct tagLinkedList
{
char name[30];
char tel[30];
char addr[100];

struct tagLinkedList *prev;
struct tagLinkedLIst *next;
}ADDR;

ADDR *g_pAddrHead = NULL;
ADDR *g_pFind;
int g_bSaved = 1;

void get_addrlist(void);
int add_list(const ADDR *addr);
int find_list(const char *name);
void SetHeadPosition(void);
void SetTailPosition(void);

void Add_addr(void);
void Find_addr(void);
void Modify_addr(void);
void Delete_addr(void);
void Print_addr(void);
void Save_addr(void);
void Remove_addr(void);

void main(void)
{

int ch;

get_addrlist();

puts("通讯录程序 Version 1.0");

while(1)
{
printf("\n[1]新增 [2]搜索 [3]修改 [4]删除 [5]输出 [S]储存 [Q]退出");

ch = getch();

switch(ch)
{
case '1': Add_addr();break;
case '2': Find_addr();break;
case '3': Modify_addr();break;
case '4': Delete_addr();break;
case '5': Print_addr();break;
case 's':
case 'S': Save_addr();break;
case 'q':
case 'Q':
if(g_bSaved == 0)
{
printf("\n\n修改后的数据需要储存吗?(y/n)?");
ch = getchar();
if(ch == 'Y' || ch == 'y') Save_addr();
}

Remove_addr(); exit(1);
default : printf("\n\n 请按1~5或S/Q健.\n\n");break;
}
}
}

void get_addrlist(void)
{
ADDR addr;
FILE *fp;

fp = fopen(ADDRFILE,"rb");

if(fp == NULL)
{
perror("open file error;");
return;
}

while(!feof(fp))
{
fread(&addr,1,sizeof(ADDR),fp);

if(ferror(fp))
{
fclose(fp);
perror("file read error;");
return;
}

if(feof(fp))break;

if(add_list(&addr) == 0)
{
printf(".\n");
}
}

fclose(fp);
}

int add_list(const ADDR *addr)
{
ADDR *plocal,*pn = g_pAddrHead;

SetHeadPosition();

if(g_pAddrHead == NULL)
{
plocal = malloc(sizeof(ADDR));
memset(plocal,0,sizeof(ADDR));

if(plocal == NULL)
{
return 0;
}

g_pAddrHead = plocal;
g_pAddrHead->prev = NULL;
g_pAddrHead->next = NULL;
}
else
{
plocal = malloc(sizeof(ADDR));
memset(plocal,0,sizeof(ADDR));

if(plocal == NULL)
{
return 0;
}

while(pn->next)
{
pn = pn->next;
}

pn->next = plocal;
plocal->prev = pn;
plocal->next = NULL;

}

strcpy(plocal->name,addr->name);
strcpy(plocal->tel,addr->tel);
strcpy(plocal->addr,addr->addr);

return 1;
}

int find_list(const char *name)
{
ADDR *plocal;

SetHeadPosition();

plocal = g_pAddrHead;

while(plocal)
{
if(strstr(plocal->name,name))
{
g_pFind = plocal;
return 1;
}
plocal = plocal->next;
}

return 0;
}

void SetHeadPosition(void)
{
if(g_pAddrHead == NULL) return;

while(g_pAddrHead->prev)
{
g_pAddrHead = g_pAddrHead->prev;
}
}

void SetTailPosition(void)
{
if(g_pAddrHead == NULL) return;

while(g_pAddrHead->next)
{
g_pAddrHead = g_pAddrHead->next;
}
}

void Remove_addr(void)
{
ADDR *plocal;

if(g_pAddrHead == NULL) return;

SetHeadPosition();

while(g_pAddrHead)
{
plocal = g_pAddrHead->next;

free(g_pAddrHead);

g_pAddrHead = plocal;
}

g_pAddrHead = NULL;

}

void Add_addr(void)
{
ADDR addr;

memset(&addr,0,sizeof(ADDR));

printf("\n\nName: ");gets(addr.name);
if(strlen(addr.name) == 0) return;

printf("TEL: ");gets(addr.tel);
printf("ADDR: ");gets(addr.addr);

if(find_list(addr.name) == 1)
{
printf("\n已经存在的姓名.\n\n");
puts(g_pFind->name);
puts(g_pFind->tel);
puts(g_pFind->addr);
return;
}

if(add_list(&addr))
{
g_bSaved = 0;
printf("\n储存完毕.\n\n");
}
}

void Find_addr(void)
{
char buff[100] ={0,};
ADDR *plocal;

printf("\n\n请输入要查找的姓名/电话/地址.\n");
printf("姓名/电话/地址 :");gets(buff);

if(strlen(buff) == 0) return;

SetHeadPosition();

plocal = g_pAddrHead;
g_pFind = NULL;

while(plocal)
{
if(strstr(plocal->name,buff))
{
g_pFind = plocal;
break;
}

if(strstr(plocal->tel,buff))
{
g_pFind = plocal;
break;
}

if(strstr(plocal->addr,buff))
{
g_pFind = plocal;
break;
}
plocal = plocal->next;
}

if(g_pFind)
{
puts(g_pFind->name);
puts(g_pFind->tel);
puts(g_pFind->addr);
}
else
{
printf("\n\n搜索不到要找的%s.\n\n",buff);
}
}

void Modify_addr(void)
{
char name[100] = {0,};
ADDR addr;

while(1)
{
printf("\n\n要修改的姓名: ");gets(name);

if(strlen(name) == 0) return;

if(find_list(name) == 0)
{
puts("输入的姓名不存在.");
continue;
}
break;
}

printf("\n%s的通讯录如下:\n\n",name);
puts(g_pFind->name);
puts(g_pFind->tel);
puts(g_pFind->addr);

printf("\n输入要修改的姓名/电话/地址.\n\n");

printf("NAME: ");gets(addr.name);
printf("TEL : ");gets(addr.tel);
printf("ADDR: ");gets(addr.addr);

if(strlen(addr.name)==0) strcpy(addr.name,name);

strcpy(g_pFind->name,addr.name);
strcpy(g_pFind->tel,addr.tel);
strcpy(g_pFind->addr,addr.addr);

g_bSaved = 0;

printf("%s的通讯录修改成功.\n",name);
}

void Delete_addr(void)
{
char name[100] ={0,};
ADDR *plocal;
int ch;

while(1)
{
printf("\n\n要删除的姓名: ");gets(name);

if(strlen(name)==0) return;

if(find_list(name) == 0)
{
puts("要删除的通讯录不存在.");
continue;
}
break;
}

puts(g_pFind->name);
puts(g_pFind->tel);
puts(g_pFind->addr);

printf("确定要删除%s的通讯录吗(y/n)?",name);
ch = getch();
fflush(stdin);

if(ch == 'Y'||ch == 'y')
{
if(g_pFind->prev == NULL)
{
if(g_pFind->next == NULL)
{
free(g_pFind);
g_pAddrHead = NULL;
}
else
{
plocal = g_pFind->next;
free(g_pFind);
plocal->prev =NULL;
g_pAddrHead = plocal;
}
}
else if(g_pFind->next == NULL)
{
plocal = g_pFind->prev;
free(g_pFind);
plocal->next =NULL;
g_pAddrHead = plocal;
}
else
{
plocal = g_pFind->prev;
plocal->next = g_pFind->next;

plocal = g_pFind->next;
plocal->prev = g_pFind->prev;

free(g_pFind);
g_pAddrHead = plocal;
}

g_bSaved = 0;
printf("\n\n删除完毕.\n\n");
}
}

void Print_addr(void)
{
int count = 1;
ADDR *plocal;

SetHeadPosition();

if(g_pAddrHead == NULL)
{
printf("\n\n无任何数据\n");
return;
}

plocal = g_pAddrHead;
while(plocal->prev)
{
plocal=plocal->prev;
}

printf("\n\n");

while(plocal)
{
printf("NO.%d\n",count++);
puts(plocal->name);
puts(plocal->tel);
printf("%s\n\n",plocal->addr);

printf("请按任意一健(结束:q)\n\n");
getch();
if(getch() == 'q')return;

plocal=plocal->next;
}
}

void Save_addr(void)
{
ADDR *plocal, *pn;
FILE *fp;

if(g_pAddrHead == NULL) return;

fp = fopen(ADDRFILE,"w+b");

if(fp == NULL)
{
perror("file open error;");
return;
}

SetHeadPosition();

plocal = g_pAddrHead;

while(plocal)
{
pn = plocal->next;

plocal = pn;
}

printf("\n所有数据已经储存完毕.");
g_bSaved = 1;

fclose(fp);
}

⑹ 关于c语言程序设计的学生成绩管理

不会的话,可以请教我,look my name

⑺ C语言程序设计学生成绩管理系统

#include
"stdio.h"
/*定义学生结构体*/
struct
Student
{
char
ID[20];
char
Name[20];
float
Mark1;
float
Mark2;
float
Mark3;
float
Average;
};
/*声明学生数组及学生数量*/
struct
Student
students[1000];
int
num=0;
/*求平均值*/
float
Avg(struct
Student
stu)
{
return
(stu.Mark1+stu.Mark2+stu.Mark3)/3;
}
/*通过学号返回数组下标*/
int
Student_SearchByIndex(char
id[])
{
int
i;
for
(i=0;i<num;i++)
{
if
(strcmp(students[i].ID,id)==0)
{
return
i;
}
}
return
-1;
}
/*通过姓名返回数组下标*/
int
Student_SearchByName(char
name[])
{
int
i;
for
(i=0;i<num;i++)
{
if
(strcmp(students[i].Name,name)==0)
{
return
i;
}
}
return
-1;
}
/*显示单条学生记录*/
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].Mark1,students[index].Mark2,students[index].Mark3,students[index].Average);
}
/*插入学生信息*/
void
Student_Insert()
{
while(1)
{
printf("请输入学号:");
scanf("%s",&students[num].ID);
getchar();
printf("请输入姓名:");
scanf("%s",&students[num].Name);
getchar();
printf("请输入成绩:");
scanf("%f",&students[num].Mark1);
getchar();
printf("请输入成绩:");
scanf("%f",&students[num].Mark2);
getchar();
printf("请输入成绩:");
scanf("%f",&students[num].Mark3);
getchar();
students[num].Average=Avg(students[num]);
num++;
printf("是否继续?(y/n)");
if
(getchar()=='n')
{
break;
}
}
}
/*修改学生信息*/
void
Student_Modify()
{
float
mark1,mark2,mark3;
while(1)
{
char
id[20];
int
index;
printf("请输入要修改的学生的学号:");
scanf("%s",&id);
getchar();
index=Student_SearchByIndex(id);
if
(index==-1)
{
printf("学生不存在!\n");
}
else
{
printf("你要修改的学生信息为:\n");
Student_DisplaySingle(index);
printf("--
请输入新值--\n");
printf("请输入学号:");
scanf("%s",&students[index].ID);
getchar();
printf("请输入姓名:");
scanf("%s",&students[index].Name);
getchar();
printf("请输入成绩:");
scanf("%f",&students[index].Mark1);
getchar();
printf("请输入成绩:");
scanf("%f",&students[index].Mark2);
getchar();
printf("请输入成绩:");
scanf("%f",&students[index].Mark3);
getchar();
students[index].Average=Avg(students[index]);
}
printf("是否继续?(y/n)");
if
(getchar()=='n')
{
break;
}
}
}
/*删除学生信息*/
void
Student_Delete()
{
int
i;
while(1)
{
char
id[20];
int
index;
printf("请输入要删除的学生的学号:");
scanf("%s",&id);
getchar();
index=Student_SearchByIndex(id);
if
(index==-1)
{
printf("学生不存在!\n");
}
else
{
printf("你要删除的学生信息为:\n");
Student_DisplaySingle(index);
printf("是否真的要删除?(y/n)");
if
(getchar()=='y')
{
for
(i=index;i<num-1;i++)
{
students[i]=students[i+1];
}
num--;
}
getchar();
}
printf("是否继续?(y/n)");
if
(getchar()=='n')
{
break;
}
}
}
/*按姓名查询*/
void
Student_Select()
{
while(1)
{
char
name[20];
int
index;
printf("请输入要查询的学生的姓名:");
scanf("%s",&name);
getchar();
index=Student_SearchByName(name);
if
(index==-1)
{
printf("学生不存在!\n");
}
else
{
printf("你要查询的学生信息为:\n");
Student_DisplaySingle(index);
}
printf("是否继续?(y/n)");
if
(getchar()=='n')
{
break;
}
}
}
/*按平均值排序*/
void
Student_SortByAverage()
{
int
i,j;
struct
Student
tmp;
for
(i=0;i<num;i++)
{
for
(j=1;j<num-i;j++)
{
if
(students[j-1].Average<students[j].Average)
{
tmp=students[j-1];
students[j-1]=students[j];
students[j]=tmp;
}
}
}
}
/*显示学生信息*/
void
Student_Display()
{
int
i;
printf("%10s%10s%8s%8s%8s%10s\n","学号","姓名","成绩","成绩","成绩","平均成绩");
printf("-------------------------------------------------------------\n");
for
(i=0;i<num;i++)
{
printf("%10s%10s%8.2f%8.2f%8.2f%10.2f\n",students[i].ID,students[i].Name,
students[i].Mark1,students[i].Mark2,students[i].Mark3,students[i].Average);
}
}
/*将学生信息从文件读出*/
void
IO_ReadInfo()
{
FILE
*fp;
int
i;
if
((fp=fopen("Database.txt","rb"))==NULL)
{
printf("不能打开文件!\n");
return;
}
if
(fread(&num,sizeof(int),1,fp)!=1)
{
num=-1;
}
else
{
for(i=0;i<num;i++)
{
fread(&students[i],sizeof(struct
Student),1,fp);
}
}
fclose(fp);
}
/*将学生信息写入文件*/
void
IO_WriteInfo()
{
FILE
*fp;
int
i;
if
((fp=fopen("Database.txt","wb"))==NULL)
{
printf("不能打开文件!\n");
return;
}
if
(fwrite(&num,sizeof(int),1,fp)!=1)
{
printf("写入文件错误!\n");
}
for
(i=0;i<num;i++)
{
if
(fwrite(&students[i],sizeof(struct
Student),1,fp)!=1)
{
printf("写入文件错误!\n");
}
}
fclose(fp);
}
/*主程序*/
main()
{
int
choice;
IO_ReadInfo();
while(1)
{
/*主菜单*/
printf("\n------
学生成绩管理系统------\n");
printf("1.
增加学生记录\n");
printf("2.
修改学生记录\n");
printf("3.
删除学生记录\n");
printf("4.
按姓名查询学生记录\n");
printf("5.
按平均成绩排序\n");
printf("6.
退出\n");
printf("请选择(1-6):");
scanf("%d",&choice);
getchar();
switch(choice)
{
case
1:
Student_Insert();
break;
case
2:
Student_Modify();
break;
case
3:
Student_Delete();
break;
case
4:
Student_Select();
break;
case
5:
Student_SortByAverage();
Student_Display();
break;
case
6:
exit();
break;
}
IO_WriteInfo();
}
}
你的串号我已经记下,采纳后我会帮你制作

⑻ c语言程序设计 学生成绩管理

已发送,请注意查收:

一、
程序的设计任务与功能:输入几组学生的信息按总成绩大小排序后输出,并输出各科成绩的平均值.
二、
动态定义了一个二维数组,可以根据用户的需要确定大小。
在定义二维数组是,每一维都比实际大一,分别用来储蓄每个学生的总成绩与各科平均值。
主要算法在于一个冒泡排序,此冒泡排序是以每个学生的信息为单位处理的。
#include<stdio.h>
void main()
{
int n,m,i,j,c; /*n、m分别表示二维数组大小(实际更大),由用户输入,i、j做为输出数组数值时的下标*/
puts("请输入学生数n(n<=1000)和课程数m(m<=10)");
scanf("%d%d",&n,&m);
int **a=new int*[n+1];
for(i=0;i<=n;i++)
a[i]=new int[m+1];//完成了二维数组的动态赋值。
for(i=0;i<n;i++) //信息录入
{
for(j=0;j<m;j++)
scanf("%d",&a[i][j]);
}
for(i=0;i<n;i++) //将每个学生的各科成绩相加
{
a[i][m]=0;
for(j=0;j<m;j++)
a[i][m]+=a[i][j];
}
for(i=0;i<m;i++) //各科总成绩初始化为0
a[n][i]=0;
for(i=n;i>1;i--) //冒泡排序,按总成绩大小给学生排序
for(j=0;j<i-1;j++)
if(a[j][m]>a[j+1][m])
for(c=0;c<=m;c++)
{
int temp;
temp=a[j][c];
a[j][c]=a[j+1][c];
a[j+1][c]=temp;
}
puts("输出为:");
for(i=n-1;i>=0;i--) //输入排序后的学生成绩
{
for(j=0;j<m;j++)
{
printf("%5d",a[i][j]);
a[n][j]+=a[i][j];
}
puts("");
}
for(i=0;i<m;i++) //输出各科总成绩平均值
printf("%5.1f",1.0*a[n][i]/n);
puts("");
}

⑼ c语言学生成绩管理

使用结构体存储每个学生的信息,然后用简单选择排序或冒泡排序将平均成绩排序

热点内容
武汉大学学生会辅导员寄语 发布:2021-03-16 21:44:16 浏览:612
七年级学生作文辅导学案 发布:2021-03-16 21:42:09 浏览:1
不屑弟高考成绩 发布:2021-03-16 21:40:59 浏览:754
大学毕业证会有成绩单 发布:2021-03-16 21:40:07 浏览:756
2017信阳学院辅导员招聘名单 发布:2021-03-16 21:40:02 浏览:800
查询重庆2018中考成绩查询 发布:2021-03-16 21:39:58 浏览:21
结业考试成绩怎么查询 发布:2021-03-16 21:28:40 浏览:679
14中医医师资格笔试考试成绩查分 发布:2021-03-16 21:28:39 浏览:655
名著赏析课程标准 发布:2021-03-16 21:27:57 浏览:881
北京大学商业领袖高端培训课程 发布:2021-03-16 21:27:41 浏览:919