| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 569 人关注过本帖
标题:无语了 暂时 混乱至极
取消只看楼主 加入收藏
零波丽
Rank: 3Rank: 3
来 自:莉莉斯
等 级:论坛游侠
帖 子:222
专家分:107
注 册:2011-9-8
结帖率:90%
收藏
 问题点数:0 回复次数:7 
无语了 暂时 混乱至极
简直 无语了 第一个 选项 写完 一看 代码 .. 一个 悲摧啊~混乱 ......定义都是 随手的 ...
程序代码:
# include <stdio.h>
# include <stdlib.h>
# include <malloc.h>
# define student_1 sizeof (struct student)
# define NULL 0
# include <windows.h>

//首先程序功能是 学生数据管理 所以 需要的功能尽量写上去

void esc_esc (void);
void hello_1 (void);
struct student * head, * p1, * p2;
void wait_3 (void);
int i = 2;

struct student
{
    char name[22];
    char sex[1];
    float score_1;
    float score_2;
    float score_3;
    float score_4;
    int number;

    struct student * next;
};

void getchar_1_1 (struct student *);
void getchar_1_2 (struct student *);
void getchar_1_3 (struct student *);
void getchar_1_4 (struct student *);
void getchar_1_5 (struct student *);
void getchar_1_4 (struct student *);
void wait_1_1 (void);
void wait_1_2 (void);
void wait_1_3 (void);
void wait_1_4 (void);
void wait_1_5 (void);
void wait_1_6 (void);
void endschar (void);
void getchar_1_x (void);
void hello_1 (void);
void judge_1_x (int );

int judge_no (void)//错误后输入
{
    int z;
    printf ("\n对不起,您的输入有误请重新输入...");
    fflush(stdin);//清空磁盘缓冲区
    scanf ("%d",&z);
    return z;
}

void changes (struct student * p1,struct student * p2)//此函数用于更改链表 思路 源于 TonyDeng兄
{
    
}

struct student * godis (void);

void changes_1 (struct student * p, struct student * n)//此函数用于连接链表 
{
    p->next = n;
}

void goto_1 ()//继续输入
{
    struct student * p;
    p1->next = p = godis ();
    p1 = p;
    p->number = i++;
    getchar_1_1 (p);
    endschar ();
    hello_1 ();
    getchar_1_x ();
}
void changes_1_x ()
{}
void putchar_1 ()
{
    int j = 0;
    p1 = head;
    for (;j<i-1;)
    {
        printf ("%s %s %f %f %f %f\n", p1->name,p1->sex,p1->score_1,p1->score_2,p1->score_3,p1->score_4);
        printf ("%d\n", p1->number);
        p1 = p1->next;
        j++;
    }
}

void judge_1_x (int a)
{
    switch (a)
    {
    case 1:
        {
            goto_1 ();//继续输入
            break;
        }
    case 2:
        {
            changes_1_x ();//更改先前输入
            break;
        }
    case 3:
        {
            putchar_1 ();//输出先前输入
            break;
        }

    default :
        {
            esc_esc ();//退出
        }
    }

}

void getchar_1_x (void)
{
    int a;
    fflush(stdin);//清空磁盘缓冲区 便于重复使用 以及 不影响后面
    scanf ("%d", & a);
    for (;(a<=4)||(a>=1);)
    {
        if (a>4)
        {
            a = judge_no ();
        }
        else if (a<1)
        {
            a = judge_no ();

        }
        else 
        {    
            system("cls");//清屏
            break;
        }
    }
    judge_1_x (a);
}

void hello_1 (void)//此函数用于输出
{
    system("cls");//清屏
    printf ("第一位学生信息输入完毕\n");
    printf ("1.继续输入\n");
    printf ("2.更改先前输入\n");
    printf ("3.将先前输入的学生信息输出\n");
    printf ("4.退出程序\n");
    printf ("*******************************************************************************\n");
    printf ("请选择........");
}

void save_1 (void)
{}

void read_1 (void)
{}

void endschar (void)
{
    printf ("\n*******************************************************************************\n");
}

void wait_1_6 (void)
{
    printf ("\n");
    printf ("*******************************************************************************\n");
    printf ("你好欢迎使用\n请输入学生计算机成绩按回车结束......");
}

void wait_1_5 (void)
{
    printf ("\n");
    printf ("*******************************************************************************\n");
    printf ("你好欢迎使用\n请输入学生英语成绩按回车结束......");
}

void wait_1_4 (void)
{
    printf ("\n");
    printf ("*******************************************************************************\n");
    printf ("你好欢迎使用\n请输入学生语文成绩按回车结束......");
}

void wait_1_3 (void)
{
    printf ("\n");
    printf ("*******************************************************************************\n");
    printf ("你好欢迎使用\n请输入学生数学成绩按回车结束......");
}

void wait_1_2 (void)
{
    printf ("\n");
    printf ("*******************************************************************************\n");
    printf ("你好欢迎使用\n请输入学生性别(如:男)按回车结束......");
}

void wait_1_1 (void)
{
    system("cls");//清屏
    printf ("\n");
    printf ("*******************************************************************************\n");
    printf ("你好欢迎使用\n请输入学生名字按回车结束......");
}

struct student * godis (void)//此函数用于建立链表 并返回 头指针 
{
    struct student * p;
    p = (struct student *) malloc (student_1);
    return p;
}

void getchar_1_6 (struct student * p)
{
    wait_1_6 ();
    fflush(stdin);//清空磁盘缓冲区 便于重复使用 以及 不影响后面
    scanf ("%f", &(p->score_4));
}

void getchar_1_5 (struct student * p)
{
    wait_1_5 ();
    fflush(stdin);//清空磁盘缓冲区 便于重复使用 以及 不影响后面
    scanf ("%f", &(p->score_3));
    getchar_1_6 (p);
}

void getchar_1_4 (struct student * p)
{
    wait_1_4 ();
    fflush(stdin);//清空磁盘缓冲区 便于重复使用 以及 不影响后面
    scanf ("%f", &(p->score_2));
    getchar_1_5 (p);
}

void getchar_1_3 (struct student * p)
{
    float * k;
    k = &p->score_1;
    wait_1_3 ();
    fflush(stdin);//清空磁盘缓冲区 便于重复使用 以及 不影响后面
    scanf ("%f", k);
    printf ("%f",* k);
    getchar_1_4 (p);
}

void getchar_1_2 (struct student * p)
{
    wait_1_2 ();
    fflush(stdin);//清空磁盘缓冲区 便于重复使用 以及 不影响后面
    scanf ("%s", &(p->sex));
    printf ("%s", p->sex);
    getchar_1_3 (p);
}

void getchar_1_1 (struct student * p)//输入姓名函数 首先 这个 地方 需要 考虑的 是 要是 没有 输入的 话 这个 函数 会生成 一个 链表 所以 这里 采用 一个 函数 来建立链表 最好
{
    wait_1_1 ();//输出选择
    fflush(stdin);//清空磁盘缓冲区 便于重复使用 以及 不影响后面
    scanf ("%s", &p->name);
    printf ("%s", p->name);
    getchar_1_2 (p);
}

void game_1 (void)//一号选择 函数(一号选择主函数 用于定义第一个链表传递值给予输入函数)
{   
    struct student * p;
    read_1 ();//读取
    p = head = p1 = p2 = godis ();
    head = p;
    head->number = 1;
    printf ("%d",p->number);
    getchar_1_1 (p);
    endschar ();
    hello_1 ();
    getchar_1_x ();
}











void game_2 (void)
{}

void game_3 (void)
{}

void game_4 (void)
{}

void game_5 (void)
{}

void esc_esc (void)
{
    printf ("\n\n退出中......");
}

void bigan_1 (int z)//判断选择
{
    switch (z)
    {
    case 1:
        {
            game_1 ();
            break;
        }
    case 2:
        {
            game_2 ();
            break;
        }
    case 3:
        {
            game_3 ();
            break;
        }
    case 4:
        {
            game_4 ();
            break;
        }
    case 5:
        {
            game_5 ();
            break;
        }
    default :
        {
            esc_esc ();
        }
    }
}

int judge_1 (int z)//判断输入
{
    for (;1;)
    {
        system("cls");//清屏
        if (z<1)
        {
            wait_3 ();
            z = judge_no ();

        }
        else if (z>6)
        {
            wait_3 ();
            z = judge_no ();
        
        }
        else
        {
            break;
        }
    }
    return z;
}

int getchar_1 (void)//输入
{
    int z;
    fflush(stdin);//清空磁盘缓冲区
    printf ("\n\n请输入您的选择后按回车键.......");
    scanf ("%d",&z);
    system("cls");//清屏
    
    return z;
}

void wait_3 (void)//输出选择
{
    printf ("\n\n\n");
    printf ("****************************卍卍卍卍卍卍卍卍卍卍********************************\n");
    printf ("*卍卍卍**卍****/////////****卍1.录入学生数据  卍******/////////******卍卍卍**卍*\n");
    printf ("*****卍**卍****/////////****卍2.学生数据查询  卍******/////////**********卍**卍*\n");
    printf ("*卍卍卍卍卍****/////////****卍3.学生数据更改  卍******/////////******卍卍卍卍卍*\n");
    printf ("*卍**卍********/////////****卍4.数据排序选择  卍******/////////******卍**卍*****\n");
    printf ("*卍**卍卍卍****/////////****卍5.单科成绩查询  卍******/////////******卍**卍卍卍*\n");
    printf ("***************/////////****卍6.退出管理程序  卍******/////////*****************\n");
    printf ("****************************卍卍卍卍卍卍卍卍卍卍********************************\n");
}

int wait_2 (void)//用户选择输入函数 (主菜单)
{
    int z, t;
    wait_3 ();//输出选择
    z = getchar_1 ();//取的输入值
    t = judge_1(z);
    return t;
}

void wait_1 (void)//首先调用进入的窗口
{
    printf ("*******************************************************************************\n");
    printf ("*******************************************************************************\n");
    printf ("***            O(∩_∩)O        欢迎使用学生系统      O(∩_∩)O             ***\n");
    printf ("***   O(∩_∩)O                 本系统正在调试期               O(∩_∩)O    ***\n");
    printf ("***            O(∩_∩)O            谢谢使用          O(∩_∩)O             ***\n");
    printf ("**************************************小偌*************************************\n");
    printf ("****************************这个程序的功能会尽力完善***************************\n");
    printf ("**********************************~~~~(>_<)~~~~**************制作人:  小偌*****\n");
    printf ("*******************************************************************************\n");
    printf ("\n\n\n请按回车继续......");
    getchar ();
    system("cls");//清屏
}

int main (void)
{
    int a;
    wait_1 ();//首先调用进入的窗口
    a = wait_2 ();//调用录入函数
    bigan_1 (a);//判断选择
    save_1 ();
    printf ("\n谢谢使用\n");
    
    return 0;
}
搜索更多相关主题的帖子: include 
2011-10-25 14:03
零波丽
Rank: 3Rank: 3
来 自:莉莉斯
等 级:论坛游侠
帖 子:222
专家分:107
注 册:2011-9-8
收藏
得分:0 
呜呜呜 ...改了一下 但是 全局 观念 不够 刚好把第一个选项 写完了
一会 改改 下午的课 不去了 化学 完全不懂
程序代码:
# include <stdio.h>
# include <stdlib.h>
# include <malloc.h>
# define student_1 sizeof (struct student)
# define NULL 0
# include <windows.h>

//首先程序功能是 学生数据管理 所以 需要的功能尽量写上去

void esc_esc (void);
void hello_1 (void);
struct student * head, * p1, * p2;
void wait_3 (void);
void getchar_1_1 (struct student *);
void getchar_1_2 (struct student *);
void getchar_1_3 (struct student *);
void getchar_1_4 (struct student *);
void getchar_1_5 (struct student *);
void getchar_1_4 (struct student *);
void wait_1_1 (void);
void wait_1_2 (void);
void wait_1_3 (void);
void wait_1_4 (void);
void wait_1_5 (void);
void wait_1_6 (void);
void endschar (void);
void getchar_1_x (void);
void hello_1 (void);
void judge_1_x (int );
int i = 2;

struct student
{
    char name[22];
    char sex[1];
    float score_1;
    float score_2;
    float score_3;
    float score_4;
    int number;

    struct student * next;
};



int judge_no (void)//错误后输入
{
    int z;
    printf ("\n对不起,您的输入有误请重新输入...");
    fflush(stdin);//清空磁盘缓冲区
    scanf ("%d",&z);
    return z;
}

void changes (struct student * p1,struct student * p2)//此函数用于更改链表 思路 源于 TonyDeng兄
{
    
}

struct student * godis (void);

void changes_1 (struct student * p, struct student * n)//此函数用于连接链表 
{
    p->next = n;
}

void goto_1 ()//继续输入
{
    struct student * p;
    p1->next = p = godis ();
    p1 = p;
    p->number = i++;
    getchar_1_1 (p);
    endschar ();
    hello_1 ();
    getchar_1_x ();
}
void changes_1_x ()
{
    getchar_1_1 (p1);
    hello_1 ();
    getchar_1_x ();
}
void putchar_1 ()
{
    int j = 0;
    p1 = head;
    for (;j<i-1;)
    {
        printf ("姓名:%s \n性别:%s \n数学成绩:%f \n语文成绩:%f \n英语成绩:%f \n计算机成绩:%f\n", p1->name,p1->sex,p1->score_1,p1->score_2,p1->score_3,p1->score_4);
        p1 = p1->next;
        j++;
    }
}

void judge_1_x (int a)
{
    switch (a)
    {
    case 1:
        {
            goto_1 ();//继续输入
            break;
        }
    case 2:
        {
            changes_1_x ();//更改先前输入
            break;
        }
    case 3:
        {
            putchar_1 ();//输出先前输入
            break;
        }

    default :
        {
            esc_esc ();//退出
        }
    }

}

void getchar_1_x (void)
{
    int a;
    fflush(stdin);//清空磁盘缓冲区 便于重复使用 以及 不影响后面
    scanf ("%d", & a);
    for (;(a<=4)||(a>=1);)
    {
        if (a>4)
        {
            a = judge_no ();
        }
        else if (a<1)
        {
            a = judge_no ();

        }
        else 
        {    
            system("cls");//清屏
            break;
        }
    }
    judge_1_x (a);
}

void hello_1 (void)//此函数用于输出
{
    system("cls");//清屏
    printf ("上一位学生信息输入完毕\n");
    printf ("1.继续输入\n");
    printf ("2.更改先前输入\n");
    printf ("3.将先前输入的学生信息输出\n");
    printf ("4.退出程序\n");
    printf ("*******************************************************************************\n");
    printf ("请选择........");
}

void save_1 (void)
{}

void read_1 (void)
{}

void endschar (void)
{
    printf ("\n*******************************************************************************\n");
}

void wait_1_6 (void)
{
    printf ("\n");
    printf ("*******************************************************************************\n");
    printf ("你好欢迎使用\n请输入学生计算机成绩按回车结束......");
}

void wait_1_5 (void)
{
    printf ("\n");
    printf ("*******************************************************************************\n");
    printf ("你好欢迎使用\n请输入学生英语成绩按回车结束......");
}

void wait_1_4 (void)
{
    printf ("\n");
    printf ("*******************************************************************************\n");
    printf ("你好欢迎使用\n请输入学生语文成绩按回车结束......");
}

void wait_1_3 (void)
{
    printf ("\n");
    printf ("*******************************************************************************\n");
    printf ("你好欢迎使用\n请输入学生数学成绩按回车结束......");
}

void wait_1_2 (void)
{
    printf ("\n");
    printf ("*******************************************************************************\n");
    printf ("你好欢迎使用\n请输入学生性别(如:男)按回车结束......");
}

void wait_1_1 (void)
{
    system("cls");//清屏
    printf ("\n");
    printf ("*******************************************************************************\n");
    printf ("你好欢迎使用\n请输入学生名字按回车结束......");
}

struct student * godis (void)//此函数用于建立链表 并返回 头指针 
{
    struct student * p;
    p = (struct student *) malloc (student_1);
    return p;
}

void getchar_1_6 (struct student * p)
{
    wait_1_6 ();
    fflush(stdin);//清空磁盘缓冲区 便于重复使用 以及 不影响后面
    scanf ("%f", &(p->score_4));
}

void getchar_1_5 (struct student * p)
{
    wait_1_5 ();
    fflush(stdin);//清空磁盘缓冲区 便于重复使用 以及 不影响后面
    scanf ("%f", &(p->score_3));
    getchar_1_6 (p);
}

void getchar_1_4 (struct student * p)
{
    wait_1_4 ();
    fflush(stdin);//清空磁盘缓冲区 便于重复使用 以及 不影响后面
    scanf ("%f", &(p->score_2));
    getchar_1_5 (p);
}

void getchar_1_3 (struct student * p)
{
    float * k;
    k = &p->score_1;
    wait_1_3 ();
    fflush(stdin);//清空磁盘缓冲区 便于重复使用 以及 不影响后面
    scanf ("%f", k);
    printf ("%f",* k);
    getchar_1_4 (p);
}

void getchar_1_2 (struct student * p)
{
    wait_1_2 ();
    fflush(stdin);//清空磁盘缓冲区 便于重复使用 以及 不影响后面
    scanf ("%s", &(p->sex));
    printf ("%s", p->sex);
    getchar_1_3 (p);
}

void getchar_1_1 (struct student * p)//输入姓名函数 首先 这个 地方 需要 考虑的 是 要是 没有 输入的 话 这个 函数 会生成 一个 链表 所以 这里 采用 一个 函数 来建立链表 最好
{
    wait_1_1 ();//输出选择
    fflush(stdin);//清空磁盘缓冲区 便于重复使用 以及 不影响后面
    scanf ("%s", &p->name);
    printf ("%s", p->name);
    getchar_1_2 (p);
}

void game_1 (void)//一号选择 函数(一号选择主函数 用于定义第一个链表传递值给予输入函数)
{   
    struct student * p;
    read_1 ();//读取
    p = head = p1 = p2 = godis ();
    head = p;
    head->number = 1;
    printf ("%d",p->number);
    getchar_1_1 (p);
    endschar ();
    hello_1 ();
    getchar_1_x ();
}











void game_2 (void)
{}

void game_3 (void)
{}

void game_4 (void)
{}

void game_5 (void)
{}

void esc_esc (void)
{
    printf ("\n\n退出中......");
}

void bigan_1 (int z)//判断选择
{
    switch (z)
    {
    case 1:
        {
            game_1 ();
            break;
        }
    case 2:
        {
            game_2 ();
            break;
        }
    case 3:
        {
            game_3 ();
            break;
        }
    case 4:
        {
            game_4 ();
            break;
        }
    case 5:
        {
            game_5 ();
            break;
        }
    default :
        {
            esc_esc ();
        }
    }
}

int judge_1 (int z)//判断输入
{
    for (;1;)
    {
        system("cls");//清屏
        if (z<1)
        {
            wait_3 ();
            z = judge_no ();

        }
        else if (z>6)
        {
            wait_3 ();
            z = judge_no ();
        
        }
        else
        {
            break;
        }
    }
    return z;
}

int getchar_1 (void)//输入
{
    int z;
    fflush(stdin);//清空磁盘缓冲区
    printf ("\n\n请输入您的选择后按回车键.......");
    scanf ("%d",&z);
    system("cls");//清屏
    
    return z;
}

void wait_3 (void)//输出选择
{
    printf ("\n\n\n");
    printf ("****************************卍卍卍卍卍卍卍卍卍卍********************************\n");
    printf ("*卍卍卍**卍****/////////****卍1.录入学生数据  卍******/////////******卍卍卍**卍*\n");
    printf ("*****卍**卍****/////////****卍2.学生数据查询  卍******/////////**********卍**卍*\n");
    printf ("*卍卍卍卍卍****/////////****卍3.学生数据更改  卍******/////////******卍卍卍卍卍*\n");
    printf ("*卍**卍********/////////****卍4.数据排序选择  卍******/////////******卍**卍*****\n");
    printf ("*卍**卍卍卍****/////////****卍5.单科成绩查询  卍******/////////******卍**卍卍卍*\n");
    printf ("***************/////////****卍6.退出管理程序  卍******/////////*****************\n");
    printf ("****************************卍卍卍卍卍卍卍卍卍卍********************************\n");
}

int wait_2 (void)//用户选择输入函数 (主菜单)
{
    int z, t;
    wait_3 ();//输出选择
    z = getchar_1 ();//取的输入值
    t = judge_1(z);
    return t;
}

void wait_1 (void)//首先调用进入的窗口
{
    printf ("*******************************************************************************\n");
    printf ("*******************************************************************************\n");
    printf ("***            O(∩_∩)O        欢迎使用学生系统      O(∩_∩)O             ***\n");
    printf ("***   O(∩_∩)O                 本系统正在调试期               O(∩_∩)O    ***\n");
    printf ("***            O(∩_∩)O            谢谢使用          O(∩_∩)O             ***\n");
    printf ("**************************************小偌*************************************\n");
    printf ("****************************这个程序的功能会尽力完善***************************\n");
    printf ("**********************************~~~~(>_<)~~~~**************制作人:  小偌*****\n");
    printf ("*******************************************************************************\n");
    printf ("\n\n\n请按回车继续......");
    getchar ();
    system("cls");//清屏
}

int main (void)
{
    int a;
    wait_1 ();//首先调用进入的窗口
    a = wait_2 ();//调用录入函数
    bigan_1 (a);//判断选择
    save_1 ();
    printf ("\n谢谢使用\n");
    
    return 0;
}

人又是什么?神造出来的东西。 人是人造出来的东西。
2011-10-25 14:18
零波丽
Rank: 3Rank: 3
来 自:莉莉斯
等 级:论坛游侠
帖 子:222
专家分:107
注 册:2011-9-8
收藏
得分:0 
好的

人又是什么?神造出来的东西。 人是人造出来的东西。
2011-10-25 14:26
零波丽
Rank: 3Rank: 3
来 自:莉莉斯
等 级:论坛游侠
帖 子:222
专家分:107
注 册:2011-9-8
收藏
得分:0 
望着TonyDeng兄 海一般的回帖 我 淡定 继续找 ..........

人又是什么?神造出来的东西。 人是人造出来的东西。
2011-10-25 14:36
零波丽
Rank: 3Rank: 3
来 自:莉莉斯
等 级:论坛游侠
帖 子:222
专家分:107
注 册:2011-9-8
收藏
得分:0 
额..........好吧
恩 ?头文件 和 实现?那是 什么东西?
可是 恩 其实 可以的 只是 我希望 可以 一个 一个 的 改 让用户 所以 .......以后 好 调用的说 .........恩 我试试

人又是什么?神造出来的东西。 人是人造出来的东西。
2011-10-25 14:53
零波丽
Rank: 3Rank: 3
来 自:莉莉斯
等 级:论坛游侠
帖 子:222
专家分:107
注 册:2011-9-8
收藏
得分:0 
好的 刚才 又 读了 一下 程序 发现 功能都写重了 .....
诶 几天 写的 就是 思路 跟不上 诶
我去研究研究 希望能写出  起码 能上眼的 程序 恩 加油 闭关!

人又是什么?神造出来的东西。 人是人造出来的东西。
2011-10-25 15:16
零波丽
Rank: 3Rank: 3
来 自:莉莉斯
等 级:论坛游侠
帖 子:222
专家分:107
注 册:2011-9-8
收藏
得分:0 
好了 首先  我看了看 竟然发现 不确定 是否是 C语言 ....我没见过 那种 东西
然后 没用成 TonyDeng 兄 怎么办了?~
然后 用原来的 方法 没BUG的 写完了 第一个 选项 然后 感觉 首先 代码 过于长了 其二 感觉 应该有很多地方 可以省略的 或者 简短 没办法
所以 这方面的 书 必须 学学了 然后 hellovfp 兄  你的 那本书 我会看的 这个 周末就去看 尽量能用上去  或者 以后 在写 一个 反正 TonyDeng 也说过 起码能够 改正一年 所以 不急
我觉得 要是 写出来 的 东西  要是 别人 肯去 试试 或者是 用用的 界面?~还不会 以后 一会 加上 做一个东西 就要把它 做到 完美的 说 所以 加油了 闭关 下午没去上课 一个 爽啊 ~哈哈
程序代码:
# include <stdio.h>
# include <stdlib.h>
# include <malloc.h>
# define student_1 sizeof (struct student)
# define NULL 0
# include <windows.h>

//首先程序功能是 学生数据管理 所以 需要的功能尽量写上去

void esc_esc (void);
void hello_1 (void);
struct student * head, * p1, * p2;
void wait_3 (void);
void getchar_1_1 (struct student *);
void getchar_1_2 (struct student *);
void getchar_1_3 (struct student *);
void getchar_1_4 (struct student *);
void getchar_1_5 (struct student *);
void getchar_1_4 (struct student *);
void wait_1_1 (void);
void wait_1_2 (void);
void wait_1_3 (void);
void wait_1_4 (void);
void wait_1_5 (void);
void wait_1_6 (void);
void endschar (void);
void getchar_1_x (void);
void hello_1 (void);
void judge_1_x (int );
void wait_1 (void);//首先调用进入的窗口
int wait_2 (void);//用户选择输入函数 (主菜单)
void bigan_1 (int z);//判断选择
int i = 2;

struct student
{
    char name[22];
    char sex[1];
    float score_1;
    float score_2;
    float score_3;
    float score_4;
    int number;
    
    struct student * next;
};



int judge_no (void)//错误后输入
{
    int z;
    printf ("\n对不起,您的输入有误请重新输入...");
    fflush(stdin);//清空磁盘缓冲区
    scanf ("%d",&z);
    return z;
}

void changes (struct student * p1,struct student * p2)//此函数用于更改链表 思路 源于 TonyDeng兄
{
    
}

struct student * godis (void);

void changes_1 (struct student * p, struct student * n)//此函数用于连接链表 
{
    p->next = n;
}

void goto_1 ()//继续输入
{
    struct student * p;
    p2->next = p = godis ();
    p2 = p;
    p->number = i++;
    getchar_1_1 (p);
    endschar ();
    hello_1 ();
    getchar_1_x ();
}
void changes_1_x ()//更改的
{
    getchar_1_1 (p2);
    hello_1 ();
    getchar_1_x ();
}
void putchar_1 ()//输出 
{
    int j = 0;
    p1 = head;
    for (;j<i-1;)
    {
        printf ("姓名:%s \n性别:%s \n数学成绩:%f \n语文成绩:%f \n英语成绩:%f \n计算机成绩:%f\n", p1->name,p1->sex,p1->score_1,p1->score_2,p1->score_3,p1->score_4);
        endschar ();
        p1 = p1->next;
        j++;
    }
    fflush(stdin);//清空磁盘缓冲区 便于重复使用 以及 不影响后面
    hello_1 ();
    getchar_1_x ();
}

void judge_1_x (int a)
{
    int b;
    switch (a)
    {
    case 1:
        {
            goto_1 ();//继续输入
            break;
        }
    case 2:
        {
            changes_1_x ();//更改先前输入
            break;
        }
    case 3:
        {
            putchar_1 ();//输出先前输入
            break;
        }
        
    default :
        {
            save_1 ();
            b = wait_2 ();//调用录入函数
            bigan_1 (b);//判断选择
        }
    }
    
}

void getchar_1_x (void)//判断 
{
    int a;
    fflush(stdin);//清空磁盘缓冲区 便于重复使用 以及 不影响后面
    scanf ("%d", & a);
    for (;(a<=4)||(a>=1);)
    {
        if (a>4)
        {
            a = judge_no ();
        }
        else if (a<1)
        {
            a = judge_no ();
            
        }
        else 
        {    
            system("cls");//清屏
            break;
        }
    }
    judge_1_x (a);
}

void hello_1 (void)//此函数用于输出
{
    
    printf ("上一位学生信息输入完毕\n");
    printf ("1.继续输入\n");
    printf ("2.更改先前输入(只能更改最后一次输入 谢谢 如需改写前面请回主菜单)\n");
    printf ("3.将先前输入的学生信息输出\n");
    printf ("4.回主菜单\n");
    printf ("*******************************************************************************\n");
    printf ("请选择........");
}

void save_1 (void)
{}

void read_1 (void)
{}

void endschar (void)
{
    printf ("\n*******************************************************************************\n");
}

void wait_1_6 (void)
{
    printf ("\n");
    printf ("*******************************************************************************\n");
    printf ("你好欢迎使用\n请输入学生计算机成绩按回车结束......");
}

void wait_1_5 (void)
{
    printf ("\n");
    printf ("*******************************************************************************\n");
    printf ("你好欢迎使用\n请输入学生英语成绩按回车结束......");
}

void wait_1_4 (void)
{
    printf ("\n");
    printf ("*******************************************************************************\n");
    printf ("你好欢迎使用\n请输入学生语文成绩按回车结束......");
}

void wait_1_3 (void)
{
    printf ("\n");
    printf ("*******************************************************************************\n");
    printf ("你好欢迎使用\n请输入学生数学成绩按回车结束......");
}

void wait_1_2 (void)
{
    printf ("\n");
    printf ("*******************************************************************************\n");
    printf ("你好欢迎使用\n请输入学生性别(如:男)按回车结束......");
}

void wait_1_1 (void)
{
    system("cls");//清屏
    printf ("\n");
    printf ("*******************************************************************************\n");
    printf ("你好欢迎使用\n请输入学生名字按回车结束......");
}

struct student * godis (void)//此函数用于建立链表 并返回 头指针 
{
    struct student * p;
    p = (struct student *) malloc (student_1);
    return p;
}

void getchar_1_6 (struct student * p)
{
    wait_1_6 ();
    fflush(stdin);//清空磁盘缓冲区 便于重复使用 以及 不影响后面
    scanf ("%f", &(p->score_4));
}

void getchar_1_5 (struct student * p)
{
    wait_1_5 ();
    fflush(stdin);//清空磁盘缓冲区 便于重复使用 以及 不影响后面
    scanf ("%f", &(p->score_3));
    getchar_1_6 (p);
}

void getchar_1_4 (struct student * p)
{
    wait_1_4 ();
    fflush(stdin);//清空磁盘缓冲区 便于重复使用 以及 不影响后面
    scanf ("%f", &(p->score_2));
    getchar_1_5 (p);
}

void getchar_1_3 (struct student * p)
{
    float * k;
    k = &p->score_1;
    wait_1_3 ();
    fflush(stdin);//清空磁盘缓冲区 便于重复使用 以及 不影响后面
    scanf ("%f", k);
    printf ("%f",* k);
    getchar_1_4 (p);
}

void getchar_1_2 (struct student * p)
{
    wait_1_2 ();
    fflush(stdin);//清空磁盘缓冲区 便于重复使用 以及 不影响后面
    scanf ("%s", &(p->sex));
    printf ("%s", p->sex);
    getchar_1_3 (p);
}

void getchar_1_1 (struct student * p)//输入姓名函数 首先 这个 地方 需要 考虑的 是 要是 没有 输入的 话 这个 函数 会生成 一个 链表 所以 这里 采用 一个 函数 来建立链表 最好
{
    wait_1_1 ();//输出选择
    fflush(stdin);//清空磁盘缓冲区 便于重复使用 以及 不影响后面
    scanf ("%s", &p->name);
    printf ("%s", p->name);
    getchar_1_2 (p);
}

void game_1 (void)//一号选择 函数(一号选择主函数 用于定义第一个链表传递值给予输入函数)
{   
    struct student * p;
    read_1 ();//读取
    p = head = p1 = p2 = godis ();
    head = p;
    head->number = 1;
    getchar_1_1 (p);
    endschar ();
    hello_1 ();
    getchar_1_x ();
}

void game_2 (void)
{
}








void game_3 (void)
{}

void game_4 (void)
{}

void game_5 (void)
{}

void esc_esc (void)
{
    printf ("\n\n退出中......");
}

void bigan_1 (int z)//判断选择
{
    switch (z)
    {
    case 1:
        {
            game_1 ();
            break;
        }
    case 2:
        {
            game_2 ();
            break;
        }
    case 3:
        {
            game_3 ();
            break;
        }
    case 4:
        {
            game_4 ();
            break;
        }
    case 5:
        {
            game_5 ();
            break;
        }
    default :
        {
            esc_esc ();
        }
    }
}

int judge_1 (int z)//判断输入
{
    for (;1;)
    {
        system("cls");//清屏
        if (z<1)
        {
            wait_3 ();
            z = judge_no ();
            
        }
        else if (z>6)
        {
            wait_3 ();
            z = judge_no ();
            
        }
        else
        {
            break;
        }
    }
    return z;
}

int getchar_1 (void)//输入
{
    int z;
    fflush(stdin);//清空磁盘缓冲区
    printf ("\n\n请输入您的选择后按回车键.......");
    scanf ("%d",&z);
    system("cls");//清屏
    
    return z;
}

void wait_3 (void)//输出选择
{
    printf ("\n\n\n");
    printf ("****************************卍卍卍卍卍卍卍卍卍卍********************************\n");
    printf ("*卍卍卍**卍****/////////****卍1.录入学生数据  卍******/////////******卍卍卍**卍*\n");
    printf ("*****卍**卍****/////////****卍2.学生数据查询  卍******/////////**********卍**卍*\n");
    printf ("*卍卍卍卍卍****/////////****卍3.学生数据更改  卍******/////////******卍卍卍卍卍*\n");
    printf ("*卍**卍********/////////****卍4.数据排序选择  卍******/////////******卍**卍*****\n");
    printf ("*卍**卍卍卍****/////////****卍5.单科成绩查询  卍******/////////******卍**卍卍卍*\n");
    printf ("***************/////////****卍6.退出管理程序  卍******/////////*****************\n");
    printf ("****************************卍卍卍卍卍卍卍卍卍卍********************************\n");
}

int wait_2 (void)//用户选择输入函数 (主菜单)
{
    int z, t;
    wait_3 ();//输出选择
    z = getchar_1 ();//取的输入值
    t = judge_1(z);
    return t;
}

void wait_1 (void)//首先调用进入的窗口
{
    printf ("*******************************************************************************\n");
    printf ("*******************************************************************************\n");
    printf ("***            O(∩_∩)O        欢迎使用学生系统      O(∩_∩)O             ***\n");
    printf ("***   O(∩_∩)O                 本系统正在调试期               O(∩_∩)O    ***\n");
    printf ("***            O(∩_∩)O            谢谢使用          O(∩_∩)O             ***\n");
    printf ("**************************************小偌*************************************\n");
    printf ("****************************这个程序的功能会尽力完善***************************\n");
    printf ("**********************************~~~~(>_<)~~~~**************制作人:  小偌*****\n");
    printf ("*******************************************************************************\n");
    printf ("\n\n\n请按回车继续......");
    getchar ();
    system("cls");//清屏
}

int main (void)
{
    int a;
    wait_1 ();//首先调用进入的窗口
    a = wait_2 ();//调用录入函数
    bigan_1 (a);//判断选择
    save_1 ();
    printf ("\n谢谢使用\n");
    free (head);
    return 0;
}

对于 代码 建议 不要看了 我自己 都看着 吃力 只是 附带上 而已
最后 我想说 草泥马 这个 破学校 上课 和高中一样!

人又是什么?神造出来的东西。 人是人造出来的东西。
2011-10-25 17:09
零波丽
Rank: 3Rank: 3
来 自:莉莉斯
等 级:论坛游侠
帖 子:222
专家分:107
注 册:2011-9-8
收藏
得分:0 
一般般吧 好看点 就这样了

人又是什么?神造出来的东西。 人是人造出来的东西。
2011-10-25 17:13
快速回复:无语了 暂时 混乱至极
数据加载中...
 
   



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

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