C语言实现简单的成绩管理功能

C语言实现简单的成绩管理功能

某专业学生成绩信息存储在D盘根目录下,文件名为info.txt,规定学生人数不超过1000,如果学生单科成绩小于60,或总分小于210,则为考试没通过。下面有一个示例。

文件示例:D盘下面文件 info.txt
在这里插入图片描述
运行结果:
在这里插入图片描述

#include <stdio.h>
struct info {
	char name[100];
	int scores[3];
}info[1000];
int main(int argc, char const *argv[])
{
	int count,notpass=0,i=0;
	FILE *fp;
    if(argc!=1)
    {
        printf("Error format,Usage:display filenamel\n");
        return;
    }
	if((fp=fopen("d:\\info.txt","r"))==NULL)
	{
		printf("The file can not be opened.\n");
        return;
	}
	while(!feof(fp))
	{
		fscanf(fp,"%s%d%d%d",info[i].name,&info[i].scores[0],&info[i].scores[1],&info[i].scores[2]);
	    i++;
    }
    count=i;
	fclose(fp);
	printf("所有学生信息如下\n");
    i=0;
	while(i<count)
	{
		printf("name:%-15s math:%-5d computer:%-5d english:%-5d\n",info[i].name,info[i].scores[0],info[i].scores[1],info[i].scores[2]);
        i++;
	}
	printf("以下学生没有通过考试\n");
	for(i=0;i<count;i++)
	{
		if(info[i].scores[0]<60||info[i].scores[1]<60||info[i].scores[2]<60||info[i].scores[0]+info[i].scores[1]+info[i].scores[2]<210)
		{
			printf("%s\n",info[i].name);
			notpass++;
		}
	}
	printf("没有通过考试的人数:%d\n",notpass);
	return 0;
}
C语言学生成绩管理系统(以包含文件的形式写的),结构体,链表,数组,以下是main.c #include #include #include #define m 3/*宏定义m的值为3*/ struct node/*链表初始化*/ { char name[20]; int no; float score[m]; float sum; float avg; struct node *next; }; char ch[m+4][20]={{"学号"},{"姓名"},{"语文"},{"数学"},{"英语"},{"总分"},{"平均分"}};/*定义并初始化一个全局二维字符数组*/ #include "save.c"/*包含保存文件*/ #include "read.c"/*包含读取文件*/ #include "output.c"/*包含打印文件*/ #include "set.c"/*包含录入文件*/ #include "demand.c"/*包含查询文件*/ #include "sort.c"/*包含排序文件*/ #include "modified.c"/*包含修改文件*/ #include "add.c"/*包含添加文件*/ #include "del.c"/*包含删除文件*/ void main() { int n; printf("\n\t\t\t欢迎使用学生成绩管理系统\n\n"); printf("\t\t\t\t\t\t制 作: XIA XIA\n"); do { printf("\n\n1:学生成绩录入,并保存\n"); printf("2:学生成绩查询\n"); printf("3:学生成绩的排序\n"); printf("4:学生成绩的修改\n"); printf("5:学生成绩的打印\n"); printf("6:学生信息的添加\n"); printf("7:学生信息的删除\n"); printf("0:退出学生成绩管理系统\n\n\n"); printf("输入你要执行操作的相应序号\n"); scanf("%d",&n);/*输入相就的操作的序号*/ switch (n) { case 1: set();break;/*调用录入函数*/ case 2: demand();break;/*调用查询函数*/ case 3: sort();break;/*调用排序函数*/ case 4: modified();break;/*调用修改函数*/ case 5: output();break;/*调用打印函数*/ case 6: add();break;/*调用添加函数*/ case 7: del();break;/*调用删除函数*/ case 0: printf("正在退出学生成绩管理系统......\n");exit(0);/*直到输入“0”退出学生成绩管理系统*/ default:printf("输入错误码,请重新输入\n"); } }while(1); }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值