精华内容
下载资源
问答
  • C语言课程设计)图书管理系统

    千次阅读 2011-04-05 20:37:00
    今天拿出了老师的课程设计报告要求。根据要求弄了半天,对着书上的例题,终于勉强弄出来一个小型图书管理系统。不管怎么说,这是我头一次自己一个完整的有点功能的程序。也学到了不少的小知识。甚至在做完编译成功...
       

    学校开了C语言的课,学了很久C语言了,但是水平还是很垃圾。但还是得学。今天拿出了老师的课程设计报告要求。根据要求弄了半天,对着书上的例题,终于勉强弄出来一个小型图书管理系统。不管怎么说,这是我头一次自己写一个完整的有点功能的程序。也学到了不少的小知识。甚至在做完编译成功的时候还小有点成就感呢(刚写出来到程序,报出了N十来个错误,高手们不要拍我啊,哈哈)。

    通过写了这一个程序,发现对于基础知识的理解真的很重要。比如函数参数及其传递,全局变量与局部变量,函数声明,数组的内存空间,还有对于各个变量的定义。没有真正弄懂这些东西写的程序会多很多错误而且浪费时间,而理解了就能避免很多错误。

    确实,自己动手写程序很重要。即使你看的再明白,在动手的时候仍可能会出些错误,这些错误有时是很小的,比如将==写成赋值符号,或者少些了一个“;”,这些都是第一次编写程序时稍不注意便会出现的。一旦多写些程序,注意一下,这种错误便会很容易避免。而且编程序的过程也是综合利用自己所学知识的过程,在这之中可以发现自己的不足,加深对知识的理解。下面就是写的程序了。

    **************************************************************************************************************

     

     

    #include<stdio.h>
    #include<stdlib.h>
    #include<conio.h>
    #include<string.h>
    /*书的基本资料信息*/
    struct book
    {
    char code[20];
    char name[20];
    char author[15];
    char pub[20];
    char pub_date[20];
    float price;
    long kucun;                                   /*库存*/
    }book[100];
    int a=0;
    float cg_money=0,xs_money=0;
    void input(int i)                              /*输入图书基本信息*/
    {
    printf("input information of books:/n");
    fflush(stdin);
    printf("book code:");
    gets(book[i].code);
    printf("name:");
    gets(book[i].name);
    printf("author:");
    gets(book[i].author);
    printf("pub:");
    gets(book[i].pub);
    printf("pub_date:");
    gets(book[i].pub_date);
    printf("price:");
    scanf("%f",&book[i].price);
    printf("kucun:");
    scanf("%ld",&book[i].kucun);
    fflush(stdin);
    }

    extern int a;
    void search(char scode[20])                     /*查询书籍函数*/
    { int i;
    for(i=0;i<=a;i++)
    {
        if(strcmp(scode,book[i].code)==0)
        {
          printf("code:%s/n",book[i].code);
          printf("name:%s/n",book[i].name);
          printf("author:%s/n",book[i].author);
          printf("pub:%s/n",book[i].pub);
          printf("pub_date:%s/n",book[i].pub_date);
          printf("price:%6.1f/n",book[i].price);
          printf("kucun:%d/n",book[i].kucun);
          break;
        }
    }
        if(i==a+1)
        {printf("Cannot find !/n");}

    }

    void cai(char code[20])                          /*采购书籍函数*/
    {
    float cg_price;
    long cg_amount;
    int i;
    while(1)
    {
    for(i=0;i<=a;i++)
    {
        if(strcmp(code,book[i].code)==0)
        {
          printf("code:%s/n",book[i].code);
          printf("name:%s/n",book[i].name);
          printf("author:%s/n",book[i].author);
          printf("pub:%s/n",book[i].pub);
          printf("pub_date:%s/n",book[i].pub_date);
          printf("price:%6.1f/n",book[i].price);
          printf("kucun:%d/n",book[i].kucun);
          break;
        }
    }
        if(i==a+1)
        {printf("Cannot find !/nPress key to redial.../n");
         getch();
         }
         else break;
    }
    printf("cg_amount:");
    scanf("%ld",&cg_amount);
    printf("cg_price:");
    scanf("%f",&cg_price);
    cg_money=cg_amount*cg_price+cg_money;
    book[i].kucun=book[i].kucun+cg_amount; fflush(stdin);
    }

    void sell(char code[20],long amount)                         /*出售书籍函数*/
    {

    int i=0;
    if(strcmp(code,book[i].code)==0)
    {
        printf("%s",book[i].name);
        if(amount<=book[i].kucun)
        {
          book[i].kucun=book[i].kucun-amount;
          xs_money=xs_money+amount*book[i].price;
        }
        else
        {
          printf("kucun is not enough,%ld is left/n",book[i].kucun);
        }

    }
    else {printf("Cannot find !/t Press any key to continue.../n");fflush(stdin);}
    }


    void main()                                               /*主函数*/
    { char c,code[20];
    int s,i=0;
    long amount;

    while(1)
    { system("cls");                                   /*清屏*/
        printf("1.input information of books/n2.search books/n3.buy books/n4.sell books/n5.profit/n6.exit/n");
        printf("s=");
        scanf("%d",&s);
        switch(s)
        {
          case 1:i=a;
             fflush(stdin);
             input(i);
             printf("continue?/n");
             c=getchar();
             while(c=='y'||c=='Y')
             {
               i++;
               input(i);
               printf("continue?/n");
               c=getchar();

             }
             a=i+1;break;     /*a baoliu shu zu jin xing dao nayige shu*/
          case 2:fflush(stdin);printf("input searching code:");
             gets(code);
             search(code);
             printf("continue?");
             scanf("%c",&c);
             while(c=='y'||c=='Y')
             { fflush(stdin);printf("input searching code:");
               gets(code);
               search(code);
               printf("continue?");
               scanf("%c",&c);
             }
             break;
          case 3:fflush(stdin);
        printf("input code:");
             gets(code);
             cai(code);
             printf("continue?/n");
             c=getch();
             while(c=='y'||c=='Y')
             { fflush(stdin);
               printf("input code:");
               gets(code);
               cai(code);
               printf("continue?");
               c=getch();

             }
             break;
         case 4:fflush(stdin);printf("input code:");
            gets(code);
            printf("input amount:");
            scanf("%ld",&amount); fflush(stdin);
            sell(code,amount);
            printf("continue?/n");
            scanf("%c",&c);
            while(c=='y'||c=='Y')
            { fflush(stdin);
              printf("input code:");
              gets(code);
              printf("input amount:");
              scanf("%ld",&amount);
              sell(code,amount); fflush(stdin);
              printf("continue?");
              c=getchar();
            }
            break;
       case 5:printf("Profit:%.2f/n",xs_money-cg_money);
          getch();
          break;
       case 6:exit(0);

        }
    }
    }

    /*本程序原来在Turbo C中能正常运行,但在VC中出现了几个错误;
    进行了一下改正:1.将clrscr();去掉或者换成system(“cls”);
    原因是,前者是TC中特有的。
    2.增加了几个头文件,#include<string.h>是因为:strcmp;
    3.增加了#include<conio.h>是因为:getch();
    因为头文件没有加出现的错误是:undeclared identifier
    4.主函数没有返回值,且没有声明为void,vc报错
    5.本程序可以在vc下正常运行*/
    /*功能:主菜单包括6个选项。录入,查找,买进,卖出,计算利润,退出程序。
    录入:录入的数据用数组存放。主菜单选择1后,可以根据提示录入数据,录入
    时需注意不要输错,因为本程序没有自动纠错和改错删除功能。
    查找:本程序只能通过输入图书编号来查找图书基本信息。不能通过其他(如名字)
    来查找。
    买进:成功买进操作的结果是:该书库存数量增加,花钱增加。
    卖出:成功卖出则:库存减少,销售得到的总金额增加。
    计算利润:本程序中只有总利润,没有记下每次买进或卖出操作的账单。

    亦可用链表来实现。
    程序运行时产生的数据只限于本次使用,即再次编译运行程序后需重新输入数据;
    要记录数据,可以加入文件。写入或者读出。
    多次用到fflush(stdin);是因为在输入数字后不加无法达到目的。具体原因还
    不清楚。不过可参考以下一种解释scanf("%d",&n);gets(str);中,读入str的字符
    串是“/n”.
    本程序除了功能不全外,还有很多缺点,需要进一步修改(代码太多)。*/

    展开全文
  • 把调试过程出现的问题,报告中。 说明:学习编程,必须学会代码的调试和排错,否则寸步难行! 要求:理解调试的目的和调试的技巧,不能盲目和依赖调试. 问题 1.F10和F11具体有什么区别(平时不常用到),看...

    目标:
    1.学习C语言调试方法
    2.复习C语言基本语法、函数、选择和重复控制语句;

    任务1:参考《C语言调试方法》掌握代码的调试和排错技巧.把调试过程出现的问题,写到报告中。
    说明:学习编程,必须学会代码的调试和排错,否则寸步难行!
    要求:理解调试的目的和调试的技巧,不能盲目和依赖调试.

    问题

    1.F10和F11具体有什么区别(平时不常用到),看了解释还是不太懂

    2.怎么才出现下面的图(问了几个同学都不懂),F10怎么用


    ------------------------------------任务分割线------------------------------------
    任务2:自行分析和设计一个程序,并在程序中标注每一行代码的含义和目的;;
    要求:程序必须涉及到数学函数、自定义函数、选择和重复控制语句.并利用上面的调试方法进行程序排错;

    #include<stdio.h>
    #include<math.h>
    #define PI 3.141593
    double k1(double a1,double b1,double c1)
    {
         double r1=a1*b1*c1/sqrt(pow((pow(a1,2)+pow(b1,2)+pow(c1,2)),2)-2*(pow(a1,4)+pow(b1,4)+pow(c1,4)));
         return r1;
    }
    double k2(double a2,double b2,double c2)
    {
        double p,h;
        p=(a2+b2+c2)/2;
        h=sqrt(p*(p-a2)*(p-b2)*(p-c2));
        double r2=2*h/(a2+b2+c2);
        return r2;
    }
        
    void main()
    {    while(1)                                           
         {
         double r1,r2;
         double a,b,c;
         printf("这是一个计算三角形外接圆和内切圆的程序\n");
         printf("请输入三角形的三边\n");
         scanf_s("%lf %lf %lf",&a,&b,&c);
            if((a+b)>c&&(b+c)>a&&(a+c)>b&&a>0&&b>0&&c>0)
               { int x;
                 printf("计算三角型外接圆半径和面积输入1,计算内切圆输入2:");
                 scanf_s("%d",&x);
                 if(x==1)
                 {  printf("三角形的外接圆半径是%.2lf,面积是%.2lf\n", k1(a,b,c),k1(a,b,c)*k2(a,b,c)*PI);}
                 if(x==2)
                 {  printf("三角形的内切圆半径是%.2lf,面积是%.2lf\n", k2(a,b,c),k2(a,b,c)*k2(a,b,c)*PI);}
                }
            else
    	    { printf("您输入的边长错误\n");}
        printf("****************************************\n");
        }
    }


    展开全文
  • 假期培训了iOS开发,才一个多月,本想用OC来做毕业设计的,现在要做开题报告了,不知道怎么写。所以决定用C来编写程序。 问题1:C语言怎么连接数据库,或是保证下次运行程序内容不会重置。 问题2:怎么用C语言构建...
  • 你必须知道的495个C语言问题

    千次下载 热门讨论 2015-05-08 11:09:25
    *2.5 在C语言中是否有模拟继承等面向对象程序设计特性的好方法? 2.6 为什么声明externf(structx*p);给我报了一个晦涩难懂的警告信息? 2.7 我遇到这样声明结构的代码:structname{intnamelen;charnamestr[1];}...
  • o 3.5 在 C 中是否有模拟继承等面向对象程序设计特性的好方法? o 3.6 我遇到这样声明结构的代码: struct name { int namelen; char namestr[1];}; 然后又使用一些内存分配技巧使 namestr 数组用起来好像有多个...
  • 《你必须知道的495个C语言问题》

    热门讨论 2010-03-20 16:41:18
    *2.5 在C语言中是否有模拟继承等面向对象程序设计特性的好方法? 22 2.6 为什么声明extern f(struct x *p); 给我报了一个晦涩难懂的警告信息? 23 2.7 我遇到这样声明结构的代码:struct name {int namelen; ...
  • 2.5 在C语言中是否有模拟继承等面向对象程序设计特性的好方法? 2.6 为什么声明extern f(struct x *p); 给我报了一个晦涩难懂的警告信息? 2.7 我遇到这样声明结构的代码:struct name {int namelen; char namestr[1...
  • *2.5 在C语言中是否有模拟继承等面向对象程序设计特性的好方法? 22 2.6 为什么声明extern f(struct x *p); 给我报了一个晦涩难懂的警告信息? 23 2.7 我遇到这样声明结构的代码:struct name {int namelen; ...
  • *2.5 在C语言中是否有模拟继承等面向对象程序设计特性的好方法? 2.6 为什么声明externf(structx*p);给我报了一个晦涩难懂的警告信息?  2.7 我遇到这样声明结构的代码:structname{intnamelen;charnamestr[1];}...
  •  *2.5 在C语言中是否有模拟继承等面向对象程序设计特性的好方法? 2.6 为什么声明externf(structx*p);给我报了一个晦涩难懂的警告信息? 2.7 我遇到这样声明结构的代码:structname{intnamelen;charnamestr[1];...
  • 你必须知道的495个C语言问题(PDF)

    热门讨论 2009-09-15 10:25:47
    2.5 在C 中是否有模拟继承等面向对象程序设计特性的好方法? . . . 7 i 目录ii 2.6 我遇到这样声明结构的代码: struct name f int namelen; char namestr[1];g; 然后又使用一些内存分配技巧使namestr 数组用起 来...
  •  2.5 在C语言中是否有模拟继承等面向对象程序设计特性的好方法?  2.6 为什么声明extern f(struct x *p); 给我报了一个晦涩难懂的警告信息?  2.7 我遇到这样声明结构的代码:struct name {int namelen; char ...
  • 2.5 在C语言中是否有模拟继承等面向对象程序设计特性的好方法? 2.6 为什么声明extern f(struct x *p); 给我报了一个晦涩难懂的警告信息? 2.7 我遇到这样声明结构的代码:struct name {int namelen; char namestr[1...
  • *2.5 在C语言中是否有模拟继承等面向对象程序设计特性的好方法? 51 2.6 为什么声明extern f(struct x *p); 给我报了一个晦涩难懂的警告信息? 52 2.7 我遇到这样声明结构的代码:struct name {int namelen; char...
  • *2.5 在C语言中是否有模拟继承等面向对象程序设计特性的好方法? 51 2.6 为什么声明extern f(struct x *p); 给我报了一个晦涩难懂的警告信息? 52 2.7 我遇到这样声明结构的代码:struct name {int namelen; char...
  • 第 4次实验任务

    2013-04-12 23:30:19
    把调试过程出现的问题,报告中。  恩,觉得C语言调试方法很实用来着,以前敲代码总是要弄好久,原来都可以这么按快捷键,再敲程序的过程中会觉得很方便。在调试的过程中依然还是一头雾水,不过,在听了同学的...

    任务1:参考《C语言调试方法》掌握代码的调试和排错技巧.把调试过程出现的问题,写到报告中。

        恩,觉得C语言调试方法很实用来着,以前敲代码总是要弄好久,原来都可以这么按快捷键,再敲程序的过程中会觉得很方便。在调试的过程中依然还是一头雾水,不过,在听了同学的讲解后还是觉得其实挺简单的,怎么说呢,觉得讨厌自己去看那些条条框框,更喜欢听别人给自己讲解吧。。。

    任务2:自行分析和设计一个程序,并在程序中标注每一行代码的含义和目的;

    我的程序:

    #include <stdio.h>                  //调用输入输出函数
    #include <math.h>                   //调用数学函数
    #define Pi 3.1416
    int main ()                         //主函数,程序入口点
    { 
    
     void area() ; //函数声明
     int mark =1;
     while( mark )
     {
      area();
      printf("是否结束程序运行0:结束  1:继续使用\n");
      scanf_s("%d",&mark);
      if(!mark)
      {
       printf("谢谢使用\n");
       getchar();
      }
     }
    }
    
    void area()    //自定义函数计算三角形面积(已知两边和夹角)
    {
     double a,b, C,area;
     printf("请按顺序输入三角形的两条边和其夹角\n");
     scanf_s("%lf%lf%lf",&a,&b,&C);
     printf( "该三角形面积为%.2lf\n:",area=0.5*a*b*sin(C/180.0*Pi));
    
    }
    

    运行截图:


          

          这个程序是在原求三角形的基础上在加上循环和选择语句,会更加实用和方便人们的使用,恩,就是个很基本的程序来着!


    展开全文
  • 若你作为一名管理员刚加入M公司,你认为快速原型法对公司的软件开发更加优越,请向公司副总裁一份报告阐明你的理由,切记:副总裁不喜欢报告长度 超过一页(B5)。 参考答案提示: 应先简述瀑布模型的缺点,它已不...
  • 关于这个裁剪功能,在程序中的图像裁剪中有一个说明按钮,在设计报告中有提到怎么使用的,所以在这里就不一一说明了,其实就跟在PS上用裁剪差不多,很容易用的。 关于设计的感想也在了设计报告上了- -,这里也就...
  • 软件测试经典面试题 (超实用)

    热门讨论 2012-02-16 13:48:08
    3、结构化程序设计和面向对象程序设计各自的特点及优缺点是什么? 28 4、简述什么是存储过程和触发器? 28 5、使用C语言编写一个函数,用于交换两个变量的值(地址传递)。 29 6、请简述DNS、活动目录、域的概念。 ...
  • C语言课程设计报告—班级成绩管理系统 需要分析: 学生成绩管理系统有13种功能。把这13个功能做成13个子函数。在主函当数中设计一个菜单对这13个子数进行管理。来实现对整个系统的操作。 根据课题的要求。每一个...
  • 1 逻辑类问题(A类)-指设计、编码中出现的计算正确性和一致性、程序逻辑控制等方面出现的问题,在系统中起关键作用,将导致软件死机、功能正常实现等严重问题; 接口类问题(B类)-指设计、编码中出现的函数和...
  • 2007 年时做了几个传统游戏后开始研究快速动作游戏的同步问题,期间过不少文章,算是国内比较早研究同步问题的人,然而发现不管怎么解决同步都需要在网络传输方面有所突破,后来离开游戏转行互联网后也发现不少...

空空如也

空空如也

1 2
收藏数 26
精华内容 10
关键字:

c语言程序设计报告怎么写

c语言 订阅