C语言编写一个简单的学生成绩管理系统

菜单:1.输入2.输出3.删除4.结束输出:学号 姓名 成绩(A-F)代码框架如图

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; i<cnt; i++)
if(S[i].code == code)
break;
if(i >= cnt)
{
printf("学号不存在,删除失败!\n");
}
else {
for(j=i+1; j<cnt; 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; i<cnt; 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语言写学生成绩管理系统?
student[][1]到student[][4]存放四门成绩,\\x0d\\x0a\/\/student[][5]存放总分,student[][6]存放平均分,student[][7]存放排名\\x0d\\x0a int n,i,j,k,p,t,count,

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);\/* 将...

用c语言实现一个简单的学生成绩管理系统,包括:学号,姓名,科目,成绩
\/\/用字符界面实现,比如按数字1,可以录入学生所有信息;\/\/按数字2,显示所有学生成绩;\/\/按数字3,进入查询,按学号或姓名查询该学生是否存在,如果存在显示他的所有信息,\/\/\/否则给出不存在提示。#include <stdio.h>struct student{ char num[6]; \/*学号*\/ char name[10]; char sub...

求以下c语言编程:一个简单的学生成绩管理系统。其中每个学生信息包括学 ...
if(c=='n'||c=='N') break; \/*如果不删除,则跳出本循环*\/ if(c=='y'||c=='Y') { if(p1==head) \/*若p1==head,说明被删结点是首结点*\/ head=p1->next; \/*把第二个结点地址赋予head*\/ else p2->next=p1->next; \/*否则将一下结点地址赋给前一结点地址*\/ \/\/n=n-1; ...

用C语言编辑一个学生成绩管理系统
printf("\\t\\t\\t\\t 学生成绩管理系统 \\n\\n");printf("\\t\\t\\t\\t1.输入学生成绩\\n");printf("\\t\\t\\t\\t2.按总分排榜\\n");printf("\\t\\t\\t\\t3.查找学生信息\\n");printf("\\t\\t\\t\\t4.退出\\n\\n");printf("\\t\\t\\t请输入功能选择编号(1-4):");fflush(stdin); \/*清空输...

用C语言编程实现一个简单的学生成绩管理系统
Operate1+1-m_p_number,Operate1+1-c_p_number);\/\/因为数组下标是从0开始的}void main(){ Student student[maxnumber]; stream=freopen("in.txt","r",stdin); int Operate=3;int i;int id_n; char student_element[20]; for(i=0;i<Operate1;i++) { printf("请输入第%d位学生...

用C语言编写学生成绩管理系统(简单的,不用像计院一样专业) 悬赏100哦...
fwrite(&p->yingyu, sizeof(float), 1, fout);p->zongcj = p->shuxue + p->yuwen + p->yingyu;fwrite(&p->zongcj, sizeof(float), 1, fout);} abc:printf ("请问要进行什么运算 \\n1.排序 \\n2.输出全班同学的平均成绩 \\n3.通过学号查询某同学成绩 \\n");scanf("%d", z);swi...

用C语言编写一个学生管理系统。
用C语言编写一个学生管理系统。实验要求1、总体要求:系统功能齐全,运行结果正确,用户界面友好,使用简单方便。2、系统数据要求:学生信息如下:学号、姓名、年龄、所在系、3门课程名称及成绩、总分、平均分。3、... 实验要求1、总体要求:系统功能齐全,运行结果正确,用户界面友好,使用简单方便。 2、系统数据要求:学生...

c语言大作业 学生成绩管理系统
\/*编制一个学生成绩管理系统,每个学生信息包括:学号、姓名、C语言、高数和英语成绩。具体功能:(1)创建信息链表并以磁盘文件保存;(2)读取磁盘文件并显示输出所有学生的成绩;(3)按学号或姓名查询成绩;(4)添加成绩记录;(5)修改指定姓名或学号的学生的成绩并可存盘;(6)显示输出60分以下、60~79、80~89、90分以上...

编程如何用C语言编写一个学生成绩管理系统程序
printf("请输入学生姓名:"); scanf("%s",&p1->name); \/*输入学生姓名*\/ printf("请输入cj1(0~100):"); \/*输入cj1,成绩应在0-100*\/ scanf("%f",&p1->cj1); while(p1->cj1<0||p1->cj1>100){ getchar();printf("输入错误,请重新输入cj1"); \/*输入错误,重新输入成绩1*\/ scanf("%f...

相似回答