C语言文件
任务一
任务二
任务三
任务四
代码
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
FILE* fp;
int i;
char name[10][20];
struct student {
char num[30];
char name1[20];
char sex[10];
char Class[10];
char score[3];
}stu[10], stu1[10];
void begin();
void menu();
void type_in();
void search(struct student stu[]);
void quit();
int main()
{
system("color F3");//设置背景和前景颜色
int flag, choice;
begin();
for (i = 0; i < 52; i++)
printf(" ");
printf("欢迎使用本系统\n");
for (i = 0; i < 49; i++)
printf(" ");
system("pause");//暂停程序
system("cls");//清理界面
while (1) {
menu();
scanf("%d", &choice);
system("puase");
system("cls");
switch (choice)
{
case 1:type_in(); break;
case 2:search(stu); break;
case 0:quit(); exit(0);//结束程序
break;
}
}
return 0;
}
void begin()
{
system("cls");
int i;
printf("\n");
printf("\n");
printf("\t");
printf("|");
for (i = 0; i < 98; i++)
printf("~");
printf("|");
printf("\n");
printf("\t");
printf("|");
for (i = 0; i < 43; i++)
printf(" ");
printf("学生信息系统");
for (i = 0; i < 43; i++)
printf(" ");
printf("|");
printf("\n");
printf("\t");
for (i = 0; i < 100; i++)
printf("~");
printf("\n\n\n\n\n");
}
void menu()//菜单
{
begin();
printf("\n\n\n\n 请选择:\n");
printf(" [1] 录入学生信息\n");
printf(" [2] 查询学生信息\n");
printf(" [0] 退出系统\n");
printf("\n\n");
for (i = 0; i < 49; i++)
printf(" ");
}
void type_in()//录入学生信息
{
for (i = 0; i < 1; i++)
{
begin();
printf("请输入: 姓名\n");
printf(" ");
scanf("%s", name[i]);
strcpy(stu[i].name1, name[i]);
printf("\n");
printf("请输入: 学号 性别 班级 线性代数成绩\n");
printf(" ");
strcat(name[i], ".txt");//在姓名后面加上.txt
if ((fp = fopen(name[i], "w")) == NULL)//打开文件
{
printf("File open error!\n");
exit(0);
}
scanf("%s %s %s %s", stu[i].num, stu[i].sex, stu[i].Class, stu[i].score);//存入结构数组
fprintf(fp, "%s %s %s %s %s", stu[i].name1, stu[i].num, stu[i].sex, stu[i].Class, stu[i].score);//写入文件
if (fclose(fp))//关闭文件
{
printf(" Can not close the file! \n");
exit(0);
}
system("cls");
}
for (i = 0; i < 1; i++)
{
if ((fp = fopen(name[i], "r")) == NULL)
{
printf("File open error!\n");
exit(0);
}
fscanf(fp, "%s %s %s %s %s", stu1[i].name1, stu1[i].num, stu1[i].sex, stu1[i].Class, stu1[i].score);//存入另一个结构数组
if (fclose(fp))
{
printf(" Can not close the file! \n");
exit(0);
}
}
}
void search(struct student stu[])//查看学生信息
{
begin();
for (i = 0; i < 1; i++)
{
if ((fp = fopen(name[i], "r")) == NULL)
{
printf("\n\n\n 未录入学生信息");
exit(0);
}
fscanf(fp, "%s %s %s %s", stu[i].num, stu[i].sex, stu[i].Class, stu[i].score);
printf(" 姓名 学号 性别 班级 线性代数成绩\n");
printf(" ");
printf("%-7s%12s %-6s %8s %s\n", stu1[i].name1,stu1[i].num, stu1[i].sex, stu1[i].Class, stu1[i].score);//将信息打印到屏幕
if (fclose(fp))
{
printf(" Can not close the file! \n");
exit(0);
}
}
printf(" ");
system("pause");
}
void quit()//结束程序
{
begin();
printf(" 感谢使用");
}
system("pause")起到暂停进程的作用,便于观察
system("cls")起到清屏的作用
system("color __")可以改变窗口的背景和前景颜色,color后面第一位设置背景,第二位设置前景
0=黑色 1=蓝色 2=绿色 3=湖蓝色 4=红色 5=紫色 6=黄色 7=白色 8=灰色
9=淡蓝色 A=淡绿色 B=淡浅绿色 C=淡红色 D=淡紫色 E=淡黄色 F=亮白色