寻高手帮忙做个关于学生成绩管理系统的C语言程序!

作者&投稿:良空 (若有异议请与网页底部的电邮联系)
学生成绩管理系统,使用c语言程序编写。~

给一个我以前写过的吧,功能应该差不多
#include #include #include #include #include #include #include #include #include using namespace std;/*定义学生结构体*/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
","学号","姓名","成绩","成绩","成绩","平均成绩"); printf("-------------------------------------------------------------
"); printf("%10s%10s%8.2f%8.2f%8.2f%10.2f
",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("学生不存在!
"); } else { printf("你要修改的学生信息为:
"); Student_DisplaySingle(index); printf("-- 请输入新值--
"); 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("学生不存在!
"); } else { printf("你要删除的学生信息为:
"); 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("学生不存在!
"); } else { printf("你要查询的学生信息为:
"); 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
","学号","姓名","成绩","成绩","成绩","平均成绩"); printf("-------------------------------------------------------------
"); for (i=0;i<num;i++) { printf("%10s%10s%8.2f%8.2f%8.2f%10.2f
",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("不能打开文件!
"); 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("不能打开文件!
"); return; } if (fwrite(&num,sizeof(int),1,fp)!=1) { printf("写入文件错误!
"); } for (i=0;i<num;i++) { if (fwrite(&students[i],sizeof(struct Student),1,fp)!=1) { printf("写入文件错误!
"); } } fclose(fp);} /*主程序*/void main(){ int choice; IO_ReadInfo(); while(1) { /*主菜单*/ printf("
------ 学生成绩管理系统------
"); printf("1. 增加学生记录
"); printf("2. 修改学生记录
"); printf("3. 删除学生记录
"); printf("4. 按姓名查询学生记录
"); printf("5. 按平均成绩排序
"); printf("6. 退出
"); 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(0); break; } IO_WriteInfo(); }}

楼主,看到链表先提示一下,这个是C++。
其次,应该说明一下使用win32还是windows编程,MFC还是SDK?
看到了追问我把。

分是少了点,不过好心的我就帮帮你吧,呵呵!
你以上的功能我的程序里全有,你自己看看改改吧!

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

#define InputRcd 1
#define UpdateRcd 2
#define SelectRcd 3
#define Exit 4

#define NAMELEN 16
#define CLASSLEN 6

struct record {
char classID[CLASSLEN];
int term;
char name[NAMELEN];
int chinese,math,english;
};

void showProgInform()
{
printf("-------------------------------------------------\n");
printf("| *** STUDENTS' SCORE PLATFORM *** |\n");;
printf("-------------------------------------------------\n\n");
}

void showMenu() {
system("cls");
showProgInform();

printf("Please select an operation fo the following MENU: \n");
printf(" 1. Input a record \n");
printf(" 2. Update a record\n");
printf(" 3. Select record(s)\n");
printf(" 4. Exit. \n");
}

void inputRecord() {
struct record inscr;
FILE * fp;

system("cls");
showProgInform();

printf("Mention: You are to add new record\n\n");
printf("Please input by the following instructions: \n");
printf("Class ID: ");
scanf("%s",inscr.classID);
printf("Term Number: ");
scanf("%d",&(inscr.term));
printf("Student Name: ");
scanf("%s",inscr.name);
printf("Chinese score: ");
scanf("%d",&(inscr.chinese));
printf("Math score: ");
scanf("%d",&(inscr.math));
printf("English Score: ");
scanf("%d",&(inscr.english));
getchar();

if((fp=(fopen("stu_score.rcd","ab+")))==NULL) {
printf("Input record failed!\n");
return;
}

fwrite(&inscr,sizeof(struct record),1,fp);
fclose(fp);

if((fp=fopen("stu_score.txt","ab+"))==NULL) {
return;
}

fprintf(fp,"%s-%d %s: %d %d %d\r\n",inscr.classID,inscr.term,inscr.name,inscr.chinese,inscr.math,inscr.english);;
fclose(fp);
}

void showSingleRecord(struct record rc) {
printf("%s-%d %s: (CHI)%d (MAT)%d (ENG)%d\n",rc.classID,rc.term,rc.name,rc.chinese,rc.math,rc.english);
}

void updateRecord()
{
long fsize,arraySize,i;
struct record *allRecords,newRcd;
int hasFound = 0;

FILE * fp;
FILE * txt;

system("cls");
showProgInform();

if((fp = fopen("stu_score.rcd","rb")) == NULL ) {
printf("! No records , cannot operate\n");
return;
}

printf("Mention: You are to update record\n\n");
printf("Please the record you want to update by the follow mention: \n");
printf("Class Id: ");
scanf("%s",newRcd.classID);
printf("Term number: ");
scanf("%d",&newRcd.term);
printf("Student name: ");
scanf("%s",newRcd.name);

fseek(fp,0,SEEK_END);
fsize = ftell(fp);
arraySize = fsize/(sizeof(struct record));
allRecords = (struct record *)calloc(arraySize,sizeof(struct record));

rewind(fp);
fread(allRecords,sizeof(struct record),arraySize,fp);

for(i=0;i<arraySize;i++) {
if(strcmp(newRcd.classID,allRecords[i].classID)==0 && newRcd.term==allRecords[i].term && strcmp(newRcd.name,allRecords[i].name)==0) {
printf("Find the matching record: ");
showSingleRecord(allRecords[i]);

printf("Input new Score: \n");
printf("New Chinese Score: ");
scanf("%d",&(allRecords[i].chinese));
printf("New Math Score: ");
scanf("%d",&(allRecords[i].math));
printf("New English Score: ");
scanf("%d",&(allRecords[i].english));
printf("After update ,the records is : \n\t");
showSingleRecord(allRecords[i]);
printf("\n");
hasFound = 1;
break;
}
}
fclose(fp);

if(!hasFound) {
printf("No matching record has found!\n");
free(allRecords);
return;
}

if((fp = fopen("stu_score.rcd","w"))==NULL) {
printf("Write file stu_score.rcd failed\n");
return;
}

if((txt = fopen("stu_score.txt","w"))==NULL) {
printf("Write file stu_score.txt failed\n");
return;
}

fwrite(allRecords,sizeof(struct record),arraySize,fp);

for(i=0;i<arraySize;i++) {
fprintf(txt,"%s-%d %s: %d %d %d\r\n",allRecords[i].classID,allRecords[i].term,allRecords[i].name,allRecords[i].chinese,allRecords[i].math,allRecords[i].english);
}

free(allRecords);

fclose(fp);
fclose(txt);
}

void showSelectMenu(char classID[],int term) {
system("cls");
showProgInform();

printf("Mention: All the following opertion based on classID: %s,Term: %d\n\n",classID,term);
printf("Mention: You are to select the records\n\n");
printf("\t Please choose an operation: \n");
printf("\t 1. Select all records of the classID.\n");
printf("\t 2. Sort by the average score.\n");
printf("\t 3. Select no passed record.\n");
printf("\tOther. Return the high level menu.\n\n");
}

void showStatistic(struct record *r ,long size,char classID[],int term) {
int total;
float ave;
long i;

system("cls");
showProgInform();
printf("All records for class: %s,term: %d; total record nubmer: %ld\n",classID,term,size);

printf("********************************************************\n");
for(i=0;i<size;i++) {
total = r[i].chinese+r[i].english +r[i].math ;
ave = (float)total/3;
printf(" %s: (CHI)%d (MAT)%d (ENG)%d (Total)%d (Ave)%.2f\r\n",r[i].name,r[i].chinese,r[i].math,r[i].english,total,ave);
}
printf("********************************************************\n\n");
printf("Press Enter to return Select submenu\n");
getchar();
}

void sortSelectByAve(struct record * r,long size) {

FILE *fp;
struct record temp;
float outerAve ,innerAve;
int total;
long i,j;
system("cls");
showProgInform();
printf("\nSorted the records by average score\n");

for(i=0;i<size;i++) {
outerAve = (float)(r[i].chinese+r[i].math+r[i].english)/3;
for(j=i+1;j<size;j++) {
innerAve = (float)(r[j].chinese+r[j].math+r[j].english)/3;
if(innerAve > outerAve) {
strcpy(temp.name,r[j].name);
temp.chinese = r[j].chinese;
temp.math = r[j].math ;
temp.english = r[j].english ;

strcpy(r[j].name,r[i].name);
r[j].chinese = r[i].chinese ;
r[j].math = r[i].math ;
r[j].english = r[i].english ;

strcpy(r[i].name,temp.name);
r[i].chinese = temp.chinese ;
r[i].math = temp.math ;
r[i].english = temp.english ;
}
}
}

printf("\nshow sorted records \n");
printf("********************************************\n");
for(i=0;i<size;i++) {
total = r[i].chinese + r[i].math + r[i].english ;
innerAve = (float)total/3;
printf("%s: %d %d %d %d %f\n",r[i].name,r[i].chinese,r[i].math,r[i].english,total,innerAve);
}
printf("********************************************\n");

printf("write sorted records to \"sorted.txt\"\n");
if((fp = fopen("sorted.txt","w"))== NULL) {
printf("open sort.txt failed\n");
return;
}

for(i=0;i<size;i++) {
total = r[i].chinese + r[i].math + r[i].english ;
innerAve = (float)total/3;
fprintf(fp,"(CLASS-TERM)%s-%d (NAME)%s: (CHI)%3d (MAT)%3d (ENG)%3d (TOTAL)%4d (AVERG)%.2f\r\n",r[i].classID,r[i].term,r[i].name,r[i].chinese,r[i].math,r[i].english,total,innerAve);
}

printf("write file sorted.txt finished\n");
fclose(fp);

printf("\nPress any key to return Select subMenu\n");
}

void noPass(struct record * r,int size) {
long i=0,j=0;

FILE * fp;
if((fp=fopen("no-pass.txt","w"))==NULL) {
printf("create no-pass.txt failed");
return;
}

system("cls");
showProgInform();
printf("Mention: The following operation will be all on the classId and term you input\n\n");

printf("\nShow student that one subject is no-pass\n");
printf("***********************************************\n");
for(i=0;i<size;i++) {
if(r[i].chinese <60 || r[i].math<60 || r[i].english <60) {
printf("%s-%d %s: ",r[i].classID,r[i].term,r[i].name);
fprintf(fp,"%s-%d %s: ",r[i].classID,r[i].term,r[i].name);
if(r[i].chinese < 60 ) {
printf("(Chinese)%d ",r[i].chinese);
fprintf(fp,"(Chinese)%d ",r[i].chinese );
}
if(r[i].math < 60) {
printf("(Math)%d ",r[i].math);
fprintf(fp,"(Math)%d ",r[i].math);
}
if(r[i].english < 60) {
printf("(English)%d",r[i].english);
fprintf(fp,"(English)%d",r[i].english);
}
printf("\r\n");
fprintf(fp,"\r\n");
}
}
printf("***********************************************\n");
fclose(fp);
printf("Press Enter to return \"Select\" submenu\n");
}

void selectRecord() {
char classID[CLASSLEN];
int term;
FILE * fp;
long fsize=0,arraySize=0,thisSize=0,i=0,j=0;
struct record *allRcd,*thisClass;

system("cls");
showProgInform();
printf("Mention: The following operation will be all on the classId and term you input\n\n");
printf("Mention: please operate by the following instructions\n\n");

printf("Input ClassID: ");
scanf("%s",classID);
printf("Input term number: ");
scanf("%d",&term);

if((fp=fopen("stu_score.rcd","r"))==NULL) {
printf("\nWarining: No record exists!\n");
return;
}

fseek(fp,0,SEEK_END);
fsize = ftell(fp);
arraySize = fsize/(sizeof(struct record));
allRcd = (struct record *)calloc(arraySize,sizeof(struct record));
rewind(fp);
fread(allRcd,sizeof(struct record),arraySize,fp);

printf("Press Enter to show the sub menu of Select menu\n");

for(i=0;i<arraySize;i++) {
if(strcmp(classID,allRcd[i].classID)==0 && term==allRcd[i].term) {
thisSize++;
}
}

if(thisSize==0) {
printf("\nWaring: No record for Class %s Term %d\n",classID,term);
fclose(fp);
free(allRcd);
return;
}

thisClass = (struct record *)calloc(thisSize,sizeof(struct record));
j=0;
for(i=0;i<arraySize;i++) {
if(strcmp(classID,allRcd[i].classID)==0 && term==allRcd[i].term ) {
strcpy(thisClass[j].classID,classID) ;
thisClass[j].term = term ;
strcpy(thisClass[j].name,allRcd[i].name);
thisClass[j].chinese = allRcd[i].chinese;
thisClass[j].math = allRcd[i].math ;
thisClass[j].english = allRcd[i].english ;
j++;
}
}
free(allRcd);
/////////////////////////////////////////////////////////////
getchar();
getchar();
while(1) {
system("cls");
showProgInform();
printf("Mention: The following operation will be all on the classId and term you input\n\n");
showSelectMenu(classID,term);

switch(getchar()) {
case '1':
getchar();
showStatistic(thisClass,thisSize,classID,term);
break;
case '2':
getchar();
sortSelectByAve(thisClass,thisSize);
getchar();
break;
case '3':
getchar();
noPass(thisClass,thisSize);
printf("0: Press 0 to return \"Select\" submenu\n");
if(getchar()=='0')
break;
default:
getchar();
return;
}
}

free(thisClass);
fclose(fp);
}

void go_on() {
printf("Press Enter to continue\n");
getchar();
}

void main() {
showProgInform();

while(1) {
showMenu();
switch(getchar()) {
case '1':
getchar();
inputRecord();
go_on();
break;

case '2':
getchar();
updateRecord();
getchar();
go_on();
break;

case '3':
getchar();
selectRecord();
getchar();
go_on();

break;

case '4':
getchar();
//exit(1);
return;

default:
getchar();
printf("Wrong Option! input again\n");
go_on();
break;
}
}
}


...有没哪位高手 经历过 或者 专业的的 帮忙制定下学习计划尽量赶上去...
首先先你要端正心态,不要急躁,,你做你自己的事,这样才能静下心来学习。要成为英语高手就必须比别人走更多的路,做更多的事。你应该明白一个事实,英语是单词和语法的综合,所以单词和语法都要拿下。其次,对于单词,有如下几种方法,第一个,是加强记忆的频度,也就是说,早上记了几个,隔几个...

高手来帮忙做数学题!(小学6年级)
小朋友,你的题目是网上复制的,还是自己打的呀?我很佩服你唉!通过我的仔细研究 发现 题目不是你自己打的,我就不帮你做了,这样属于不劳而获。如果是你亲自一个字一个字打的,这样我们帮你做题也很乐意。不然拿70分来贿赂别人,这样的做法是很不好的!楼上楼下的,点到为止,给小朋友一个独立...

高手求助帮忙写个“思与行:的作文、
希望对你有帮助!!圣人主张三思而行,经常述说思的好处,如“思无邪”;“学而不思则罔,思而不学则殆”。吾辈学圣,大约只要将思与学结合起来就算走上了正途,之后只有得道快与慢的区分了。唐代韩愈添油加醋、发挥圣人的观点,说:“行成于思,毁于随。”深思熟虑,会大大提高行动成功的概率。...

关于哲学的基础知识2~急啊~~高手来帮帮忙啊
1、AB(“千人一面,千篇一律”把所有的事物都看成同样的东西,只注重共性,没有看到各不相同的个性,是没有办法具体问题具体分析的。不问青红皂白,各打五十大板 不问缘由,对所有的事情都采取一个标准,自然不是具体问题具体分析 )2、AB(区别新旧事物的根本标准:是否符合事物发展的客观规律和是否有...

我想求教诸子百家关于学习的名句或者话语,急需,请各位大虾帮忙。
(46) 专心致志:“使弈秋诲二人弈,其一人专心致志,惟弈秋之为听。” (《告子》)释:假使让弈秋(下棋高手)教授两个人下棋,其中的一个人一心一意,只听弈秋的话。(47) 舍生取义:“二者不可得兼,舍生而取义者也。” (《告子》)释:如果两者(生命和义)不能并有,便牺牲生命...

关于fairy story请高手帮忙~~谢谢
\/翻译:Good afternoon! I think we certainly have seen a number of childhood fairy tales, such as Snow White, Cinderella, Alice Dream Travels and so on.In fairy tales, the hero of men and women are often beautiful, handsome and good family background. The result of them often ...

(超超高分悬赏)高手帮忙一下,大学数学问题(微积分)
将x ,y都看做自变量,我们直接对每个项求导就可以了,比如你的式子 x^2 + y^2 -r^2 =0 那么就有 2xdx + 2ydy =0 移项得到 2ydy = -2xdx 则有 dy\/dx = -x\/y 这是其中的一种方法。如果非要按照复合函数的求导的方法,只有 x 是自变量,那么 y 就是一个关于 x 的函数,那么...

一个数学题不会做,数学高手帮忙做做
水面上升了0。6分米,式在假山进入后多出来的,也就是说假山的体积等于长乘宽乘上升的长。5x3x0.6=9立方分米 居然只差6分钟...

马上就要演讲了。需要一个关于学习方面的小故事做题材。有这方面资料...
匡衡看后,立刻想出了一个办法。他找来一把凿子,将墙壁裂缝处凿出一个小孔。立刻,一道烛光射了过来,匡衡就着这道烛光,认真地看起书来。以后的每天晚上,匡衡都要靠着墙壁,借着邻居的烛光读书。由于他从小勤奋好学,后来匡衡成了一名知识渊博的经学家。居里夫妇 比埃尔·居里(Pierre Curie)1859年...

(超超高分悬赏)高手帮忙一下,大学数学问题(微积分)
将x ,y都看做自变量,我们直接对每个项求导就可以了,比如你的式子 x^2 + y^2 -r^2 =0 那么就有 2xdx + 2ydy =0 移项得到 2ydy = -2xdx 则有 dy\/dx = -x\/y 这是其中的一种方法。如果非要按照复合函数的求导的方法,只有 x 是自变量,那么 y 就是一个关于 x 的函数,那么...

泌阳县19795702641: c语言 学生成绩管理系统设计学生成绩信息包括:学号,姓名,三门课程成绩(数学、英语和计算机)等.主要功能:(1) 计算各个学生的总分及平均分,... -
程钓克欣:[答案] 希望对你有所帮助.#include"stdio.h"#include"stdlib.h"#include"string.h"#define N 3typedef struct z1{ char no[11]; char name[15]; int score[N]; float sum; float average; int order; ...

泌阳县19795702641: c语言高手请进!!高分征求!! 关于学生成绩管理系统设计,一天时间! -
程钓克欣: 为实现系统功能,本程序主要分为七个模块.它们分别为:录入学生成绩信息、查找指定学生成绩信息、修改学生成绩信息、删除学生成绩信息、查看按学号排序列学生成绩信息,查看按总分排列的学生成绩信息这七个函数再通过主函数调用分别得以实现.主函数,首先提供了程序运行时的友好界面,列出了清单,提供用户做出选择,以便决定使用成绩信息系统的哪种功能.然后,通过执行多分支选择语句——switch语句,分别实现其它各个函数的调用功能.具体代码找qq909950423

泌阳县19795702641: C语言设计学生成绩管理系统V1.0...急求啊..高手帮帮忙啦~~先谢谢咯~~O(∩ - ∩)O哈哈~ -
程钓克欣: #include #define ARR_SIZE 30 void sort(float score[],long num[],int n); void SS(float score[],long num[],int n); int Sea(long num[],int n,long x); int main() { float a=0,b=0,c=0,d=0,e=0,score[ARR_SIZE]; int n,pos,i,temp,totalscore=0,averagescore; long ...

泌阳县19795702641: 学生成绩管理系统代码(高手帮帮忙啊) -
程钓克欣: #include<stdio.h> #include<string.h> typedef struct{ char name[20]; int number; int grade; int class; float mark[10]; float average; }T; void show(T *student,int *tp,int n) /* 把成绩显示在屏幕上 */ { int i,j; char a[3]=" "; printf("****************************...

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

泌阳县19795702641: 帮忙编个C程序编一个学生成绩处理系统技术要求:1菜单设计(例如
程钓克欣: 1.设计学生成绩结构体 学生成绩 { 学号 姓名 成绩 } 开一个大点的缓存或文件放数据信息 存基本数据时用 memcpy(缓存,学生成绩结构体数组)的方式存(基本库函数)...

泌阳县19795702641: 求怎么用C语言做一个学生成绩管理系统 -
程钓克欣: 去年写的,你稍微改下加个成绩就行#include#include#include FILE *fp; struct student{ char name[10]; char number[12]; char age[3]; struct student *next; }; struct student *creat(); //手动创建链表 struct student *build_list(); //从文件读取信息...

泌阳县19795702641: 谁能帮我写一个关于成绩管理系统的设计啊 很急啊 -
程钓克欣: #include "stdio.h"#define SIZE 50int sum=0;static char *str[]=;struct student { int n; long num; char name[10]; int age; char addr[1...

泌阳县19795702641: 设计一个简单的学生成绩管理系统, -
程钓克欣: 我没写,只能和你说说怎么写. 可以由类模板和数组写. 我说说类模板的吧. 定义一个Student类存放学生信息(姓名,初始排名,各科成绩,个人总分); 初始排名由输入顺序排,在计算名字的时候就可以通过冒泡排序. 在里面定义计算总...

泌阳县19795702641: 如何设计一个学生成绩管理系统? -
程钓克欣: 这个我以前做过的,登陆界面要分2种情况,第一个是管理员登陆 第二个是学生登陆,要设定权限 管理员可以对学生进行管理,可以对学生的成绩进行增删改查的管理.也可以对学生的信息进行操作,可以增加科目,可以注册学生,可以编辑学生所在的班级,以及班主任姓名.学生界面的话,这个权限就很少了,可以查询自己的各科成绩.你可以把这个查询做的丰富一点.比如按科目查询,可以做模糊查询.可以查询本次考试的最高分等等.因为这个系统比较简单,所以没什么好说的,数据库我用的是sqlserver,表结构你可以自己想想啊,全说明了就没意思了.希望对你能有帮助

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