教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 资格考试 >

c语言大作业学生管理完整(整理)

来源:网络收集 时间:2026-09-02
导读: c #include stdafx.h #include stdio.h #include stdlib.h #include conio.h #include string.h #define N 100 struct student { char name[10]。 int num。 char sex[10]。 float math。 float yingyu。 float zhengzhi。 float ywen。 float aver。 float

c

#include "stdafx.h"

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

#include <string.h>

#define N 100

struct student

{

char name[10]。

int num。

char sex[10]。

float math。

float yingyu。

float zhengzhi。

float ywen。

float aver。

float sum。

}stu。

void menu()

{

system("cls")。

printf(" * 欢迎使用学生成绩管理系统 * \n")。

printf(" * ======================= * \n")。 printf(" * 请选择相应的功能: * \n")。

printf(" * 1.成绩录入 * \n")。

printf(" * 2.查询成绩 * \n")。

printf(" * 3.修改成绩 * \n")。

printf(" * 4.插入成绩 * \n")。

printf(" * 5.报表输出 * \n")。

printf(" * 6.删除操作 * \n")。

printf(" * 0.退出系统 * \n" )。

printf(" * ======================= * \n")。printf(" \n\n\n\n\n\n\n\n\n * * * * \n")。

}

//成绩录入

void input()

{

system("cls")。

FILE *fp。

student xs。 /*定义一个结构体变量来装从文件中读出来的数据*/ int c=1。

if((fp=fopen("student.dat","ab"))==NULL)

{

printf("can't open file!\n")。exit(0)。}

c

printf("\n 成绩录入 ")。

printf("\n****************************************************")。

while(c++) /*中间加油break,可使循环中断*/

{printf("\n 请输入您的姓名(姓名为end结束):")。

scanf("%s",)。

if(strcmp(,"end")==0) break。/*判断姓名是否为end,用字符串判断*/

printf("\n 请输入学号:")。

scanf("%d",&xs.num)。

printf("\n 性别:")。

scanf("%s",&xs.sex)。

printf("\n 请输入数学的成绩:")。

scanf("%f",&xs.math)。

printf("\n 请输入英语的成绩:")。

scanf("%f",&xs.yingyu)。

printf("\n 请输入政治的成绩:")。

scanf("%f",&xs.zhengzhi)。

printf("\n 请输入语文的成绩:")。

scanf("%f",&xs.ywen)。

xs.aver=0。/*给平均分变量赋初值*/

xs.aver=(xs.math+xs.yingyu+xs.zhengzhi+xs.ywen)/4。

xs.sum=0。

xs.sum=xs.math+xs.yingyu+xs.zhengzhi+xs.ywen。

fwrite(&xs,sizeof(stu),1,fp)。 //将成绩信息写入文件

system("cls")。

}

fclose(fp)。

}

void xingming()

{

FILE *fp。

student xs。

char name[10]。

printf("\n 输入要查学生的姓名: ")。scanf("%s",name)。

if((fp=fopen("student.dat","rb"))==NULL)

{printf("can't open file!\n")。exit(0)。}

while(!feof(fp))

{

fread(&xs,sizeof(stu),1,fp)。

if(strcmp(,name)==0)/*按姓名查询时判断输入的姓名是否存在,会循环从数据中找取*/

{

printf("\n 学生的信息如下:\n")。

printf("\n %10s %6s %6s %6s %6s %6s %6s %6s %6s\n","姓名","学号","性别","数学","英语","政治 ","语文","平均成绩","总成绩")。

c

printf("\n %10s %6d%6s %6.2f %6.2f %6.2f %6.2f %6.2f %6.2f\n",,xs.num,xs.sex,xs. math,xs.yingyu,xs.zhengzhi,xs.ywen,xs.aver,xs.sum)。

break。

}

}

if(feof(fp))

printf("\n 查找失败!!!")。 /*学生不存在*/

fclose(fp)。

}

void xuehao()

{

FILE *fp。

student xs。

int num。

printf("\n 输入要查学生的学号: ")。scanf("%d",&num)。

if((fp=fopen("student.dat","rb"))==NULL)

{printf("can't open file!\n")。exit(0)。}

while(!feof(fp))

{

fread(&xs,sizeof(stu),1,fp)。

if(xs.num==num)/*按学号查询时判断输入的学号是否存在,会循环从数据中找取*/

{

printf("\n 学生的信息如下:\n")。

printf("\n %10s %6s %6s %6s %6s %6s %6s %6s %6s\n","姓名","学号","性别","数学","英语","政治 ","语文","平均成绩","总成绩")。

printf("\n %10s %6d%6s %6.2f %6.2f %6.2f %6.2f %6.2f %6.2f\n",,xs.num,xs.sex,xs. math,xs.yingyu,xs.zhengzhi,xs.ywen,xs.aver,xs.sum)。

break。

}

}

if(feof(fp)) printf("\n 查找失败!!!")。

fclose(fp)。

}

//查询

void search()

{

char ch1。

system("cls")。

printf(" 请输入按何种方式查询:\n")。

printf("\n 1-姓名,2-学号:")。

ch1=getchar()。/*用字符接收*/

switch(ch1)/*判断*/

c

{

case '1':xingming()。break。

case '2':xuehao()。break。

}

printf("\n 按任意键返回主菜单 ")。

getch()。/*让屏幕停留同时按任意键返回*/

}

//修改:输入学生的姓名,查找该学生,若找到则修改该生的成绩信息,并显示修改前后的结果;

void modi()

{

student xs。

FILE *fp。

char name[10]。

system("cls")。

printf("\n 输入要修改的学生的姓名: ")。scanf("%s",name)。

if((fp=fopen("student.dat& …… 此处隐藏:2336字,全部文档内容请下载后查看。喜欢就下载吧 ……

c语言大作业学生管理完整(整理).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/91041.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)