第三次博客园作业

一,代码展示

#include<stdio.h>
#include<stdlib.h> 
#include<string.h>
#include<time.h>
typedef struct student{
    char name[10];//姓名 
    char classes[10];//班级 
    char number[100];//学号 
    char sex[10];//性别 
    char score[10];//成绩 
}STU;
void Menu(void);//主菜单 
void Search(void);//查询学生 
void Add(void);//添加学生 
void setColor(void);//设置界面 
int main()
{
    int n;
    while(1)
    {
        Menu();
        scanf("%d",&n); 
        switch(n)
        {
            case 1:
                Search();
                break;
            case 2:
                Add();
                break;    
            case 3:
                setColor();
                break;
            case 4:
                printf("已退出,欢迎继续使用\n");
                exit(0);    
        }
    } 
    return 0;
}
void Menu(void)
{
    printf("************************************\n");
    printf("            欢迎使用本系统          \n");
    printf("************************************\n");
    printf("    1 查询成绩\n");
    printf("    2 录入成绩\n");
    printf("    3 修改界面,字体颜色,大小\n");
    printf("    4 退出\n");
    printf("************************************\n");
    printf("输入相应数字执行下一步:\n"); 
}
void Search(void)
{
    char name[10];
    STU stu[100];
    FILE *fp;
    int i=0,j;
    printf("请输入查询人的名字(-1结束)\n");
    scanf("%s",name);
    while(strcmp(name,"-1")!=0)
    {        
        strcat(name,".txt");
        fp=fopen(name,"r");
        if(fp==NULL)
        {
            printf("查无此人信息\n");
        }
        else
        {
            fscanf(fp,"%s%s%s%s%s",stu[i].name,stu[i].classes,stu[i].number,stu[i].sex,stu[i].score);
            fclose(fp);
            ++i;
        } 
        printf("请输入查询人的名字(-1结束)\n");
        scanf("%s",name);
    }
    for(j=0;j<i;j++)
    {
        printf("姓名  班级  学号  性别   分数\n");    
        printf("%s  %s  %s  %s  %s\n",stu[j].name,stu[j].classes,stu[j].number,stu[j].sex,stu[j].score);
    }
    system("pause");
    system("cls");
}
void Add(void)
{
    FILE *fp;
    STU stu;
    char name_temp[60];
    int n=1,i=0;
    printf("请输入第%d个学生姓名(-1结束写入成绩)\n",n);
    scanf("%s",stu.name);
    while(strcmp(stu.name,"-1")!=0)
    {
        strcpy(name_temp,stu.name);
        strcat(name_temp,".txt");
        FILE *fp=fopen(name_temp,"w+");
        if(fp==NULL){
            printf("录入成绩失败\n");
            exit(0);
        }
        printf("班级   学号  性别   分数\n");
        scanf("%s %s %s %s",stu.classes,stu.number,stu.sex,stu.score);
        fprintf(fp,"%s %s %s %s %s\n",stu.name,stu.classes,stu.number,stu.sex,stu.score);
        ++n; 
        printf("请输入第%d个学生姓名(-1结束写入成绩)\n",n);
        scanf("%s",stu.name);
        fclose(fp);    
    }
    system("pause");
    system("cls");
}
void setColor(void)//设置运行框颜色 
{
    int num,flag=0;
    printf("************************************************\n");
    printf("1.背景黑色,字体白色\t\t*\n");
    printf("2.背景绿色,字体黑色\t\t*\n");
    printf("3.背景黑色,字体红色\t\t*\n");
    printf("4.退出\t\t\t\t*\n");
    printf("************************************************\n");
    printf("请输入序号:");
    scanf("%d",&num);
    switch(num)
    {
        case 1:
               system("color 0f");break;//背景黑色,字体白色
        case 2:
               system("color b0");break;//背景绿色,字体黑色 
        case 3:
               system("color 04");break;//背景黑色,字体红色 
        case 4:break;
    }
    system("pause");
    system("cls");
}

二,运行截图

任务一

任务二,

 

任务三,

主页

查询

录入

 

美化

 

三,system命令

1.system("pause"):暂停界面

2.system(“cls”)清除界面

3.system( "color ab") a是背景颜色,b是字体颜色。

四,总结

1.向文件写入数据,一开始的代码写入文件一直失败,后面向学长请教才会写。

2.了解缓冲区以及EOF概念。

3,学会了system()命令,可以美化自己的程序。

4,学会运用结构体和函数结合,可以让自己的代码更简洁。

posted @ 2019-12-21 22:31  脸盲患者(钟恒)  阅读(158)  评论(0编辑  收藏  举报