当前位置:首页 » 课程大全 » 成绩管理数据结构课程设计

成绩管理数据结构课程设计

发布时间: 2020-11-28 13:15:05

1. 数据结构课程设计 学生成绩管理系统

我有个Access的教务管理系统

2. 数据结构课程设计--学生成绩管理系统

可以通过网络Hi告知我
有时间可以解决你的问题
相关的要求也可以告知我

ES:\\
交易提醒:预付定金是陷阱

3. 数据结构课程设计学生成绩管理系统

定义结构体——可将成绩等信息组成链表——排序就选择合适的排序方法(数据结构书里有很多排序方法)——

4. 数据结构课程设计 学生成绩查询系统

这个是我自己写的..我也在学习中,不足之处请谅解:#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
void newinf(void);
void showinf(void);
void insertinf(void);
void deleteinf(void);
void saveinf(void);
void infoinf(void);
void sortinf(void);
void searchinf(void);
void menu(void);
struct inf{
int number;
char name[80];
int score;
inf * prev,* next;
};
inf * head,* tail;
int high,low,average;
int total=0;
void main(void)
{ system("cls");
system("color 1a");
system("title 成绩管理系统");
menu();
int choice;
scanf("%d",&choice);
system("cls");
switch(choice){
case 0:
exit(0);
break;
case 1:
newinf();
main();
break;
case 2:
searchinf();
main();
break;
case 3:
insertinf();
main();
break;
case 4:
deleteinf();
main();
break;
case 5:
sortinf();
main();
break;
case 6:
showinf();
main();
break;
case 7: //数据统计
printf("共有学生%d人\n",total);
system("pause");
main();
break;
case 8: //保存
saveinf();
main();
break;
}
}
void newinf(void)
{
inf * temp;
temp=(inf *)malloc(sizeof(inf));
printf("请输入学号\n");
scanf("%d",&temp->number);
printf("请输入姓名\n");
scanf("%s",&temp->name);
printf("请输入成绩\n");
scanf("%d",&temp->score);
temp->next=NULL;
if(head==NULL){
temp->prev=NULL;
head=temp;
tail=temp;
}
else{
tail->next=temp;
temp->prev=tail;
tail=temp;
}
total++;
}
void showinf(void)
{
inf * temp;
temp=head;
if(head==NULL){
printf("数据不存在\n");
system("pause");
main();
}
do{
printf("学号%d 姓名%s 成绩%d\n",temp->number,temp->name,temp->score);
temp=temp->next;
}
while(temp!=NULL);
system("pause");
}
void insertinf(void)
{
if(head==NULL){
printf("数据不存在\n无法插入,请选择 1.增加记录\n");
system("pause");
main();
}
int input,count=0;
inf * temp,*search,*temp2;
printf("请输入在第几条后插入\n");
scanf("%d",&input);
while(input>total||input<=0){
printf("输入错误请重新输入");
scanf("%d",&input);
};
temp=(inf *)malloc(sizeof(inf));
printf("请输入学号\n");
scanf("%d",&temp->number);
printf("请输入姓名\n");
scanf("%s",&temp->name);
printf("请输入成绩\n");
scanf("%d",&temp->score);
search=head;
while(search!=NULL){
count++;
if(input==count){
temp2=search->next;
search->next=temp;
temp->prev=search;
temp->next=temp2;
if(temp2!=NULL){
temp2->prev=temp;
}
}
search=search->next;
};
total++;
}
void deleteinf(void)
{
if(head==NULL){printf("数据不存在!\n");<br> system("pause"); <br> main();}
int input,count=0;
inf * temp,*temp2,*search;
printf("请输入删除第几条\n");
scanf("%d",&input);
while(input>total||input<=0){
printf("输入错误请重新输入");
scanf("%d",&input);};
search=head;
while(search!=NULL){count++;<br> if(input==count){if(count==1){head=search->next;}
temp=search->prev;
temp2=search->next;
if(temp!=NULL){
temp->next=temp2;}
if(temp2!=NULL){
temp2->prev=temp;}
free(search);}
search=search->next;};
total--;}
void searchinf(void)
{if(head==NULL){<br> printf("数据不存在!\n");<br> system("pause"); <br> main();}
inf * temp;
int choice,number,score;
char name[80];
temp=head;
printf("请选择查找方式:\n1.按学号查找\n2.按姓名查找\n3.按成绩查找\n");
scanf("%d",&choice);
printf("请输入对应信息\n");
switch(choice){case 1:<br> scanf("%d",&number);<br> while(temp!=NULL){if(temp->number==number){printf("学号%d 姓名%s 成绩%d\n",temp->number,temp->name,temp->score);}
temp=temp->next;};
break;
case 2:
getchar();
gets(name);
while(temp!=NULL){if(strcmp(temp->name,name)==0){printf("学号%d 姓名%s 成绩%d\n",temp->number,temp->name,temp->score);}
temp=temp->next;};
break;
case 3:
scanf("%d",&score);
while(temp!=NULL){
if(temp->score==score){printf("学号%d 姓名%s 成绩%d\n",temp->number,temp->name,temp->score);}
temp=temp->next;};
break;}
system("pause"); }
void sortinf(void)
{inf *temp,*temp2;<br> int number,score;<br> char name[80];<br> temp=head;<br> if(head==NULL){<br> printf("数据不存在\n");<br> system("pause"); <br> main();}
for(int i=1;i<=total*total;i++){
if(temp->next==NULL){temp=head;<br> continue;}
temp2=temp->next;
if(temp->number>temp2->number){
name=temp->name;
score=temp->score;
number=temp->number;
temp->name=temp2->name;
temp->score=temp2->score;
temp->number=temp2->number;
temp2->name=name;
temp2->score=score;
temp2->number=number;}
temp=temp->next;}
printf("排序完成\n");
system("pause"); }
void menu(void)
{
system("cls");
printf(" ********************************************************************\n");
printf(" * *\n");
printf(" * *\n");
printf(" * *\n");
printf(" * 成绩管理系统 *\n");
printf(" * *\n");
printf(" * *\n");
printf(" * *\n");
printf(" ********************************************************************\n");
printf("1.增加记录\n2.查找记录\n3.插入记录\n4.删除记录\n5.记录排序\n6.查看记录\n7.数据统计\n8.保存记录\n0.退出\n");
}void saveinf(void)
{
printf("请注意,保存信息将覆盖原文件!\n确认请输入y:\n");
char a;
getchar();
scanf("%c",&a);
if(a=='y'||a=='Y')
{
FILE *file;
inf *temp;
file=fopen("save.txt","w+");
temp=head;
while(temp!=NULL)
{
fprintf(file,"学号:%d 姓名:%s 成绩:%d\n",temp->number,temp->name,temp->score);
temp=temp->next;
}
printf("保存成功!");
system("pause");
main();
}
else
{
main();
}
}

5. 数据结构课程设计 学生成绩管理系统 最好有注释

http://hi..com/starvvv

6. 求 数据结构课程设计(成绩分析管理系统) 一份 非常感谢各位大侠了

你给的分明显不够

7. 数据结构课程设计:学生成绩管理系统(C++和C),求大神帮帮忙,求代码

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
structSTUDENT{
floatscore[3];
longid;
charnames[20];
};
typedefstructSTUDENTstudent;//simplifythestructSTUDENT
typedefstructSTUDENT*Pstudent;

voidprint();
voidappend();
voidcourse_total();
voidstudent_total();
voidscore_sort(int(*compare)(floata,floatb));
voidnumber_sort();
voidname_sort(Pstudentnames_[30]);
voidnumber_search();
voidname_search();
voidstatistic(Pstudentscores_[30]);

voidshow(inti);

intascend(floata,floatb){
if(a>b)return1;
elsereturn0;
}
intdescend(floata,floatb){
if(a<b)return1;
elsereturn0;
}
intn;//thenumberofstudents

intflg=1;//trueprinttheresult
student*stuArray[30];//

intagain=1;//whethertocontinue
intmain(){
inti;
printf("Inputstudentnumber(n<30):");
scanf("%d",&n);
intchoice;
while(again){
print();
scanf("%d",&choice);
switch(choice){
case1:
append();
break;
case2:
course_total();//useflagtodefinewhethertoprint
break;
case3:
student_total();
break;
case4:
score_sort(descend);
if(flg){
printf(": ");
printf("NO Name MT EN PH SUM AVER ");
for(i=0;i<n;i++)
show(i);
}
break;
case5:
score_sort(descend);
if(flg){
printf(": ");
printf("NO Name MT EN PH SUM AVER ");
for(i=0;i<n;i++)
show(n-1-i);
}
break;
case6:
number_sort();
break;
case7:
name_sort(stuArray);
break;
case8:
number_search();
break;
case9:
name_search();
break;
case10:
statistic(stuArray);
break;
case0:
again=0;
printf("Endofprogram! ");
break;
default:
printf("Inputerror! ");
break;
}

}
return0;
}

voidprint(){
printf("1.Appendrecord ");
printf("2. ");
printf("3. ");
printf("4. ");
printf("5. ");
printf("6.Sortinascendingorderbynumber ");
printf("7.Sortindictionaryorderbyname ");
printf("8.Searchbynumber ");
printf("9.Searchbyname ");
printf("10.Statisticanalysis ");
printf("PleaseInputyourchoice:");
}
voidappend(){
inti;
printf("Inputstudent'sID,nameandscore: ");
for(i=0;i<n;i++){////
stuArray[i]=(student*)malloc(sizeof(student));
scanf("%ld%s",&stuArray[i]->id,stuArray[i]->names);
scanf("%f",&stuArray[i]->score[0]);
scanf("%f",&stuArray[i]->score[1]);
scanf("%f",&stuArray[i]->score[2]);
}
}
voidcourse_total(){
inti;
floatsum0=0.0,sum1=0.0,sum2=0.0;
for(i=0;i<n;i++){
sum0+=stuArray[i]->score[0];
sum1+=stuArray[i]->score[1];
sum2+=stuArray[i]->score[2];
}
if(flg){
printf("course%d:sum=%.0f,aver=%.0f ",1,sum0,sum0/n);
printf("course%d:sum=%.0f,aver=%.0f ",2,sum1,sum1/n);
printf("course%d:sum=%.0f,aver=%.0f ",3,sum2,sum2/n);
}
}
voidstudent_total(){
floattotal[30]={0.0};
inti;
for(i=0;i<n;i++){
total[i]=stuArray[i]->score[0]+stuArray[i]->score[1]+stuArray[i]->score[2];
}
if(flg){
for(i=0;i<n;i++)
printf("student%d:sum=%.0f,aver=%.0f ",i+1,total[i],total[i]/3);
}
}
voidscore_sort(int(*compare)(floata,floatb)){
inti,j;
floattotal[30]={0.0};
for(i=0;i<n;i++){
total[i]=stuArray[i]->score[0]+stuArray[i]->score[1]+stuArray[i]->score[2];
}
for(i=0;i<n;i++){
for(j=0;j<=i;j++)
//if((*compare)(stuArray[i]->score[0]+stuArray[i]->score[1]+stuArray[i]->score[2],stuArray[j]->score[0]+stuArray[j]->score[1]+stuArray[j]->score[2])==0){
if((*compare)(total[i],total[j])==0){//
student*tmp=(student*)malloc(sizeof(student));
memcpy(tmp,stuArray[i],sizeof(student));
memcpy(stuArray[i],stuArray[j],sizeof(student));
memcpy(stuArray[j],tmp,sizeof(student));
}//memcpy->theholethememory
}

}
voidnumber_sort(){//没必要传参
inti,j;
for(i=0;i<n;i++){
for(j=0;j<i;j++)
if(stuArray[i]->id<stuArray[j]->id){
student*tmp=(student*)malloc(sizeof(student));
memcpy(tmp,stuArray[i],sizeof(student));
memcpy(stuArray[i],stuArray[j],sizeof(student));
memcpy(stuArray[j],tmp,sizeof(student));
}
}
if(flg){
printf("Sortinascendingorderbynumber: ");
printf("NO Name MT EN PH SUM AVER ");
for(i=0;i<n;i++)
show(i);
}
}
voidname_sort(Pstudentnames_[30]){
inti,j;
for(i=0;i<n;i++){
for(j=0;j<=i;j++)
if(strcmp(names_[i]->names,names_[j]->names)<0){
student*tmp=(student*)malloc(sizeof(student));
memcpy(tmp,stuArray[i],sizeof(student));
memcpy(stuArray[i],stuArray[j],sizeof(student));
memcpy(stuArray[j],tmp,sizeof(student));
}
}
if(flg){
printf("Sortindictionaryorderbyname: ");
printf("NO Name MT EN PH SUM AVER ");
for(i=0;i<n;i++)
show(i);
}
}
voidnumber_search(){
longquery;
printf("Inputthenumberyouwanttosearch:");
scanf("%ld",&query);
inti;
score_sort(descend);//1009887
for(i=0;i<n;i++){
if(stuArray[i]->id==query)
break;
}
if(i!=n){
printf("%d ",i+1);
show(i);
}
else
printf("Notfound! ");
}
voidname_search(){
charquery[20];
score_sort(descend);
printf("Inputthenameyouwanttosearch:");
scanf("%s",query);
inti;
for(i=0;i<n;i++){
if(!strcmp(query,stuArray[i]->names)){
break;
}
}
if(i!=n){
printf("%d ",i+1);
show(i);
}
else
printf("Notfound! ");
}
voidstatistic(Pstudentscores_[30]){//apointerarraystandsforscores
floatMT[30],EN[30],PH[30];
inti;
for(i=0;i<n;i++){
MT[i]=scores_[i]->score[0];
EN[i]=scores_[i]->score[1];
PH[i]=scores_[i]->score[2];
}
intsta[6]={0};//(<60or60-70....)
for(i=0;i<n;i++){
if(MT[i]<60)
sta[0]++;
if(MT[i]==100)
sta[5]++;
if(MT[i]>=60&&MT[i]<=69)
sta[1]++;
if(MT[i]>=70&&MT[i]<=79)
sta[2]++;
if(MT[i]>=80&&MT[i]<=89)
sta[3]++;
if(MT[i]>=90&&MT[i]<=100)
sta[4]++;
}

if(flg){
printf("Forcourse%d: ",1);
printf("<60 %d %.2f%% ",sta[0],sta[0]/(float)n*100);//changentofloat
printf("60-69 %d %.2f%% ",sta[1],sta[1]/(float)n*100);
printf("70-79 %d %.2f%% ",sta[2],sta[2]/(float)n*100);
printf("80-89 %d %.2f%% ",sta[3],sta[3]/(float)n*100);
printf("90-100 %d %.2f%% ",sta[4],sta[4]/(float)n*100);
printf("100 %d %.2f%% ",sta[5],sta[5]/(float)n*100);
}
memset(sta,0,6*sizeof(int));//initializethestaarray
for(i=0;i<n;i++){
if(EN[i]<60)
sta[0]++;
if(EN[i]==100)
sta[5]++;
if(EN[i]>=60&&EN[i]<=69)
sta[1]++;
if(EN[i]>=70&&EN[i]<=79)
sta[2]++;
if(EN[i]>=80&&EN[i]<=89)
sta[3]++;
if(EN[i]>=90&&EN[i]<=100)
sta[4]++;
}

if(flg){
printf("Forcourse%d: ",2);
printf("<60 %d %.2f%% ",sta[0],sta[0]/(float)n*100);//changentofloat
printf("60-69 %d %.2f%% ",sta[1],sta[1]/(float)n*100);
printf("70-79 %d %.2f%% ",sta[2],sta[2]/(float)n*100);
printf("80-89 %d %.2f%% ",sta[3],sta[3]/(float)n*100);
printf("90-100 %d %.2f%% ",sta[4],sta[4]/(float)n*100);
printf("100 %d %.2f%% ",sta[5],sta[5]/(float)n*100);
}
memset(sta,0,6*sizeof(int));
for(i=0;i<n;i++){
if(PH[i]<60)
sta[0]++;
if(PH[i]==100)
sta[5]++;
if(PH[i]>=60&&PH[i]<=69)
sta[1]++;
if(PH[i]>=70&&PH[i]<=79)
sta[2]++;
if(PH[i]>=80&&PH[i]<=89)
sta[3]++;
if(PH[i]>=90&&PH[i]<=100)
sta[4]++;
}

if(flg){
printf("Forcourse%d: ",3);
printf("<60 %d %.2f%% ",sta[0],sta[0]/(float)n*100);//changentofloat
printf("60-69 %d %.2f%% ",sta[1],sta[1]/(float)n*100);
printf("70-79 %d %.2f%% ",sta[2],sta[2]/(float)n*100);
printf("80-89 %d %.2f%% ",sta[3],sta[3]/(float)n*100);
printf("90-100 %d %.2f%% ",sta[4],sta[4]/(float)n*100);
printf("100 %d %.2f%% ",sta[5],sta[5]/(float)n*100);
}
}

voidshow(inti){

printf("%ld %s ",stuArray[i]->id,stuArray[i]->names);//orderistheidaftersort
printf("%.0f %.0f %.0f ",stuArray[i]->score[0],stuArray[i]->score[1],stuArray[i]->score[2]);
floatsum=stuArray[i]->score[0]+stuArray[i]->score[1]+stuArray[i]->score[2];
printf("%.0f %.0f ",sum,sum/3);
}

8. 学生成绩管理 (数据结构——课程设计)

我有个用c写的!功能和你的基本一样!你看看我这的合你要求再联系我!
程序功能如下:
1.打开文件:从指定文件读入原始数据。
2.输入记录:输入学号,如果该学号的记录不存在,则把数据添加到结构数组中。平均分不输入,由程序算出。要求输入时确保数据类型正确。若该学号不存在,则显示提示信息。学生人数由用户自定。
3.修改功能:输入学号,若该学号存在,则显示并允许修改除学号以外的其余数据,显示修改后的数据,若有错可以再进行修改。若该学号不存在,则显示提示信息。
4.简单查询功能:能按学号或姓名查询,显示查询到的记录,如果不存在,则输出提示信息。
5.统计查询功能:
1)三科成绩均大于85分的记录
2)有不及格课程的记录
3)平均分在指定范围的记录
4)平均分在各分数段的人数和比例(60分以上10分为一个分数段,60分以下为一个分数段)
5)有大于100分的课程的记录
6.显示记录:按记录输入顺序或平均分(降序)显示全部记录。
7.保存数据到文件:将结构数组中的数据保存到指定文件中。
8.主控程序的功能:反复显示包含各功能选择项的菜单,等待用户选择,直到用户选择退出。

9. 宿迁学院数据结构课程设计—学生成绩管理系统

楼上是三系的吧,明天来葛院长办公室

热点内容
武汉大学学生会辅导员寄语 发布: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