美文网首页
第8章字符输入/输出和输入确认

第8章字符输入/输出和输入确认

作者: 小风xf | 来源:发表于2018-11-25 14:01 被阅读0次

    重复输入

    #include <stdio.h>

     void main()

    {

        char ch ;

        while ((ch = getchar()) != '#') {

            putchar(ch);

        }

    }

    打开一个文件并显示其中的内容,要写上路径。

    #include <stdio.h>

    #include <stdlib.h>

     void main()

    {

        int ch ;

        FILE *fp;

        char fname[50];

        printf(" enter the name of the file ");

        scanf("%s",fname);

        fp =fopen(fname, "r");

        if (fp== NULL) {

            printf(" filed to open file , bye \n");

            exit(1);

        }

        while ((ch = getc(fp))!= EOF) {

            putchar(ch);

        }

        fclose(fp);

    }

    垃圾菜数

    #include <stdio.h>

     int main()

    {

        int guess = 1;

        printf(" pick an integer from 1 to 100 i will try to guess ");

        printf("it .\n respond with a y if my guess is right and with ");

        printf("\n an n if it is wrong .\n");

        char ch;

        printf("Uhhhh. is your number %d \n",guess);

        while ((ch = getchar()) != 'y') {

            printf(" well then is it %d \n",++guess);

              }

        printf(" i knew i could do it \n");

        }

    带有较大的I/O 问题的程序,其实就是矩阵

    #include <stdio.h>

    void display ( char cr ,int lines , int width )

    {

        int row ,col;

        for (row = 1 ; row <= lines ; row++)

        {

            for ( col = 1 ; col <= width ; col++)

            {

                putchar(cr);

            }

            putchar ('\n');

        }

    }

    void main()

    {

        int ch ;

        int rows ,cols ;

        while ((ch = getchar())!= '\n') {

            scanf("%d %d", &rows , &cols);

            display(ch,rows,cols);

        }

      }

    #include <stdio.h>

    void display ( char cr ,int lines , int width )

    {

        int row ,col;

        for (row = 1 ; row <= lines ; row++)

        {

            for ( col = 1 ; col <= width ; col++)

            {

                putchar(cr);

            }

            putchar ('\n');

        }

    }

    void main()

    {

        int ch ;

        int rows ,cols ;

        while ((ch = getchar())!= '\n') {

            if ((scanf("%d %d" , &rows , & cols ) )!= 2) {

                break;

                }display(ch,rows,cols);

                while (getchar() != '\n') {

                    continue;

            }    }

      }

    确认输入

    #include <stdio.h>

    #include <stdbool.h>

     int get_int (void )

    {

        int input ;

        char ch ;

        while (scanf("%d",&input) != 1)

        {

            while ((ch = getchar () )!= '\n')

            {

                putchar(ch);

            }

         }

        return input;

    }

    double sum_squares ( int a, int b)

    {

        double total = 0;

        int i ;

        for ( i = a ; i <= b ; i ++ ) {

            total += i *i ;

        }

        return total;

    }

    bool bad_limits ( int  begin ,int end , int low ,int high )

    {

        bool not_good = false;

        if (begin > end) {

            printf(" %d isn't smaller than %d \n ",begin,end);

            not_good =true;

        }

        if (begin < low || end < low ) {

            printf(" values nust be %d or greater \n ",low);

            not_good =true;

        }

        if (begin > high || end>high) {

            printf("values nust be %d or greater \n ",high  );

            not_good =true;

        }

        return not_good;

    }

    void main()

    {

        const int MIN = -1000;

        const  int MAX = +1000;

        int start ;

        int stop ;

        double answer ;

        start =get_int();

        printf(" upper ilmit ");

        stop =get_int();

        while (start != 0 || stop != 0) {

            if (bad_limits(start, stop,MIN, MAX)) {

                printf("plese");

            }

            else

            {

                answer =sum_squares(start, stop);

                printf("the ");

                printf("for %d to %d is %g \n ",start, stop , answer);

            }

            printf("En");

            printf("low ");

            start =get_int();

            printf("upp");

            stop  =get_int();

        }

    菜单技术

    #define _CRT_SECURE_NO_WARNINGS

    #include <stdio.h>

    char get_choice(void );

    char get_first(void);

    void count(void);

    int get_int(void );

    void count(void)

    {

    int n ,i ;

    printf(" count how far \n");

    n = get_int();

    for (int i = 1; i <= n ; i++)

    {

    printf("%d \n ",i);

    }

    while (getchar()!= '\n')

    {

    continue;

    }

    }

    char get_first(void)

    {

        int ch ;

        ch = getchar()  ;

        while (getchar() != '\n') {

            continue;

        }

        return ch;

    }

    char get_choice(void )

    {

        int ch;

        printf(" enter the letter of your choice \n");

        printf("a.advice    b.bell \n");

        printf("c.count      q.quit \n");

        ch = get_first();

        while ((ch < 'a' || ch > 'c' ) && ch != 'q' ) {

            printf(" plese respond with a, b, c, or q .\n");

            ch = get_first();

        }

        return  ch ;

    }

    int get_int(void )

    {

        int input ;

        char ch ;

        while (scanf(" %d" , &input) != 1  ) {

            while ((ch = getchar()) != '\n') {

                putchar(ch);

            }

            printf("is not an integer ");

        }

        return input;

    }

    void  main()

        int choice;

        void count (void);

        while ((choice = get_choice()) != 'q') {

            switch (choice) {

                case 'a':

                    printf(" buy low , sell high \n");

                    break;

                case 'b':

                    putchar('\a');

                    break;

                case 'c':

                    count();

                    break;

                case 'd':

                    printf(" buy low , sell high \n");

                    break;

                default:

                    break;

            }

        }

    }

    相关文章

      网友评论

          本文标题:第8章字符输入/输出和输入确认

          本文链接:https://www.haomeiwen.com/subject/bcepqqtx.html