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

C语言程序设计 学生成绩管理系统,第1张

怎么又是这个题,是老师的作业吗?? 我看了下,有点小改动,你可以根据这个自行改动下。

#include <stdioh>

#define N 100

struct student

{int num;

float score;

};

void main()

{int i,n,sf,gn;

struct student stu[N];

printf("欢迎进入班级学生成绩管理系统!\n");

printf("您正在登录中······\n");

printf("请选择登录身份:1,管理员;0,普通用户\n");

scanf("%d",&sf);

if(sf==1){

printf("您是管理员!\n能进行以下 *** 作\n");

printf("-----1,用户创建-----\n-----2,成绩录入-----\n-----3,成绩计算-----\n");

scanf("%d",&gn);

switch(gn)

{case 1: ;break;

case 2:

{ printf("请输入学生数目:\n");

scanf("%d",&n);

printf("请输入按如下形式输入:\n");

printf("学号分数\n");

for(i=0;i<n;i++)

scanf("%d%f",&stu[i]num,&stu[i]score);

}break;

case 3: ;break;

default :printf("?输入出错?\n");break;

}

}

printf("请选择登录身份:1,管理员;0,普通用户\n");

scanf("%d",&sf);

if(sf==0){

printf("您是普通用户!\n能进行以下 *** 作\n");

printf("-----1,成绩查询-----\n-----2,打印输出-----\n");

scanf("%d",&gn);

switch(gn)

{case 1:{printf("请输入所查询的学生学号:\n");

scanf("%d",&i);

printf("学号%d 分数%f\n",stu[i-1]num,stu[i-1]score);

} break;

case 2:

;break;

default :printf("?输入出错?\n");break;

}

}}

声明:本程序编写了成绩录入和成绩查询功能,成绩计算等功能不知道具体要求,请自行完善;希望对你有用!

#include <stdioh>

#include <memoryh>

#include <stdlibh>

#include <stringh>

char grades[5][10] = {"语文","数学","英语","总成绩","平均成绩"};

typedef struct data {

char number[16];

char name[20];

double score[5];

}dataType;

typedef struct list {

dataType pauline;

struct list next;

}LinkList,pNode,Node;

void getMemory(size_t size) {

return malloc(size);

}

LinkList getEmptyList() {

LinkList head = (pNode)getMemory(sizeof(Node));

memset(head,0,sizeof(Node));

return head;

}

int addNode(LinkList head,pNode pnode) {

pNode q;

for(q = head; q->next; q = q->next)

if(strcmp(q->next->paulinenumber,pnode->paulinenumber) == 0) {

printf("重复的学号:%d\n",pnode->paulinenumber);

return 0;

}

q->next = pnode;

pnode->next = NULL;

return 1;

}

// 按学号升排序 

void sortNumber(LinkList head) {

pNode p,q,pt,qt;

p = head;

while(p->next) {

qt = p;

q = p->next;

while(q->next) {

if(strcmp(qt->next->paulinenumber,q->paulinenumber) > 0)

qt = q;

q = q->next;

}

if(qt != p) {

pt = p->next;

p->next = qt->next;

qt->next = qt->next->next;

p->next->next = pt;

}

p = p->next;

}

}

// 按第th门成绩降排序,th = 1,2,3,4,5 

void sortScore(LinkList head,int th) {

pNode p,q,pt,qt;

int i;

if(th < 1 || th > 5)  return;

i = th - 1;

for(p = head; p->next; p = p->next) {

qt = p;

q = p->next;

while(q->next) {

if(qt->next->paulinescore[i] < q->next->paulinescore[i])

qt = q;

q = q->next;

}

if(qt != p) {

pt = p->next;

p->next = qt->next;

qt->next = qt->next->next;

p->next->next = pt;

}

}

void show(LinkList head) {

int i;

pNode p;

for(p = head->next; p; p = p->next) {

printf("%s\t%s\t",p->paulinenumber,p->paulinename);

for(i = 0; i < 5; ++i)

printf("%2f\t",p->paulinescore[i]);

printf("\n");

}

}

pNode readData() {

pNode pnode = (pNode)getMemory(sizeof(Node));

int i;

printf("学  号:");

scanf("%s",pnode->paulinenumber);

printf("姓  名:");

scanf("%s",pnode->paulinename);

pnode->paulinescore[3] = 0;

for(i = 0; i < 3; ++i) {

printf("%s成绩:",grades[i]);

scanf("%lf",&pnode->paulinescore[i]);

pnode->paulinescore[3] += pnode->paulinescore[i];

}

pnode->paulinescore[4] = pnode->paulinescore[3]/30;

return pnode;

}

void menu() {

printf("\n");

printf("  学生成绩管理系统  \n");

printf("\n");

printf("     1、添加学生信息          \n");

printf("     2、显示学生信息          \n");

printf("     3、按学号排序            \n");

printf("     4、按成绩排序            \n");

printf("\n");

printf("     0、退出                  \n");

printf("\n");

}

int main() {

char op[20];

int select;

LinkList head = getEmptyList();

do {

menu();

printf("请选择:");

fflush(stdin);

fgets(op,20,stdin);

fflush(stdin);

switch(op[0] - '0') {

case 1 : addNode(head,readData()); break;

case 2 : show(head); break;

case 3 : sortNumber(head); break;

case 4 : printf("按第几门功课排序;");

scanf("%d",&select);

sortScore(head,select);

break;

}

}while(op[0] - '0');

printf("END\n");

return 0;

}

以上就是关于C语言程序设计 学生成绩管理系统全部的内容,包括:C语言程序设计 学生成绩管理系统、c语言设计学生成绩管理程序、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9339676.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存