标题:怎样插入是否继续(y/n)这个语句!
只看楼主
billtob
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2007-11-17
 问题点数:0 回复次数:11 
怎样插入是否继续(y/n)这个语句!
#include <stdio.h>
#define N 5
struct student
{
    int num;
    char name[15];
    float score1;
    float score2,score3;
};
void main()
{
    /*char ans;
    ans = 'Y'
    while(ans=='Y'||ans=='y')
    {*/
    struct student stu[N];
    int i;
    for(i=0;i<N;++i)
    {
        printf("\n请输入第%d个学员的信息:\n\t",i+1);
        printf("学号:");
        fflush(stdin);
        scanf("%d",&stu[i].num);
        printf("姓名:");
        fflush(stdin);
        gets(stu[i].name);
        printf("课程成绩1:");
        scanf("%5.2f",&stu[i].score1);
        fflush(stdin);
        printf("课程成绩2:");
        scanf("%5.2f",&stu[i].score2);
        fflush(stdin);
        printf("课程成绩3:");
        scanf("%5.2",&stu[i].score3);
    }
    /*}
    printf("\n您是否要继续(y/n)")
    fflush(stdin);
    scanf("%c",&ans);*/
       
   
}请帮忙修改一下!

[[italic] 本帖最后由 billtob 于 2007-12-11 13:49 编辑 [/italic]]
搜索更多相关主题的帖子: ans 语句 stu float 
2007-12-11 13:36
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
得分:0 
#include <stdio.h>
#define N 5

struct student
{
    int num;
    char name[15];
    float score1;
    float score2;
};

int main(void)
{
    int ans;
    struct student stu[N];
    int i;
    ans = 'Y';
   
    while(ans == 'Y' || ans == 'y')
    {
        for(i = 0; i < N; ++i)
        {
            printf("请输入第%d个学员的信息:\n",i+1);
            printf("学号:");
            scanf("%d", &stu[i].num);
            fflush(stdin);
            
            printf("姓名:");
            gets(stu[i].name);
            
            printf("C课程成绩:");
            scanf("%5.2f", &stu[i].score1);
            fflush(stdin);
            
            printf("java课程成绩:");
            scanf("%5.2f", &stu[i].score2);
            fflush(stdin);
            putchar('\n');
        }
        printf("是否继续[Y/N]... ");
        ans = getchar();
        fflush(stdin);
    }
   
    return 0;
}

—>〉Sun〈<—
2007-12-11 13:57
billtob
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2007-11-17
得分:0 
那我想执行一个学员后就打出上否要继续呢!
2007-12-11 14:09
布拉莫斯
Rank: 1
来 自:中国太平洋舰队
等 级:新手上路
帖 子:169
专家分:0
注 册:2007-3-31
得分:0 
#include <stdio.h>
#define N 5

struct student
{
    int num;
    char name[15];
    float score1;
    float score2;
};

int main(void)
{
    int ans;
    struct student stu[N];
    int i;
    ans = 'Y';
   
    while(ans == 'Y' || ans == 'y')
    {
        for(i = 0; i < N; ++i)
        {
            printf("请输入第%d个学员的信息:\n",i+1);
            printf("学号:");
            scanf("%d", &stu[i].num);
            fflush(stdin);
            
            printf("姓名:");
            gets(stu[i].name);
            
            printf("C课程成绩:");
            scanf("%5.2f", &stu[i].score1);
            fflush(stdin);
            
            printf("java课程成绩:");
            scanf("%5.2f", &stu[i].score2);
            fflush(stdin);
            putchar('\n');
            printf("是否继续[Y/N]... ");
            ans = getchar();
            fflush(stdin);
            if(ans=='N'||ans=='n') break;
        }
      
    }
   
    return 0;
}

把判断放进去就可以了。。

真理往往掌握在少数人手中,可现实却是少数服从多数!
2007-12-11 14:15
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
得分:0 
#include <stdio.h>
#define N 5

struct student
{
    int num;
    char name[15];
    float score1;
    float score2;
};

/* [Y/N] 函数原型,输入了Y或y返回1,输入N或n返回0 */
int yorn(char * str);

void show(struct student * ar, int n);

int main(void)
{
    int ans = 1;
    struct student stu[N];
    int i;
   
    /* 最好加入输入的是否是数字的判断 */
    for(i = 0; i < N && ans == 1; ++i)
    {
        printf("请输入第%d个学员的信息:\n",i+1);
        printf("学号:");
        scanf("%d", &stu[i].num);
        fflush(stdin);
            
        printf("姓名:");
        gets(stu[i].name);
            
        printf("C课程成绩:");
        scanf("%5.2f", &stu[i].score1);
        fflush(stdin);
            
        printf("java课程成绩:");
        scanf("%5.2f", &stu[i].score2);
        fflush(stdin);
        
        if((i + 1) < N)
        {
            putchar('\n');
            ans = yorn("下一个学生");
        }
    }

    show(stu, i);      /* 显示成绩 */

    printf("Press ENTER to quit...\n");
    getchar();
    return 0;
}


int yorn(char * str)
{
    int ch;
    printf("%s [Y/N]... ", str);
    while((ch = getchar()) == EOF
           || (ch != 'y' && ch != 'Y' && ch != 'n' && ch != 'N') )
    {
        printf("[Y/N]... ");
        while(getchar() != '\n')
            continue;
    }
    while(getchar() != '\n')
        continue;
    putchar('\n');
    return ((ch == 'Y' || ch == 'y') ? 1 : 0);
}

void show(struct student * ar, int n)
{
    int i;
    putchar('\n');
    for(i = 0; i < n; i++)
    {
        printf("%d号 %s : \n", ar[i].num, ar[i].name);
        printf("C: %.1f分 Java: %.1f分\n\n", ar[i].score1, ar[i].score1);
    }
}


[[italic] 本帖最后由 cosdos 于 2007-12-11 14:26 编辑 [/italic]]

—>〉Sun〈<—
2007-12-11 14:24
billtob
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2007-11-17
得分:0 
挺复杂!我得慢慢消化的!谢谢你们呀!
2007-12-11 14:28
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
得分:0 
代码长不代表复杂!

—>〉Sun〈<—
2007-12-11 14:33
billtob
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2007-11-17
得分:0 
还有这些我没想通的!!就是这道先显示学员的平均分,然后按大到小排序后再显示出来!还可以插入和删除学员信息! ...我想两天都不知道怎么写!请教一下呀!
2007-12-11 14:37
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
得分:0 
原帖由 [bold][underline]billtob[/underline][/bold] 于 2007-12-11 14:37 发表 [url=http://bbs.][/url]
还有这些我没想通的!!就是这道先显示学员的平均分,然后按大到小排序后再显示出来!还可以插入和删除学员信息! ...我想两天都不知道怎么写!请教一下呀! ...


有没有学数据结构啊?

[[italic] 本帖最后由 cosdos 于 2007-12-11 18:48 编辑 [/italic]]

—>〉Sun〈<—
2007-12-11 18:02
billtob
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2007-11-17
得分:0 
有的
2007-12-11 19:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-191743-1-1.html




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

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