学生信息管理系统 C语言
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include "stdio.h"
#include "string.h"
#include "stdlib.h"
#define M 10
int num; //计数
struct student
{
char xuehao[10]; //学号
char name[10]; //姓名
char sex[8]; //性别
char birth[20]; //出生年月
char jiguan[30]; //籍贯
char tel[30]; //电话
int score; //成绩
}student[M];
char headline[80]; //全局变量
void read1()
{
FILE *fp; //文件指针
int i=0;
fp=fopen("jz0112.txt","r"); //打开文件
if(fp==NULL)
{
printf("不能找到文件,请检查!\n");
return;
}
fgets(headline,80,fp); //读第一行的函数
puts(headline);
while(!feof(fp)) //判断文件是否结束
//for(i=0;i { fscanf(fp,"%s%s%s%s%s%s%d",student[i].xuehao,student[i].name,student[i]. sex, student[i].birth,student[i].jiguan,student[i].tel,&student[i].score); i++; //fscanf读两个空白字符之间的字符 } num=i; fclose(fp); //关闭文件 for(i=0;i printf("%-10s%- 8s%6s%16s%16s%16s%6d\n",student[i].xuehao,student[i].name,student[i].se x, student[i].birth,student[i].jiguan,student[i].tel,student[i].score); } void find_xuehao() //按学号查询 { char xuehao[10]; int i; int flag=0; printf("请输入学号:"); scanf("%s",xuehao); for(i=0;i if(strcmp(xuehao,student[i].xuehao)==0) { flag=1; printf("%-10s%- 8s%6s%16s%16s%16s%6d\n",student[i].xuehao,student[i].name,student[i].se x, student[i].birth,student[i].jiguan,student[i].tel,student[i].score); break; } if(flag==0) printf("\n无此信息\n"); } void find_name() //按姓名查询 { char name[8]; int i; int flag=0; printf("请输入姓名:"); scanf("%s",name); for(i=0;i if(strcmp(name,student[i].name)==0) { flag=1; printf("%-10s%- 8s%6s%16s%16s%16s%6d\n",student[i].xuehao,student[i].name,student[i].se x, student[i].birth,student[i].jiguan,student[i].tel,student[i].score); break; } if(flag==0) printf("\n无此信息\n"); } void all() //显示全部 { int i; for(i=0;i { printf("%-10s%- 8s%6s%16s%16s%16s%6d\n",student[i].xuehao,student[i].name,student[i].se x, student[i].birth,student[i].jiguan,student[i].tel,student[i].score); } } void find() { int b; printf("\n*************************************************************************\n"); printf(" 1 按学号查询 2按姓名查询 3显示全部 4退出 \n"); printf("\n*************************************************************************\n"); printf("请选择:"); scanf("%d",&b); switch(b) { case 1:find_xuehao();break; case 2:find_name();break; case 3:all();break; case 4:return; } } void sort_name() //按姓名排序 { char name[M][12],t[12]; int i,j; for(i=0;i strcpy(name[i],student[i].name); for(j=1;j for(i=0;i if(strcmp(name[i],name[i+1])>0) { strcpy(t,name[i]); strcpy(name[i],name[i+1]); strcpy(name[i+1],t); } for(i=0;i for(j=0;j if(strcmp(name[i],student[j].name)==0) printf("%-10s%- 8s%6s%16s%16s%16s%6d\n",student[j].xuehao,student[j].name,student[j].se x, student[j].birth,student[j].jiguan,student[j].tel,student[j].score); }