c语言学生成绩管理系统1000行源代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言学生成绩管理系统1000行源代码相关的知识,希望对你有一定的参考价值。

/*首次使用,新建score.in文件,在里面打入0
可用程序
#include<stdio.h>
FILE *fin
main()

fin=fopen("score.in","r");
fprintf(fin,"0");
return 0;

完成
*/
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<windows.h>
#include<time.h>
#define n 999
FILE *fin;
main()

int a[n]=0,ori=0,i=0,b=0,add[n]=0,con=0,orix[n]=0,t=0,te[n]=0,TRUEt,ixi,fx,abc=0,sum,TURE,xx;
long long f[n]=0,tex[n]=0;
printf("\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t学生成绩管理系统\n\t\t\t\t\t\t Please wait...");
Sleep(2000);system("cls");
int xp,xi;
fin=fopen("score.in","r+");
fscanf(fin,"%d",&xp);
i=xp;
for(xi=1;xi<=xp;xi++)
fscanf(fin,"%d%d%d",&f[xi],&a[xi],&te[xi]);te[xi]--;
printf("Id:%lld score:%d ranking:%d\n",f[xi],a[xi],te[xi]+1);
add[xi]=xi;orix[xi]=a[xi];

fclose(fin);
int TRUE1;
pe:
while(1)
TRUE1=1;i++;
printf("Id(输入-1:删除,输入-2:修改成绩,输入-3:删除所有内容,输入-4:保存到score.in并退出):");
scanf("%lld",&f[i]);
for(sum=1;sum<i;sum++)
if(f[sum]==f[i])
system("cls");for(con=1;con<=i;con++) if(a[con]==0)continue;printf("Id:%lld score:%d ranking:%d\n",f[con],a[con],te[con]+1);TRUE1=0;i--;printf("Error with two same id.\n");continue;
if(TRUE1==0)
continue;
if(f[i]==-3)
int r;
for(r=0;r<n;r++)

a[r]=0;ori=0;i=0;b=0;add[r]=0;con=0;orix[r]=0;t=0;te[r]=0;abc=0;
f[r]=0;tex[r]=0;

system("cls");
goto pe;

if(f[i]==-2)
TURE=0;i--;
system("cls");
for(con=1;con<=i;con++)
if(a[con]==0)continue; printf("Id:%lld score:%d ranking:%d\n",f[con],a[con],te[con]+1);
printf("修改学号_____________号的分数.\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b",f[con],a[con],te[con]+1);
scanf("%d",&xx);
for(sum=1;sum<=i;sum++)
if(f[sum]==xx)

TURE=1;
printf("\n修改为___________.\b\b\b\b\b\b\b\b\b\b\b\b");
scanf("%d",&a[sum]);
printf("\n修改成功!将在下一次输入后更新名次。\n\n");
continue;

if(TURE==0)
printf("No id is %d\n",xx);
continue;

if(f[i]==-4)

i--;
fin=fopen("score.in","r+");
fprintf(fin,"%d\n",i);
for(xi=1;xi<=i;xi++)fprintf(fin,"%d %d %d\n",f[xi],a[xi],te[xi]+1);
for(xi=i+1;xi<=xp;xi++)fprintf(fin," \n");
fclose(fin);
return 0;

if(f[i]==-1)
TRUEt=0;
system("cls");
i--;
for(con=1;con<=i;con++)if(a[con]==0)continue;printf("Id:%lld score:%d ranking:%d\n",f[con],a[con],te[con]+1);
printf("删除学号_____________号.\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");
scanf("%lld",&fx);
for(con=1;con<=i;con++)
if(f[con]==fx)
TRUEt=1;abc++;
f[con]=0;
a[con]=0;
tex[abc]=te[con];
for(ixi=1;ixi<=i;ixi++)
if(te[ixi]>te[con])
te[ixi]--;
te[con]=0;
break;
system("cls");
for(con=1;con<=i;con++)
if(a[con]==0)continue;
printf("Id:%lld score:%d ranking:%d\n",f[con],a[con],te[con]+1);
if(TRUE==0)
printf("No Id is %lld\n",fx);
continue;

system("cls");
for(con=1;con<i;con++)
if(a[con]==0)continue; printf("Id:%lld score:%d ranking:%d\n",f[con],a[con],te[con]+1);
printf("Id:%lld score:",f[i]);
scanf("%d",&ori);system("cls");
a[i]=ori;add[i]=i;orix[i]=a[i];
system("cls");
for(b=1;b<=i;b++)
for(con=i;con>=b;con--)
if(orix[con]>orix[con-1])
t=orix[con];orix[con]=orix[con-1];orix[con-1]=t;
t=add[con];add[con]=add[con-1];add[con-1]=t;
for(con=1;con<=i;con++) te[add[con]]=con;
for(con=1;con<=abc;con++)
for(ixi=1;ixi<=i;ixi++)
if(te[ixi]>tex[con])
te[ixi]--;
if(te[i]==te[i-1])te[i]=0;
for(con=1;con<=i;con++)
if(a[con]==0)continue;printf("Id:%lld score:%d ranking:%d\n",f[con],a[con],te[con]+1);

return 0;

//求采纳
参考技术A #include#include#include#include#include#defineMAX80voidinput();voidsort();voiddisplay();voidinsert();voiddel();voidaverage();voidfind();;voidread();;voidaverage();voidmodify();intnow_no=0;structstudentintno;charname[20];charsex[4];floatscore1;floatscore2;floatscore3;floatsort;floatave;floatsum;;voidaverage()/*求平均数*/inti;for(i=0;i追问

我要1000行的源代码,不能少于1000行,你这也不完整呀?

参考技术B

我这里有一份完整的学生信息管理系统源代码,限于知道篇幅,这里先粘贴出定义声明部分代码,以及运行结果截图。

详细内容私信联系~~

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
 
#define status int
 
#define NAME 30 /*各类名称字数上限*/
#define STU 100 /*学生人数上限*/
#define SUB 10 /*课程数上限*/
 
#define PASS 60 /*及格分数下限(含)*/
#define LA 85 /*A级别分数下限(含)*/
#define LB 70 /*B级别分数下限(含)*/
#define LC 60 /*C级别分数下限(含)*/
#define LD 0 /*D级别分数下限(含)*/
 
typedef struct record 
    float score; /*成绩分数*/
    char level; /*成绩分数段*/
 record;
 
typedef struct student 
    int id; /*id*/
    int no; /*学号*/
    char name[NAME]; /*姓名*/
    record scores[SUB]; /*各门课成绩分数*/
    float totalScore; /*总分*/
    float averageScore; /*平均分*/
    char totalLevel; /*总分数段*/
    int ranking; /*名次*/
 student;
 
char subject[SUB][NAME]; /*课程名称*/
 
 
/**********************以下为函数声明**********************/
status initProgram (student stu[], int *stuNum, int *subNum, int mode); /*初始化,含测试、程序写定课程、自定义课程3种模式*/
void initResult (student stu[], int *stuNum, int *subNum, int mode); /*判断初始化结果*/
status inputTestStuInfo (student stu[], int *stuNum, int *subNum); /*测试数据*/
status defSubject (int *subNum, char subject[SUB][NAME]); /*自定义各门课程*/
 
int stuInfoEmpty (student stu[], int stuNum); /*学生信息判空*/
status stuInfoEmptyOp (student stu[], int stuNum); /*学生为空时的处理*/
int noRepeated (student stu[], int stuNum, int no); /*学号判重*/
 
status printInputStuInfoheader (int subNum); /*输出录入学生信息之表头*/
status inputStuInfo (student stu[], int *stuNum, int subNum, int stuIndex, int ismod); /*录入单个学生信息*/
status inputAllStuInfo (student stu[], int *stuNum, int subNum); /*录入全部学生信息*/
 
char getScoreLevel (float score); /*计算分数段*/
status calcStuInfo (student stu[], int stuIndex, int subNum); /*计算处理单个学生信息*/
status calcAllStuInfo (student stu[], int stuNum, int subNum); /*计算处理全部学生信息*/
 
status printStuInfoheader (int subNum, int inclRanking); /*输出学生信息之表头*/
status printStuInfo (student stu[], int stuIndex, int subNum, int inclRanking); /*输出单个学生信息*/
status printAllStuInfo (student stu[], int stuNum, int subNum, int inclRanking); /*输出全部学生信息*/
 
int compareStuInfo (student stu[], int stuNum, int rsIndex[], int inclNo, int no, int inclName, char name[]); /*按学号、姓名查找学生信息,返回结果个数*/
status findStuInfo (student stu[], int stuNum, int subNum); /*查找符合条件的学生信息并输出*/
 
status deleteStuInfoByIndex (student stu[], int *stuNum, int subNum, int stuIndex); /*删除指定位置的学生信息*/
status delStuInfo (student stu[], int *stuNum, int subNum); /*删除学生信息*/
 
status modifyStuInfoByIndex (student stu[], int *stuNum, int subNum, int stuIndex); /*修改指定位置的学生信息*/
status modStuInfo (student stu[], int *stuNum, int subNum); /*修改学生信息*/
 
status descSortAndRanking (student stu[], int stuNum, int subNum); /*按总分降序排列并录入名次*/
 
status printStatistics (student stu[], int stuNum, int subNum); /*输出统计数据*/
 
int getCommand (void); /*输入命令编号*/
status printMenuText (void); /*打印菜单文本*/
status runMeun (student stu[], int *stuNum, int subNum); /*运行菜单*/
status pressAnykeyToContinue (void);  /*按任意键继续*/
/**********************以上为函数声明**********************/

主界面

输入学生信息

输入学生信息-失败

输出学生信息

查找学生信息

删除学生信息

修改学生信息

修改学生信息-成功

按成绩降序排列并输出名次

输出统计数据

参考技术C 为什么要1000行? 这简单的系统 讲道理500行都够呛 参考技术D 哇...0分...
采纳我的吧。。

用C语言写学生成绩管理系统基本功能:1、 输入一个班级的学生基本信息(包括学号,姓名,性别,5门课程成绩

2、 按姓名或学号查找、修改、删除和保存各个学生的信息。 3、 计算每个学生的各门功课总分和平均分,按学号或总分排序输出每个学生的基本信息及总分、平均分和名次等信息。4、 计算全班各门功课的平均分,显示每门课程中低于平均分的每一个学生的学号,姓名,性别,科目,成绩等信息。5、 显示每门科目中,成绩在90分以上的学生信息,以及每门科目中不及格的学生信息。6、 设置系统登录密码,只有正确输入密码方可进入管理系统。可更改和保存登录密码。

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

struct stud_node

long int ID; //学号
int age; //年龄
long int dormnumber,phonenumber; //宿舍号码,电话号码
char name[15]; //姓名
char sex; //性别
struct student*next;
;

struct stud_node*Create_Stu_Doc();//新建链表
int main(void)
system("color 3E");
FILE *fp=NULL;//定义文件指针
fp=fopen("stud.txt","wb");
if(fp==NULL)

printf("File open error \n");
exit (0);

struct stud_node*head,*p;
int choice,age;
long int ID,dormnumber,phonenumber;
char name[15],sex;
int size=sizeof(struct stud_node);

printf("+---------------------------+\n");
printf("| 欢迎使用教务信息管理系统 |\n");
printf("+---------------------------+\n");

printf("\n\t\t-----------------------------------------------------\n");
printf("\t\t+ 主菜单 +\n");
printf("\t\t-----------------------------------------------------\n");
printf("\t\t+ [1]--录入学生资料 +\n");
printf("\t\t+ [0]--退出系统 +\n");
printf("\t\t-----------------------------------------------------\n");
printf("\n");
printf("\t\t请输入您的选择:");

scanf("%d",&choice);
switch(choice)

case 0 : break;
case 1 : head=Create_Stu_Doc;break;
default:printf("\n无效选项!");



struct stud_node*Create_Stu_Doc()//新建链表

int y,age;
long int ID,dormnumber,phonenumber;
char name[15],sex;
int size=sizeof(struct stud_node);
struct stud_node*head,*tail,*p;
FILE *fp=NULL;//定义文件指针
fp=fopen("stud.txt","r");
head=tail=NULL;
printf("--------------------\n");
printf("请输入学生的学号:");
printf("请输入学生的姓名:");
printf("请输入学生的性别:");
printf("请输入学生的年龄:");
printf("请输入学生的宿舍号码:");
printf("请输入学生的电话号码:");
while(!feof(fp))

p=(struct stud_node *)malloc(size);
fscanf(fp,"%ld%c%c%d%ld%ld",&ID,&name,&sex,&age,&dormnumber,&phonenumber);
p->ID=ID;
strcpy(p->name,name);
strcpy(p->age,age);
p->dormnumber=dormnumber;
p->phonenumber=phonenumber;
p->next=NULL;
if(head==NULL) head=p;
else tail->next=p;
tail=p;

printf("\n1.继续输入.\n0.结束输入.\n");
printf("请选择:");
scanf("%d",&y);
if(y)
return head;
fclose(fp);

参考技术A 我正准备做这个程序,你想要什么版本的,是控制台版本的是还是win32版本的。

以上是关于c语言学生成绩管理系统1000行源代码的主要内容,如果未能解决你的问题,请参考以下文章

C语言学生成绩管理系统代码

学生成绩管理系统c

c语言学生成绩管理系统设计

C语言(学生成绩管理系统)

如何用Java语言编写学生成绩管理系统

学生成绩管理系统 用C语言编写