| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 462 人关注过本帖
标题:大家给这段程序加一个初始化
取消只看楼主 加入收藏
龙牙
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:大汉
等 级:贵宾
威 望:17
帖 子:769
专家分:6207
注 册:2013-3-18
结帖率:92.86%
收藏
已结贴  问题点数:15 回复次数:2 
大家给这段程序加一个初始化
oid select()//功能函数 用于实现输出学生信息
{
    int i=0;
    printf("以下是全部学生的信息\n");
     printf("\t姓名\t学号\t性别\t年龄\t籍贯\t系别\t专业\t班级\n");
    for(i=0;i<Number;i++)//通过FOR循环 输出
    {
    printf("\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n\n",st[i].name,st[i].ID,st[i].xinbie,st[i].nianling,st[i].jiguan,st[i].xinbie,st[i].zhuanye,st[i].banji);
    }
}
搜索更多相关主题的帖子: 信息 姓名 专业 
2013-07-03 12:26
龙牙
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:大汉
等 级:贵宾
威 望:17
帖 子:769
专家分:6207
注 册:2013-3-18
收藏
得分:0 
加一个删除学籍信息模块,谢谢了

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define true 1
struct student//声明一个结构体类型
{
    char name[60];//姓名
    char ID[7];//学号
    char xinbie[10];//性别
    char  nianling[5];//年龄
    char jiguan[10];//籍贯
    char xibie[10];//系别
    char zhuanye[10];//专业
    char banji[10];//班级
};

int dq(struct student st[]);//声明函数
void xianshi();//显示菜单功能函数的声明
void bc(struct student st[]);//保存功能函数的声明
void add(); //添加信息功能函数的声明
void select();//查看信息功能函数声明
void zz();//作者介绍功能函数声明
void chazhao();//查找菜单功能函数声明
void xhcz();//根据学号查找信息功能函数声明
void xmcz();//根据姓名查找信息功能函数声明
void xg();//修改菜单功能函数声明
void xhxg();//根据学号修改信息功能函数声明
void xmxg();//根据姓名修改信息功能函数声明
void bca();//提示已保存功能函数声明
void fh();//提示返回菜单功能函数声明
struct student st[300];
int Number=0;
void main()//主函数 用于调用各个功能函数
{
    int choose=0;
    FILE *fp=NULL;//打开输入文件
    char yesorno;

    if((fp=fopen("C://student.dat","rb"))==NULL)
    {
        printf("\n=========>提示:文件不存在,是否要创建一个?(y/n)\n");
        scanf("%c",&yesorno);
        if(yesorno=='y'||yesorno=='Y')
        {
            fp=fopen("C://student.dat","wb");//为读写建立一个新的二进制文件
            fclose(fp);//关闭fp
        }
        else
            exit(0);
    }
    else
    {
        Number=dq(st);
    }
    system("cls");
    while(true)
    {
        xianshi();
        printf("\t\t====>请选择:");
        scanf("%d",&choose);
        system("cls");
        switch(choose)//用switch 实现功能函数的调用
        {
            case 0: exit(0);fh();break;
            case 1: add();fh();break;
            case 2: select();fh();break;
            case 3: chazhao();fh();break;
            case 4: xg();fh();break;
            case 5:zz();fh();break;
            case 6:bca();break;
            default:break;        
        }
        fflush(stdin);
        getchar();
        system("cls");
    }
}



void bca()//功能函数 用来实现提示 已保存
{
    printf("\t=====程序在运行时已自动保存.....\n");
}

void fh()//功能函数 用来实现 提示 按enter 键返回主菜单
{
    printf("\t===>按Enter键返回主菜单\n");
}

void xg() //功能函数 用来实现调出 修改菜单
{
    int way=0;
    printf("请选择修改查找方式\n");
    printf("1 按姓名查找修改\n");
    printf("2 按学号查找修改\n");
    scanf("%d",&way);
    switch(way)//用SWITCH通过调用功能函数来实现菜单的功能
    {
        case 1: xmxg();break;
        case 2: xhxg();break;
        default: printf("输入有误,结束!\n");break;   
    }
}


void xmxg() //功能函数 用来实现通过姓名修改信息
{
    FILE *fp=NULL;//打开输入文件
    char name[60];
    int i=0;
    int changeIndex=0;
    int index=0;
    printf("请输入要修改的学生姓名:");
    scanf("%s",name);
    getchar();
    for (i=0;i<Number;i++)//通过循环结构找出 与名字对应的i(位置)
    {
        if (strcmp(name,st[i].name))
            {
                changeIndex=i;
            }
        break;
    }
    printf("\t姓名\t学号\t性别\t年龄\t籍贯\t系别\t专业\t班级\n");
    printf("\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n\n",st[changeIndex].name,st[changeIndex].ID,st[changeIndex].xinbie,st[changeIndex].nianling,st[changeIndex].jiguan,st[changeIndex].xinbie,st[changeIndex].zhuanye,st[changeIndex].banji);
    printf("请重新输入该学生信息");
    printf("姓名:");
    scanf("%s",st[changeIndex].name);
    getchar();
    printf("学号:");
    scanf("%s",st[changeIndex].ID);
    getchar();
    printf("性别:");
    scanf("%s",&st[changeIndex].xinbie);
    getchar();
    printf("年龄:");
    scanf("%s",&st[changeIndex].nianling);
    getchar();
    printf("籍贯:");
    scanf("%s",&st[changeIndex].jiguan);
    getchar();
    printf("系别:");
    scanf("%s",&st[changeIndex].xibie);
    getchar();
    printf("专业:");
    scanf("%s",&st[changeIndex].zhuanye);
    getchar();
    printf("班级:");
    scanf("%s",&st[changeIndex].banji);
    getchar();

    fp=fopen("C://student.dat","wb");//保存
    for (i=0;i<Number;i++)
    {
        fwrite(&st[i],sizeof(struct student),1,fp);
    }
    fclose(fp);
}
void xhxg()//原理同上
{
    FILE *fp=NULL;
    char id[60];
    int i=0;
    int changeIndex=0;
    int index=0;
    printf("请输入要修改的学生学号:");
    scanf("%s",id);
    for (i=0;i<Number;i++)
    {
        if (strcmp(id,st[i].ID))
        {
            changeIndex=i;
        }
        break;
    }
    printf("\t姓名\t学号\t性别\t年龄\t籍贯\t系别\t专业\t班级\n");
    printf("\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n\n",st[changeIndex].name,st[changeIndex].ID,st[changeIndex].xinbie,st[changeIndex].nianling,st[changeIndex].jiguan,st[changeIndex].xinbie,st[changeIndex].zhuanye,st[changeIndex].banji);
    printf("请重新输入该学生信息");
    printf("姓名:");
    scanf("%s",st[changeIndex].name);
    getchar();
    printf("学号:");
    scanf("%s",st[changeIndex].ID);
    getchar();
    printf("性别:");
    scanf("%s",&st[changeIndex].xinbie);
    getchar();
    printf("年龄:");
    scanf("%s",&st[changeIndex].nianling);
    getchar();
    printf("籍贯:");
    scanf("%s",&st[changeIndex].jiguan);
    getchar();
    printf("系别:");
    scanf("%s",&st[changeIndex].xibie);
    getchar();
    printf("专业:");
    scanf("%s",&st[changeIndex].zhuanye);
    getchar();
    printf("班级:");
    scanf("%s",&st[changeIndex].banji);
    getchar();


    fp=fopen("C://student.dat","wb");
    for (i=0;i<Number;i++)
    {
        fwrite(&st[i],sizeof(struct student),1,fp);
    }
    fclose(fp);
    printf("\t=======>修改成功\n");
}


void chazhao()//功能函数 用来实现 调出查找菜单
{
    int n=0;
    printf("1 按姓名查找\n");
    printf("2 按学号查找\n");
    scanf("%d",&n);
    switch(n)//通过switch调用功能函数来实现菜单的功能
    {
    case 1: xmcz();break;
    case 2: xhcz();break;
    default: printf("输入有误,结束!\n");
    break;
    }
}

void xhcz() //功能函数 实现通过学号查找学生信息的功能
{
    char id[7];
    int i=0;
    printf("请输入要查找学生学号:");
    scanf("%s",id);
    system("cls");
     printf("\t姓名\t学号\t性别\t年龄\t籍贯\t系别\t专业\t班级\n");
    for(i=0;i<Number;i++)//通过循环语句找出信息
    {
        if (strcmp(id,st[i].ID)==0)
        {
    printf("\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n\n",st[i].name,st[i].ID,st[i].xinbie,st[i].nianling,st[i].jiguan,st[i].xinbie,st[i].zhuanye,st[i].banji);
        }
    }
}


void xmcz()//原理同上
{
    char name[7];
    int i=0;
    printf("请输入要查找学生姓名:");
    scanf("%s",name);
    system("cls");
     printf("\t姓名\t学号\t性别\t年龄\t籍贯\t系别\t专业\t班级\n");
    for (i=0;i<Number;i++)
    {
        if (strcmp(name,st[i].name)==0)
        {
    printf("\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n\n",st[i].name,st[i].ID,st[i].xinbie,st[i].nianling,st[i].jiguan,st[i].xinbie,st[i].zhuanye,st[i].banji);
        }
    }
}


void zz()//功能函数  用于输出作者信息
{
    printf("\t**********************************************************\n\n");
    printf("\t^^^^^^^^^        《学生学籍管理系统》            ^^^^^^^^^^\n\n");
    printf("\t^^^^^^^^^            1               ^^^^^^^^^^\n\n");
    printf("\t^^^^^^^^^           2                 ^^^^^^^^^^\n\n");
    printf("\t^^^^^^^^^          123                ^^^^^^^^^^\n\n");
    printf("\t**********************************************************\n\n");
}


void select()//功能函数 用于实现输出学生信息
{
    int i=0;
    printf("以下是全部学生的信息\n");
     printf("\t姓名\t学号\t性别\t年龄\t籍贯\t系别\t专业\t班级\n");
    for(i=0;i<Number;i++)//通过FOR循环 输出
    {
    printf("\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n\n",st[i].name,st[i].ID,st[i].xinbie,st[i].nianling,st[i].jiguan,st[i].xinbie,st[i].zhuanye,st[i].banji);
    }
}


void add()//功能函数 用于实现添加学生信息
{
    int numberTemp=0;
    int i=0;
    struct student temp;
    printf("请输入要增加学生学籍个数:");
    scanf("%d",&numberTemp);
    for(i=0;i<numberTemp;i++)//通过FOR循环 依次将学生信息输入
    {
        printf("输入第%d个同学信息\n",i+1);
        printf("姓名:");
        scanf("%s",temp.name);
        printf("学号:");
        scanf("%s",temp.ID);
        printf("性别:");
        scanf("%s",temp.xinbie);
        printf("年龄:");
        scanf("%s",temp.nianling);
        printf("籍贯:");
        scanf("%s",temp.jiguan);
        printf("系别:");
        scanf("%s",temp.xibie);
        printf("专业:");
        scanf("%s",temp.zhuanye);
        printf("班级:");
        scanf("%s",temp.banji);
        while(getchar() != '\n');

        st[Number++]=temp;
        bc(&temp);//保存
    }
    printf("添加成功\n");
}
void bc(struct student *st)
{
    FILE *fp=NULL;//打开输入文件
    fp=fopen("C://student.dat","ab+");//将文件保存到指定位置
    fwrite(st,sizeof(struct student),1,fp);
    fclose(fp);//关闭fp
}


int dq(struct student st[])
{
    FILE *fp=NULL;//打开输入文件
    int i=0;
    fp=fopen("C://student.dat","rb");
    while(fread(&st[i],sizeof(struct student),1,fp))//当存入数据后将i自加 (新的存储位置)
    i++;
    fclose(fp);//关闭fp
    return i;
}


void xianshi()//功能函数 用来实现 菜单主菜单效果
{
    printf("\t*****************************************************************\n");
    printf("\t*                                                               *\n");
    printf("\t*                 *学生学籍管理系统*                            *\n");
    printf("\t*                                                               *\n");
    printf("\t*      [1] 添加学籍信息          [2] 统计学籍信息               *\n");
    printf("\t*      [3] 查找学籍信息          [4] 修改学籍信息               *\n");
    printf("\t*      [5] 关于作者              [6] 保存数据                   *\n");
    printf("\t*               [0] 退出系统                                    *\n");
    printf("\t*****************************************************************\n");




加一个删除学籍信息模块,谢谢了
}

[ 本帖最后由 龙牙 于 2013-7-3 12:30 编辑 ]

只要心是晴朗的,人生就没有雨天。
2013-07-03 12:28
龙牙
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:大汉
等 级:贵宾
威 望:17
帖 子:769
专家分:6207
注 册:2013-3-18
收藏
得分:0 
没有吧?

只要心是晴朗的,人生就没有雨天。
2013-07-03 13:41
快速回复:大家给这段程序加一个初始化
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016532 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved