c语言成绩管理系统源代码
C语言成绩管理系统源代码
一、引言
C语言是一门广泛应用于计算机编程领域的高级编程语言,其简洁明了、灵活易学的特点使得其成为了众多程序员的首选。本文将介绍一个C语言成绩管理系统的源代码,该系统可实现学生信息录入、成绩查询、成绩修改等功能。
二、需求分析
1. 学生信息录入:需要输入学生姓名、学号、性别等基本信息,并且需要输入每门课程的成绩。
2. 成绩查询:可以按照学号或者姓名进行查询,查询结果包括学生基本信息和各科成绩。
3. 成绩修改:可以根据学号或者姓名进行修改,修改后需要重新保存。
三、程序设计
1. 结构体定义:定义一个结构体类型student,包含姓名、学号、性别和各科成绩等基本信息。
2. 学生信息录入函数:实现输入每个学生的基本信息和各科成绩,并将其保存到文件中。
3. 成绩查询函数:根据输入的姓名或者学号查对应的学生信息,并输出其基本信息和各科成绩。
4. 成绩修改函数:根据输入的姓名或者学号查对应的学生信息,然后可以选择修改某一科目的成绩或者全部成绩,并将修改后的结果保存到文件中。
四、源代码
以下是C语言成绩管理系统的源代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_NUM 100
七夕情人节浪漫诗句#define FILE_NAME "student.dat"
typedef struct{
char name[20];
char id[20];
char sex[5];
float score[3];
}student;
潘阳结婚现场void input(student *stu,int num);
void output(student *stu,int num);
void modify(student *stu,int num);
int main(){过油肉的做法
汪东城整容 student stu[MAX_NUM];
int num=0,flag=1;
FILE *fp;
fp=fopen(FILE_NAME,"rb");
if(fp!=NULL){
fread(&num,sizeof(int),1,fp);
fread(stu,sizeof(student),num,fp);
fclose(fp);
}
while(flag){法医秦明什么时候更新
printf("\n\n\t\t学生成绩管理系统\n");
printf("\t\t1. 学生信息录入\n");
printf("\t\t2. 成绩查询\n");
printf("\t\t3. 成绩修改\n");
printf("\t\t4. 退出系统\n");
printf("\t\t请选择功能:");
int choice;
scanf("%d",&choice);
switch(choice){
case 1:
input(stu,num);
break;
case 2:
output(stu,num);
break;
case 3:
modify(stu,num);
break;
case 4:
flag=0;
break;
default:
printf("输入有误,请重新输入!");
break;
}
fp=fopen(FILE_NAME,"wb");
fwrite(&num,sizeof(int),1,fp);
fwrite(stu,sizeof(student),num,fp);
fclose(fp);
}
return 0;
}
void input(student *stu,int num){
printf("\n\n\t\t学生信息录入\n");
printf("\t\t请输入学生人数:");
int n;
scanf("%d",&n);
if(num+n<=MAX_NUM){
for(int i=num;i<num+n;i++){
printf("\t\t请输入第%d个学生的姓名:",i+1);
scanf("%s",stu[i].name);
printf("\t\t请输入第%d个学生的学号:",i+1);
scanf("%s",stu[i].id);
printf("\t\t请输入第%d个学生的性别:",i+1);
scanf("%s",stu[i].sex);
for(int j=0;j<3;j++){pep小学英语三年级下册期末试卷
printf("\t\t请输入第%d个学生的第%d门课程成绩:",i+1,j+1);
scanf("%f",&stu[i].score[j]);
}
}
num+=n;
printf("\n\n\t\t录入成功!\n");
发布评论