📄 kcsj.c
字号:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
#define MAX 50
typedef struct _CStudent
{
char szName[20];
int nNumber;
int nAge;
char cSex;
char szAddress[20];
int nPostalcode;
double dDataStruct;
double dMath;
double dEnglish;
double dCPlusPlus;
}CStudent;
void Input();
void Seek();
void Notice();
int main()
{
char choice;
do{
printf("\n\n\n\n\n 学生信息管理系统\n\n");
printf("*******************************************************************************\n");
printf("\n 数据录入请按 1\n\n 成绩查询请按 2\n\n 通 知 单请按 3\n\n 退 出 请 按 4\n");
choice=getch();
system("cls");
switch(choice){
case '1':
Input();
printf("\n\n 谢谢使用!按任意键返回主菜单\n\n");
getch();
system("cls");
break;
case '2':
Seek();
printf("\n\n\n\n 谢谢使用!按任意键返回主菜单\n\n");
getch();
system("cls");
break;
case '3':
Notice();
printf("\n\n\n\n 谢谢使用!按任意键返回主菜单\n\n");
getch();
system("cls");
break;
case '4':
printf("\n\n 谢谢使用!按任意键退出\n\n");
getch();
return 0;
default:
printf("\n\n\n\n\n\n\n 输入错误,按任意键返回\n");
getch();
system("cls");
}
}while(choice!=4);
return 0;
}
void Input()
{
FILE *fp;
int num,i;
char choice;
CStudent infor[MAX];
do{
printf("\n\n\n\n\n\n 新建数据请按 1\n\n 追加数据请按 2\n\n 退 出 请 按 3\n");
fflush(stdin);
choice=getch();
system("cls");
switch(choice){
case '1':
printf("\n\n\n\n\n\n 该操作会覆盖原有数据,请注意备份\n\n 按任意键继续\n\n");
getch();
system("cls");
printf("\n\n\n\n\n\n 输入学生人数:");
scanf("%d",&num);
system("cls");
printf("输入学生信息.\n");
if((fp=fopen("d:\\学生信息.KCSJ","wb"))==NULL)
{
system("cls");
printf("\n\n\n\n\n\n 文件打开错误!按任意键退出\n");
getch();
exit(0);
}
for(i=0;i<num;i++)
{
printf("姓名:\n");
fflush(stdin);
gets(infor[i].szName);
printf("姓名: %s\n",infor[i].szName);
fwrite(infor[i].szName,sizeof(infor[i].szName),1,fp);
printf("学号:\n");
scanf("%d",&infor[i].nNumber);
printf("学号: %d\n",infor[i].nNumber);
fwrite(&infor[i].nNumber,sizeof(infor[i].nNumber),1,fp);
printf("年龄:\n");
scanf("%d",&infor[i].nAge);
printf("年龄: %d\n",infor[i].nAge);
fwrite(&infor[i].nAge,sizeof(infor[i].nAge),1,fp);
printf("性别(女m/男f):\n");
fflush(stdin);
scanf("%c",&infor[i].cSex);
printf("性别: %c\n",infor[i].cSex);
fwrite(&infor[i].cSex,sizeof(infor[i].cSex),1,fp);
printf("家庭地址:\n");
scanf("%s",infor[i].szAddress);
printf("家庭地址: %s\n",infor[i].szAddress);
fwrite(infor[i].szAddress,sizeof(infor[i].szAddress),1,fp);
printf("邮编:\n");
scanf("%d",&infor[i].nPostalcode);
printf("邮编: %d\n",infor[i].nPostalcode);
fwrite(&infor[i].nPostalcode,sizeof(infor[i].nPostalcode),1,fp);
printf("数据结构:\n");
scanf("%lf",&infor[i].dDataStruct);
printf("数据结构: %lf\n",infor[i].dDataStruct);
fwrite(&infor[i].dDataStruct,sizeof(infor[i].dDataStruct),1,fp);
printf("数学:\n");
scanf("%lf",&infor[i].dMath);
printf("数学: %lf\n",infor[i].dMath);
fwrite(&infor[i].dMath,sizeof(infor[i].dMath),1,fp);
printf("英语:\n");
scanf("%lf",&infor[i].dEnglish);
printf("英语: %lf\n",infor[i].dEnglish);
fwrite(&infor[i].dEnglish,sizeof(infor[i].dEnglish),1,fp);
printf("C++:\n");
scanf("%lf",&infor[i].dCPlusPlus);
printf("C++: %lf\n",infor[i].dCPlusPlus);
fwrite(&infor[i].dCPlusPlus,sizeof(infor[i].dCPlusPlus),1,fp);
}
if(fclose(fp))
{
system("cls");
printf("\n\n\n\n\n\n 无法关闭文件!按任意键退出\n");
getch();
exit(0);
}
system("cls");
return;
case '2':
printf("\n\n\n\n\n\n输入追加学生人数:");
fflush(stdin);
scanf("%d",&num);
system("cls");
printf("输入学生信息.\n");
if((fp = fopen("d:\\学生信息.KCSJ","ab"))==NULL)
{
system("cls");
printf("\n\n\n\n\n\n 文件打开错误!按任意键退出\n");
getch();
exit(0);
}
for(i=0;i<num;i++)
{
printf("姓名:\n");
fflush(stdin);
gets(infor[i].szName);
printf("姓名: %s\n",infor[i].szName);
fwrite(infor[i].szName,sizeof(infor[i].szName),1,fp);
printf("学号:\n");
scanf("%d",&infor[i].nNumber);
printf("学号: %d\n",infor[i].nNumber);
fwrite(&infor[i].nNumber,sizeof(infor[i].nNumber),1,fp);
printf("年龄:\n");
scanf("%d",&infor[i].nAge);
printf("年龄: %d\n",infor[i].nAge);
fwrite(&infor[i].nAge,sizeof(infor[i].nAge),1,fp);
printf("性别(女m/男f):\n");
fflush(stdin);
scanf("%c",&infor[i].cSex);
printf("性别: %c\n",infor[i].cSex);
fwrite(&infor[i].cSex,sizeof(infor[i].cSex),1,fp);
printf("家庭地址:\n");
scanf("%s",infor[i].szAddress);
printf("家庭地址: %s\n",infor[i].szAddress);
fwrite(infor[i].szAddress,sizeof(infor[i].szAddress),1,fp);
printf("邮编:\n");
scanf("%d",&infor[i].nPostalcode);
printf("邮编: %d\n",infor[i].nPostalcode);
fwrite(&infor[i].nPostalcode,sizeof(infor[i].nPostalcode),1,fp);
printf("数据结构:\n");
scanf("%lf",&infor[i].dDataStruct);
printf("数据结构: %lf\n",infor[i].dDataStruct);
fwrite(&infor[i].dDataStruct,sizeof(infor[i].dDataStruct),1,fp);
printf("数学:\n");
scanf("%lf",&infor[i].dMath);
printf("数学: %lf\n",infor[i].dMath);
fwrite(&infor[i].dMath,sizeof(infor[i].dMath),1,fp);
printf("英语:\n");
scanf("%lf",&infor[i].dEnglish);
printf("英语: %lf\n",infor[i].dEnglish);
fwrite(&infor[i].dEnglish,sizeof(infor[i].dEnglish),1,fp);
printf("C++:\n");
scanf("%lf",&infor[i].dCPlusPlus);
printf("C++: %lf\n",infor[i].dCPlusPlus);
fwrite(&infor[i].dCPlusPlus,sizeof(infor[i].dCPlusPlus),1,fp);
system("cls");
}
if(fclose(fp))
{
system("cls");
printf("\n\n\n\n\n\n 无法关闭文件!按任意键退出\n");
getch();
exit(0);
}
system("cls");
return;
case '3':
return;
default:
system("cls");
printf("\n\n\n\n\n\n\n 输入错误!按任意键继续\n");
getch();
system("cls");
}
}while(choice!='3');
}
void Seek()
{
FILE *fp;
int num,i;
char choice,nam[20];
CStudent infor[MAX];
do{
printf("\n\n\n\n\n\n 按姓名查找请按1\n\n 按学号查找请按2\n\n 退 出 请 按 3\n");
fflush(stdin);
choice=getch();
system("cls");
switch(choice){
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -