⑴ 简单学生成绩管理系统
//基本的都有了,c 的,文字说明自己加。有问题再找。
#include<iostream>
#include<string>
#include<fstream>
using namespace std;
struct Student
{
num;
double gra1;
double gra2;
double gra3;
double ave;
int t;//标志是不是被删除的。
};
Student stu[100];
int n;// 表示总人数
Student temp;
//输入成绩
void Input()
{
int t,i;
t=n;
for(i=0;i<n;i )
{
if(stu[i].t==0) {t=i;break;}
}
cin>>temp.num>>temp.gra1 >>temp.gra2 >>temp.gra3 ;
stu[t]=temp;
stu[t].t=1;
if(t==n) n ;
}
void Sort()
{
int i,j;
for(i=0;i<n;i )
{
for(j=i 1;j<n;j )
{
if(stu[j].ave>stu[j-1].ave)
{
temp=stu[j];
stu[j]=stu[j-1];
stu[j-1]=temp;
}
}
}
}
void Ave()
{
int i;
for(i=0;i<n;i ) stu[i].ave=(stu[i].gra1 stu[i].gra2 stu[i].gra3 )/3;
}
void Dis ()
{
int i;
for(i=0;i<n;i )
{
if(stu[i].t==1)
{
cout<<stu[i].num<<" "<<stu[i].gra1<<" "<<stu[i].gra2
<<" "<<stu[i].gra3<<" "<<stu[i].ave<<endl;
}
}
}
void Del(int t)
{
int i;
string name;
cin>>name;
int p=-1;
for(i=0;i<n;i )
{
if(stu[i].t==1
⑵ 学生成绩管理系统
学生成绩管理系统C代码
/ *头文件* /
#包括
包括
#包括 / *其他指令* /
包括中/ *字符串函数* /
/ *内存操作函数* /
/ *字符处理函数* /
包括 / *动态地址分配函数* /
定义:LEN大小(学生)
typedef结构中,学??生/ *定义结构数组,用于缓存数据* /
{字符数[6];
字符名称[5];
得分[3];
int总和;
>浮动平均水平;
诠释订单
结构STU *下;
}的学生;
/ *函数原型* /
学生的init( );/ /初始化函数* /
诠释MENU_SELECT的(); / *菜单函数* /
学生的create(); / *创建的链表* /
无效打印(学生*头); / *显示所有记录* /
无效搜索(学生*头); / *找到记录* /
学生删除(STUDENT *头); / *删除记录* / />学生排序(学生头); / *排序* /
学生(学生*头,新的学生*); *插入/ *插入记录* /
无效保存(的学生头); / *保存文件* /
学生的load(); / *读取文件* /
/ *主函数接口* /
主()
{的学生*头,新的;
头的init(); / *初始化链表头的值是NULL * /
(;) / *循环无限* /
{开关(menu??_select())
{
案例1:头= create()方法的突破;
案例2:打印(头);休息;
案例3:搜索(头);突破;
情况下,4头=删除(头);突破;
情况下5头排序(头);突破;
案例6:头插入(头,与新的);打破; / *新的返回地址* /
案例7:保存(头);
案例8:头=负载(
案例9:退出);突破;(0)/ *如果菜单,返回值是年底的9个项目* /
}
}
}
/ *初始化函数* /
学生的init()
{
返回NULL; / *返回一个空指针* /
}
a>
/ *菜单选择功能* /
menu_select
{N;
结构日期d / *定义的时间结构* / /> GETDATE(&D)/ *读取系统日期,并把它在结构上D * /
printf的(“按任意键进入菜单......”); / *按任意键进入主菜单* /
的getch(); / *读取从键盘输入一个字符,但不显示在屏幕上* /
clrscr(); / *清屏* / /> printf(“请********************************************* *********************************** \ n“);
printf(”请\ T \吨的\ n“);
printf(”请\ n \ t \ t学生成绩管理系统\ n“);
printf(”请************ ************************* MENU ************************ *************** \ n“);
printf的(”\ t \ t \ T1输入记录\ n“); / *输入学生记录* / BR /> printf的(“\ t \ t \ T2打印记录\ n”); / *显示* /
printf的(“\ t \ t \ T3的搜索记录名称\ n”); / * * /
printf的(“\ t \ t \ T4。删除记录\ n”); / *删除* /
printf的(“\ t \ t \ T5。排序,使新的文件\ n“); / *排序* / <br /输出(”\ t \ t \ T6插入记录到列表\ n“); / *插入* /
printf的(”\ t \ t \ T7保存的文件\ n“); / *保存* /
printf的(”\ t \ t \ T8负载的文件\ n“); / *读* /
printf的(”\ t \ T \ T9退出\ n“); / *退出* /
printf的(”\ n \ t \ t胡嘿黉\ n“);
printf的(”****** ************************************************** ************************ \ n“);
printf的(”\ t \ t \ t \ t%d \ \%d的\ \%e\“,d.da_year,d.da_mon,d.da_day); / *显示当前系统日期* /
做{
printf的(”\ n \ t \ t \拉幅机的选择(1?9):“);
scanf的(”%d“,&N);
}(N 9)/ *如果该选项是不减肥9 * /
回报率(N); / *返回选项的数量,主要功能调用相应的函数* /
}
/ *输入函数* /
学生创??建()
{I,S
学生头= NULL,* P / *定义函数这个函数返回一个指针表头指针* /
Clrscr();
(;)
{P =(学生)的malloc(LEN); / *打开了一个新的单元* / BR />(P)/ *如果指针p是空* /
{printf的(“\ Nout的记忆。”); / *输出内存溢出* /
回报(头); / *返回头指针,下同* /
}
printf的(“请输入NUM(0:列表结束):”);
scanf的(“%s”,P-> NUM);
(P->数[0] == '0')打破; / *如果第一个字符的学生数0输入* /
printf(“请结束输入姓名:“);
scanf的(”%s“,P->名称);
printf(”请输入%D分数\ n“); / *迅速启动分型结果* /
= 0; / *计算每个学生的总成绩,初始值为0 * /
(i = 0; I <3; i + +)/ * 3个疗程周期的3倍* /
{
做{
printf的(“得分%D:”,i +1);
scanf的(“%d”的,普 - >得分[I]);
(P->得分[I] 得分[I]> 100)/ *确保得分在0至100之间* /
printf的(“数据错误,请重新输入\ n”);
}而(P>得分[I] [I]> 100分);
= S + P->得分[I] / *堆积门的成绩* /
}
P->总和= S / *节省的总成绩* /
对平均= (浮)/ 3; / *首先转换类型转换s转换为float类型,然后寻求的平均* /
P->订单= 0; / *在此之前的值排序为0 * / BR /> P> =头; / *头节点作为一个新的输入节点的后继节点* /
头= P / *新的输入节点作为新的头节点* /
}
a>回报(头);
}
/ *显示所有记录函数* / >无效打印(学生头)
{i = 0; / *统计记录数* /
学生* P / *移动指针* /
Clrscr();
P =头; / *初始的头指针* / /> printf(“请\ n ************************************学生****** ****************************** \ n“);
printf(”请---- -------------------------------------------------- --------------------- \ n“); <br /输出(”|记录|编号|名称| SC1 SC2 SC3 |森|大道|订单| \ n“);
printf的(”------------------------------------ ------------------------------------------- \ n“); ...... />而(p! = NULL)
{
+ +;
printf的(“|%3D |%4 |%|%-4S 3D | 3D | 3D | %的3d |%4.2f |%-5d的| \“,
,对 - >数,对 - >名称,对 - >分数[0],对 - >分数[1],对 - > [2分],P->总之,对平均,P->订单);
P = P->下;
}
printf的(“------ -------------------------------------------------- ----------------------- \ n“);
printf的(”*************** *********************** END ************************** ************ \ n“);
}
/ *查找录音功能* /
无效搜索(学生*头) BR /> {STUDENT * p; / *移动指针* /
个char [5]; / *商店的名称的字符数组* /
Clrscr();
scanf函数
printf的(“请输入您的名字进行搜索。\ n”);(%S“,S);
P =头; / *分配的头指针P * /
而(STRCMP(P->名称,s)&& P = NULL)/ *的名称的记录时不看,或指针的时空* /
P = P-> / *移动指针指向下一个节点* /
(p! = NULL)/ *如果指针不为空* /
{printf(“请\ n ******** ***************************** FOUND ******************** **************** \ n“);
printf(”请---------------------- -------------------------------------------------- ------- \ n“);
printf的(”|编号|名称| SC1 SC2 | SC3 |森|大道|订购| \ n“);
printf的(” - -------------------------------------------------- --------------------------- \ n“);
printf的(”| 4 |%4S |%3D |%三维|%的3d |%的3d |%4.2f |%-5d的| \ N“,
对 - >数,对 - >名称,对 - >分数[0],对 - >分数[1],对 - >分数[2],对 - >总和,对 - >平均,对 - >顺序);
printf(“请------------------- -------------------------------------------------- --------- \ n“);
printf的(”***************************** ********** END ************************************** \ N“);
}
其他
printf的(”\ n该网页的没有NUM%的学生在名单上。\ n“); / *学生* /
}
/ *删除记录的函数* /
学生*头*删除(学生)
学生{N; * P1 * P2 / * P1是找到要删除一个节点的指针,P2及其前体的指针* /
字符c的s [6] / [6]用来存储学生数,c是用于输入字母* / </ clrscr();
printf的(“请输入删除的民:”);
scanf的(“%s”);
P1 = P2 =头; / * P1和P2富最初的头指针* /
(STRCMP(P1-NUM)&& P1 = NULL)/ *当记录数的学校不看,或指针不为空* / /> {P2 = P1 / * P1指针的值分配给P2 P1前体指针* /
P1 = P1->; / *点p1指针到下一条记录* /
} BR />(STRCMP(P1->民)== 0)/ *学生ID * /
{printf的(“***************** ********************* FOUND **************************** ******** \ n“);
printf(”请------------------------------ ------------------------------------------------- \ N“);
printf的(”|编号|名称| SC1 SC2 | SC3 |森|大道|在线订单| \ n“);
printf的(”--------- -------------------------------------------------- -------------------- \ n“);
printf的(”| 4 |%4S |%3D | 3D | 3D | 3D |%4.2f%5D | \ n“,
P1->民,P1->名称,P1->得分[0],P1 - > [1分],P1->得分[2] ,P1->总之,P1->平均,P1->订单);
printf的(“-------------------------- -------------------------------------------------- --- \ n“);
printf(”请*********************************** **** END ************************************** \ n“); ...... /> printf的(“你确定要删除的学生Y / N?”); / *提示你是否要删除,输入y删除n退出* /
(;)
/> {scanf函数(“%C”,&C);
(C =='N'| | C =='N'); / *如果你不删除,然后跳出循环* /
(C =='Y'| | C =='Y')
{
(P1 ==头)/ * P1 ==头,被删除节点是第一个节点* /
头= P1->下; / *第二个节点的地址给头* /
其他
P2->下一个= P1-> /否则,请单击节点地址被分配到前一个节点的地址* /
N = N-1; <br /输出(“\ nNum%的学生已被删除。\ n”,S); /> printf的(“不要忘记保存。\ n”); / *循环后已被删除* /
}
}
} 其他
printf的(“\ n该网页的没有NUM%的学生在名单上。\ n”); /,找不到节点* /
回报(头);
}
/ *排序函数* /
学生排序(学生头)
{INT I = 0; / *保存排名* /
学生* P1, * P2 * T,*温度; / *定义一个临时指针* /
温度=头下; / *原来的下一个节点的指针表头的头指针* /
头> = NULL; / *头节点的新表的第一个节点* /
(temp! = NULL)/ *当原表不为空,进行排??序* /
{
T =温度; / *取前表节点* /
TEMP =温度 - >; / *原来的头节点的指针向后* /
P1 =头/头*移动指针P1指针从头开始* /
P2 =头; / *移动指针P2为的P1前驱体的头指针的初始值* /
而(平均平均&& P1 = NULL)/ *成绩平均比??较* /
{
P2 = P1 / *点值小进行排序,新表指针落后* /
P1 = P1->下;
}
(P1 == P2)/ * P1 == P2,点值进行排序,应该排在第一个* / BR /> {
T-> = P1;进行排序的继任者的p * /
头= T / * / *新的头节点进行排序点* /
}
的else / *进行排序点应插入在中间的位置p2和p1的,例如为p的空尾之间* /
{
叔 - >下一个= p1的; / * t的后继是p1 * /
P2-> = T / * P2的继任吨* /
}
}
P1 =头; / *排序头指针被分配到P1准备填写的排名* /
(p1! = NULL)/ * p1是不是空的,下面的操作* /
{
+ +; / *节点数量* /
P1->订单; / *分配的节点数量的排名* /
P1 = P1->; / *指针后移* /
}
printf的(“的排序是SUCESSFUL。\ n”排序;} / *成功* /
回报(头);
}
/ *插入记录功能* /
学生插入(学生头STUDENT *新)
{STUDENT * P0,P1,P2;
整数N,SUM1;
P1 =头/ * P1点的第一个节点* /
P0 =新/ * P0点要插入节点* /
printf的(“\ n请输入一个新的记录。\ n”) / *提示信息记录* /
printf的(“请输入数量:”);
scanf函数(“%s”的新数);
printf(“输入的名称:“);
scanf的(”%s“的新名);
printf的(”请输入%d的分数。\ n“);
SUM1 = 0; / *保存新的得分纪录,初始值为0 * /
为(i = 0; I <3; i + +)
{
做{
printf的(“得分%D:“,i +1);
scanf的(”%d“的,与新>得分[]);
(新 - >得分[I]> 100 | |新 - >得分[I] <0)
printf(“请数据错误,请重新输入。\ n”);
}而(新 - >评分[我]> 100 | |新 - >评分[I] <0);
SUM1 = SUM1 +新 - >得分[I] / *累计门成绩* /
}
新 - >金额= SUM1; /存款总额新的记录* /
新的平均=()SUM1 / 3;
新订单= 0;
(头== NULL)/ *原链表为空表* /
{头= P0,P0-> = NULL;} / *节点指出P0口作为头节点* /
其他
{((P0->平均平均)&&(P1->!= NULL))
{P2 = P1 / P2点只是P1结点* /
P1 = P1->; / * P1落后节点* /
}
(P0->平均> = P1->平均)
{如果(头== P1)头= P0 / *插入到原来的第一个节点* / />其他P2-> = P0 / *在插入节点* /
P0-> = P1;}
其他
{P1->下一个= P0到P2点P0-> = NULL;} / *上的最后一个节点* /
}
N = N +1; / *节点数目加1 * /
头排序(头); / *调用sort函数的学生的成绩重新排序* /
printf的(“,已插入\ nStudent%s的。\ n”,新名);
printf的(“不要忘记保存新的文件。\ n“);
回报(头);
}
/ *将数据保存到文件函数* /
无效保存(学生*头)
{FILE * FP; / *定义点文件指针* /
STUDENT * p; / *定义移动指针* /
字符,OUTFILE [10];
输出(“请输入OUTFILE名称,例如C:\ \成绩\ n”);
scanf的(“%s”,OUTFILE);
((FP =打开(OUTFILE,“WB”) )== NULL)/ *为输出打开一个二进制文件,只写* /
{
printf的(“无法打开文件\ n”);
回报; / *如果您无法打开返回菜单* /
}
printf的(“\ nSaving的文件... \ n”);
P =头; / *移动指针从头开始* /
而(p! = NULL)/ * p不为空* /
{
FWRITE(P,LEN,1,FP); / *写的指针记录* /
P = P->下; / *指针后移* /
}
FCLOSE(FP); / *关闭文件* /
printf的(“将文件保存成功!\ n“);
}
/ *从文件功能* /
学生中读取数据负载()
{STUDENT * P1 * P2 *头= NULL; / *定义记录指针变量* /
FILE * FP / *定义指向文件的指针* /
字符的infile [10];
printf的(“输入INFILE名称,例如c:\ \成绩\ n“);
scanf的(”%s“,infile中);
((FP =的FOPEN(INFILE,”包“))= = NULL)/ *打开一个二进制文件只读* /
{
printf的(“无法打开文件\ n”);
回报(头);
}
printf的(“\ n载入的文件!\ n”);
P1 =(学生)的malloc(LEN); / *开辟了一条新的单位* /
(P1 )
{
printf的(“内存不足!\ n”);
回报(头);
}
头= P1 / *适用于空间,作为头指针* /
同时(!的feof(FP))/ *循环读取数据,直到年底结束的文件* / {
(FREAD(P1,LEN,1,FP)= 1)打破; / *如果你不读出的数据的循环* /
P1-> =(学生)的malloc(LEN); / *下一个结点打开空间* /
(P1->)
{
printf的(“内存不足!\ n”);
回报(头); BR />}
P2 = P1 / P2点只是P1结点* /
P1 = P1->; / *指针回新读入数据链当前的表* /
}
P2-> = NULL; / *最后一个节点的继任指针为空* /
FCLOSE(FP);
输出( “你已经成功从文件中读取数据!\ n”);
回报(头);
}
⑶ 学生成绩管理系统
《人心不可欺》:静静山村,芳草依依,几多风雨,几多情意。莫道是,良缘本是天作成,只可叹恩怨情仇,难断根达地。黄泉茫茫,虽无轮回路,天地公道,人心不可欺。
⑷ 一个学生成绩管理系统
#include<stdio.h>
#include<string.h>
#include<math.h>
struct student_type
{
char name[8];
int num;
int Class; /*把class第一个字母大写了,因为在中class为类关键字*/
float score[3];
double ave;
}stud[4];
int main()
{
void Write (); /*把write第一个字母大写了,因为C语言中有write函数 */
void save ();
void display ();
int n=0;
while (1)
{
printf ("\n\t\t\t\t学生成绩管理\n\n");
printf ("\t1:请输入学生的成绩记录\n");
printf ("\t2:显示成绩记录\n");
printf ("\t3:退出系统\n");
printf ("\t输入操作选项序号:");
scanf ("%d",&n);
switch (n)
{
case 1 : Write (); break;
case 2 : display (); break;
case 3 : printf("\n\t\t\t**************谢谢使用!**************\n");break;
default : printf("\n请输入1、2或3!!!");
}
if (n==3) break;
}
system("pause");
return 0;
}
/* *********输入学生成绩**********/
void Write()
{
int i=0, j=0;
for(i=0; i<4 ;i++)
{
printf("\n请输入学号 姓名 班级 :");
scanf("%d%s%d",&stud[i].num, &stud[i].name, &stud[i].Class);
printf("\n请依次输入课程成绩 :"); /*这句话从循环中移了出来 */
for(j=0; j<3; j++)
{
scanf("%f", &stud[i].score[j]);
}
stud[i].ave = (stud[i].score[0] + stud[i].score[1]
+ stud[i].score[2]) / 3;
}
printf ("\n\t\t是否保存?\n\t\t\t是:1;\n\t\t\t否:2.\n");
scanf ("%d", &i); /* i前面加& */
if (i==1)
save();
else
main();
}
/**********读出文件资料***********/
void display ()
{
int i=0;
FILE *fp;
fp = fopen ("score.txt","r");
if ((fp=fopen("score.txt","r")) == NULL)
{
printf("cannot open this score");
exit (0);
}
for (i=0; i<4; i++)
{
fscanf (fp, "%11d%s%2d%5.2f%5.2f%5.2f%5.2f\n", &stud[i].num, &stud[i].name[i],
&stud[i].Class, &stud[i].score[0], &stud[i].score[1], &stud[i].score[2],
&stud[i].ave);
printf ("%11d%s%2d%5.2f%5.2f%5.2f%5.2f\n", stud[i].num, stud[i].name[i],
stud[i].Class, stud[i].score[0], stud[i].score[1], stud[i].score[2],
stud[i].ave);
}
fclose (fp);
}
/**********资料写入文件**********/
void save()
{
FILE *fp ; /* fp无需赋NULL */
int i=0; /* i定义在开始会好些 * /
fp = fopen ("score.txt","w");
fprintf (fp,"学号 姓名 班级 课程1 课程2 课程3 平均成绩\n");
for (i=0; i<4; i++)
{
//fwrite(&stud[i], sizeof(struct student_type), 1, fp);
fprintf (fp, "%11d%s%2d%5.2f%5.2f%5.2f%5.2lf\n", stud[i].num, stud[i].name,
stud[i].Class, stud[i].score[0], stud[i].score[1], stud[i].score[2],
stud[i].ave); /*把stud[i].name[i] 改成了stud[i].name */
}
fclose (fp);
printf ("\n\n*******************恭喜,保存完成!*******************\n\n");
}
⑸ 1;学生成绩管理系统.
工作量太大了
有点报酬可能还会有人帮
而且你也没说明白用什么语言来写
⑹ 学生成绩管理系统
wo gang xie le ge yao jia Q
⑺ 江陵县白马中学成绩管理系统
你学校如果有官网的话,点击学校网站的教务管理系统,输入号学号密码,选择身份内,接着进入另外一个界面容,点击查询绩,再进入一个界面,选择时间,系别,班级,科目,点击查询,不过我建议,不要选择科目,直接查询,就可以看全班级全科目成绩,如果学校没网站或自己上网条件不允许,打电询问老师也可以。
⑻ 学生成绩管理系统
哦 很好很强大